Pruebas de software

Solo disponible en BuenasTareas
  • Páginas : 9 (2065 palabras )
  • Descarga(s) : 0
  • Publicado : 2 de septiembre de 2012
Leer documento completo
Vista previa del texto
Técnicas de prueba del software Pruebas de software
Técnicas de prueba del software Estrategias de prueba del software Contenido
Conceptos. Objetivos. Casos de prueba Pruebas de caja blanca Pruebas de caja negra

1

2

Pruebas: concepto y objetivos
Comprobación del software
Inspección manual del código Inspección automatizada (caso de la ISA ó ASE) Prueba o ensayo (testing): ejecutar yver resultados Caso de prueba: manual o automatizado

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

Imposibilidad de pruebas exhaustivas
Impracticable, demasiado costoso Imposible garantizar la ausencia de defectos
Si se provocan fallos, seguroque hay defectos Si no aparecen fallos, puede que haya defectos, o no

Pruebas de Verificación
Ver si cumple las especificaciones de diseño

Pruebas de Validación
Ver si cumple los requisitos del análisis
3 4

Necesidad de acercarnos a las pruebas exhaustivas
Software empotrado de telefonía celular Piloto automático del Airbus

380

Pruebas de “caja blanca”
Concepto y terminologíaPruebas 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

Pruebas de “ruteo”
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, enrealidad condiciones + uno (número ciclomático)

Algunas clases de pruebas
Pruebas de “ruteo” Pruebas de condiciones Pruebas de bucles

Puede ser imposible cubrir el 100% del “ruteo”
Código que nunca se ejecuta: condiciones imposibles
5 6

1

Pruebas de condiciones
Cumplir o no cada componente de cada condición Se necesitan varios casos de prueba
Determinar expresiones simples en lascondiciones 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

Pruebas de bucles
Conseguir números de repeticiones especiales Bucles simples
Repetir cero, una y dos veces Repetir un número promedio (típico) de veces Repetir el máximo-1, máximo y ¡máximo +1!

Bucles anidados
Repetir un número promedio deveces (típico) los bucles internos, el mínimo los externos, y variar las repeticiones del bucle intermedio ensayado. Ensayarlo con cada nivel de anidamiento
7 8

Puede ser imposible cubrir el 100%
Expresiones simples no independientes

Pruebas de “caja negra”
Concepto y terminología
Pruebas en las que se conoce sólo la interfaz Caja negra (black box: caja opaca) Se procura ejercitar cadaelemento de la interfaz

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 → Booleano
Clase 1: primo ≥ 2 Clase 2: no_primo ≥ 2 Clase 3: valores singulares Clase 4: no definido (2, 3, 5, 7, 11, ...) (4, 6, 8, 9, 10, ...) (0, 1) (-1, -2, ...)

Algunas clases de pruebasCubrimiento → invocar todas las funciones (100%) Clases de equivalencia de datos Pruebas de valores límite

Casos de ensayo con datos de cada clase
9 10

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 (enotra partición)

Estrategias de prueba del software

Contenido
Pruebas de unidades Pruebas de integración Pruebas de regresión Pruebas de validación

Sustento de este enfoque:
Los programadores se equivocan con más frecuencia al tratar los valores en la frontera (Ej: > en vez de ≥)
11

12

2

Pruebas sin estrategia
Motivación
Las pruebas son incómodas La pruebas son aburridas...
tracking img