Ce billet de blog explore deux méthodes pour évaluer la qualité des suites de tests automatisés, particulièrement dans le contexte de l'écriture de tests par des modèles de langage (LLMs). L'auteur, Mark Seemann, discute d'abord de la couverture de code, souvent critiquée mais potentiellement utile pour les tests générés par des LLMs, car elle peut servir de seuil minimal. Ensuite, il aborde la mutation testing, une technique plus avancée qui modifie le code pour vérifier si les tests détectent ces changements, révélant ainsi des cas non couverts. Bien que ces méthodes aient des limites, elles offrent des pistes pour critiquer et améliorer les tests, surtout dans un contexte où les tests sont générés automatiquement.
L'article explique comment utiliser les fichiers .http pour tester des API et augmenter la couverture de code sans écrire de tests d'intégration complexes. Les fichiers .http sont des fichiers texte simples qui décrivent des requêtes HTTP et peuvent être exécutés directement depuis des IDE populaires comme IntelliJ, Visual Studio et VSCode, ou en ligne de commande.
L'auteur propose d'utiliser ces fichiers dans les pipelines CI/CD pour exécuter des tests d'API et collecter la couverture de code. Il mentionne l'outil httpyac pour exécuter les fichiers .http en ligne de commande et dotnet-coverage pour instrumenter les binaires et collecter la couverture de code sans framework de tests.
L'article fournit également des exemples de commandes pour exécuter ces outils et intégrer les tests dans des pipelines Azure DevOps et GitHub Actions
.
Tout est dans le titre
Le taux de couverture de code (code coverage) est un indicateur très incomplet, dont l'auteur montre bien les limites. Il propose d'utiliser, en plus, le taux de couverture des chemins d'exécution (branch coverage) qui pallie certains défauts du code coverage.
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
L'auteur explique comment il a refactorisé le code d'un jeu - tests, DDD, etc. Il est parti d'une conférence / live coding filmée
Tout est dans le titre
Tout est dans le titre