Test Unitaire et TDD Flashcards

1
Q

Qu’est-ce qu’un test unitaire ?

A

Un test automatisé qui vérifie qu’une unité de code fonctionne correctement.

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

Pourquoi les tests unitaires sont-ils importants ?

A

Pour vérifier le bon fonctionnement du code, détecter les bugs rapidement, et éviter les régressions.

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

Quelle est la première étape du cycle TDD ?

A

Écrire un test qui échoue (Red).

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

Citez deux bibliothèques populaires pour les tests unitaires.

A

JUnit pour Java, PhpUnit pour PHP.

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

Que signifie « Refactor » dans le cycle TDD ?

A

Améliorer le code pour le rendre plus clair et optimisé, tout en s’assurant que le test passe toujours.

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

Quelle est la différence entre un Mock et un Stub ?

A

Mock : Simule le comportement d’un composant externe.
Stub : Fournit des réponses prédéfinies sans comportement.

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

Donnez un exemple d’assertion courante.

A

assertEqual(a, b) vérifie que a et b sont égaux.

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

Quelles sont les trois phases d’un test unitaire classique ?

A

Setup, test, teardown.

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

Comment garantir l’indépendance des tests unitaires ?

A

Ne pas partager d’états entre tests.
Réinitialiser les données dans la méthode teardown().

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

Expliquez cette règle TDD : « N’écrivez jamais un code métier avant un test. »

A

Cela garantit que chaque ligne de code métier est validée par un test, ce qui réduit les risques d’erreur.

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

Pourquoi le TDD est-il particulièrement utile en développement Agile ?

A

Parce qu’il favorise des itérations rapides, des modifications fréquentes, et une qualité de code élevée.

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