Успешное сквозное тестирование и гарантирует, что ваше приложение работает для определенных сценариев.
Misko Hevery положил хорошее сообщение в блоге test categorization, где он разбивает модульный тест, интеграционный тест и сквозное тестирование.
Unit-Testing Тестирование модулей проверяет, что логика в методе функции выполняет правильную вещь и что обработка ошибок выполняется правильно. Эти тесты должны идеально работать в миллисекундах, а не в секундах. Если функция должна взаимодействовать с чем-то, например DAL, вы должны издеваться над этим интерфейсом DAL, поскольку для правильного взаимодействия потребуется много времени. Они предлагают лучший возврат инвестиций
Интеграция Тестирование Этого уровня тестирования проверяет, что взаимодействие между бизнес-логикой слоями делать именно то, что они должны делать. Здесь ваш блок-тест будет взаимодействовать с интерфейсом, например DAL, и проверить правильность «проводки». Там должно быть несколько из них, но не слишком много, поскольку это будет влиять на время сборки
впритык тестирования Они хороши, как они проверяют, что все висит вместе с UI весь путь вниз к DAL. Они проверяют гораздо больше «проводки» и проверяют, что то, что может сделать ваш пользователь, не будет убивать ваше приложение. Они также могут включать в себя ваши FitNesse и веб-тесты, например Selenium.
Unit Testing предлагает наилучшую отдачу от инвестиций и будет ловить гораздо более дорогостоящие ошибки, чем другие области, но хорошо иметь хорошее сочетание партии.
См. Различие, сделанное AutomatedTester ниже, но не похоже, что вы пишете блок-тесты, где каждый «блок» изолирован, а скорее интеграционные тесты? –