chapitre 14 : Tests Unitaires Flashcards

1
Q

Définit ce qu’est un test unitaire

A

Vérifier si une unité individuelle (fonction, classe, module) d’un programme est « apte à l’emploi »

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quel est le but d’un test unitaire ?

A

But : Tenter de démontrer que l’unité contredit sa spécification (résultat vs spécification)
* Les tests unitaires sont structurels.
* Il faut connaitre la structure interne du programme

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quelles sont les avantages d’un test unitaire ?

A

Permet de tester plusieurs unités en parallèle

Permet de tester une unité lorsque le système est encore incomplet : les tests unitaires sont incrémentaux

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Explique le processus des tests unitaires

A
  • Développement dirigé par les tests
  • Tests fonctionnels initialement générés avant de commencer l’implémentation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quand effectuer les tests unitaires ?

A
  • Avant l’implémentation
  • Force de détailler les exigences de manière implémentable
  • Pendant l’implémentation
  • Prévient de coder en trop: quand les tests passent, la fonctionnalité est complétée
  • Pendant la réingénierie (refactoring) du code
    • Assure que la nouvelle version se comporte comme l’ancienne
  • Quand on programme en équipe
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quelles sont les types de tests unitaires ?

A

Tester pour un succès : La sortie est correcte pour une entrée correcte

Tester pour un échec : Échouer, tel qu’attendu, pour une mauvaise entrée

Test sanitaire : Certaines propriétés ou conditions restent constantes avant et après l’exécution de la méthode

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Question : Un test est comme un contrat que l’unité de code doit satisfaire. Est-ce qu’un test unitaire est une exigence ?

A

Réponse : Non, Le test est une technique de vérification du code, faite à posteriori, contrairement aux exigences

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qu’est-ce qu’une suite de test ?

A

Collection de cas de test

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Explique la ligne de code suivante : pop(int key, Map<int,Object> dict) : Object

A

Object est la signature d’une fonction qui enlève l’élément de dict indexé par key et le retourne.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Parle un peu de l’organisation du code

A
  • Garder les classes de tests dans le même projet que le code
    • Les tests sont compilés avec le reste du code
    • Aide à actualiser les tests
  • Grouper les tests dans le même paquet, mais un dossier différent des fichiers source
    • Ex:src/ tests/ docs/ readme
    • Permet aux tests d’accéder aux entités visibles seulement dans leur paquetage
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Tout cas de test doit…

A

S’exécuter sans intervention humaine : doit être automatisée

Déterminer tout seul si l’unité qu’il test est un succès ou un échec, sans qu’un humain n’ait à interpréter les résultats

Tester exactement une seule fonctionnalité pertinente

But : Déterminer la cause de l,erreur de façon unique

How well did you know this?
1
Not at all
2
3
4
5
Perfectly