^ Chapitre précédent ^ [[programmez_avec_le_langage_c|Sommaire principal]] ^ Chapitre suivant ^ ====== Les tests ====== Vérifier automatiquement que le programme est correct : pas de bug, pas d'erreur de calcul, répond au besoin plusieurs types de tests. Test Driven Development (TDD). Non régression ===== Les tests unitaires ===== * boost.test * QTest * CTest * Autres #include #include using namespace std; double eval(string const&) { return 1.0; } int main() { using Test = pair; using Tests = Test[]; const Tests tests { { "1 1 +", 2.0 }, { "1 1 -", 0.0 }, { "1 1 *", 1.0 }, { "1 1 /", 1.0 } }; for (auto test: tests) { const auto result = eval(test.first); cout << '\"' << test.first << "\" == " << result << (test.second == result ? " [pass]" : " [fail]") << endl; } return 0; } affiche : "1 1 +" == 1 [fail] "1 1 -" == 1 [fail] "1 1 *" == 1 [pass] "1 1 /" == 1 [pass] Idée d'exos : proposer un code avec erreurs pas forcement visibles. Ecrire des tests permettant d'identifier les erreurs. ===== Les tests fonctionnels ===== Comment établir un scénario de test ? Comment générer des données ? ^ Chapitre précédent ^ [[programmez_avec_le_langage_c|Sommaire principal]] ^ Chapitre suivant ^ {{tag> Cours C++}}