Was ist der Unterschied zwischen dem Erstellen einer Anwendung mit Outside In und dem Erstellen einer Inside Out- Anwendung mit TDD?
Dies sind die Bücher, die ich über TDD und Komponententests gelesen habe:
Testgetriebene Entwicklung: Am Beispiel
Testgetriebene Entwicklung: Ein praktischer Leitfaden: Ein praktischer Leitfaden
Reale Lösungen für die Entwicklung hochwertiger PHP-Frameworks und -Anwendungen, die auf
Tests basieren, in Microsoft. NET
xUnit-Testmuster: Refactoring von Testcode
Die Kunst des Komponententests: Anhand von Beispielen in
objektorientierter .Net -Software, die von Tests geleitet wird ---> Dieses Testmuster war wirklich schwer zu verstehen, da JAVA nicht meine Hauptsprache ist :)
Fast alle von ihnen erklärten die TDD-Grundlagen und Unit-Tests im Allgemeinen, ohne jedoch die verschiedenen Möglichkeiten zu erwähnen, mit denen die Anwendung erstellt werden kann.
Eine andere Sache, die mir aufgefallen ist, ist, dass die meisten dieser Bücher (wenn nicht alle) die Designphase beim Schreiben der Anwendung ignorieren. Sie konzentrieren sich mehr darauf, die Testfälle schnell zu schreiben und das Design von selbst entstehen zu lassen.
In xUnit Test Patterns stieß ich jedoch auf einen Absatz, in dem die Herangehensweise von Personen an TDD erörtert wurde. Es gibt zwei Schulen draußen, Outside In und Inside Out .
Leider geht das Buch nicht näher auf diesen Punkt ein. Ich möchte wissen, was der Hauptunterschied zwischen diesen beiden Fällen ist.
Wann sollte ich jeden von ihnen verwenden?
Welcher ist für einen TDD-Anfänger leichter zu erfassen?
Was sind die Nachteile jeder Methode?
Gibt es Materialien, die dieses Thema speziell behandeln?