Actividad 19. TĂŠcnicas de prueba del software M.C. Juan Carlos Olivares Rojas Syllabus jcolivares@itesm.edu.mx June, 2009
Introducción
• Una vez generado el código fuente, es necesario probar el software para descubrir (y corregir) la mayor cantidad de errores posible antes de entregarlo al cliente. • Para encontrar esos errores se consideran las técnicas de prueba del software. Estas técnicas proporcionan directrices sistemáticas para pruebas de diseño que 1) comprueben la lógica interna y las interfases de todo componente del software y
Introducción
• 2) comprueben los dominios de entrada y salida del programa para descubrir errores en su función, comportamiento y desempeño. • Con las revisiones y actividades de aseguramiento de la calidad del software se pueden descubrir errores, pero no basta con ello. El cliente prueba el programa cada vez que lo ejecuta. Por tanto, se tiene que ejecutar el programa antes de que llegue al cliente, y el objetivo específico será encontrar y eliminar todos los errores.
Introducción
• La localización de la mayor cantidad de errores requiere aplicar pruebas de manera sistemática y diseñar casos de prueba empleando técnicas definidas. • Las siguientes características propician la creación de software que tenga facilidad de prueba. • Operatividad. Cuanto mejor funcione el software, con mayor eficiencia podrá probarse.
Introducción
• Observabilidad. Las entradas proporcionadas como parte de la prueba producen salidas distintas, si hay una salida incorrecta se identifica fácilmente. • Controlabilidad. Cuanto mejor se controle el software, mejor se automatizarán y mejorarán las pruebas.
Introducción
• Capacidad para descomponer. Al controlar el alcance de la prueba, se aislarán los problemas más rápidamente y se aplicarán las pruebas nuevamente con mayor inteligencia. • Simplicidad. Cuanto menos haya que probar, más rápido se hará. • Estabilidad. Cuanto menos cambios haya, menores alteraciones habrá en la prueba.
Introducción
• Facilidad de comprensión. Cuanta mayor información se tenga, con mayor inteligencia se aplicará la prueba. • Características de la prueba. • Una buena prueba tiene una probabilidad de encontrar un error. • Una buena prueba no es redundante.
elevada
IntroducciĂłn
• Una buena prueba deber ser la mejor de su clase, es decir, debe usarse la prueba que tenga la mayor probabilidad de descubrir un tipo completo de errores. • Y finalmente una buena prueba no debe ser ni muy simple ni demasiado compleja, para evitar encubrir errores.
Introducción
• Se aplica la prueba de caja negra cuando se conoce la función específica para la que se diseñó el producto. • Las pruebas de caja negra son las que se aplican a la interfaz del software, una prueba de este tipo examina algún aspecto funcional de un sistema que tiene poca relación con la estructura lógica interna del software.
IntroducciĂłn
• En cambio, si se conoce el funcionamiento interno del producto, se aplican pruebas para asegurarse de que todas las piezas encajan, es decir, que las operaciones internas se realizan de acuerdo con las especificaciones y que se han probado todos los componentes internos de manera adecuada, se le conoce como pruebas de caja blanca.
Introducción
• La prueba de caja blanca del software se basa en un examen cercano al detalle procedimental. Se prueba las rutas lógicas del software y la colaboración entre componentes, al proporcionar casos de prueba que ejerciten conjuntos específicos de condiciones, bucles o ambos.
Introducción
• Otro tipo de prueba es la prueba de la ruta básica. Esta es una técnica de prueba de caja blanca y permite que el diseñador de casos de prueba obtenga una medida de complejidad lógica de un diseño procedimental y que use esta medida como guía para definir un conjunto básico de rutas de ejecución.
Introducción
• Existen otros tipos de prueba como las pruebas de la estructura de control, que no es más que un método de diseño de casos de prueba que ejercitan las condiciones lógicas contenidas en un módulo del programa.
Referencias
โ ข Curso de Proyecto Integrador de Software Bรกsico, Universidad TecMilenio, 2009
Questions?