Следующая страница — подтверждение, мол, дорогой Иван Иваныч,
поздравляем, вы зарегистрированы.
Теперь вопрос: если мы видим страницу с подтверждением регистра-
ции, то значит ли это, что регистрация была успешной? Ответ: нет,
так как процесс регистрации с точки зрения нашей системы включает
не только подтверждение на веб-странице, но и создание записи в
базе данных,
т. е. вывод, который стоит проверить, состоит из
• страницы с подтверждением и
• новой записи в базе данных.
Откуда мы почерпнем знание о логике создания записей в базе данных
при регистрации? Например, из технической документации (документ
о дизайне/архитектуре системы, документ о дизайне кода), общения с
программистом, самого кода.
Как видно из последнего примера, подход "Серый ящик" — это
дело хорошее, жизненное и эффективное. Деятельность боль-
шинства профессиональных тестировщиков интернет-проектов
протекает именно в разрезе сероящичного тестирования.
Классификация видов тестирования
151
Пара мыслей вдогонку.
1. Когда мы говорим о поведенческом тестировании, то это не
значит, что тестировщик ограничен набором действий, совер-
шаемых пользователем. Во многих случаях специально написан-
ный код используется для облегчения тестирования или для того,
чтобы вообще сделать его возможным.
Пример
При разговоре о формальной стороне тест-кейса мы проверяли баланс
кредитной карты до и после покупки на странице www.main.testshop.rs
/<четыре_последних_цифры_карты>/balance.htm. В реальности поль-
зователь проверяет баланс кредитной карты на сайте кредитной
организации, выдавшей эту карту (например, www.wellsfargo.com),
а страница balance.htm является специальным кодом, написан-
ным для тестирования с использованием несуществующих кредит-
ных карт.
Кстати, тот факт, что тестировщик использует информацию веб-стра-
ницы balance.htm, не означает, что он понимает логику работы кода,
отвечающего за списание денег со счета.
2. Как мы видели на примере с регистрацией, выводом, который
нужно было проверить для реального тестирования, послужила
не только страница с подтверждением, но и запись в базе данных.
Так как ожидаемый вывод — это ожидаемый результат на-
ших тест-кейсов, то огромное значение для эффективности
тестирования имеет поиск именно того ожидаемого результа-
та, который реально подтвердит, что код работает. Так, если
бы в том же самом примере ожидаемым результатом была только
страница с подтверждением, то проверка базы данных была бы
лишь тратой времени.
2. По объекту тестирования
• Функциональное тестирование (functional testing);
• Тестирование интерфейса пользователя (UI testing);
• Тестирование локализации (localization testing);
• Тестирование скорости и надежности (load/stress/ per-
formance testing);
• Тестирование безопасности (security testing);
• Тестирование опыта пользователя (usability testing);
• Тестирование совместимости (compatibility testing).
152
Тестирование Дот Ком. Часть 2
ФУНКЦИОНАЛЬНОЕ ТЕСТИРОВАНИЕ (functional testing)
Уже говорили и еще будем много говорить.
ТЕСТИРОВАНИЕ ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ
(UI (читается как "ю-ай") testing)