Beaucoup de gens parlent d'écrire des tests pour leur code avant de commencer à écrire leur code. Cette pratique est généralement connue sous le nom de Test Driven Development ou TDD. Quels avantages puis-je gagner à écrire un logiciel de cette façon? Comment puis-je commencer avec cette pratique?
Réponses
Trop de publicités?Il y a beaucoup d'avantages:
- Vous obtenez une rétroaction immédiate sur si votre code de travail, de sorte que vous pouvez trouver les bugs plus rapidement
- En voyant le test du rouge au vert, vous savez que vous avez à la fois un travail de test de régression, et le code de travail
- Vous gagnez la confiance de refactoriser le code existant, ce qui signifie que vous pouvez nettoyer le code, sans se soucier de ce que cela peut casser
- À la fin vous avez une suite de tests de régression, qui peuvent être exécutés au cours de générations automatisées pour vous donner plus de confiance que votre base de code est solide
La meilleure façon de commencer est simplement de commencer. Il y a un grand livre par Kent Beck tout à propos de Développement Piloté par les tests. Juste de commencer avec un nouveau code, ne vous inquiétez pas à propos de l'ancien code... à chaque fois que vous sentez que vous avez besoin de revoir certaines de code, écrire un test pour les fonctionnalités existantes, puis à refactoriser et assurez-vous que les tests de rester vert. Aussi, lisez cet excellent article.
La partie avantages a été récemment couverte , quant à savoir par où commencer .... sur un système de petite entreprise où il n’ya pas trop d’inconnues, les risques sont donc faibles. Si vous ne connaissez pas déjà un framework de test (comme NUnit), commencez par l’apprentissage. Sinon, commencez par écrire votre premier test :)
Avantages
- Que vous comprendre comment compartimenter votre code
- Vous comprendre exactement ce que vous voulez que votre code ne
- Vous savez comment il se devait d'agir et, en bas de la route, si refactoring des sauts de rien
- Obtient-vous l'habitude de vous assurer que votre code sait toujours ce qu'il est censé faire
Prise En Main
Juste de le faire. Écrire un scénario de test pour ce que vous voulez faire, et ensuite écrire le code qui doit passer le test. Si vous passez votre test, très bien, vous pouvez passer à l'écriture de cas où votre code sera toujours en échec (2+2 ne devrait pas égal à 5, par exemple).
Une fois que tous les tests passent, écrire votre logique métier pour faire ce que vous voulez faire.
Si vous commencez à partir de zéro assurez-vous de trouver une bonne suite de tests qui est facile à utiliser. J'aime le PHP donc PHPUnit ou SimpleTest bien travailler. Presque toutes les langues populaires ont certains xUnit suite de tests disponible pour aider à créer et automatiser les tests.
Bon débutant: Débuter avec Tdd en Java avec Eclipse de Brett L. Schuchert
Est un ensemble de screencasts sur TDD en Java et en C #. Il part des bases et des bases de l’enseignement du TDD.