Documentos de Académico
Documentos de Profesional
Documentos de Cultura
VALIDACION
Validación:
El proceso de evaluación de un sistema o de uno de sus
componentes durante o al final del proceso de desarrollo
para determinar si satisface los requisitos marcados por el
usuario.
Pruebas (test):
Una actividad en la cual un sistema o uno de sus componentes
se ejecuta en circunstancias previamente especificadas, los
resultados se observan y registran y se realiza una evaluación de
algún aspecto
Caso de prueba (test case):
Un conjunto de entradas, condiciones de ejecución y resultados
esperados desarrollados para un objetivo particular
Defecto (defect, fault, bug):
Un defecto en el software como, por ejemplo, un proceso, una
definición de datos o un paso de procesamiento incorrectos en
un programa
Fallo ( failure):
La incapacidad de un sistema o de alguno de sus
componentes para realizar las funciones requeridas
dentro de los requisitos de rendimiento especificados
Error (error):
La diferencia entre un valor calculado, observado o
medio y el valor verdadero, especificado o
teóricamente correcto
IDEAS PARADÓGICAS DE LAS PRUEBAS
La prueba exhaustiva del software es impracticable no
se pueden probar todas las posibilidades de su
funcionamiento ni siquiera en programas sencillos
El objetivo de las pruebas es la detección de defectos
en el software (descubrir un error es el éxito de una
prueba)
El descubrimiento de un defecto significa un éxito
para la mejora de la calidad
PROCESO DE PRUEBA
La depuración (localización y corrección de defectos)
El análisis de la estadística de errores
ACTIVIDADES
Sirve para realizar predicciones de la fiabilidad del
software y para detectar las causas más habituales de
error y por tanto mejorar los procesos de desarrollo
ENFOQUES DE DISEÑO DE PRUEBAS
Existen dos enfoques principales para el diseño de
casos:
1.- El enfoque estructural o de caja blanca. Se centra en la
estructura interna del programa (analiza los caminos
de ejecución).
2.- El enfoque funcional o de caja negra. Se centra en las
Por ejemplo una clase que envíe emails, debe ser capaz
de probarse aislada chequeando que sea capaz de enviar
emails, y asegurándonos de probar todas las
posibilidades de fallo y éxito. En un modelo basado en
pruebas, se deben definir casos de prueba para cada
clase de forma aislada, una prueba no debe depender de
otras clases.
PORQUE HACER PRUEBAS UNITARIAS
Asegura calidad del código entregado. Es la mejor forma de detectar errores
tempranamente en el desarrollo. No obstante, esto no asegura detectar todos los
errores, por tanto prueba de integración y aceptación siguen siendo necesarias.
Ayuda a definir los requerimientos y responsabilidades de cada método en cada clase
probada.
Constituye una buena forma de ejecutar pruebas de concepto. Cuando es necesario
hacer pruebas de conceptos sin integrar usar pruebas unitarias se convierte en un
método efectivo.
Permite hacer refactoring tempranamente en el código. No es necesario todo un ciclo
de integración para hacer refactoring en la aplicación, basta con ver como se
comporta un caso de prueba para hacer refactoring unitario sobre la clase que
estamos probando en cuestión.
Permite incluso hacer pruebas de stress tempranamente en el código. Por ejemplo un
método que realice una consulta SQL que exceda los tiempos de aceptación es
posible optimizarla antes de integrar con la aplicación.
Permite encontrar errores o bugs tempranamente en el desarrollo. Y está demostrado
PRUEBAS DE INTEGRACION
La prueba de integración es una técnica sistemática para construir la estructura
del programa mientras al mismo tiempo, se lleva a cabo pruebas para detectar
errores asociados con la interacción.