Je veux essayer d'implémenter le jeu Tetris en utilisant le TDD.
D'après ce que j'ai compris en lisant Développer des logiciels orientés objet, guidés par des tests Je devrais commencer par définir ce que seraient mes tests d'acceptation. Si j'ai bien compris, les tests d'acceptation sont définis de la même manière que les cas d'utilisation dans le cadre du TDD.
Il est très important de définir un bon premier test d'acceptation qui servira de "squelette" à l'application, il doit donc être assez simple.
J'ai choisi les deux tests d'acceptation suivants comme premiers à mettre en œuvre :
- Le jeu commence et le joueur le clôt.
- Le jeu commence et le joueur ne fait rien. Il finit par perdre.
Ces 2 tests d'acceptation sont-ils de bons tests de départ ? Quels seraient les prochains bons tests d'acceptation ? Je pourrais penser à quelque chose comme
- Le jeu commence et seules les pièces carrées tombent. Le joueur les place toutes de manière à ce que les lignes "explosent", ce qui fait que le jeu n'est toujours pas terminé après 100 pas de jeu.
mais j'ai l'impression que c'est un peu maladroit, car dans un vrai jeu de Tetris, il y aurait toujours des pièces différentes qui tomberaient, et c'est ce que les tests d'acceptation devraient faire.
De plus, je suis tenté d'essayer de tout mettre en œuvre en une seule fois lorsque je fais (2), ce qui, je pense, n'est pas le but recherché lorsque l'on met en œuvre le deuxième test d'acceptation. Je suppose que l'idée serait de n'implémenter le jeu qu'après 6-7 d'entre eux, et non pas lors du second. Ai-je raison ?
Remerciements