Ceci est une ancienne révision du document !
^ Chapitre précédent ^ Sommaire principal ^ Chapitre suivant ^
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
#include <iostream> #include <string> using namespace std; double eval(string const&) { return 1.0; } int main() { using Test = pair<string, double>; 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.
Comment établir un scénario de test ? Comment générer des données ?
Chapitre précédent | Sommaire principal | Chapitre suivant |
---|