Сквозное тестирование хорошо и гарантирует, что ваше приложение работает для определенных сценариев.
Миско Хевери поместил хорошую запись в блоге по категоризации теста , где он разбивает юнит-тест, интеграционный тест и сквозное тестирование.
Unit-тестирование
Модульное тестирование проверяет, что логика в этом методе функции работает правильно и что обработка ошибок выполняется правильно. Эти тесты в идеале должны выполняться за миллисекунды, а не секунды. Если функция должна взаимодействовать с чем-то, например, с DAL, вам следует смоделировать этот интерфейс DAL, поскольку для истинного взаимодействия потребуется много времени. Они предлагают лучший возврат инвестиций
Интеграционное тестирование
Этот уровень тестирования проверяет, что взаимодействие между слоями Business Logic делает именно то, что они должны делать. Здесь ваш модульный тест будет взаимодействовать с интерфейсом, таким как DAL, и проверять правильность «проводки». Их должно быть несколько, но не слишком много, так как это повлияет на время сборки
Сквозное тестирование
Это хорошо, поскольку они проверяют, что все соединяется от пользовательского интерфейса вплоть до DAL. Они проверяют намного больше «проводки» и проверяют, что то, что может сделать ваш пользователь, не убьет ваше приложение. Они также могут включать ваши FitNesse и веб-тесты, такие как Selenium , проходящие.
Модульное тестирование обеспечивает максимальную отдачу от инвестиций и позволяет обнаруживать гораздо более дорогостоящие ошибки, чем в других областях, но хорошо иметь хорошее сочетание лота.