Jaka jest różnica między budowaniem aplikacji Outside In a budowaniem aplikacji Inside Out za pomocą TDD?
Oto książki, które czytałem o TDD i testowaniu jednostkowym:
Rozwój oparty na testach: Przez przykład
Rozwój oparty na testach: Praktyczny przewodnik: Praktyczny przewodnik
Realne rozwiązania dla rozwoju wysokiej jakości ram i aplikacji PHP
Rozwój oparty na testach w Microsoft.
Wzorce testowe NET xUnit: Refaktoryzacja kodu testowego
Sztuka testowania jednostkowego: z przykładami w .Net
Uprojektowane oprogramowanie obiektowe, prowadzone przez testy ---> To było naprawdę trudne do zrozumienia, ponieważ JAVA nie jest moim podstawowym językiem :)
Prawie wszyscy wyjaśnili podstawy TDD i testy jednostkowe w ogóle, ale bez wzmianki o różnych sposobach budowy aplikacji.
Zauważyłem też, że większość tych książek (jeśli nie wszystkie) ignoruje fazę projektowania podczas pisania aplikacji. Koncentrują się bardziej na szybkim pisaniu przypadków testowych i pozostawianiu projektu samodzielnie.
Jednak natknąłem się na paragraf we wzorcach testowych xUnit, który omawiał sposób, w jaki ludzie podchodzą do TDD. Istnieją 2 szkoły Outside In vs Inside Out .
Niestety książka nie wyjaśnia więcej na ten temat. Chciałbym wiedzieć, jaka jest główna różnica między tymi 2 przypadkami.
Kiedy powinienem użyć każdego z nich?
Który z początkujących TDD jest łatwiejszy do zrozumienia?
Jakie są wady każdej metody?
Czy są jakieś materiały, które konkretnie omawiają ten temat?