Est-il une différence entre ATS et d'Abord le Test de Développement (ou Test de la Première Programmation)?
Les deux idées semblent très similaires à moi, mais il peut y avoir des différences subtiles ou exactement la même chose, expliquer de différentes façons. Quelle est la relation entre ATS et d'Abord le Test de Développement/Programmation?
Vous devez vous connecter pour publier un commentaire.
Il y a une différence en termes de ce que le facteur est.
Avez-vous une vague idée de ce que la classe (ou d'un système, cela peut se produire à différentes échelles, bien sûr) devrait ressembler, alors pensez à des tests qui lui donnent la forme réelle? C'est TDD.
Savez-vous exactement ce que le public de l'API de la classe devrait être, et il suffit d'écrire les tests avant la mise en œuvre? C'est en testant d'abord le développement.
Mon style tend à être un mélange des deux. Parfois, il est évident que l'API doit être avant d'écrire des tests - dans d'autres cas, la testabilité vraiment les lecteurs de la conception.
Pour le dire d'une autre façon, TDD commence avec "Quelles questions dois-je demander?" tandis que les non-ATS (que ce soit en premier ou pas) commence par "Quelle réponse dois-je donner?"
Ils sont fondamentalement différents noms qui désignent la même chose: bien, en fait, cinq noms, comme le dernier D peut se tenir debout pour la Conception ainsi que pour le Développement.
Test de la Première était le terme utilisé à l'origine, en particulier dans le contexte de l'Extreme Programming, pour le test-code-refactoriser cycle. Le nom Test Driven Development a été proposé et adopté rapidement - plus tard, à insister sur le fait que le TFD est - et a toujours été, plus d'une stratégie de conception que d'une stratégie de test.
Évidemment, aujourd'hui, certaines personnes ont des connotations différentes pour ces deux termes, mais ce n'était pas l'intention à l'origine de leur existence, et je ne voudrais pas compter sur elle étant commun de connaissances (car il n'est pas). En fait, je préfère voir le terme DTC comme étant obsolète.
Le sont beaucoup de termes similaires comme test-première la programmation, le test-premier développement, test-driven development ou encore de test-driven design. Il est important de préciser quelques points:
1. Tout d'Abord un Test de Programmation (PTF)
Le terme de test-première la programmation de programmation de meilleures pratiques. Il a été réintroduit (si pas inventé) par Kent Beck dans son livre “Extreme Programming explained”: “Écrire les tests unitaires avant de programmation et de garder tous les tests à tous les temps”. Donc, quand on parle de test-première la programmation nous parlons de l'écriture de tests unitaires automatisés par le développeur qui va écrire le code pour répondre à ces tests. Les tests unitaires s'accumulent, et construire un système automatisé de test de régression de la suite qui pourrait être exécuté périodiquement.
2. Développement Piloté par les tests (TDD)
Développement piloté par les tests (TDD) est le nom d'une méthodologie mise en place par Kent Beck dans son livre "Développement Piloté par les tests par Exemple". C'est un processus de développement logiciel, il n'est pas seulement à propos de l'écriture de tests avant le code. Tout le livre est d'essayer de les expliquer par des motifs, des flux de travail, de la culture et ainsi de suite. Un aspect important est l'accent mis sur le refactoring.
Certaines personnes utilisent les termes de test-premier développement, test-driven design, ou piloté par les tests de programmation et de ... Une chose est sûre: bien établi dans la méthodologie de développement piloté par les tests et la programmation de la technique de test-première de la programmation. Le reste sont soit de manière générale, se référant à l'idée d'écrire les tests avant le code ou, à tort, se référant au développement piloté par les tests ou test-première de la programmation.
TDD = DTC + Refactoring.
Lorsque vous ne DTC , vous appliquer un peu de refactoring pour rendre le code plus générique et robuste.
Historiquement Correct: Test-Première de la Programmation et du Développement Piloté par les tests signifient la Même Chose avec une Amélioration de Nom
Dans le contexte de l'XP (Extreme Programming), qui est le processus de développement de logiciel qui fait de tests-Première de la Programmation et du Développement Piloté par les tests populaire, Test-Première de la Programmation a été renommé Développement Piloté par les tests, puis Piloté par les tests de la Conception à la suite de la prise de conscience que l'écriture de tests premier a un effet extrêmement positif sur l'architecture logicielle et conception d'un système logiciel.
Cette influence sur l'architecture et le design est une conséquence de la plus ou moins surprenant synonymes:
Entités logicielles ne peuvent être facilement réutilisés, testé, déployées de façon indépendante, développé indépendamment, ou facilement motivé séparément si elles sont découplées. L'écriture de tests avant la mise en œuvre effective est presque à l'épreuve des balles méthode pour assurer la continuité de découplage.
Cette influence sur la conception de logiciels et de l'architecture est devenu si important en plus des autres effets positifs que les créateurs trouve qu'il vaut la peine de le renommer de Test-Première de la Programmation de Développement Piloté par les tests.
Le nom Test-Driven Development contribue également à la commercialisation de la méthode de mieux en termes d'acceptation ainsi que la bonne compréhension, car le nom Test-Driven Development souligne mieux pour l'approche globale des aspects de la méthode de Test-Première de la Programmation.
Pas Historiquement Correct mais Utile
Même si, historiquement, n'est pas correcte, je trouve la distinction suivante très utile:
Test-Première De La Programmation...
...est toute méthode dans laquelle les tests pour le code sous test sont écrits avant le code sous test.
Développement Piloté Par Les Tests...
...est un sous-ensemble spécifique de Test-Première de la Programmation qui suit les 3 Lois de Développement Piloté par les tests décrits par Robert C. Martin:
À la suite de ces trois règles vous met dans ce qu'on appelle le Rouge-Vert-Refactoriser cycle.
1. Vous écrivez un test en échec.
2. Vous le faire passer.
3. Maintenant qu'il passe, vous pouvez restructurer sans pitié avant d'écrire le prochain test en échec.
Noter que le refactoring en toute sécurité, il faut des tests. Refactoring de changer la structure du code source sans changer le comportement significatif. Mais comment savons-nous que nous n'avons pas accidentellement modifié comportement significatif? Ce qui définit le comportement significatif? C'est l'une des nombreuses choses pour lesquelles les tests sont utiles.
BTW, si vos tests d'obtenir de la manière de refactoring, vos tests sont trop faible, trop serré, et peut-être que vous avez utilisé trop de moqueries.
Des autres intéressants renomme dans la Programmation Extrême
Ils sont exactement la même chose. À la fois référence à écrire des essais d'abord, puis écrire le code qui va passer le test
TDD (Test Driven Development) est tout d'Abord un Test de Développement/Programmation bien que j'ai vu et entendu TDD utilisé pour signifier la création d'persistante, répétabilité des tests unitaires (même après le code), mais vraiment il implique les tests sont écrits avant le code qu'ils sont à l'essai.
Dans Développement Piloté par les tests: Par Exemple, l'auteur, Kent Beck, stipule clairement que "le test de la première" (TF) est la règle. Si TF est le principe que les règles de la DRT. L'autre est le processus.