Яка різниця між створенням програми Outside In проти побудови її Inside Out за допомогою TDD?
Це книги, які я читав про тестування TDD та модулів:
Тестова розробка: за прикладом розробки
тестових програм: Практичний посібник: Практичний посібник
Рішення в реальному світі для розробки високоякісних рам PHP та програм для
тестових програм у Microsoft.
Шаблони тестів NET xUnit: Тестовий код Refactoring
Мистецтво тестування одиниць: із прикладами в .Net
Зростаюче об’єктно-орієнтоване програмне забезпечення, керуючись тестами ---> Це було дуже важко зрозуміти, оскільки JAVA не є моєю основною мовою :)
Майже всі вони пояснювали основи TDD та тестування одиниць загалом, але з невеликою згадкою про різні способи побудови програми.
Ще одна річ, яку я помітив, це те, що більшість із цих книг (якщо не всі) ігнорують фазу проектування під час написання програми. Вони більше зосереджуються на написанні тестових випадків і дозволяють дизайну виникнути сам по собі.
Однак я натрапив на абзац у тестах xUnit Test Patterns, який обговорював способи наближення людей до TDD. Є дві школи Зовнішньою та Внутрішньою .
На жаль, книга в цьому питанні не розглядає більше. Я хочу знати, яка головна відмінність між цими двома випадками.
Коли я повинен використовувати кожен з них?
Початківцю TDD, кого легше зрозуміти?
Які недоліки кожного методу?
Чи є матеріали, які конкретно обговорюють цю тему?