Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ingeniería de Software
Pruebas de Software
Ingeniería de Software
Caracteristicas para la Facilidad de
Pruebas de Software
• Operabilidad – cuanto mejor funcione, con mayor eficacia
podrá probarse
• Observación – lo que se ve es lo que se prueba, los estados
y las variables pueden consultarse durante la ejecución,
identificando salidas inconsistentes
• Controlabilidad – el grado al cual la prueba puede ser
automatizada y optimizada
• Descomponibilidad – el SW se construye con modulos
independientes que tambien se prueban independientemente
• Simplicidad – reducir arquitecturas complejas y lógicas
para simplificar las pruebas
• Estabilidad – a menos cambios, menos alteracion en pruebas
• Comprensión – del diseño de arq.y dependencia de
componentes internos y externos
Ingeniería de Software
Características de una Buena Prueba
Ingeniería de Software
Qué muestran las pruebas
errors
Errores
Conformidad de
requirements requerimientos
conformance
Rendimiento
performance
anIndicador de
indication
of quality
calidad
Ingeniería de Software
Quien prueba el Software?
Ingeniería de Software
Pruebas exhaustivas
loop < 20 X
Existen 1014 caminos
posibles! Si ejecutamos
una prueba cada
milisegundo, tomaría
años probar este
programa!!!
Ingeniería de Software
Pruebas selectivas
Camino seleccionado
Selected path
loop < 20 X
Ingeniería de Software
Pruebas de Software
Mé todos de Mé todos de
Caja Blanca Caja Negra
Mé todos
Estrategias
Basado en un exámen del detalle Se aplican sobre la interfaz del
procedimental. Prueba las rutas SW. Examina el aspecto
lógicas del SW y la colaboración funcional sin analizar estructura
entre componentes lógica interna
Ingeniería de Software
Diseño del caso de
prueba
LIMITACIONES
En mínimo tiempo y esfuerzo
Ingeniería de Software
Pruebas de Caja
Blanca
… nuestros objetivos son:
• Asegurar que todas las
declaraciones y condiciones han
sido ejectuadas por lo menos una
vez
• Ejercitar lado verdadero y falso
de todas las decisiones
• Ejecutar todos los bucles en sus
limites y dentro de limites operac.
• Ejercitar estructuras de datos
internos para asegurar su validez
Ingeniería de Software
Por qué cubrir?
Ingeniería de Software
Prueba de Camino de
Base
Primero, calculamos la complejidad
ciclomática:
Nro. de decisiones simples + 1
O
Nro. de áreas incluídas + 1
En ese caso, V(G) = 4
Complejidad Ciclomatica: es una métrica de Sw
que proporciona una medida cuantitativa de la
complejidad lógica de un programa
Ingeniería de Software
Complejidad Ciclomática
Módulos
V(G)
Ingeniería de Software
Prueba de Camino de Base
Para continuar, derivamos los
caminos independientes:
1
4
3
Camino 1: 1,2,3,6,7,8
5 6 Camino 2: 1,2,3,5,7,8
Camino 3: 1,2,4,7,8
Camino 4: 1,2,4,7,2,4,…7,8
7
Finalmente, derivamos los casos de prueba
8
para ejercitar estos caminos garantizando que
se ejecuta cada instrucc.al menos una vez.
Ingeniería de Software
Prueba de Camino de
Base
• No es necesario un diagrama de
flujo, pero el diagrama ayudará
cuando se tracen los caminos de
programa
• Contar cada prueba lógica simple,
componer pruebas de 2 o mas
• Prueba de camino de base debería
aplicarse a los módulos críticos
Ingeniería de Software
Pruebas de Estructuras de Control
Ingeniería de Software
Pruebas de Bucles
Bucle
Simple
Bucle
Anidado
Bucles
Concatenados Bucles no
estructurados
Ingeniería de Software
Pruebas de Bucles: Bucles Simples
Condiciones Simples
Ingeniería de Software
Pruebas de Bucles: Bucles Anidados
Bucles Anidados
2. Comenzar en el bucle mas interno. Poner todos los demás bucles
externos a sus mínimos valores de iteración.
3. Probar el mínimo + 1, el valor típico, máximo + 1 y el máximo para
el bucle mas interior, mientras se mantienen los bucles externos a
sus mínimos valores
4. Descartar un bucle y volver al como en el paso 2, manteniendo todos
los otros bucles en sus valores típicos. Continuar este paso hasta que
el bucle mas externo haya sido probado
Bucles Concatenados
Si los bucles son independientes de otro, entonces tratarlos como un
bucle simple, de lo contrario, tratarlos como bucles anidados.
Por ejemplo: el valor final del contador del bucle 1 es utilizado para
inicializar el bucle 2
Ingeniería de Software
Prueba de la Caja Negra
… nuestro
Requerimientos
objetivo es:
• Derivar conjuntos
de condiciones de
Salida entrada que
ejercitarán por
completo todos los
requisitos
Entrada Eventos funcionales de un
programa
Ingeniería de Software
Partición Equivalente
Datos Válidos
• Comandos proveídos por el usuario
• Respuestas a pedidos del sistema
• Nombres de Archivo
• Datos computacionales
Parámetros Físicos
Valores de Límites
Valores de inicialización
• Formato de datos de salida
• Respuestas a mensajes de error
• Datos gráficos (por ej. Picos de ratón)
Datos Inválidos
•Datos fuera de los límites del programa
•Datos físicamente imposibles
•El valor correcto dado en un lugar incorrecto
Ingeniería de Software
Análisis de Valor Límite
Dominio de
Dominio de Entrada Salida
Ingeniería de Software
Otras Técnicas de Caja Negra
• Métodos de Adivinamiento de
Errores
• Técnicas de Tablas de Decisión
• Graficamiento causa-efecto
Ingeniería de Software
Pruebas de Entornos Especializados
Ingeniería de Software
Pruebas de Software - Resumen
Ingeniería de Software
Métodos de Pruebas Orientadas a Objetos
CLASE
Atributos
Operaciones
Ingeniería de Software
Pruebas Orientadas a Objetos
Ingeniería de Software
Pruebas Aplicables a Nivel de Clase
Ingeniería de Software