Q3 et 4
This commit is contained in:
@@ -28,31 +28,41 @@ Use the project in [tp3-balanced-strings](../code/tp3-balanced-strings) to compl
|
||||
|
||||
1.
|
||||
Test simple true:
|
||||
"{}","[]","()","(a)","a[b]","" et "test"
|
||||
"()", "{}", "[]", "(abc)", "a[b]", "aaa{aaaa}aa", "" et "test"
|
||||
|
||||
des test simple false :
|
||||
"{]","(}","[)","a{]","(b}"
|
||||
"(]", "{)", "[}", ")(", "a{]", "a()b[c]{)}"
|
||||
|
||||
des Test avec des parenthèsé qui se suivent :
|
||||
"{}()a[a]"
|
||||
"a()b[c]{}"
|
||||
|
||||
La même chose avec des erreur :
|
||||
"{}()a[a}"
|
||||
"a()b[c]{)}"
|
||||
|
||||
des Test avec des parenthèse imbriqué :
|
||||
"white(true){println("Tester c'est pas douter")}
|
||||
"white(true){println("Tester c'est pas douter");}"
|
||||
|
||||
des Test avec des oublies, d'ouverture et fermeture:
|
||||
"whitetrue){println("Tester c'est pas douter")}",
|
||||
"white(true{println("Tester c'est pas douter")}"
|
||||
"white(true){println("Tester c'est pas douter";}",
|
||||
"white(true){println"Tester c'est pas douter");}"
|
||||
|
||||
|
||||
2.
|
||||
avec ses tests la couverture est à 100%
|
||||
|
||||
3.
|
||||
toutes les conditions n'ont qu'un seul opérateur boolean
|
||||
if(balancedQueue.isEmpty() || CONVERT.get(balancedQueue.pollFirst()) != c)
|
||||
if(A||B)
|
||||
|
||||
B est exécuté que si A est vrai, sinon B lèverait une exception
|
||||
|
||||
on a donc que 3 cas possibles :
|
||||
A B
|
||||
1 1 1
|
||||
1 0 0
|
||||
0 err 0
|
||||
|
||||
|
||||
4.
|
||||
|
||||
un mutant qui remplacé un return par un return true, il s'agit du cas ou le programme avec une erreur de parenthésage fini par des caractère, ex : "(a" on peut donc le rajouter dans les "test simple"
|
||||
```mvn test-compile org.pitest:pitest-maven:mutationCoverage```
|
||||
Tout les mutants on été tué.
|
||||
@@ -53,3 +53,30 @@ Use the project in [tp3-date](../code/tp3-date) to complete this exercise.
|
||||
|
||||
## Answer
|
||||
|
||||
1.
|
||||
isLeapYear : une année bissextile est un multiple de 4, on a juste à tester un multiple de 4 et un non multiple de 4
|
||||
|
||||
isValidDate : on a plusieurs choses à tester :
|
||||
mois valide entre 1 et 12 : on teste donc le mois 0, le mois 10, et le mois 13
|
||||
jour valide entre 1 et 28,29,30 ou 31 : on doit donc avoir plusieurs catégories de test :
|
||||
-le jour 0, le jour 32, le jour 10
|
||||
-bissextile
|
||||
-non bissextile :
|
||||
-mois en 30
|
||||
-mois en 31
|
||||
|
||||
constructeur Date : il doit vérifier qu'une date non valide génère une Exception, et une valide n'en génère pas
|
||||
|
||||
nextDate : dans le même principe que isValidDate, on doit vérifier dans les mêmes cas
|
||||
|
||||
previousDate : pareil que nextDate
|
||||
|
||||
compareTo : On teste une différence pour un jour différent, un mois différent et une année différente.
|
||||
|
||||
2.
|
||||
Avec la coverage, on a pu détecter une vérification redondante et une condition inutile qui généraient du code mort, et une opération boolean inutile dans une condition
|
||||
3.
|
||||
La coverage précédent nous apermis de detecter un opérateur inutile. Les autre condition n'on qu'un seul opérateure.
|
||||
|
||||
4.
|
||||
En lançant PIT, tous les mutants générés ont été tués.
|
||||
Reference in New Issue
Block a user