Pruebas de Software
Proceso para verificar que el software cumpla criterios
específicos de calidad, corrección, compleción, exactitud,
eficacia y eficiencia, para asegurar su buen
funcionamiento y la satisfacción del cliente final.
Objetivo
Se asume que todo software contiene defectos.
Los
Los
defectos generalmente se manifestarán en fallos.
fallos serán detectados o bienpor las pruebas o
bien por los usuarios.
Verificación vs. Validación
Validación: ¿Estamos construyendo el sistema correcto?
Verificación: ¿Estamos construyendo correctamente el
sistema?
Pruebas vs. Depuración
Pruebas es el proceso de demostrar la presencia de
fallos en el software
Depuración es el proceso de localizar errores y el
subsecuente arreglo de losmismos.
Tipos de Pruebas de Software
Cada caso de prueba se aplica tanto al programa original como
a los mutantes generados: si una prueba consigue identificar la
diferencia entre el programa y el mutante, se dice que se ha
"acabado" con este último. La base teórica de las pruebas de
mutación dice que buscando errores sintácticos simples se
deberían encontrar otros más complejos peroexistentes
Se toma un subconjunto significativo de todos los posibles
usos del software, y se utiliza para crear casos de prueba.
Los resultados obtenidos para dichos casos se consideran
una muestra estadística de la que es posible inferir
conclusiones acerca de la población completa, esto es,
sobre el software en su conjunto
Prueba exhaustiva
No puede hacerse una pruebaexhaustiva, excepto en
módulos triviales.
Prueba basadas en el Código
Pruebas de caja blanca
Basadas en el flujo de control
Son pruebas unitarias que se usan cuando se conoce la
estructura interna y el funcionamiento del código a probar y
pueden ser: •Dinámicas •Estáticas
En Java, cuando “miramos el código”
Pruebas de caja negra
Basadas en el flujo de datos
Seusan cuando se quiere probar lo que hace el software
pero no cómo lo hace y pueden ser: •Dinámicas •Estáticas
En Java cuando “miramos el javadoc”
Proceso de fase de pruebas
Para asegurar el correcto funcionamiento de un sistema
de SW completo y garantizar la satisfacción del cliente se
debe implementar una estrategia de pruebas que incluya.
Pruebas unitarias
Pruebas deintegración
Pruebas de validación
Pruebas del sistema
Pruebas de aceptación
Clases de equivalencia
Conjuntos de valores equivalentes para las pruebas
Si un parámetro de entrada debe estar comprendido en un cierto
rango hay 3 clases de equivalencia: por debajo, en y por encima del
rango.
si una entrada requiere un valor de entre los de un conjunto,
aparecen 2 clases deequivalencia: en el conjunto o fuera de él.
si una entrada es booleana, hay 2 clases: si o no.
los mismos criterios se aplican a las salidas esperadas: hay que
intentar generar resultados en todas y cada una de las clases.
Pruebas unitarias
Es un proceso de prueba donde se estudia de manera
aislada un componente de SW, como por ejemplo un clase
de Java.
Pruebas unitarias:beneficios
y limitaciones
Beneficios –Permite arreglar los errores detectados sin
cambiar la funcionalidad del componente probado
Limitaciones –No permite identificar errores de integración
ni errores
Pruebas de integración
Unión de varios componentes unitarios y módulos y subsistemas
Se comprueba que módulos ya probados en las pruebas unitarias de
forma asilada, pueden interactuarcorrectamente
Aproximaciones de integración
Aproximaciones: –Big-bang! –Descendente (Top-down)
Pueden ser necesario escribir objetos simulados:
–Conductor: simulan la llamada al módulo pasándole los
parámetros necesarios para realizar la prueba
–Resguardos: módulos simulados llamados por el módulo bajo
prueba
Conductores y Resguardos
Pruebas de sistema
Pruebas...
Regístrate para leer el documento completo.