Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Automatización del testing
Manuel Núñez Especificación, Validación y Testing Estas transparencias están basadas en las desarrolladas por Ammann & Offutt como acompañamiento de su libro Introduction to Software Testing (2nd Edition)
2
Especificación, Validación y Testing (M. G. Merayo y M. Núñez)
¿En qué consiste? Es el uso de software para controlar la ejecución de tests, comparar los resultados obtenidos con los esperados, establecer las precondiciones del test y otras tareas relacionadas con control e informes. La automatización del proceso de testing permite reducir: Costes. Errores humanos. La varianza de calidad entre distintos individuos. Además, reduce sensiblemente el coste asociado con regression testing. Especificación, Validación y Testing (M. G. Merayo y M. Núñez)
3
¿Qué es software testability?
El grado en el que un sistema o componente facilita el establecimiento de criterios de testing y la ejecución de los tests para determinar si dichos criterios se cumplen. En otras palabras, se mide cuánto de difícil es encontrar defectos en el software. La testabilidad depende, fundamentalmente, de dos problemas prácticos: Cómo se proporcionan valores de los tests al software. Cómo se observan los resultados de la ejecución de tests. Especificación, Validación y Testing (M. G. Merayo y M. Núñez)
4
Observabilidad & controlabilidad
Cómo de fácil es observar el comportamiento del programa en términos de sus outputs, efectos en el entorno, y otras componentes software y hardware. El software que afecta a dispositivos hardware, bases de datos y ficheros remotos suele tener baja observabilidad. Especificación, Validación y Testing (M. G. Merayo y M. Núñez)
5
Observabilidad & controlabilidad
Cómo de fácil es proporcionar al programa los inputs necesitados, en términos de sus valores, operaciones y comportamientos. El software que recibe inputs a través de teclado (o similar) es fácil de controlar. Por el contrario, inputs destinados a sensores o sistemas distribuidos suelen conllevar problemas. Especificación, Validación y Testing (M. G. Merayo y M. Núñez)
6
Especificación, Validación y Testing (M. G. Merayo y M. Núñez)
Componentes de un test En un test podemos distinguir dos componentes principales: Los valores de los inputs que se necesitan para completar la ejecución del software. El resultado que producirá el test si el software se comporta de la forma esperada. En testing es habitual utilizar oráculos que deciden si el test ha pasado o fallado. Especificación, Validación y Testing (M. G. Merayo y M. Núñez)
7
Factores que afectan controlabilidad y observabilidad
En algunas situaciones necesitamos aplicar inputs antes/después de aplicar el propio test. Valores de prefijo. Inputs necesarios para llevar el software al estado apropiado para recibir los valores del test. Valores de postfijo. Inputs que debemos mandar al software después de que se envíen los valores de los tests. Distinguimos dos tipos: Valores de verificación. Valores necesarios para ver el resultado de la aplicación de los tests. Valores de salida. Valores o comandos necesarios para terminar el programa o volver a un estado estable. Especificación, Validación y Testing (M. G. Merayo y M. Núñez)
8
Especificación, Validación y Testing (M. G. Merayo y M. Núñez)
Poniendo todo junto… Un test consiste en el valor de sus inputs, los valores de prefijo, los valores de postfijo y los resultados esperados. Si queremos automatizar el proceso de testing, necesitamos scripts ejecutables. Un script de testing ejecutable es un test que está preparado para ser ejecutado automáticamente sobre el software y generar un informe. El marco más usado en la industria para automatizar el proceso de testing es Junit (veremos JUnit, en detalle, en las clases de laboratorio). Especificación, Validación y Testing (M. G. Merayo y M. Núñez)
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.