Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx http://antares.itmorelia.edu.mx/~jcolivar/ @jcolivares Social Network: Facebook, LinkedIn. Hi5
Test-Code-Refactor
• Es la propuesta básica de TDD y de XP • La recomendación es escribir los casos de prueba, realizar la codificación necesaria para que se pasen las pruebas y posteriormente se refactoriza el código. • La refactorización se verá en la próxima unidad temática.
Extreme Testing
• Las programación extrema tienen las siguientes ventajas en lo que respecta al proceso de pruebas: • Se gana confianza ya que el código debe cumplir las especificaciones. • Se tiene el resultado final del código antes de codificar
Extreme Testing • Se entiende mucho mejor las especificaciones y requerimientos de la aplicación. • Se inicia con diseños simples y se refactoriza el código después para mejorar el desempeño sin preocuparse de que se estén rompiendo las especificaciones.
Plan de Pruebas • Se recomienda utilizar la metodología y formatos del estándar IEEE 829 para documentación de pruebas de software: • Pasos que incluye: • Identificador de plan de pruebas (se muestra el estándar a seguir para el nombre de las pruebas)
Plan de Pruebas
• Introducción (en que consiste las pruebas del sistema) • Elementos a probar • Características a ser probadas • Características que no se probarán • Enfoque • Criterio de fallo o aceptación de los elementos
Plan de Pruebas
• Criterio de Suspensión y Reanudación de requerimientos • • • • • •
Entregables de las pruebas Tareas de las pruebas Necesidades del entorno Responsabilidades Equipo y necesidades de capacitación Agenda
Plan de Pruebas
• Riesgos y contingencias • Acuerdos
• A las pruebas se les ha empezado a llamar de manera formal verificación y validación. • Existen metodologías más robustas como el TMMI (Test Maturity Model)
Plan de pruebas
Formato Plan de Pruebas
ID: 1 Nombre: Enviar artículo Probado por: Fulanito Descripción: Se introducen los datos del artículo y de los autores. Condiciones de Entrada: nombreArticulo=“Calidad del Sw” … emailAutor=“jcolivar@itmorelia.edu.mx” Resultado Esperado: El sistema confirma la correcta recepción del artículo enviando un e-mail al autor de contacto con un userid y password para que el autor pueda posteriormente acceder al artículo.
Práctica de Laboratorio
• Realizar un programa que permita calcular el área de un triángulo conociendo tres lados utilizando la fórmula de herón. • Realizar el plan de pruebas que garantice que el programa está libre de errores
Arquitectura
Casos de Pruebas
• ¿Con cuantos casos de prueba valido que el software está correcto? • Para cada caso de prueba sólo indicar las posibles entradas. • Por ejemplo: • Caso de Prueba 1: A=3 B=4 C=5, el resultado esperado debe de ser 6.
Casos de Prueba
• Tipos de Triángulo en Base a sus lados:
• Se deben tener al menos un caso de cada uno de ellos y al menos un caso no válido: A=0 B=-1
Caso de Prueba
• ¿Cuál es el resultado esperado para el caso de prueba A=1 B=2 C=3? • Area=0 • ¿Qué pasó? • !Exento este parcial quien pueda dibujar un triangulo de dimensiones 1, 2 y 3 cm para cada lado!
Práctica
• Construir todos los casos de prueba seleccionados en JUnit. • Crear el código para pasar las pruebas. • Primero deben de compilar las pruebas, posteriormente deben de dar los valores esperados. • Se pueden juntar varias clases de prueba en
多Preguntas?