practicas nomenclatura language estructura español descargar buenas c++ linux unit-testing tdd

c++ - nomenclatura - ¿Cuáles son las buenas introducciones en línea a las pruebas y al desarrollo guiado por pruebas?



language es cucumber (3)

Estoy buscando una introducción en línea a las pruebas unitarias y TDD. Prácticamente no tengo experiencia con TDD, pruebas de unidad ni ninguna otra metodología ágil. Mi entorno de desarrollo es C ++ en Linux. Si hay una introducción de calidad a las pruebas unitarias y TDD que utiliza C ++ como lenguaje de ejemplo, sería genial. De lo contrario, bastaría con una introducción general en cualquier idioma antiguo y un tutorial más avanzado con C ++.


Escribí una serie de publicaciones en el blog hace varios años sobre cómo tomé parte de mi código "heredado" sin pruebas y primero le agregué pruebas y luego lo reimplementé desde cero en un estilo TDD. La idea era mostrar el uso de TDD y las pruebas de unidad con un código no trivial bajo prueba, ya que me había cansado de ver ejemplos de código simple de prueba.

El código es C ++ pero es para Windows, por lo que puede que no te interese, de todos modos, los artículos comienzan aquí: http://www.lenholgate.com/blog/2004/05/practical-testing.html


La página de wikipedia es bastante buena y tiene varios enlaces útiles a recursos en línea y no en línea de calidad razonablemente alta, incluido un tutorial en línea. Una vez que tenga lo básico, para los problemas específicos de C ++, puede comenzar con esta presentación (PDF).


Para la introducción a TDD, el episodio del juego de bolos es muy bueno, ya que demuestra cómo las pruebas conducen el diseño. Luego, aquí hay tutoriales que se centran en los marcos de C ++ para CppUnit , Boot::Test y CppCheck .

Para ayudar a elegir un marco, Noel LLopis exploró esta jungla , aunque hace mucho tiempo, especialmente si no menciona GoogleTest o puede hacer referencia a esta pregunta .

Ah, y por cierto, las pruebas unitarias [automatizadas] y TDD se pueden aplicar incluso en entornos no ágiles.