Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Profesores
Joan Manuel Briones Prez
Jaime Sebastin Luna Orrego
2
Qu es calidad?
Significa que un producto debera cumplir con sus
especificaciones.
3
Qu se entiende por Falla,
Defecto o Error?
DEFECTO FALLAS
ERROR
Significa que el sistema est en un estado el cual el procesamiento adicional del sistema conducir a
una falla, lo cual causa que el comportamiento se desve del pretendido
4
Gestin de Calidad de Software
(Apunta a 3 tpicos)
Mejora de la calidad Mejora
continua
Calidad total
Garanta de calidad
Prevenir defectos
Control de
calidad
Detectar defectos
Tiempo
1. Control de Calidad
Pruebas del software
6
1. Control de Calidad
Pruebas del software
Verification
The process of evaluating a system or component to determine
whether the products of a given development phase satisfy the
conditions imposed at the start of the phase
Validation
The process of evaluating a system or component during or at the
end of the development process to determine whether it satisfies
specified requirements
7
1. Control de Calidad
Tipos de Fallas
8
2.Pruebas del software
Objetivos de las pruebas
Pruebas de Validacin
El sistema funciona correctamente ante casos de prueba que reflejan el uso
esperado del sistema
Una prueba de validacin tiene xito si el sistema opera como se estipul.
Pruebas de defectos:
Una prueba de defectos tiene xito si descubre un defecto.
Una prueba defectos fracasa si hay defectos pero no los descubre
Si no aparecen fallos, no podemos asegurar que no existan
defectos!
9
Proceso de prueba
10
Etapas de Pruebas
Unit
testing
Module
testing
Sub-system
testing
System
testing
Acceptance
testing
11
Modelo V
sabemos realmente lo que quiere decir?
12
Modelo V
sabemos realmente lo que quiere decir?
13
14
Datos de prueba y casos de
prueba
Recordar que los datos de prueba son entradas que
permiten probar el sistema.
15
Estrategias de prueba unitaria
Pruebas basadas en particiones (caja negra)
Se identifican grupos de entradas que tienen caractersticas
en comn y deben ser procesados de forma similar.
Se analizan las entradas y las salidas del sistema sin analizar
qu ocurre dentro de l.
Pruebas basadas en trayectoria (caja blanca)
Se analiza el cdigo a ser probado, para determinar entradas
que permitan ejecutar las diferentes trayectorias.
Pruebas basadas en guas
Se usan guas que reflejan la experiencia con los tipos de
errores frecuentes para generar los casos de prueba
16
Pruebas de caja negra
Inputs causing
anomalous
Input test data I behaviour
e
System
17
Particiones de equivalencia
(Caja Negra)
18
Particiones de equivalencia
Las entradas al sistema se dividen en sets de equivalencia.
19
Particiones de equivalencia
3 11
4 7 10
Number de
Nmero of input values
valores de entrada
9999 100000
10000 50000 99999
Less than 10000 Between 10000 and 99999 More than 99999
Valores de entrada
Input values
20
Particiones de equivalencia
21
Pruebas basadas en trayectorias
(Caja Blanca)
Caja Blanca
Tambin llamadas pruebas estructurales o de caja
transparente.
22
Pruebas de Caja Blanca
Test data
Tests Derives
Component Test
code outputs
23
Prueba de trayectorias (ruteo)
El objetivo de las pruebas de trayectoria es asegurarse que
las diferentes instrucciones se ejecutan correctamente.
24
Notacin
Secuencia
SI
Condicin
IF NO
SI
Ciclo
While NO
SI
NO
Ciclo
Hasta 25
Diagrama de flujo
1
para una rutina de bsqueda binaria
8 4
(if (elemArray [mid]< key
5 6
9
26
Las trayectorias independientes
(sin vuelta atrs) son:
1, 2, 3, 8, 9
1, 2, 3, 4, 6, 7, 2
1, 2, 3, 4, 5, 7, 2
1, 2, 3, 4, 6, 7, 2, 8, 9
Los casos de prueba deberan asegurarse que se
ejecutan todas las trayectorias.
Un analizador dinmico podra utilizarse para saber
las trayectorias efectivamente ejecutadas.
27
Complejidad ciclomtica
Mtrica que proporciona una medicin cuantitativa
de la complejidad lgica.
Es el nmero de caminos independientes.
En trminos del grafo de flujo (G), la complejidad ciclomtica
(CC) se puede calcular de la siguiente forma:
28
Pruebas de Caja Blanca
Ventajas
Mayor probabilidad de deteccin de fallas.
Ayuda a encontrar la localizacin de defectos.
Desventajas
Requiere gran esfuerzo (HH).
Se necesita una comprensin profunda de la implementacin
realizada
Se pueden perder de vista aspectos de la funcionalidad.
A veces es difcil forzar ciertas condiciones de la
estructura de los programas.
29
Dicotoma caja blanca caja
negra
Hoy en da se considera poco relevante la distincin
entre pruebas de caja negra o blanca.
Lo importante es considerar diferentes fuentes de
datos para generar buenos casos de prueba.
30
Guas de prueba (para secuencias)
Probar con secuencias de un solo valor
Usar secuencias de diferentes tamaos en las diferentes
pruebas
Generar pruebas de forma que se accese los elementos del
principio, del medio y del final.
Probar con secuencias de largo 0
31
Guas de prueba en general
Escoger entradas que fuercen al sistema a generar todos los
mensajes de error
Forzar la generacin de salidas invlidas
Forzar resultados de clculo muy pequeos o muy grandes
32
Pruebas automatizadas
Las pruebas de unidad pueden ser automatizadas
As, las pruebas pueden ser ejecutadas y sus resultados
revisados sin intervencin manual.
Comnmente se utiliza un framework de pruebas
automatizadas para escribir y ejecutar los casos de
prueba (ej. JUnit)
Estos frameworks proveen clases de pruebas
genricas, que se deben extender para crear casos
de prueba especficos.
33
Elementos de Pruebas
automatizadas
Configuracin (setup) en que se inicializa el sistema
con los casos de prueba
Llamada (call) en que se invoca el mtodo o funcin
a probar
Afirmacin (assertion), en que se compara el
resultado de la llamada con el resultado esperado.
Si la assertion es evaluada como verdadera, la
prueba ha sido exitosa (se pasa la prueba).
34
Conclusiones
Existen diversas estrategias para realizar las pruebas del
sistema. Es importante utilizar una mezcla adecuada de
ellas, que nos permita detectar la mayor cantidad de
errores posible.
El uso de pruebas automatizadas ayudan a evitar que las
modificaciones daen cdigo que funciona.
Es ms importante probar las partes del sistema que se
utilizan ms frecuentemente que las partes que raramente
se utilizan.
35