Практично ли тестировать каждый крайний случай при определении спецификации для элемента ввода формы? - PullRequest
1 голос
/ 19 января 2012

Я начинаю изучать приемочное тестирование и хочу протестировать приложение ASP.NET MVC с помощью SpecFlow. В настоящее время я пишу тесты для сценария CRUD
Я знаю, что это совершенно новый вопрос, но практично ли тестировать каждый крайний случай в моих сценариях SpecFlow? У меня есть форма для заполнения, в ней около 15 полей. Нужно ли мне проверять, например, «если поле A является действительным, а поле B нет, я должен увидеть это сообщение проверки на экране»? Или должно быть достаточно написать «если форма заполнена правильно, я должен увидеть« Сообщение добавлено »? Должен ли я в этом случае отдельно тестировать модель? Спасибо вперед

1 Ответ

3 голосов
/ 20 января 2012

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

В этом случае поведение высокого уровня может быть сформулировано как «пользователь получает отзыв о том, как заполнить форму». Затем вы можете просто использовать один или два примера того, как пользователь получает этот отзыв, и проверить, появляется ли сообщение проверки.

Затем вы можете поместить логику вокруг определенных сообщений в модульном тесте.

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

...