test-code-refactor juan carlos olivares rojas msn: [email protected]...

17
Test-Code-Refactor Juan Carlos Olivares Rojas MSN: [email protected] [email protected] http://antares.itmorelia.edu.mx/~jcolivar/ @jcolivares Social Network: Facebook, LinkedIn. Hi5

Upload: catalina-ferreyra-sosa

Post on 24-Jan-2016

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx jcolivar

Test-Code-Refactor

Juan Carlos Olivares Rojas

MSN: [email protected]@itmorelia.edu.mx

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

Social Network: Facebook, LinkedIn. Hi5

Page 2: Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx jcolivar

• 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

Page 3: Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx jcolivar

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

Page 4: Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx jcolivar

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.

Page 5: Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx jcolivar

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)

Page 6: Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx jcolivar

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

Page 7: Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx jcolivar

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

Page 8: Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx jcolivar

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)

Page 9: Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx jcolivar

Plan de pruebas

Page 10: Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx jcolivar

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=“[email protected]

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.

Page 11: Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx jcolivar

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

Page 12: Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx jcolivar

Arquitectura

Page 13: Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx jcolivar

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?

Page 14: Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx jcolivar

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

Page 15: Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx jcolivar

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!

Page 16: Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx jcolivar

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

Page 17: Test-Code-Refactor Juan Carlos Olivares Rojas MSN: juancarlosolivares@hotmail.com jcolivar@itmorelia.edu.mx jcolivar

¿Preguntas?