170 likes | 326 Views
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
E N D
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)
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
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. • ¿Es diferente el caso A=4 B=3 C=5?
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 C=“Hola”.
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 un “Test Suite”.