Hoy, la caja negra
Aseguramiento de la calidad y pruebas de software
5- Pruebas del software Caja Negra Blanca A. Vargas Govea
[email protected] Marzo 8, 2013
Contenido
●
Pruebas de caja negra ● Análisis de límites
2
Análisis de límites ●
●
Las clases de equivalencia son útiles para desarrollar casos de prueba. Pueden reforzarse usando una técnica conocida como “análisis de límites”.
●
límite
Muchos defectos ocurren directamente en, sobre y debajo de los extremos de clases de equivalencia. Partición de equivalencia
límite 3
Análisis de límites Partición de equivalencia ●
Requiere que el tester seleccione casos de cualquier elemento de la clase.
Análisis de límites ●
Requiere que el tester seleccione casos de elementos cercanos a los extremos.
4
Guía básica – Rango de valores 1. Si la entrada es un rango de valores –
Casos válidos: los extremos del rango.
–
Casos no válidos: valores inferiores o superiores de los extremos del rango. Especificación: el rango de valores de entrada va de -1.0 a +1.0. Casos válidos -1.0 y +1.0
Casos no-válidos -1.1 y 1.1 5
otro ejemplo de 1 – rango de valores 1. Si la entrada es un rango de valores –
Casos válidos: los extremos del rango.
–
Casos no válidos: valores inferiores o superiores de los extremos del rango. Especificación: un módulo producirá una tabla de 1 a 100 valores Casos válidos 1 y 100
Casos no-válidos 0 y 101 6
Guía básica – número de valores 2. Si la entrada es un número de valores –
Casos válidos: los valores máximos y mínimos del rango.
–
Casos no válidos: un valor mayor que el máximo y un valor menor que el mínimo. Especificación: una casa puede tener de 1 a 4 propietarios. Casos válidos 1y4
Casos no-válidos 0y5 7
Guía básica – conjunto ordenado 3. Si la entrada/salida es un conjunto ordenado como una tabla o lista, desarrollar casos de prueba que se enfoquen en el primer y último elementos. –
Casos válidos: los valores máximos y mínimos de la lista.
–
Casos no válidos: los valores mayores y menores a los extremos superior e inferior. Especificación: la entrada será una lista de 10 elementos
Casos válidos 1 y 10
Casos no-válidos 0 y 11 8
Observaciones ●
●
El análisis de partición de equivalencia y análisis de límites no combinan especificaciones.
mmm
Cada especificación se analiza por separado para asegurar la cobertura de todas las condiciones individuales.
Photo Credit: ^Ika^ via Compfight cc
9
Observaciones La técnica de partición de equivalencia y el análisis de límites se pueden combinar.
●
Pasos
1. Identificar las particiones de equivalencia y Fíjate bien, asignarles un luego no te identificador. acuerdas
Todo yo :(
2. Realizar el análisis de límites. 3. Registrar en una tabla.
Photo Credit: Let Ideas Compete via Compfight cc
10
Ejemplo Se está desarrollando un módulo que permite a un usuario introducir nuevos identificadores de widget en una base de datos. La especificación para el módulo establece que un identificador debe consistir de 3-15 caracteres alfanuméricos de los cuales los dos primeros deben ser letras.
¿Cuántas y cuáles son las condiciones? 11
Ejemplo ●
Hay tres condiciones 1. Caracteres alfanuméricos. 2. Rango entre 3-15 caracteres 3. Los primeros dos caracteres deben ser letras.
Identificar particiones de equivalencia → 12
Ejemplo: particiones de equivalencia
●
Para la condición 1: Caracteres alfanuméricos. CE1 - válida nombre alfanumérico
●
CE2 – no válida nombre no alfanumérico
Para la condición 2: Rango entre 3-15 caracteres CE3 - válida CE4 – no válida identificador entre 3 y 15 no. caracteres < 3 caracteres
●
CE5 – no válida no. caracteres > 15
Para la condición 3: Los primeros dos caracteres deben ser letras. CE6 - válida primeros 2 caracteres son letras
CE7 – no válida primeros 2 caracteres no son letras
13
Ejemplo: concentramos en una tabla
Condición 1 2 3
Válidas CE1 CE3 CE6
No válidas CE2 CE4, CE5 CE7
Tabla de reporte de particiones de equivalencia
Aplicar análisis de límites → 14
Ejemplo: análisis de límites ●
Los límites son aquellos encontrados en la longitud del identificador 3-15 caracteres –
BLB (Below the Lower Bound) → 2
–
LB (on the Lower Bound) → 3
–
ALB (Above de Lower Bound) → 4
–
BUB (Below the Upper Bound) → 14
–
UB (on the Upper Bound) → 15
–
AUB (Above the Upper Bound) → 16
Casos válidos que pueden omitirse si el tester así lo decide
15
Ejemplo: análisis de límites ●
Seleccionar un conjunto de valores que cubra todas las clases de equivalencia y límites.
●
Concentrar los resultados en una tabla.
●
La tabla debe incluir
●
–
Nombre del módulo
–
Identificador
–
Día de creación y
–
Autor de los casos de prueba
El conjunto de casos no es único y quedan a criterio del tester.
16
Nombre del módulo: Inserta_Widget Identificador del módulo: AP62-Mod4 Fecha: Enero 31, 2010 Tester: Clark Kent Identificador de caso de prueba
Valores de entrada
Clases de equivalencia válidas y límites cubiertos
Clases de equivalencia no válidas y límites cubiertos
1
abc1
CE1,CE3 (ALB),CE6
2
ab1
CE1,CE3 (LB),CE6
3
abcdef123456789
CE1,CE3 (UB),CE6
4
abcde123456789
CE1,CE3 (BUB),CE6
5
abc*
CE3 (ALB),CE6
CE2
6
ab
CE1,CE6
CE4 (BLB)
7
abcdefg123456789
CE1,CE6
CE5 (AUB)
8
a123
CE1,CE3 (ALB)
CE7
9
abcdef123
CE1,CE3,CE6 (caso típico)
17
El caso típico es un valor representativo a la mitad de los límites (9 caracteres)
Clases de equivalencia y análisis de límites Desventajas
Ventajas ●
●
Los análisis permiten encontrar defectos de forma más eficiente que una selección aleatoria.
●
No existe garantía de que la partición sea la mejor.
Es una mejor alternativa que las pruebas exhaustivas. 18
Actividad y tarea
19
Actividad 13 - equipo ●
●
Se requiere un módulo que calcule el promedio de calificaciones de un estudiante. –
Como entrada se espera una lista de 5 calificaciones.
–
El rango de calificaciones va de 0 a 100.
–
Los valores son enteros.
–
El resultado esperado es el promedio de las 5 calificaciones.
Para la especificación anterior elabora –
Análisis de partición de equivalencia
–
Análisis de límites
–
Concentrar en una tabla como la de la lámina 17 los casos de prueba que obtengas a partir de los análisis de partición y de límites. 20
Tarea 13 – Individual (1/2) ●
En el lenguaje de tu preferencia, hacer un programa que –
reciba como entrada una lista de 10 números enteros. El rango de los números va de 0 a 500. Pueden generarse de forma aleatoria.
–
aplicar el sort de burbuja.
–
Como salida se espera: ●
●
una lista de 10 números ordenada de forma ascendente. Ningún elemento de la lista debe ser negativo o mayor a 500. 21
Tarea 13 – Individual (2/2) ●
●
De la especificación del programa anterior, elaborar –
Análisis de partición de equivalencia
–
Análisis de límites
–
Concentrar en una tabla como la de la lámina 17 los casos de prueba que obtengas a partir de los análisis de partición y de límites.
Elaborar un documento en pdf con los análisis y la tabla de casos de prueba y enviar por correo. Fecha de entrega: Martes 12 de Marzo
22