Estoy buscando una introducción en línea para pruebas unitarias y TDD. Prácticamente no tengo experiencia con TDD, pruebas unitarias 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 usa C++ como el lenguaje de ejemplo, sería genial. De lo contrario, sería suficiente una introducción general en cualquier idioma antiguo y un tutorial más avanzado usando C++.¿Cuáles son las buenas introducciones en línea para probar y probar el desarrollo impulsado?
Respuesta
Para la introducción a TDD, el bowling game episode es muy agradable, ya que demuestra cómo las pruebas impulsan el diseño. Entonces, 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 explored this jungle, aunque hace mucho tiempo, especialmente no menciona GoogleTest o puede consultar this question.
Ah, y por cierto, las pruebas de unidades [automáticas] y TDD se pueden aplicar incluso en entornos no ágiles.
La wikipedia page es bastante buena y tiene varios enlaces útiles a recursos en línea y no en línea de una calidad razonablemente alta, incluido un tutorial en línea. Una vez que tenga los conceptos básicos, para problemas específicos de C++ puede comenzar con this presentation (PDF).
Escribí una serie de publicaciones en el blog hace varios años acerca de cómo tomé parte de mi código 'heredado' sin pruebas y primero agregué pruebas a él y luego lo reimplecé desde cero en un estilo TDD. La idea era mostrar que TDD y las pruebas unitarias se usaban con un código no trivial bajo prueba, ya que me había cansado de ver ejemplos de pruebas de código simple.
El código es C++, pero es para Windows por lo que no pueden interesarle, de todos modos, los artículos arrancan aquí: http://www.lenholgate.com/blog/2004/05/practical-testing.html
- 1. ¿Cuáles son las herramientas y las mejores prácticas para probar servicios web?
- 2. ¿Cuáles son buenas maneras de probar una página de inicio de sesión?
- 3. ¿Cuáles son las cosas buenas de baba?
- 4. ¿Cuáles son algunas buenas guías para principiantes para el desarrollo web con frameworks (particularmente Django)?
- 5. ¿Cuáles son las buenas convenciones para Google Analytics en Android?
- 6. ¿Cuáles son las buenas técnicas para manejar el cambio de estado y estado en el desarrollo de juegos?
- 7. Cómo probar las API
- 8. ¿Cuáles son algunas de las herramientas de software disponibles para probar el firmware hoy?
- 9. ¿Cuáles son las cosas más importantes para probar en una aplicación ASP.NET MVC?
- 10. ¿Cuáles son las cinco prioridades para el desarrollo de software?
- 11. Refactorización y desarrollo impulsado por prueba
- 12. ¿Cuáles son las mejores herramientas para probar unidades de aplicaciones de iphone?
- 13. Desarrollo impulsado por prueba para una biblioteca JavaScript
- 14. ¿Cuáles son las formas buenas y malas de documentar un proyecto de software?
- 15. ¿Cuándo utilizar el desarrollo impulsado por dominio y el desarrollo impulsado por base de datos?
- 16. ¿Cuáles son las buenas convenciones de nomenclatura objetivo?
- 17. ¿Cuáles son las principales preguntas/soluciones que se encuentran en el diseño impulsado por el dominio?
- 18. ¿Cuáles son las cosas buenas y malas en el diseño del kernel de Linux?
- 19. ¿Cuáles son buenas fuentes para la metaprogramación en SQL?
- 20. ¿Para qué sirve el desarrollo impulsado por modelos?
- 21. ¿Cuáles son las buenas preguntas de programación para ejercer el uso de "if ... else" en Python?
- 22. ¿Cuáles son las buenas prácticas con respecto a las bibliotecas compartidas en Linux?
- 23. ¿Cómo probar las rutinas de análisis numérico?
- 24. ¿Cuáles son las mejores soluciones para gráficos y gráficos flash?
- 25. ¿Cómo se pueden probar las aplicaciones Meteor?
- 26. ¿Cuáles son los casos de uso para probar Scala 2.9 ... generalización de capturas?
- 27. Una herramienta para depurar y probar las directivas mod_rewrite (.htaccess)
- 28. ¿Cuáles son algunas buenas maneras de hacer el bloqueo intermachine?
- 29. ¿Cuáles son las buenas reglas generales para las importaciones de Python?
- 30. ¿Cuáles son buenas maneras de monitorear el estado del servidor?
que es un enlace a una presentación de PowerPoint y no un papel. – Bribles
Derecha: déjame editar la respuesta para corregir el término en cuestión. –