Автоматическое приемочное тестирование - пользовательский интерфейс или API?

Я исследовал автоматическое приемочное тестирование за последние несколько дней я узнал о BDD и JBehave, FitNesse и Slim, Selenium и WebDriver и т. д.

Я только что просмотрел это видео Роберта К. Мартина, где он демонстрирует, как использовать FitNesse писать и поддерживать такие тесты. Ближе к концу кто-то спрашивает, попали ли эти тесты в UI. Мартин продолжает объяснять, что привязка приемочных тестов к пользовательскому интерфейсу может быть дорогостоящей, поскольку изменения в пользовательском интерфейсе происходят довольно часто. Я также мог предположить, что такие тесты могут быть написаны только после разработки пользовательского интерфейса, что по определению приведет к отставанию тестировщиков от графика.

Я должен спросить: какова альтернатива? Похоже, Мартин намекает, что тесты должны воздействовать на скрытый уровень, который будет управлять бизнес-уровнем приложения. Насколько я понимаю, это потребует дополнительной работы, не говоря уже о том, что это приведет к открытию нового API, который необходимо будет защитить один раз в производственной среде.

Может ли быть достаточно воздействия на бизнес-уровень через службы приложений?

Что был ваш опыт?

Спасибо, что поделились!

14
задан Spiff 29 July 2011 в 17:26
поделиться