Bonjour,
Je ne cache pas que j'ouvre ce post sous le coup de la colère contre la communauté C++, dont j'ai fait partie dans les années 90 (jusqu'au C++ 98).
Depuis quelques mois, le très connu logiciel de gestion de couches géographiques QGis se dégrade à une vitesse hallucinante.
Dans la liste d'issues ouvertes, j'y ai introduit la mienne : un gel complet de l'application lors de l'authentification à un serveur WMS. En cause : un refactoring échoué dans un code déjà plombé par des mutex.lock() en pagaille, dans toutes les méthodes.
Pas de commentaires dans les sources, ce qui explique 40% du déclin de l'application, et pas de tests. À ce rythme-là, les derniers sacrements c'est pour bientôt : elle part dans le fossé.
Alors je me suis posé cette question-là : quelles sont les pratiques de tests en C++ ? J'ai la nette impression que les tests automatisés sont négligés, par rapport aux pratiques que l'on voit en d'autres langages, quand j'observe des projets C++.
tests unitaires = ceux qui s'exécutent en mémoire, sans ressources physiques (bases de données ou autre) requise, et durent tous 0 secondes au maximum.
Existe t-il des standardisés, courants, rendus obligatoires dans certains projets ?
tests d'assemblage / d'intégration = ceux qui engagent des ressources et bases de données ou autres pour prouver la correction d'un code, et peuvent durer le temps qu'ils veulent.
tests d'automatisation de type robots = pour des IHM comme Qt ou pour des sites web, le cas échéant ?
Qu'en est-il ?
Je vous remercie pour vos éclairages.
Partager