Está en la página 1de 36

Tcnicas de Pruebas de

Software
Lecturas
Pruebas de Unidades
Pruebas Integracin

Docente
Beatriz E. Florin
bflorian@eisc.edu.co

Mayo 3 de 2005

Pruebas
Reglas de oro para pruebas

Lmites de Pruebas:

Probar slo puede determinar la presencia de los


defectos, nunca su ausencia
Se requiere de demostraciones formales de que es
corrrecto para establecer ausencia.
Probar en etapas tempranas

Meta de las Pruebas:

Maximizar el nmero y la severidad de los defectos


encontrados por dinero gastado.

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas
Orden de Pruebas
11. Pruebas de Aceptacin
10. Pruebas de Instalacin
9. Pruebas de Uso
Cdigo de funcin

8. Pruebas de Sistema
7. Pruebas de Regresin

Cdigo de Mdulo

6. Pruebas de Integracin
5. Pruebas de Interfaz
3, 4. Pruebas de Mdulo

Cdigo de Interaccin o del Sistema

1, 2. Pruebas de Funcin
Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas de Unidades
Cubrimiento de pruebas de unidades

Combinacin Mdulo - Paquete


Mdulo Mtodos de la Clase
Funcin - Mtodo

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas de Unidades
Pruebas de caja blanca

Problema: La cobertura de sentencias de


ninguna manera es suficiente para asegurar
que un programa es correcto. Ej: Pag. 400

Cobertura de decisiones

Pruebas de condiciones mltiples

Enumerar todas las posibilidades


Particin por grupos
Problemas con while (pruebas formales)
Problema de coberturas ocultas
Asistencia de herramientas automticas

Pruebas basadas en afirmaciones (invariantes)


Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas de Unidades
Planeacin pruebas unitarias en general
Filosofa de las pruebas

2.

Quin desarrolla y quin prueba?

Qu, dnde, cmo documentar?

3.

automtico, manual? conjunto a probar? tipos pruebas?

Grado de pruebas de unidades

4.

Prioridades, no tiempo. Pirmide. Lo crtico. Sub-unidades

Cmo y Dnde obtener los datos de pruebas?

5.

Legales, frontera, ilegales, aleatorios

Estime los recursos requeridos

6.

Histricos

Registre tiempo, cuenta de defectos, tipo y fuente.

7.

Estado de la aplicacin, % calidad, fecha fin, histrico

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas de Unidades
Pruebas a nivel de mtodo
2.
3.
4.
5.
6.
7.
8.
9.

Verificar la operacin con valores normales de los


parmetros
Verificar la operacin en los valores lmite de los
parmetros
Verificar la operacin para valores de parmetros fuera
de los lmites
Asegurar que ejecuta todas las instrucciones
Verificar todas las trayectorias, incluidos ambos lados de
todas las ramas
Verificar el uso de todos los objetos llamados
Verificar el manejo de todas las estructuras de datos
Verificar el manejo de todos los archivos

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas de Unidades
Pruebas a nivel de clase

Ejecutar los mtodos de una clase en combinacin o


someter los objetos de la clase a eventos.
Combinacin de mtodos: Es una secuencia de llamadas
a los mtodos

Secuencias ms probables
Secuencias crticas
Listado de Prioridades de pruebas
Orientadas a Atributos

Invariantes de clase: Observar veracidad de invariantes


en la ejecucin
Basadas en estados: Probar objetos en trminos de
estado.

Secuencia tpica, eventos no alterantes


Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas
Orden de Pruebas
11. Pruebas de Aceptacin
10. Pruebas de Instalacin
9. Pruebas de Uso
Cdigo de funcin

8. Pruebas de Sistema
7. Pruebas de Regresin

Cdigo de Mdulo

6. Pruebas de Integracin
5. Pruebas de Interfaz
3, 4. Pruebas de Mdulo

Cdigo de Interaccin o del Sistema

1, 2. Pruebas de Funcin
Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas de Interfaz

Despus de desarrollados los mdulos


Probar las interfaces
Generar trfico entre las interfaces con llamados
a funciones
Generar GUI para los llamados
Desde etapas tempranas

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas
Orden de Pruebas
11. Pruebas de Aceptacin
10. Pruebas de Instalacin
9. Pruebas de Uso
Cdigo de funcin

8. Pruebas de Sistema
7. Pruebas de Regresin

Cdigo de Mdulo

6. Pruebas de Integracin
5. Pruebas de Interfaz
3, 4. Pruebas de Mdulo

Cdigo de Interaccin o del Sistema

1, 2. Pruebas de Funcin
Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Integracin, Verificacin y
Validacin del Sistema

Integracin

Verificacin de Integracin:

Ensamble hecho segn el plan?

Validacin de Integracin:

Ensamble

Se construye lo correcto? (requerimientos)

Probar funcionalidades en el contexto completo

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Integracin, Verificacin y
Validacin del Sistema
Problemas en proceso de integracin

Problema: Mdulos no listos para integrar.

Se integran mdulos parcialmente desarrollados

Evitar la integracin explosiva.

Ventaja de la estrategia

Centrar las clases en su tarea y disminuir las interfaces


para lograr alta cohesin y bajo acoplamiento

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Integracin, Verificacin y
Validacin del Sistema
Recomendaciones en el proceso de integracin

Implementacin de casos de uso completos.

Construir la interfaz pronto (prioridad a lo


importante) para probar desde ella.

Organizacin metdica de un nmero grande de


pruebas

Congelar versiones para las pruebas

Acompaar estas pruebas de las de regresin

Generar nuevas versiones despus de pruebas

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Integracin, Verificacin y
Validacin del Sistema
Proceso de Integracin
1. Comprender la descomposicin de la
arquitectura (sencillo para integrar)
2. Identificar las partes de la arquitectura que
implementar en cada iteracin

Construir clases de marcos de trabajo primero, o en paralelo


Integrar continuamente
Construir suficientes GUI para anclar las pruebas
Documentar los requerimientos para cada iteracin
Intentar construir de abajo hacia arriba al menos parte del
tiempo
Intentar planear las iteraciones para eliminar los riesgos
Especificar las iteraciones y construir de manera que cada
caso de uso se maneje por completo
Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Integracin, Verificacin y
Validacin del Sistema
Proceso de Integracin
3. Descomponer cada iteracin en construcciones si
es necesario
4. Planear las pruebas, revisar e inspeccionar el
proceso
5. Refinar el programa para reflejar los resultados

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Integracin, Verificacin y
Validacin del Sistema
Mapa Conceptual de Integracin y P. Sistema
1. Decidir el alcance de las pruebas
2. Para cada iteracin...
2.1 Para cada construccin
2.1.1 Realizar pruebas de regresin a partir de construcciones anteriores
2.1.2 Probar de nuevo las funciones si se requiere
2.1.3 Probar de nuevo los mdulos si se requiere
2.1.4 Probar las interfaces si se requiere
2.1.5 Realizar las pruebas de integracin

3. Realizar pruebas de instalacin


4. Realizar pruebas de aceptacin

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Factores en la secuencia de integracin


Factores Tcnicos

Uso de mdulos por otros mdulos


Definicin y uso de clases de marcos de trabajo
(por paquetes, por funcionalidades en paquetes)

Reduccin de Riesgo

Prctica de integracin temprana


Prctica de partes de riesgo clave de la aplicacin
lo ms pronto posible

Requerimientos

Mostrar partes o prototipos a los clientes

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Integracin, Verificacin y
Validacin del Sistema
Pruebas de humo

Pruebas de integracin

A menor escala

En periodos regulares y frecuentes

Seguridad a los programadores para no tener


problemas en la integracin completa

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Integracin, Verificacin y
Validacin del Sistema
Artefactos y Papeles Involucrados

Modelos de casos de uso: Conj. casos de uso

Casos de pruebas: Datos de entrada

Procedimientos de pruebas: Manual, automtico

Evaluacin de pruebas: resumen, defectos.

Plan de pluebas: Orden global

Componentes de las pruebas: Cdigo fuente

Defectos: Informe defectos encontrados


clasificados

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Integracin, Verificacin y
Validacin del Sistema
Artefactos y Papeles Involucrados

Ingeniero
de Pruebas

Modelo de
casos de
uso

Ingeniero
Probador de Probador
de Componentes Integracin del Sistema

Evaluacin
de prueba

Plan de
Pruebas

Procedimiento
de prueba

Caso de prueba

Componente
de prueba

Administracin
de defectos

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas
Orden de Pruebas
11. Pruebas de Aceptacin
10. Pruebas de Instalacin
9. Pruebas de Uso
Cdigo de funcin

8. Pruebas de Sistema
7. Pruebas de Regresin

Cdigo de Mdulo

6. Pruebas de Integracin
5. Pruebas de Interfaz
3, 4. Pruebas de Mdulo

Cdigo de Interaccin o del Sistema

1, 2. Pruebas de Funcin
Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas de Regresin

Verificar que un cambio no haya afectado la


funcionalidad existente
Pasar el mismo conjunto de pruebas antes de los
cambios
Llevarlas a cabo con frecuencia
Si hay problemas de tiempo escoger cules
podran ser las afectadas por el cambio.

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas
Orden de Pruebas
11. Pruebas de Aceptacin
10. Pruebas de Instalacin
9. Pruebas de Uso
Cdigo de funcin

8. Pruebas de Sistema
7. Pruebas de Regresin

Cdigo de Mdulo

6. Pruebas de Integracin
5. Pruebas de Interfaz
3, 4. Pruebas de Mdulo

Cdigo de Interaccin o del Sistema

1, 2. Pruebas de Funcin
Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas de Sistema
Pruebas de caja negra

Problema: representar de la mejor manera un


conjunto infinito de posibilidades con un
nmero finito representativo de pruebas

Problema: agotar todas las combinaciones de


entrada es imposible.

Particin de Equivalencia
Anlisis de valores de frontera
Valores fuera del rango

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas de Sistema

Mejor si son en el entorno requerido


Tomar en cuenta las plataformas
Validar cada requerimiento, mejor si estos estn
dentro de los casos de uso
Confiabilidad/Disponibilidad: Definida con base a
mtricas. P.E: MTBF (mean time between
failures)
Funcionalidad: Facilidad o dificultad con que la
aplicacin se mantiene operativa
Utilidad:Aceptacin de los usuarios de la
aplicacin
Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas de Sistema
Tipos de Pruebas de Sistema

Volumen

Utilidad

Desempeo

Configurabilidad

Compatibilidad

Confiabilidad / disponibilidad

Seguridad

Uso de Recursos

Aptitud de Instalacin

Recuperabilidad

Funcionalidad

Carga / Tensin
Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas de Sistema
Pruebas Alfa y Beta (Pruebas de transicin)

Versin de liberacin previa

Retroalimentacin sin afectar reputacin de producto no liberado

Estrategia comercial

Alfa
Usuarios internos o externos altamente confiables
Multiplica las pruebas
Pronostica la reaccin de los clientes
Beneficia a desarrolladores de terceras partes
Anticipa la competencia

Beta
Clientes seleccionados, con entendimiento.
Multiplica las pruebas
Obtiene la reaccin del cliente
Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas de Sistema
Mapa conceptual para iteraciones de transicin
1.

2.

Plan de pruebas alfa y beta


Definir poblacin
Planear recoleccin de defectos
Identificar criterios de detencin
Realizar pruebas alfa luego beta
Preparar
Distribuir e instalar
Ejecutar
Reunir informes de defectos
Observar criterios de detencin
Corregir defectos

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas de Sistema
Criterios de detencin para iteraciones de
transicin

Completar una metodologa de prueba en particular


Mtodo o herramienta
Porcentaje estimado de cobertura por categora
ejemplo: 95% de declaraciones cubiertas
Tasa de deteccin de errores
ejemplo: 2 defectos medios por 100 horas de operacin
Nmero total de errores encontrados
% de defectos restante

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas
Orden de Pruebas
11. Pruebas de Aceptacin
10. Pruebas de Instalacin
9. Pruebas de Uso
Cdigo de funcin

8. Pruebas de Sistema
7. Pruebas de Regresin

Cdigo de Mdulo

6. Pruebas de Integracin
5. Pruebas de Interfaz
3, 4. Pruebas de Mdulo

Cdigo de Interaccin o del Sistema

1, 2. Pruebas de Funcin
Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas de Uso
Atributos claves

Accesibilidad
Facilidad con la que entran, navegan y salen los
usuarios
Rapidez de Respuesta
Qu tan rpido logra el usuario sus metas
Eficiencia
Que tan pequeo son los paso para una funcionalidad
Comprensin
Entendimiento a partir del uso y la documentacin

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas
Orden de Pruebas
11. Pruebas de Aceptacin
10. Pruebas de Instalacin
9. Pruebas de Uso
Cdigo de funcin

8. Pruebas de Sistema
7. Pruebas de Regresin

Cdigo de Mdulo

6. Pruebas de Integracin
5. Pruebas de Interfaz
3, 4. Pruebas de Mdulo

Cdigo de Interaccin o del Sistema

1, 2. Pruebas de Funcin
Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas de Instalacin

Probar en el ambiente de hardware final


Instalar en el entorno meta
Ejecutar las pruebas del sistema
Tipificar entornos del cliente

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas
Orden de Pruebas
11. Pruebas de Aceptacin
10. Pruebas de Instalacin
9. Pruebas de Uso
Cdigo de funcin

8. Pruebas de Sistema
7. Pruebas de Regresin

Cdigo de Mdulo

6. Pruebas de Integracin
5. Pruebas de Interfaz
3, 4. Pruebas de Mdulo

Cdigo de Interaccin o del Sistema

1, 2. Pruebas de Funcin
Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

Pruebas de Aceptacin

La casa desarrolladora exige un documento de


entrega.
Ayudan al cliente a estar seguro de que se
implement lo correcto.
Como las del sistema pero con un testigo por
parte del cliente.
Se pueden desarrollar pruebas de aceptacin
para entregas parciales del producto cuando se
requieren.

Tcnicas de Pruebas de Software -Beatriz E. Florin Gaviria - 2005

También podría gustarte