Привет! После публикации статьи «Чек-лист тестирования мобильных приложений», поступило большое количество сообщений про такой же чек-лист, только для WEB приложений. Чтобы ответить на этот вопрос была подготовлена универсальная шпаргалка, которую можно использовать при тестировании практически любого WEB приложения.
В данный чек-лист вошли только общие характеристики. Естественно, в тестируемом приложении может быть функциональность, для которой нужно применять отдельный подход и создать отдельные сценарии. То же самое верно для производительности, удобства использования, безопасности и прочего тестирования, которое необходимо вашему приложению.
Чек-лист для тестирования WEB приложений состоит из шести разделов:
В данном пункте нам важно убедиться, что наш продукт соответствует нужной функциональной спецификации, упомянутой в документации по разработке.
Интеграционное тестирование проводится для того, чтобы убедиться, что ваше приложение совместимо со сторонними сервисами.
Данная проверка нацелена на поиск недостатков и пробелов с точки зрения безопасности нашего приложения.
Тестирование интернационализации/глобализации WEB приложения включает тестирование приложения для различных местоположений, форматов дат, чисел и валют. Тестирование локализации включает тестирование WEB приложения с локализованными строками, изображениями и рабочими процессами для определенного региона.
Тестирование удобства использования подразумевает проверку навигации, контента, другая информация для пользователя.
Кросс-платформенное тестирование проводится, чтобы убедиться, что ваше приложение совместимо с другими браузерами, различными оболочками, аппаратным обеспечением устройства.
Мы ознакомились с универсальной шпаргалкой по тестированию WEB приложений. Не забывайте читать документацию и дополнять чек-лист проверками, характерными для вашего сервиса. А если остались вопросы — скорее пишите в телеграм-канал @qa_chillout.
В данный чек-лист вошли только общие характеристики. Естественно, в тестируемом приложении может быть функциональность, для которой нужно применять отдельный подход и создать отдельные сценарии. То же самое верно для производительности, удобства использования, безопасности и прочего тестирования, которое необходимо вашему приложению.
Чек-лист для тестирования WEB приложений состоит из шести разделов:
- Функциональное тестирование
- Интеграционное тестирование
- Тестирование безопасности
- Тестирование локализации и глобализации
- Тестирование удобства использования
- Кросс-платформенное тестирование
Функциональное тестирование
В данном пункте нам важно убедиться, что наш продукт соответствует нужной функциональной спецификации, упомянутой в документации по разработке.
Что проверяем?
- Тестирование форм
- Регистрация
- Пользователь с данными существует в системе.
- Пользователь с данными не существует в системе.
- Пользователь, заблокированный в системе, не может пройти повторную регистрацию.
- Авторизация
- Пользователь существует в системе с введенным логином и паролем.
- Пользователь с введенным логином не существует в системе.
- Пользователь с введенным логином существует в системе, но пароль неверный.
- Пользователь с введенным логином и паролем существует в системе, но заблокирован модерацией (страница заморожена).
- Валидация полей ввода.
- Протестируйте валидацию всех обязательных полей
- Максимальная и минимальная длина.
- Диапазон допустимых символов, спецсимволы.
- Обязательность к заполнению.
- Убедитесь, что астериск (знак звездочки) отображается у всех обязательных полей.
- Убедитесь, что система не отображает окно ошибки при незаполненных необязательных полях.
- Формы обратной связи
- Ссылки на пользовательские соглашения
- Регистрация
- Поиск
- Результаты существуют/не существуют.
- Корректное сообщение о пустом результате.
- Пустой поисковой запрос.
- Поиск по эмодзи.
- Поля
- Числовые поля: они не должны принимать буквы, в этом случае должно отображаться соответствующее сообщение об ошибке.
- Дробные значения, например, как система валидирует 1.1 и 1,1.
- Отрицательные значения в числовых полях, если они разрешены.
- Деление на ноль корректно обрабатывается.
- Протестируйте максимальную длину каждого поля, чтобы убедиться, что данные не обрезаются или скрываются под многоточие.
- Протестируйте все поля ввода на спецсимволы.
- Проверить что текст не выезжает за границы поля.
- Всплывающие сообщения
- Протестируйте всплывающие сообщения («Это поле ограничено N знаками»).
- Подтверждающие сообщения отображается для операций обновления и удаления.
- Сообщения об ошибках ввода.
- Фильтры
- Протестируйте функциональность сортировки (по возрастанию, по убыванию, по новизне).
- Задать фильтры с выдачей.
- Задать фильтры, по которым нет выдачи.
- Фильтры по категориям/подкатегориям.
- Фильтры с радиусом поиска.
- Данные в выпадающих списках.
- Протестируйте функциональность доступных кнопок.
- Наличие favicon.
- Проверка обработки различных ошибок (страница не найдена, тайм-аут, ошибка сервера и т.д.).
- Протестируйте, что все загруженные документы правильно открываются.
- Пользователь может скачать/прикрепить/загрузить файлы/медиа (картинки, видео и т.д.). А также удалить эти файлы из вложений. Убедитесь, что файлы уходят на сервер только после нажатия соответствующей кнопки
- Протестируйте почтовую функциональность системы.
- Кеш, cookie и сессии
- Пользователь очистил кэш браузера
- Посмотрите, что будет, если пользователь удалит куки, находясь на сайте.
- Посмотрите, что будет, если пользователь удалит куки после посещения сайта.
- DevTools
- Ошибки в Console.
- Все стили загружаются.
- Картинки загружаются.
Интеграционное тестирование
Интеграционное тестирование проводится для того, чтобы убедиться, что ваше приложение совместимо со сторонними сервисами.
Что проверяем?
- Проверяем работу сторонних модулей: оплата, шаринг, карты.
- Реклама (просмотр, переходы по рекламе, аналитика).
- Метрики (переходы по страницам, показы элементов, клики).
Тестирование безопасности
Данная проверка нацелена на поиск недостатков и пробелов с точки зрения безопасности нашего приложения.
Что проверяем?
- Пользователь не может авторизоваться: под старым паролем, заблочен в сервисе, достиг лимита авторизаций, ввел чужой код верификации.
- Страницы, содержащие важные данные (пароль, номер кредитной карты и CVC, ответы на секретные вопросы и т. п.) открываются через HTTPS (SSL).
- Пароль скрыт астерисками на страницах: регистрация, «забыли пароль», «смена пароля».
- Корректное отображение сообщений об ошибках.
- Завершение сесcии после разлогина.
- Доступ к закрытым разделам сайта.
- SQL-инъекции.
- Cross-Site Scripting (XSS) уязвимости.
- HTML-инъекции.
- Cookie должны храниться в зашифрованном виде.
- Роли пользователей и доступ к контенту.
Тестирование локализации и глобализации
Тестирование интернационализации/глобализации WEB приложения включает тестирование приложения для различных местоположений, форматов дат, чисел и валют. Тестирование локализации включает тестирование WEB приложения с локализованными строками, изображениями и рабочими процессами для определенного региона.
Что проверяем?
- Дата и время. Например отображение времени, даты в соответствии с часовым поясом пользователя.
- Смена языка и проверка перевода всех элементов WEB приложения исходя из выбранного языка.
- Выбор номера телефона с разными кодами стран.
- Определение местоположения пользователя и отображение соответствующего пермишена ГЕО.
- Отображение соответствующих символов валюты.
Тестирование удобства использования
Тестирование удобства использования подразумевает проверку навигации, контента, другая информация для пользователя.
Что проверяем?
- Отсутствие орфографических и грамматических ошибок, все страницы имеют корректные заголовки.
- Выравнивание картинок, шрифтов, текстов.
- Информативные ошибки, подсказки.
- Подсказки существуют для всех полей.
- Отступы между полями, колонками, рядами и сообщениями об ошибках.
- Кнопки имеют стандартный размер, цвет.
- На сайте нет битых ссылок и изображений.
- Неактивные поля отображаются серым цветом.
- Проверьте сайт при разных разрешениях экрана.
- Скролл должен появляться только тогда, когда он требуется.
- Отображение чекбоксов и радио-кнопок, кнопки должны быть доступны с клавиатуры, и пользователь должен быть в состоянии пользоваться сайтом, используя только клавиатуру.
- Отображение выпадающих списков.
- Длинный текст скрывается под многоточие.
- Корректный выбор даты.
- Наличие плейсхолдеров в полях.
- Логотип ведет на главную страницу сайта.
- Переходы и навигация между страницами и разделами меню.
Кросс-платформенное тестирование
Кросс-платформенное тестирование проводится, чтобы убедиться, что ваше приложение совместимо с другими браузерами, различными оболочками, аппаратным обеспечением устройства.
Что проверяем?
- Тестирование в различных браузерах (Firefox, Chrome, Safari — это минимальный набор): анимация, верстка, шрифты, уведомления и т.д.
- Тестирование в различных версиях ОС: Windows, Mac, Linux.
- Java Script код работает в разных браузерах.
- Просмотр на мобильных устройствах.
Резюме
Мы ознакомились с универсальной шпаргалкой по тестированию WEB приложений. Не забывайте читать документацию и дополнять чек-лист проверками, характерными для вашего сервиса. А если остались вопросы — скорее пишите в телеграм-канал @qa_chillout.