Разработка через тестирование (TDD) для пользовательского интерфейса (UI) с функциональными тестами

Как мы знаем, TDD означает «сначала напишите тест, а затем напишите код». И когда дело доходит до модульного тестирования, это нормально, потому что вы ограничены в пределах «единицы».

Однако, когда дело доходит до пользовательского интерфейса, написание функциональных тестов заранее не имеет смысла (для меня) . Это связано с тем, что функциональные тесты должны проверять (возможно, длинный) набор функциональных требований. Обычно это может охватывать несколько экранов (страниц), предварительные условия, такие как «вошел в систему», «недавно вставил запись» и т. Д.

Согласно Википедии:

Разработка через тестирование трудно использовать в ситуациях, когда полнофункциональная тесты необходимы для определения успеха или неудачи. Примерами таких интерфейсов являются пользовательские интерфейсы, программы, работающие с базами данных, и некоторые из них, зависящие от конкретных сетевых конфигураций.

(Конечно, Википедия не является «авторитетом», но это звучит очень логично.)

Итак, любые мысли, а лучше - опыт, с функциональными тестами сначала для UI, а потом кода. Это работает? И это «боль»?

19
задан Bozho 11 January 2011 в 13:59
поделиться