Plan de estudios ISTQB: Nivel Fundamentos
Temario
1. INTRODUCCIÓN
2. FUNDAMENTOS DE PRUEBAS
3. PRUEBAS A TRAVÉS DEL CICLO DE VIDA DEL SOFTWARE
4. TÉCNICAS ESTÁTICAS
5. TÉCNICAS DE DISEÑO DE PRUEBAS
6. GESTIÓN DE PRUEBAS
7. HERRAMIENTAS DE PRUEBAS
Temario
1. INTRODUCCIÓN
2. FUNDAMENTOS DE PRUEBAS
3. PRUEBAS A TRAVÉS DEL CICLO DE VIDA DEL SOFTWARE
4. TÉCNICAS ESTÁTICAS
5. TÉCNICAS DE DISEÑO DE PRUEBAS
6. GESTIÓN DE PRUEBAS
7. HERRAMIENTAS DE PRUEBAS
Temario
5. TÉCNICAS DE DISEÑO DE PRUEBAS
5.1 Diseño de Casos de Prueba
5.2 Categorías de las Técnicas de Diseño de Pruebas
5.3 Técnicas de Caja Negra (“Black Box”)
5.4 Técnicas de Caja Blanca (“White Box”)
5.5 Técnicas Basadas en la Experiencia
5.6 Selección de las Técnicas de Pruebas
TÉCNICAS DE DISEÑO DE PRUEBAS
5.1 Diseño de Casos de Prueba
Proceso de desarrollo de pruebas:
Establecer grado de formalidad
Análisis de pruebas
Documentación
Objetivos de las pruebas
Trazabilidad:
Especificaciones
Impacto
Cobertura
TÉCNICAS DE DISEÑO DE PRUEBAS
5.1 Diseño de Casos de Prueba
Proceso de desarrollo de pruebas (II):
Especificaciones de casos de prueba en base a:
Entradas
Precondiciones
Salidas (esperadas)
Condiciones o entorno de pruebas
TÉCNICAS DE DISEÑO DE PRUEBAS
5.1 Diseño de Casos de Prueba
Proceso de desarrollo de pruebas (III):
Norma IEEE STD 829:
Revisada en 2008
Especificaciones de diseño de pruebas
Especificaciones de casos de prueba
TÉCNICAS DE DISEÑO DE PRUEBAS
5.1 Diseño de Casos de Prueba
Norma IEEE STD 829-2008:
El propósito de esta norma es:
Establecer un marco común para los procesos de pruebas, actividades y tareas en apoyo de todo el software procesos del ciclo de vida, incluyendo la adquisición, suministro, desarrollo, operación y mantenimiento procesos.
Definir las tareas de prueba, las necesidades requeridas, y salidas requeridas
TÉCNICAS DE DISEÑO DE PRUEBAS
5.1 Diseño de Casos de Prueba
Norma IEEE STD 829-2008 (II):
El propósito de esta norma es:
Identificar las tareas de prueba mínimos recomendados correspondientes a los niveles de integridad para un nivel de cuatro esquema de integridad.
Definir el uso y contenido del Maestro testplan y el plan de pruebas de nivel (por ejemplo, para componente, la integración, el sistema y prueba de aceptación)
TÉCNICAS DE DISEÑO DE PRUEBAS
5.1 Diseño de Casos de Prueba
Norma IEEE STD 829-2008 (III):
El propósito de esta norma es:
Definir el uso y contenido de la documentación relacionada con la prueba (Diseño de prueba, prueba de casos, la prueba Procedimiento, Anomalía Informe, Test Log, Nivel TestReport , Informe provisional de pruebas y prueba de Maestro Informe)
TÉCNICAS DE DISEÑO DE PRUEBAS
5.2 Categorías de las Técnicas de Diseño de Pruebas
Las técnicas de prueba tienen como objetivo identificar:
Condiciones de prueba
Casos de prueba
Datos de prueba
Categorías:
Caja negra
Caja blanca
TÉCNICAS DE DISEÑO DE PRUEBAS
5.2 Categorías de las Técnicas de Diseño de Pruebas
Diferenciamos tipos de técnicas de diseño en base a:
Especificaciones
Estructura
Experiencia
TÉCNICAS DE DISEÑO DE PRUEBAS
5.2 Categorías de las Técnicas de Diseño de Pruebas
Técnicas basadas en la especificación:
El problema a solucionar, el software o sus componentes se especifican a partir de modelos formales o informales
Los casos de prueba pueden obtenerse sistemáticamente a partir de los modelos
TÉCNICAS DE DISEÑO DE PRUEBAS
5.2 Categorías de las Técnicas de Diseño de Pruebas
Técnicas basadas en la estructura
Información sobre como debe utilizarse el software construido para obtener los casos de prueba
Puede medirse el alcance de la cobertura del software para los casos de prueba
TÉCNICAS DE DISEÑO DE PRUEBAS
5.2 Categorías de las Técnicas de Diseño de Pruebas
Técnicas basadas en la experiencia
Se emplea el conocimiento y la experiencia
El conocimiento de probadores, desarrolladores y usuarios es la fuente de información utilizada
Conocimiento sobre defectos probables
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
PARA REPRESENTAR LOS SISTEMAS
Su funcionamiento
Las salidas o respuestas que produce
De las entradas que recibe
SE UTILIZA
DESDE EL PUNTO DE VISTA
SIN TENER EN CUENTA
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Se utiliza el concepto de caja negra en doscircunstancias.
Sistema impenetrable.
Sistema complejo.
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Característica de Caja Negra: La característica de Caja Negra se aplica
a cualquier sistema, programa o módulo, para dar una visión exclusivade sus entradas y salidas, sin tener en cuenta los detalles de cómo se realiza el proceso.
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Las pruebas de caja negra se llevan a cabo sobrela interfaz del software; obviando el comportamiento interno y la estructura del programa.Los casos de prueba de la caja negra pretenden demostrarque: Las funciones del software son operativas La entrada se acepta de forma correcta Se produce una salida correcta La integridad de la información externa se mantiene
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
La prueba de la caja negra intenta encontrarerrores de las siguientes categorías: Funciones incorrectas o ausentes Errores de interfaz Errores en estructuras de datos o en bases de
datos externas Errores de rendimiento Errores de inicialización y de terminación Errores de navegabilidad
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Partición de equivalencia
Análisis de valores límite
Pruebas de tabla de decisión
Pruebas de transición de estado
Pruebas de casos de uso
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Partición de equivalencia
Los valores de entrada y/o salida se dividen en grupos
En base a datos válidos o no válidos
Aplicable a todos los niveles de pruebas
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Partición de equivalencia
Clase de equivalencia:
Conjunto de datos de entrada que definen estados válidos y no válidos del sistema.
Clase válida: genera un valor esperado
Clase no válida: genera un valor inesperado
Se obtienen a partir de las condiciones de entrada descritas en lasespecificaciones.
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)Partición de equivalencia
CONDICIONES DE ENTRADA: Las condiciones de entrada vienen representadas por sentencias en la especificación.
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)Partición de equivalencia
PROCEDIMIENTO
Identificación de las clases de equivalencia
Obtención de los casos de prueba
Se parte de la premisa de que cualquier elemento de una clase dada es representativo del resto del conjunto
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)Partición de equivalencia
IDENTIFICACIÓN DE LAS CLASES DE EQUIVALENCIA
Por cada condición de entrada se identifican clases de equivalencia válidas y no válidas
Este proceso se basa en la experiencia
Sin embargo existen un conjunto de criterios que ayudan a su identificación
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)Partición de equivalencia
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Partición de equivalencia
Identificación de las clases de equivalencia
Se identifican clases de equivalencia válidas e inválidas con la siguiente tabla:
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)Partición de equivalencia
DERIVACION DE LOS CASOS DE PRUEBA
Clases de equivalencia :
Cada caso debe contemplar el máximo número de clases de equivalencia válidas.
Generar suficientes casos para cubrir todas las clases.
Generar un caso de prueba por cada clase de equivalencia no válida que haya sido identificada
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Partición de equivalencia
Ejemplo Caso Práctico:
Definir clases de prueba válidas e inválidas en una partición de equivalencia, para probar una aplicación bancaria en la que el operador debe proporcionar un código, un nombre y una operación.
TÉCNICAS DE DISEÑO DE PRUEBAS
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Análisis de valores límite
EL MÉTODO DEL ANÁLISIS DE LOS VALORES LÍMITES (AVL)
Se basa en la evidencia experimental de que los errores suelen aparecer con mayor probabilidad en los extremos de los campos de entrada.
Un análisis de las condiciones límites de las clases de equivalencia aumenta la eficiencia de la prueba.
Condiciones límites: valores justo por encima y por debajo de los márgenes de la clase de equivalencia.
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Análisis de valores límite
Fácil de aplicar
Alta capacidad de detección de fallos
Se considera como una extensión de la partición de equivalencia
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Análisis de valores límite
DERIVACIÓN DE LOS CASOS DE PRUEBA
Generar tantos casos de prueba como sean necesarios para ejercitar las condiciones límites de las clases de equivalencia.
Proceso basado en la experiencia
Como en el caso anterior se pueden seguir unos criterios que faciliten su obtención
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Pruebas de tabla de decisión
Este método se usa en caso en los que los inputs y outputs tengan unos valores limitados, por ejemplo, “está presente” o “falta” (verdadero o falso).
Al comportamiento de los objetos o los procesos, se les llama acciones y se representan en forma de tabla de la forma siguiente:
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Pruebas de tabla de decisión
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Pruebas de tabla de decisión
El número de reglas está vinculado al número de condiciones, por ejemplo, es igual al total de posibles combinaciones de todas las condiciones.
Por lo tanto:
Si hay 2 condiciones, habrá 4 reglas
Si hay 3 condiciones , habrá 8 reglas
Si hay 4 condiciones, habrá 16 reglas
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Pruebas de tabla de decisión
Ejemplo:Una empresa de apoyo técnico redacta una tabla de resoluciones para diagnosticar problemas de la impresora, basada en los avisos que le han descrito por teléfono sus clientes.
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Pruebas de tabla de decisión
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Pruebas de transición de estado
Entender los objetos que se van a modelar y las relaciones que conectan a estos.
Definir una serie de pruebas que verifique que “todos los objetos tienen entre ellos la relaciones esperadas”
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Pruebas de transición de estado
Ejemplo:
Probamos cada uno de los
Casos de transición
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Pruebas de casos de uso
Interacciones entre usuarios y sistema
Resultado de valor para usuarios o clientes
Niveles:
Abstracto o negocio
Sistema
Consideraciones
Precondiciones y postcondiciones
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Pruebas de casos de uso
Escenario principal y derivaciones
Flujos de proceso
Pruebas de aceptación
Probadores: clientes o usuarios
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Pruebas de casos de uso
Ejemplo de un caso de uso:
TÉCNICAS DE DISEÑO DE PRUEBAS
5.3 Técnicas de Caja Negra (“Black Box”)
Caso práctico: Construcción de una batería de pruebas para detectarposibles errores en la construcción de los identificadores de un hipotético lenguaje de programación. Las reglas que determinan susconstrucción sintáctica son: No debe tener mas de 15 ni menos de 5 caracteres El juego de caracteres utilizables es:–Letras (Mayúsculas y minúsculas)–Dígitos (0,9)–Guión (-) Se distinguen las mayúsculas de las minúsculas El guión no puede estar ni al principio ni al final, pero puede haber
varios consecutivos. Debe contener al menos un carácter alfabético No puede ser una de las palabras reservadas del lenguaje
5.3 Técnicas de Caja Negra (“Black Box”)
Análisis de valores límite
CONDICIONES DE ENTRADA
DERIVACION DE LOS CASOS DE PRUEBA
Análisis de valores límite
Definición de valores límite
TÉCNICAS DE DISEÑO DE PRUEBAS
5.4 Técnicas de Caja Blanca (“White Box”)
Pruebas de software que se realiza sobre las funciones internas de un módulo
Las pruebas de caja blanca se llevan a cabo en primer lugar, para luego realizar las de caja negra
Niveles de prueba:
Nivel de componente
Nivel de integración
Nivel de sistema
TÉCNICAS DE DISEÑO DE PRUEBAS
5.4 Técnicas de Caja Blanca (“White Box”)
Criterios de cobertura
Encontrar fragmentos del programa que no son ejecutados por los casos de prueba.
Crear casos de prueba adicionales que incrementen la cobertura.
Determinar un valor cuantitativo de la cobertura (que es, de manera indirecta, una medida de la calidad del programa).
Adicionalmente, el análisis de cobertura también permite la identificación de casos de prueba redundantes, que no incrementan la cobertura.
TÉCNICAS DE DISEÑO DE PRUEBAS
5.4 Técnicas de Caja Blanca (“White Box”)
Pruebas de sentencias
Pruebas de decisión
Otras técnicas basadas en la estructura
TÉCNICAS DE DISEÑO DE PRUEBAS
5.4 Técnicas de Caja Blanca (“White Box”)
Pruebas de sentencias y cobertura
Cobertura de sentencia:
Comprueba el número de sentencias ejecutables que se han ejecutado
Se puede diseñar un plan de pruebas que vaya ejercitando más y más sentencias, hasta que hayamos pasado por todas, o por una inmensa mayoría.
Num sentencias ejecutadas / Num de sentencias totales
TÉCNICAS DE DISEÑO DE PRUEBAS
5.4 Técnicas de Caja Blanca (“White Box”)
Pruebas de decisión y cobertura
Cobertura de decisión:
Comprueba el número de decisiones ejecutadas, considerando que se ha ejecutado una decisión cuando se han recorrido todas sus posible ramas (la que la hace true y la que la hace false, pero también todas las posibles ramas de un switch)
TÉCNICAS DE DISEÑO DE PRUEBAS
5.4 Técnicas de Caja Blanca (“White Box”)
Pruebas de decisión y cobertura
Cobertura de decisión:
Número toral de resultados de decisión cubiertos por los casos de prueba entre el número total de posibles resultados de decisión en el código objeto de prueba
TÉCNICAS DE DISEÑO DE PRUEBAS
5.4 Técnicas de Caja Blanca (“White Box”)
Otras técnicas basadas en la estructura
Cobertura de condiciones: Comprueba el número de condiciones ejecutadas, entendiendo que se ha ejecutado una condición cuando se han ejecutado todas sus posibles ramas.
Cobertura de condiciones múltiples: Comprueba el número de condiciones múltiples ejecutadas, considerando que se ha ejecutado una condición múltiple cuando se han ejecutado todas sus correspondientes ramas con todas las posibles variantes de la instrucción condicional.
TÉCNICAS DE DISEÑO DE PRUEBAS
5.4 Técnicas de Caja Blanca (“White Box”)
Otras técnicas basadas en la estructura
Cobertura de condiciones/decisiones: Comprueba el número de condiciones y decisiones que se han ejecutado.
Cobertura de caminos: Comprueba el número de caminos linealmente independientes que se han ejecutado en el grafo de flujo de la unidad que se está probando.
TÉCNICAS DE DISEÑO DE PRUEBAS
5.4 Técnicas de Caja Blanca (“White Box”)
Otras técnicas basadas en la estructura
Cobertura de funciones: Comprueba el número de funciones y procedimientos que han sido llamados.
Cobertura de llamadas: Comprueba el número de llamadas a funciones y procedimientos que se han ejecutado.
Uso de herramientas: Las pruebas de caja blanca se pueden hacer con un depurador (debugger)
Puede aplicarse a otros niveles de prueba
TÉCNICAS DE DISEÑO DE PRUEBAS
5.4 Técnicas de Caja Blanca (“White Box”)
¿Qué hacer en la práctica?
Acercarse al 100% de segmentos
Lograr una buena cobertura de ramas
La buena cobertura depende del tipo de programa
Juegos basta con probar 60-80% del código
Aplicaciones críticas (sanitarias, centrales nucleares, aplicaciones militares, etc.) >90%
La cobertura requerida suele crecer con el grado de distribución del programa
TÉCNICAS DE DISEÑO DE PRUEBAS
5.4 Técnicas de Caja Blanca (“White Box”)
Ejemplo
TÉCNICAS DE DISEÑO DE PRUEBAS
5.5 Técnicas Basadas en la Experiencia
Experiencia
Intuición
Grados de efectividad dispares
Predicción de errores
Lista de posibles defectos
Previsión de errores
Útiles en caso de pocas especificaciones y poco tiempo
TÉCNICAS DE DISEÑO DE PRUEBAS
5.6 Selección de las Técnicas de Pruebas
Depende de:
Tipo de sistema
Estándares normativos
Requisitos: contractuales o de cliente
Nivel y tipo de riesgo
Objetivos de prueba
Documentación
Experiencia
TÉCNICAS DE DISEÑO DE PRUEBAS
5.6 Selección de las Técnicas de Pruebas
Depende de:
Tiempo
Dinero
Ciclo de vida del desarrollo
Casos de uso
Etc…
TÉCNICAS DE DISEÑO DE PRUEBAS
Ejercicios
Comparar los términos: condición de prueba, caso de prueba y procedimiento de prueba
Explicar las características, coincidencias y diferencias entre las pruebas basadas en la especificación, las pruebas basadas en la estructura y las pruebas basadas en la experiencia
Explicar el concepto de las pruebas de casos de uso y sus ventajas
Explicar las principales características de la cobertura de sentencia
Top Related