XP: Test Driven Development
Introducción
Problemas del testing
TDD no es una técnica de pruebas
Es una técnica de diseño y codificación
Tipos de test
Tests de aceptación
Prueban que el software cumpla con un requisito de negocio
Usan GUI
Tests funcionales
Subconjunto de los tests de aceptación
Prueban una funcionalidad con valor de negocio
Tests de sistema
Mayor de los tests de integración
Puede ir de extremo a extremo
Tests de integración
Integra más de un componente
Tests unitarios
Lo más importantes para TDD
Características
Atómico
Independiene
Inocuo
Rápido
Tests unitarios
"Any program feature without an automated test simply doesn’t exist." - Kent Beck
Testing realizado por desarrolladores durante la construcción del código
Testing de componentes o testing de clases aisladas
Formas
Usando métodos main() y verificando el resultado
Ejecutando la aplicación y verificando el resultado
Debugging
xUnit
Java: JUnit
JUnit 3.x
Extender TestCase
Sobrescribir setUp()
Hacer métodos que comiencen con test
Usar assertEquals() para verificar la salida
JUnit 4.x
No es necesario heredar
Anotar los métodos con @Test
Usar assertEquals() para verificar la salida
.NET: NUnit
Python: PyUnit
Ruby: RubyUnit
Perl: PerlUnit
C++: CppUnit
PHP: PHPUnit
Prácticas
Test First Development
Pasos
Refactoring
Cambios en la estructura interna del código
Sin cambios en su comportamiento externo
Ciclo de desarrollo
Escribir la prueba
Escribir el código haciendo que pase la prueba
Ejecutar las pruebas automatizadas
Repetición
Rojo - Verde - Refactor
Beneficios
La implementación de las funciones justas que el cliente necesita y no más
La minimización del número de defectos que llegan al software en fase de producción.
La producción de software modular, altamente reutilizable y preparado para el cambio.
El código es testeable, fue construido para serlo
El test es testeado, lo vimos fallar al inicio
Los tests son ejecutables
Los tests documentan el código
Tenemos el diseño suficiente para hacer pasar los tests
Referencias
Ble C, Diseño Ágil con TDD
http://opensourcetesting.org
http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks
http://junit.org
Acerca de
Topic
Topic
We would love to see this map added to the Mind Map library at www.biggerplate.com!
XP: Test Driven Development
Added: 2011-04-29 22:17:41
From: (Joined 2009-12-01 22:08:05)
27 views |0 downloads
XP: Test Driven Development