programacion orientada a pruebas

3
PROGRAMACIÓN ORIENTADA A PRUEBAS (TEST - DRIVEN DEVELOPMENT (TDD)). Esta es una práctica de programacion que involucra a dos fases: Se escriben las pruebas primero y luego se refactoriza. Para llevar a cabo las pruebas generalmente se utiliza la prueba unitara. Primeramente, se diseñan y escriben los casos de prueba y pruebas unitarias en base a los requisitos del software y su arquitectura y se verifica que las pruebas fallen. En segunda instancia, se codifica el proyecto de tal manera que el código haga que que la prueba cumpla satisactoriamente lo propuesto, y después se refactoriza el código escrito. CICLO DE DESARROLLO En primer lugar se debe definir una lista de requisitos para poder proseguir con el ciclo: 1. Elegir un requisito: De la lista de requerimientos se elige uno de estos, se debe elegir aquel que se crea que nos va a dar mayor conocimento del problema. 2. Escribir la prueba: es decir, el programador debe entender claramente las caracteristicas y requisitos para poder escribir la prueba. 3. Verificar que la prueba falla: si esta no falla es poruque el requerimiento ya estaba impuesto o porque la prueba es errónea. 4. Escribir la implementación: Se debe escribir un código sencillo que haga que la prueba funcione. 5. Ejecutar las pruebas automatizadas: Se debe verificar que todo el conjunto de pruebas unitarias funcionen correctamente. Si hay fallos, el código no resolvió los casos de prueba. 6. Refactorización: Este se utiliza principalmente para eliminar aquel código duplicado, haciendo pequeños cambios hasta que las pruebas funcionen. 7. Repetición: Después se repetirá el ciclo, actualizando la lista de requisitos. Asimismo se agregan requisitos que se

Upload: skabeche-deskabechado

Post on 18-Dec-2015

5 views

Category:

Documents


2 download

DESCRIPTION

ejercicio y descripción

TRANSCRIPT

PROGRAMACIN ORIENTADA A PRUEBAS (TEST - DRIVEN DEVELOPMENT (TDD)).Esta es una prctica de programacion que involucra a dos fases: Se escriben las pruebas primero y luego se refactoriza. Para llevar a cabo las pruebas generalmente se utiliza la prueba unitara.Primeramente, se disean y escriben los casos de prueba y pruebas unitarias en base a los requisitos del software y su arquitectura y se verifica que las pruebas fallen.En segunda instancia, se codifica el proyecto de tal manera que el cdigo haga que que la prueba cumpla satisactoriamente lo propuesto, y despus se refactoriza el cdigo escrito.

CICLO DE DESARROLLOEn primer lugar se debe definir una lista de requisitos para poder proseguir con el ciclo:

1. Elegir un requisito: De la lista de requerimientos se elige uno de estos, se debe elegir aquel que se crea que nos va a dar mayor conocimento del problema.2. Escribir la prueba: es decir, el programador debe entender claramente las caracteristicas y requisitos para poder escribir la prueba.3. Verificar que la prueba falla: si esta no falla es poruque el requerimiento ya estaba impuesto o porque la prueba es errnea.4. Escribir la implementacin: Se debe escribir un cdigo sencillo que haga que la prueba funcione.5. Ejecutar las pruebas automatizadas: Se debe verificar que todo el conjunto de pruebas unitarias funcionen correctamente. Si hay fallos, el cdigo no resolvi los casos de prueba.6. Refactorizacin: Este se utiliza principalmente para eliminar aquel cdigo duplicado, haciendo pequeos cambios hasta que las pruebas funcionen.7. Repeticin: Despus se repetir el ciclo, actualizando la lista de requisitos. Asimismo se agregan requisitos que se hayan visto como necesarios en el ciclo y se agregan requerimientos de diseo.

El propsito principal del desarrollo orientado a pruebas es lograr una codificacin limpia que funcione y sea segura ante los constantes cambios. Como dije, los requisitos deben ser traducidos a pequeas pruebas unitarias de tal manera que cuando todas estas pruebas superen las implementaciones y todas sus derivadas, se puede asegurar que la aplicacion va a funcionar correctamente.En s, un codigo influenciado por este tipo de programacin es relativamente simple y sin duda muy seguro. Y un codigo simple y seguro es mas facil de cambiar que un cdigo que nos muestra lo contrario como lo complejo y lo frgil. En escencia este tipo de cdigo que se respalda en pruebas, cualquier cambio que rompe el cdigo se descubre de forma ms rpida y por consiguiente es ms fcil de arreglar.

LAS TRES REGLAS DEL DESARROLLO ORIENTADO A PRUEBAS.La practica de TDD pueden ser resumidas en tres pequeas y simples reglas:1. No se puede escribir cdigo productivo, a menos que sea para hacer pasar un test fallido.2. No se puede escribir ms que lo necesario para que falle un test unitario; los errores de compilacin se consideran fallos.3. No se puede escribir ms codigo productivo del estrictamente necesario para hacer pasar un test.

Algunas de las ventajas que tiene el desarrollo orientado a pruebas en el software son: Los programadores que utilizan este mtodo en un proyecto virgen no tienen mucha necesidad en utilizar un depurador. Se producen ms aplicaciones de calidad y en menor tiempo. Como el cdigo es guiado por pruebas y estas tienen que cumplir los requerimentos, dan al progamador un mayor nivel de confianza en el cdigo. Facilita la gestin de los cambios. El cdigo escrito en base a TDD es ms facil de cambiar y mas fcil de mantener. Se evita escribir cdigo innecesario.