Что я делаю, когда тестирую новую фичу:
- Начинаю тестировать фичу не смотря на спецификации и макеты. (Стараюсь смотреть с точки зрения пользователя)
- Тестирую согласно требованиям, набрасывая при этом сценарии в блокноте или миндампе)
- Провожу UI-тестирование, сравнивая фичи с макетом
- Провожу кроссбраузерное тестирование
- Тестирую локализацию (обращаю внимания на орфографические ошибки, на склонения, тестирую переводы, тестирую что на других языках не едет верстка)
- Провожу тестирование безопасности в основном пробуя вводить алерты в поля ввода, плюс разные проверки, связанные с ролями администратор, не администратор.
- Пробую сломать фичу и найти хитрые кейсы
- Тестирую удобство использования
- Тестирую на предмет того, как эта фича может повлиять на другие фичи
Чек-лист новой функциональности.
При проектировании, разработке, ревью, тестировании новых фич в нашей компании мы применяем следующий чек-лист:
- Фича бесплатная или нет?
- Выкатываем плавно или сразу на всех?
- Затрагивает ли другие команды: мобильную, телефонию и другие?
- Как будем роутить запросы к разным шардам?
- Для фичи потребуются новые таблицы? Где мы их размещаем?
- Фича предполагает часты запросы к бекенду? Как мы снижаем нагрузку?
- Как будем оценивать трекшен? Метрики, телеметрия?
- Есть обращения во внешние системы? Как обрабатываем их недоступность?
- Как оказывать поддержку? Нужны ли журналы транзакций/разделы в админке? Есть ли понятные логи возможных ошибок?
- Есть поля, которые надо экранировать? Есть кнопки которые можно закликать?
- Появляются новые возможности для спама, фрода и прочее?
- Есть ли локаторы и отладочные интерфейсы для автотестов?
- Функция доступна всем пользователям аккаунта, или только администраторам?
Для комплексного понимания урока также рекомендую посмотреть мое видео по тестированию веб-форм, полей ввода, регистрации, авторизации: