Перевод статьи «Should I test at the GUI Level or the API Level?» от UncaughtException. Где тестировать? Если вы можете изолировать какой-то функциональный элемент, то начните с него и протестируйте его с особой тщательностью. Далее определите, в каких местах системы интегрируются и как. От последнего зависит, насколько тщательно нужно тестировать интеграцию.
Вопрос: Есть ли какой-то проверенное правило для того, чтобы определить, где проводить тестирование? Как понять, в каких случаях нужно выбирать уровень GUI, а в каких API? Ответ: Не думаю, что есть какой-то универсальный совет. Но я постараюсь описать, как я рассуждаю, когда решаю, где проводить тесты. Чтобы выбрать между GUI и API тестом, я должен понять: Например, в системе есть функция «создать пользователя», причем: Выходит, мне нужно тестировать эту функцию на обоих уровнях, так как она не изолирована. Теперь я спрашиваю себя: что именно и насколько подробно нужно тестировать на каждом уровне? Быть может, я решу вообще особ