Pruebas de Cdigo
Ejercicio
Verificacin de Cdigo
Actividades de la
Verificacin de Cdigo
Actividades de la
Verificacin de Cdigo
Checklist para
Verificacin de Cdigo
Errores de cmputo
Es la variable a donde se asigna una expresin, de
menor capacidad que la expresin asignada?
Juan Antonio Vega Fernndez
Derechos Reservados, 1999
Errores en la comparacin
Son manejadas adecuadamente las reglas de
conversin entre datos o variables de tipo
inconsistente?
Checklist para
Verificacin de Cdigo
Errores en la Interfaz
Si un mdulo tienen mltiples puntos de entrada:
existe un parmetro que no sea referenciado en el
punto de entrada actual?
Errores de Entrada/Salida
Checklist para
Verificacin de Cdigo
Errores de Portabilidad
Cmo estn organizados o empaquetados los datos?
Juan Antonio Vega Fernndez
Derechos Reservados, 1999
Introduccin
Mtodos de Caja Negra
Mtodos de Caja Blanca
Actividades de Validacin
Introduccin a la
Validacin del Software
Axiomas de las
Pruebas de Validacin
Axiomas de las
Pruebas de Validacin
Axiomas de las
Pruebas de Validacin
Axiomas de las
Pruebas de Validacin
Axiomas de las
Pruebas de Validacin
(7) Con la excepcin de las pruebas unitarias y de
integracin, un programa no deber ser probado
por la persona u organizacin que lo desarroll.
(8) El nmero de errores no descubiertos es
directamente proporcional al nmero de errores
descubiertos.
Cobertura de Pruebas
Un caso de pruebas . . .
Cubre cierta parte de los requerimientos
Cubre cierta parte de la funcionalidad (Diseo
Funcional)
Cubre cierta parte de la lgica interna del
programa
Lo que se debe hacer es generar suficientes casos
de prueba para cubrir todos los puntos de cada
nivel.
Cobertura de Pruebas
Caja Negra
Se realizan a partir de las especificaciones del diseo
funcional sin importar la estructura interna del
programa.
En la prctica es importante probar, o al menos hacer
los planes de prueba, de los requerimientos y el diseo
funcional sin tener mucho conocimiento del cdigo.
El conocer el cdigo contamina la manera como se ven
los requerimientos.
Estrategias de Pruebas
Caja Blanca
Se realizan a partir de las especificaciones del diseo
interno y del cdigo.
Estas pruebas no detectan funciones faltantes u
omisiones.
Son necesarias para probar rutas lgicas que no son
discernibles en la funcionalidad externa (ejem. una
funcin matemtica que tiene dos algoritmos diferentes
dependiendo de los datos).
Estrategias de Pruebas
Pruebas funcionales
Estrategia de Caja Negra
Estrategias de Validacin
Pruebas internas
Estrategia de Caja Blanca
Juan Antonio Vega Fernndez
Derechos Reservados, 1999
Definicin de Resultados
Si el resultado esperado no est especificado, es muy
fcil interpretar el resultado obtendio como el
correcto
El ojo ve lo que quiere ver. (Myers, 1979).
Requerimientos de las
Pruebas de Validacin
Repeticin
Si un error no se puede repetir, no es error.
Es muy difcil en un ambiente de
multiprocesamiento (o multi-hilos) asncrono.
Juan Antonio Vega Fernndez
Derechos Reservados, 1999
Una prueba
(i) Una actividad en la cual el sistema o
componente es ejecutado bajo condiciones
especficas, los resultados son observados o
grabados, y se hace una evaluacin de
algunos aspectos del sistema o componente.
(ii) Un conjunto de uno o ms casos de pruebas.
Definiciones de la IEEE/ANSI
Un caso de prueba
(i) Un conjunto de entradas de prueba,
condiciones de ejecucin, y resultados
esperados desarrollados para un objetivo
particular.
(ii) La entidad ms pequea que siempre es
ejecutada como una unidad, de principio a
fin.
Definiciones de la IEEE/ANSI
Un procedimiento de prueba
(i) Las instrucciones detalladas para la
implantacin, ejecucin y evaluacin de los
resultados para un caso de pruebas dado.
(ii) Un caso de pruebas puede ser usado en uno
o ms procedimientos de prueba.
Definiciones de la IEEE/ANSI
Particin de Equivalencias
Anlisis de valores lmite
Adivinar errores
Grafos causa efecto
Pruebas de sintxis
Pruebas de Transicin de
estados
Matriz de Grafos
Mtodos de Validacin
Particin de Equivalencia
Particin de Equivalencias
Pasos para la
Particin de Pruebas
Identificacin de
Clases de Equivalencia
Identificacin de
Clases de Equivalencia
Identificacin de
Clases de Equivalencia
Identificacin de
Clases de Equivalencia
Identificacin de
Clases de Equivalencia
Identificacin de
Clases de Equivalencia
Identificacin
de los Casos de Prueba
Identificacin
de los Casos de Prueba
Gua para el
Anlisis de Valores Lmite
Gua para el
Anlisis de Valores Lmite
Ejercicio
Adivinar Errores
Grafos Causa-Efecto
Pruebas de Sintaxis
Identificar el lenguaje
Definir la sintaxis formalmente
Prueba los casos vlidos siguiendo un grafo de
definicin.
Prueba nivel por nivel haciendo un error a la vez.
Prueba casos invlidos.
Automatiza la creacin y ejecucin de las pruebas.
Pruebas de
Transicin de Estados
Matriz de Grafos