В настоящее время я работаю над проектом, который работает уже более двух лет. В проекте широко используется модульное тестирование и сценарии пользовательского интерфейса. Первоначальные модульные тесты охватывали системную структуру, бизнес-правила и переходы состояний (или рабочий процесс). Тестовые скрипты используются для тестирования черного ящика. Однако со временем затраты на поддержание нашего полного набора единичных тестов стали все более дорогостоящими, особенно теми, которые касаются состояния.
После небольшого исследования мы обнаружили, что тестовые сценарии более эффективны (то есть обеспечивают лучшее покрытие) и дешевле поддерживать, чем модульные тесты, связанные с рабочим процессом. Это не означает, что значение модульных тестов было полностью отрицательным, но вызывает вопрос о том, можно ли отказаться от некоторых классов модульных тестов в пользу тестовых скриптов.
Наш проект запускается на итеративной инкрементной модели.