Pruebas de Software
-
Upload
ivan-sanchez-vera -
Category
Technology
-
view
4.202 -
download
5
description
Transcript of Pruebas de Software
![Page 1: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/1.jpg)
PRUEBAS-1
Pruebas de software
Técnicas de prueba del software
Estrategias de prueba del software
Autor: Manuel Collado Fecha: Marzo 2003
![Page 2: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/2.jpg)
PRUEBAS-2
Introducción a las pruebas del software
Técnicas de prueba del software
Contenido Conceptos. Objetivos. Casos de prueba Pruebas de caja blanca Pruebas de caja negra
![Page 3: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/3.jpg)
PRUEBAS-3
Introducción a las pruebas del software
Pruebas: concepto y objetivos Comprobación del software
Demostración (proof): manual o semiautomática Inspección manual del código Prueba o ensayo (testing): ejecutar y ver resultados Caso de prueba: ensayo individual
Imposibilidad de pruebas exhaustivas Impracticable, demasiado costoso Imposible garantizar la ausencia de defectos
Si se provocan fallos, seguro que hay defectosSi no aparecen fallos, puede que haya defectos, o no
![Page 4: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/4.jpg)
PRUEBAS-4
Introducción a las pruebas del software
Pruebas: concepto y objetivos Objetivos de las pruebas
Encontrar defectos en el software Una prueba tiene éxito si descubre un defecto Una prueba fracasa si hay defectos pero no los
descubre Pruebas de Verificación
Ver si cumple las especificaciones de diseño Pruebas de Validación
Ver si cumple los requisitos del análisis
![Page 5: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/5.jpg)
PRUEBAS-5
Introducción a las pruebas del software
Pruebas de “caja blanca” Concepto y terminología
Pruebas en que se conoce el código a probar Caja blanca (clear box: caja clara o transparente) Se procura ejercitar cada elemento del código
Algunas clases de pruebas Pruebas de cubrimiento Pruebas de condiciones Pruebas de bucles
![Page 6: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/6.jpg)
PRUEBAS-6
Introducción a las pruebas del software
Pruebas de cubrimiento Ejecutar al menos una vez cada sentencia Se necesitan varios casos de prueba
Determinar posibles “caminos” independientes Cada condición debe cumplirse en un caso y en otro
no. En general, se necesitan tantos casos como condiciones, más uno (número ciclomático)
Puede ser imposible cubrir el 100% Código que nunca se ejecuta: condiciones imposibles Ejemplo: detección y notificación de errores internos
en un código sin errores
![Page 7: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/7.jpg)
PRUEBAS-7
Introducción a las pruebas del software
Pruebas de condiciones Cumplir o no cada parte de cada condición Se necesitan varios casos de prueba
Determinar expresiones simples en las condiciones Una por cada operando lógico o comparación Cada expresión simple debe cumplirse en un caso y
en otro no, siendo decisiva en el resultado Puede ser imposible cubrir el 100%
Expresiones simples no independientes
![Page 8: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/8.jpg)
PRUEBAS-8
Introducción a las pruebas del software
Pruebas de bucles Conseguir números de repeticiones especiales Bucles simples
Repetir cero, una y dos veces Repetir un número medio (típico) de veces Repetir el máximo-1, máximo y ¡máximo +1!
Bucles anidados Repetir un número medio (típico) los bucles internos,
el mínimo los externos, y variar las repeticiones del bucle intermedio ensayado.
Ensayarlo con cada nivel de anidamiento
![Page 9: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/9.jpg)
PRUEBAS-9
Introducción a las pruebas del software
Pruebas de “caja negra” Concepto y terminología
Pruebas en que se conoce sólo la interfaz Caja negra (black box: caja opaca) Se procura ejercitar cada elemento de la interfaz
Algunas clases de pruebas Cubrimiento invocar todas las funciones (100%) Clases de equivalencia de datos Pruebas de valores límite
![Page 10: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/10.jpg)
PRUEBAS-10
Introducción a las pruebas del software
Pruebas de clases de equivalencia Particiones de equivalencia
Los datos se clasifican según las distinciones visibles en la interfaz del programa.
Ejemplo: EsPrimo: Entero BooleanoClase 1: primo 2 (2, 3, 5, 7, 11, ...)Clase 2: no_primo 2 (4, 6, 8, 9, 10, ...)Clase 3: valores singulares (0, 1)Clase 4: no definido (-1, -2, ...)
Casos de ensayo con datos de cada clase
![Page 11: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/11.jpg)
PRUEBAS-11
Introducción a las pruebas del software
Pruebas de valores límite Complemento a las particiones de equivalencia Varios casos de prueba por cada partición
Valores típicos, intermedios Valores primero y segundo del rango Valores penúltimo y último Valores vecinos fuera del rango (en otra partición)
Motivación Los programadores se equivocan con más frecuencia
al tratar los valores en la frontera (Ej: > en vez de )
![Page 12: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/12.jpg)
PRUEBAS-12
Introducción a las pruebas del software
Estrategias de prueba del software
Contenido Pruebas de unidades Pruebas de integración Pruebas de regresión Pruebas de validación
![Page 13: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/13.jpg)
PRUEBAS-13
Introducción a las pruebas del software
Pruebas sin estrategia Motivación
Las pruebas son incómodas La pruebas son aburridas “Estoy seguro de que lo he codificado bien”
Probar todo junto, al final - Big-Bang Falla por todas partes Muy difícil diagnosticar las causas de los fallos Muy costoso de arreglar Resultado productos finales defectuosos
![Page 14: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/14.jpg)
PRUEBAS-14
Introducción a las pruebas del software
Actividades de prueba de software Actividades de desarrollo
Análisis
Diseño
Codificación
Integración
Mantenimiento
P. unidadesDoc. Diseño
Cod. Módulos
P. integración
Cód. Completo
P. validación
Doc. Requisitos
![Page 15: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/15.jpg)
PRUEBAS-15
Introducción a las pruebas del software
Pruebas de unidades Se prueba cada módulo
Módulo en pruebas
Programa de prueba
Otros módulos
Otros módulos
Reales osimulados
(stubs)
![Page 16: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/16.jpg)
PRUEBAS-16
Introducción a las pruebas del software
Pruebas de integración Integración ascendente
Módulo en pruebas
Otros módulos
Otros módulos
Reales,ya probados
Otros módulos
Programa de prueba
![Page 17: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/17.jpg)
PRUEBAS-17
Introducción a las pruebas del software
Pruebas de integración Integración descendente
Módulo en pruebas
Otros módulos
Otros módulos
Reales,ya probados
Otros módulos
simulados(stubs)
![Page 18: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/18.jpg)
PRUEBAS-18
Introducción a las pruebas del software
Prueba unidades + integración ascendente
Dibujar
Curva_C
Pluma
Papel
Ejemplo
![Page 19: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/19.jpg)
PRUEBAS-19
Introducción a las pruebas del software
Prueba unidades + integración ascendente
Papel
P_Papel
Paso 1
![Page 20: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/20.jpg)
PRUEBAS-20
Introducción a las pruebas del software
Prueba unidades + integración ascendente
Pluma
Papel
P_Papel
P_Pluma
Paso 2
![Page 21: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/21.jpg)
PRUEBAS-21
Introducción a las pruebas del software
Prueba unidades + integración ascendente
Curva_C
Pluma
Papel
P_Papel
P_Pluma
P_Curva_C
Paso 3
![Page 22: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/22.jpg)
PRUEBAS-22
Introducción a las pruebas del software
Prueba unidades + integración ascendente
Dibujar
Curva_C
Pluma
Papel
P_Papel
P_Pluma
P_Curva_C
Paso 4
![Page 23: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/23.jpg)
PRUEBAS-23
Introducción a las pruebas del software
Pruebas de regresión Repetir las pruebas tras cada modificación
Repetir sólo pruebas de verificaciónPruebas de unidadesPruebas de integración
Conservar y actualizar los programas de prueba Usar herramientas de ejecución automática de las
pruebas
![Page 24: Pruebas de Software](https://reader036.fdocuments.mx/reader036/viewer/2022062405/55758596d8b42ae7708b45d6/html5/thumbnails/24.jpg)
PRUEBAS-24
Introducción a las pruebas del software
Pruebas de validación Comprobar que se satisfacen los requisitos
Se usan la mismas técnicas, pero con otro objetivo No hay programas de prueba, sino sólo el código
final de la aplicación Se prueba el programa completo Uno o varios casos de prueba por cada requisito o
caso de uso especificado Se prueba también rendimiento, capacidad, etc. (y no
sólo resultados correctos) Pruebas alfa (desarrolladores) y beta (usuarios)