2012-04-14 19 views
18

Esta relación entre TDD y XP sigue siendo ambigua para mí, porque una de las prácticas de XP es escribir primero la prueba. TDD también (según entiendo) es solo acerca de escribir primero la prueba.¿Cómo se relaciona TDD con la programación extrema?

¿Qué hay de nuevo en TDD? y cómo se conectó a XP?

Se apreciará un ejemplo.

+0

Teniendo en cuenta que Kent Beck (re) descubrió TDD (y escribió el libro) y también escribió el libro en XP (de su trabajo en el proyecto C3?) - Diría que están muy relacionados. Test First es un subconjunto de TDD. No estoy seguro de lo que está buscando con un ejemplo – Gishu

Respuesta

14

XP consiste en una serie de prácticas, diseñadas para usarse juntas. Uno de ellos es TDD. Las organizaciones no necesariamente quieren adoptar todos los XP. El scrum actualmente popular toma un subconjunto de las prácticas de XP centradas en la planificación y la administración.

8

XP utiliza desarrollo impulsado por prueba (TDD) y refactorización para ayudar a descubrir el diseño más eficaz.

Eso es del Extreme Programming site. TDD es una práctica que XP adopta.

4

Una parte central de ágil en general, y XP en particular, es la capacidad (y en realidad, la necesidad) de crear el software incrementalmente en cada iteración.

Esto se logra agregando un nuevo código en cada iteración, pero también refactorizando el código existente escrito durante iteraciones previas. Esta refactorización solo puede lograrse de manera segura si cuenta con un sistema de prueba sólido, capaz de verificar que todo el producto de software no se rompa cuando agrega un código nuevo o cuando modifica los existentes.

Por lo tanto, cuando se desarrolla el software, finalmente, crear dos sistemas separados, pero fuertemente conectados:

  • El producto de software que desea proporcionar a sus usuarios
  • Su instrumento de prueba que le ayuda a construirlo incrementalmente

TDD es la práctica más conocida para crear este arnés de prueba, lo que le permite crear incrementalmente su software utilizando un enfoque ágil.

+0

No estoy de acuerdo en que tener un arnés de prueba asegure que el producto no se rompa, ya que el arnés de prueba es, en sí mismo, un "producto" que debe mantenerse.A menos que las pruebas se escriban * antes * del código y se deriven de la especificación de producto actualizada, existe la posibilidad de no probar los cambios (se pierden las pruebas funcionales actualizadas en el arnés que luego (casualmente) fallan en la función que no era implementado (escape de prueba funcional) Es por eso que "Prueba primero" es la mejor solución: los escenarios de prueba se pueden derivar de requisitos funcionales y/o especificaciones del producto. –

3

programación extrema es una metodología de desarrollo de software que consiste en prácticas como -

  1. la programación en parejas
  2. Test Driven Desarrollo
  3. integración continua
  4. Refactoring
  5. Código
  6. Comentarios

TDD es una de las prácticas en programación extrema, aunque podría decirse que es la más importante.

Cuestiones relacionadas