Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com...

Post on 24-Jan-2016

230 views 0 download

Transcript of Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com...

Test-Code-Refactor

Juan Carlos Olivares Rojas

MSN: juancarlosolivares@hotmail.comjcolivar@itmorelia.edu.mx

http://antares.itmorelia.edu.mx/~jcolivar/@jcolivares

Social Network: Facebook, LinkedIn. Hi5

• 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.

Test-Code-Refactor

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.

Resultado Obtenido: Se generan bien userid y password pero el correo no llegó.

Criterio de Aceptación: No.

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.

• ¿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”.

¿Preguntas?