Всем привет
Допустим мы хотим проверить форму регистрации.
Вариант 1:
Когда пользователь открыл форму регистрации
И пользователь ввел "username" в поле "Логин"
И пользователь ввел "password" в поле "Пароль"
И пользователь нажал кнопку "Зарегистрироваться"
Тогда пользователь видит уведомление "Вы были успешно зарегистрированы"
Меня беспокоит что это рабочий тест, но он не проверяет работу функциональности, т.е. мы могли получить уведомление, но фактически пользователь мог быть не создан.
Если писать такие тесты для форм с множеством данных, там еще опаснее, потому что отдельные поля могут не сохраниться, но само сохранение формы будет успешно завершено. Да, это ошибка на сервере, но функционально сохранение формы не отработает корректно, и через такие тесты (как выше) мы об этом не узнаем.
Поэтому вариант 2:
Когда пользователь открыл форму регистрации
И пользователь ввел "username" в поле "Логин"
И пользователь ввел "password" в поле "Пароль"
И пользователь нажал кнопку "Зарегистрироваться"
Тогда пользователь видит уведомление "Вы были успешно зарегистрированы"
Когда пользователь открыл форму авторизации
И пользователь ввел "username" в поле "Логин"
И пользователь ввел "password" в поле "Пароль"
Тогда пользователь видит уведомление "Вы успешно вошли в систему"
Но тогда это будет тест не регистрации, а регистрации и авторизации. Оно бы и ладно, но если форма сложная, и там миллион сценариев, количество степов раздуются просто до невероятных масштабов, и одна и та же функциональность будет тестироваться по 100 раз (с другой стороны, оно и хорошо).
Ваши мысли?
Есть ли смысл идти по варианту 2, и почему?