Tipos de Testing
Pruebas de regresión
Pruebas unitarias
Pruebas de usabilidad
Pruebas de seguridad
Pruebas de integración
Pruebas de rendimiento
Pruebas de aceptación
Pruebas funcionales
Son pruebas automatizadas
Unen componentes de software
para verificar que las modificaciones realizadas
Evaluan la funcionalidad
Deben realizarse desde el punto de vista del usuario final
Verifican cómo responde el sistema
Verifica que funcione acorde a lo esperado
Sirven para:
Ayudan a garantizar la calidad del software
Incrementan la eficiencia
Facilitan el mantenimiento del código
Detección temprana de errores
Sirve para:
Verificar el correcto funcionamiento del software como un sistema
Reducir los riesgos de fallos en el sistema
Detectar errores en la interacción entre componentes
Ahorrar tiempo y costos en el proceso de prueba
Pruebas de humo
Verificar funcionalidad básica
Sirven para:
Detectar problemas en nuevas funcionalidades
Asegurar la estabilidad del software
Sirven para:
Detectar errores y defectos en el software
Ahorrar tiempo y costos
Validar la funcionalidad del software
Mejorar la calidad del software
Pruebas de portabilidad
Objetivo
Pruebas de punta a punta
Pruebas de escalabilidad
Miden el rendimiento de un sistema
Buscan responder preguntas como:
¿El sistema es fácil de aprender?
¿Es el sistema útil y aporta valor a la audiencia objetivo?
Sirven para:
Identificar problemas de compatibilidad
Asegurar la funcionalidad básica
Verificar la estabilidad del software
ejecutar las funciones más básicas de manera correcta
Experiencia de usuario
Son no-funcionales
Ayuda a determinar si un sistema es:
Usable
Accesible
Estabilidad
Disponibilidad de la plataforma
Util
La fiabilidad
Su objetivo es:
Recolectar métricas
Definir objetivos por alcanzar
Objetivo
Identificar:
Prevenir ataques maliciosos
Amenazas
Vulnerabilidades
Riesgos en un software
Si no resultan en:
Perdida de información valiosa
Perdida de dinero en una organización
¿Por qué es importante?
Necesario para comprender la eficiencia de los sistemas de seguridad
Mejora la calidad
Determina:
Velocidad
Estabilidad
Tiempo de respuesta
Determinar la flexibilidad con la que el software se mueve en torno a otro
Evalúan:
Adaptabilidad
Instalabilidad
Reemplazabilidad
Coexistencia
Prevenir retrocesos en el software
Son muy útiles pero son costosas de realizar
Replican el comportamiento de los usuarios
Son mas complejas:
Verificando notificaciones vía email
Pagos en línea, etc.
Estas pruebas verifican:
Cargar una página web
Iniciar sesión
Incluye el uso de la memoria, el CPU y otros
Proposito:
Asegurar el aumento proyectado en el trafico de usuarios
Brinda información para la toma de decisiones
Se enfoca:
Comportamiento del sistema o producto
Objetivos:
Validar que el sistema este completo
Que funcione según lo esperado
Establecer confianza en la calidad
Verificar si los comportamientos funcionales y no funcionales son los especificados
Proveer información para ver si es óptimo para producción
Equipo: Llajuitas