Pruebas software
Ingeniería del Software Universidad Rey Juan Carlos
César Javier Acuña cesar.acuna@urjc.es
Introducción
Verificación de Software:
Determinar si los productos de una fase dada satisfacen las condiciones impuestas al inicio de la fase
Validación de Software:
Evaluación de un sistema o uno de sus componentes durante o al final de su desarrollo para determinar sisatisface los requisitos.
2
Ingeniería del Software I
Introducción
Verificación
¿Estamos construyendo correctamente el producto?
Validación
¿Estamos construyendo el producto correcto?
Las pruebas permiten validar y verificar el software
3
Ingeniería del Software I
Introducción
Pruebas (test): «una actividad en la cual un sistema o uno de sus componentes se ejecuta encircunstancias previamente especificadas, los resultados se observan y registran y se realiza una evaluación de algún aspecto» Caso de Prueba (test case): «un conjunto de entradas, condiciones de ejecución y resultados esperados desarrollados para un objetivo particular»
4
Ingeniería del Software I
Introducción
Defecto (defect, fault, «bug»): «un defecto en el software como, por ejemplo, unproceso, una definición de datos o un paso de procesamiento incorrectos en un programa» Fallo (failure): «La incapacidad de un sistema o de alguno de sus componentes para realizar las funciones requeridas dentro de los requisitos de rendimiento especificados »
5
Ingeniería del Software I
Introducción
Error (error):
La diferencia entre un valor calculado, observado o medio y el valorverdadero, especificado o teóricamente correcto. Un defecto Un resultado incorrecto Una acción humana que conduce a un resultado incorrecto .
6
Ingeniería del Software I
Introducción
Error
Equivocación del programador Sistema de gestión de aeropuerto
2+2=5 Accidente (seguridad) Defecto (calidad)
¡Xyx// ???
S.Aproximación
Fallo (fiabilidad)
7
Ingeniería del Software IIntroducción
Probar exhaustivamente el SW es “imposible” Es imposible evaluar todas las posibilidades Un proceso de prueba será exitoso cuando encuentre “errores” Los errores no son siempre fruto de la negligencia del programador
8
Ingeniería del Software I
Introducción
Recomendaciones
Cada caso de prueba debe definir el resultado de salida esperado El programador debe evitar probar suspropios programas, ya que desea (consciente o inconscientemente) demostrar que funcionan sin problemas Se debe inspeccionar a conciencia el resultado de cada prueba, así, poder descubrir posibles síntomas de defectos
9
Ingeniería del Software I
Introducción
Recomendaciones
Al generar casos de prueba, se deben incluir tanto datos de entrada válidos y esperados como no válidos e inesperados.Las pruebas deben centrarse en dos objetivos (es habitual olvidar el segundo):
• Probar si el software no hace lo que debe hacer • Probar si el software hace lo que no debe hacer, es decir, si provoca efectos secundarios adversos
10
Ingeniería del Software I
Introducción
Recomendaciones
Se deben evitar los casos desechables, es decir, los no documentados ni diseñados con cuidado Nodeben hacerse planes de prueba suponiendo que, prácticamente, no hay defectos en los programas y, por lo tanto, dedicando pocos recursos a las pruebas.
11
Ingeniería del Software I
Introducción
Recomendaciones
La experiencia parece indicar que donde hay un defecto hay otros, es decir, la probabilidad de descubrir nuevos defectos en una parte del software es proporcional al número dedefectos ya descubierto. Las pruebas son una tarea tanto o más creativa que el desarrollo de software. Siempre se han considerado las pruebas como una tarea destructiva y rutinaria.
12
Ingeniería del Software I
El Proceso de Prueba
Planear Planear pruebas pruebas
Información sobre proyecto Plan de pruebas
Diseñar Diseñar pruebas pruebas
Configuración de pruebas (casos y procedimientos)...
Regístrate para leer el documento completo.