Елена Поплоухина

Комьюнити-менеджер

Привет! Меня зовут Елена Поплоухина. Я отвечаю за развитие сообщества тестировщиков в ГК «Юзтех». В этой статье я хочу поделиться набором инструментов, которые полезны для ручного тестирования веб-приложений. Этот список собран на основе рекомендаций участников нашего сообщества.

Все ссылки и информация по инструментам актуальны на момент выхода статьи.

Примечание. В данной статье не рассматриваются возможности ИИ, инструменты для автоматизации тестирования, инструменты для тестирования мобильных приложений.

Скриншоты, скринкасты

Базовый помощник тестировщика – это приложения для создания скриншотов и записи видео. От них обычно требуется захват всего экрана, захват отдельного окна, выделение произвольной области, автоматическое сохранение на диск или в буфер обмена, минимальные возможности для рисования. Можно пользоваться как встроенными возможностями операционных систем, так и отдельными приложениями или расширениями для браузера.

Чаще всего тестировщики используют скриншотеры при локализации и оформлении багов. Дополнительно эти инструменты помогают при создании пользовательских инструкций, оформлении документации в wiki-проекта.

Современные операционные системы предоставляют встроенные возможности создания скриншотов. Вы можете использовать сочетания клавиш и встроенные приложения для редактирования. 

Отдельные приложения:

  • ShareX - инструмент для создания скриншотов и записи видео для Windows.

  • Lightshot - скриншотер для Windows и MacOs.

  • Скриншотер - скриншотер для Windows и MacOs.

  • GoFullPage - Full Page Screen Capture - расширение для браузера Google Chrome, позволяет сделать скриншот веб-страницы с учетом всего скролла.

  • OBS Studio - приложение предоставляет широкий функционал, в том числе и запись экрана.

Пример работы расширения GoFullPage
Пример работы расширения GoFullPage

Генерация тестовых данных

При тестировании приложений нередко нужны файлы с заданными свойствами. Документация по проекту может включать требования к допустимым расширениям файлов (например, только jpeg и png), требования к весу файла (например, максимально поддерживаемый размер изображения 10 МБ). Иногда требуется проверить, как приложение работает с поврежденными файлами, как отображаются в интерфейсе изображения разного разрешения и т.д. Создавать такие тестовые данные вручную не всегда удобно.

Для генерации файлов можно использовать специальные инструменты:

Генерация поддельных изображений при помощи инструмента «Генератор файлов»
Генерация поддельных изображений при помощи инструмента «Генератор файлов»

Другой вид тестовых данных, которые удобно генерировать при помощи инструментов - это текстовая информация. Текст разной длины требуется для тестирования граничных значений при вводе и отображении данных, при тестировании верстки. 

Для создания текстовых данных помогут инструменты:

  • Lorem Ipsum Generator - расширение для браузера Google Chrome. Генерирует текст-заглушку. Можно выбрать нужную длину и формат: абзацы, слова, байты или списки.

  • Random string generator - генератор строк заданной длины в символах

Генерация текста-заглушки из 100 слов при помощи расширения Lorem Ipsum Generator
Генерация текста-заглушки из 100 слов при помощи расширения Lorem Ipsum Generator

Нередко в приложениях требуется заполнять персональные данные пользователей - ФИО, паспортные данные, ИНН, СНИЛС и другую информацию. Для генерации таких данных служат инструменты:

  • Random Var - универсальный генератор случайных значений - паспортные данные, ИНН, СНИЛС, ОГРН и другие.

  • Random Data Tools, Random One, Generate Test Data - генерация разных тестовых данных для пользователей - имя, фамилия, отчество, контактные, паспортные и другие данные.

  • Генератор номеров кредитных карт, Credit Card Generator - генераторы кредитных карт создают фейковые номера кредитных карт согласно алгоритму Луна.

Генерация случайных паспортных данных при помощи инструмента Random Var
Генерация случайных паспортных данных при помощи инструмента
Random Var
Генерация фейковых номеров кредитных карт
Генерация фейковых номеров кредитных карт

Работа с веб-приложениями

Классическим инструментом для анализа работы веб-приложений являются DevTools - инструменты разработчика в браузере. Они позволяют анализировать запросы, отправляемые на сервер, просматривать структуру веб-страницы, оценивать производительность, проверять отображение мобильной версии сайта и многое другое. Этот инструмент – нестареющая классика для любого тестировщика.

Помимо DevTools при тестировании веб-приложений помогают следующие инструменты:

  • Check My Links - помогает быстро обнаружить битые ссылки на веб-странице. 

  • Clear Cache - позволяет в один клик чистить кеш/куки/local storage с гибкой настройкой временного интервала.

  • PerfectPixel by WellDoneCode - добавляет полупрозрачный слой с макетом поверх любой веб-страницы, позволяя сравнить верстку с оригинальным дизайном прямо в браузере.

  • Web Developer - расширение для браузера Google Chrome. Содержит набор разных полезных инструментов для веб-страниц. Например, можно посмотреть, как выглядит сайт с отключенными картинками, найти "сломанные" картинки,  отключить cookies, заполнить или очистить все поля в форме, установить все чек-боксы и т.д.

Проверка ссылок на веб-странице при помощи расширения Check my links
Проверка ссылок на веб-странице при помощи расширения Check my links
Установка всех чек-боксов при помощи расширения бразуера WebDeveloper
Установка всех чек-боксов при помощи расширения бразуера WebDeveloper

Тестирование REST API

Тестирование современных распределенных систем сложно представить без проверки API. Например, API можно тестировать еще до готовности фронтенда, чтобы заранее выявить ошибки именно на бэкенде. Проверку обработки на UI 400-х или 500-х ошибок сервера можно выполнить при помощи перехвата запросов к API и подмены ответов. Для тестирования работы с разными пользователями и ролями можно подменить http-заголовки запросов, передав нужный токен авторизации. Отображение нужных тестовых данных в интерфейсе также можно сделать через перехват запросов и подмену их ответов. Кроме того, отдельное выполнение запросов REST API помогает локализовать дефекты, найденные во время системного тестирования.

Во всех этих и многих других ситуациях вам помогут инструменты для работы с API:

  • Postman уже много лет самый популярный инструмент для тестирования REST API. Позволяет хранить запросы в коллекциях, настраивать окружения для выполнения запросов, предоставляет средства автоматизации для выполнения цепочки связанных запросов и проверки результатов и т.д.

  • Swagger позволяет в веб-интерфейсе просматривать набор запросов REST API, структуру каждого запроса, доступно выполнение запросов. Необходимо подключение swagger к проекту.

  • Charles Proxy, Fiddler, Proxyman - мощные популярные инструменты для перехвата трафика, анализа и подмены данных в http-запросах.

  • Curl - популярная утилита командной строки для отправки http-запросов.

  • Requestly - расширение браузера для подмены данных в запросах. 

  • ModHeader - Modify HTTP headers - расширение браузера для подмены заголовков запросов. Удобно использовать, когда нужно подменить токены авторизации в запросе.

  • ModResponse - Mock and replay API - расширение браузера, позволяет изменять ответы API, возвращать различные коды состояния HTTP, добавлять задержку к вашему запросу и т.д.

Swagger UI для открытого NBA API
Swagger UI для открытого NBA API
Добавление к запросам заголовка авторизации при помощи расширения ModHelper 
Добавление к запросам заголовка авторизации при помощи расширения ModHelper 

Можно выделить дополнительные утилиты для помощи в тестировании REST API:

  • JWT Debugger помогает декодировать JWT токен доступа, чтобы посмотреть или изменить содержимое токена для целей тестирования. JWT токены часто используются для авторизации в REST API.

  • Base64 to Image, Base64-онлайн декодировщик, Base64 в файл -  кодирование и декодирование информации в base64. Кодировка base64 используется для кодирования логина и пароля при использовании Basic Auth механизма аутентификации, для кодирования всех трех частей токена JWT, для передачи картинок или документов внутри JSON-тела запроса или ответа.

  • JSONPath Online Evaluator  - проверка путей к данным в json.

Проверка пути в json при помощи JSONPath Online Evaluator
Проверка пути в json при помощи JSONPath Online Evaluator

Работа с БД

При работе с базами данных вам помогут следующие инструменты:

  • SQL Formatter - преобразует в красивый читабельный вид любой SQL-запрос.

  • Panopticum - единый интерфейс для PostgreSQL, Mongo, Redis и других вместо набора разрозненных инструментов.

Форматирование SQL-запроса при помощи SQL Formatter
Форматирование SQL-запроса при помощи SQL Formatter

Утилиты

В заключительном разделе инструментов статьи перечислены утилиты - инструменты, которые помогают тестировщикам в выполнении самых разных задач.

Утилиты для технических задач:

  • Конвертер unix-времени преобразует unix-время в человеко-читаемые форматы и обратно. Например, в ответе API время приходит в unix-формате и вам нужно преобразовать его в формат UTC.

  • Open file - определение формата файла по его сигнатуре. Полезно, если файл был переименован и расширение файла не соответствует его формату.

  • Temp mail - расширение браузера для одноразовой почты. Генерирует временный почтовый ящик, на который, можно зарегистрироваться на сайте и посмотреть входящие письма.

  • IT tools - набор разных инструментов, например, для генерации токена доступа, UUID, QR кодов, для конвертации дат, цветов, чисел в разные форматы, для проверки регулярных выражений и многое другое.

  • Clumsy - искусственное замедление сети на Windows.

Преобразование Unix-времени в GTM
Преобразование Unix-времени в GTM
Временный почтовый адрес при помощи расширения Temp mail
Временный почтовый адрес при помощи расширения Temp mail

Утилиты для общих задач:

  • Считыватель QR-кодов - расширение браузера для распознавания QR-кодов на веб-странице. Например, вы смотрите доклад с конференции и в презентации представлен QR-код со ссылкой на дополнительные материалы, который вы хотите распознать сразу в браузере и открыть.

  • Ilovepdf - сжатие pdf.

  • Сокращатель ссылок

  • Kee Pass - хранение паролей.

  • Obsidian - ведение локальной базы знаний.

  • Yopass  - утилита для уменьшения количества открытых паролей, хранящихся в электронной почте и чатах, путем их шифрования и создания ссылки с ограниченным сроком действия, которую можно посмотреть только один раз.

Считывание QR-кода при помощи расширения браузера «Считыватель QR-кодов»
Считывание QR-кода при помощи расширения браузера «Считыватель QR-кодов»

Заключение

В данной статье перечислены инструменты для работы со скриншотами, генерации тестовых данных, тестирования веб-приложений и REST API, работы с базами данных и разные вспомогательные утилиты.

Данный список далеко не исчерпывающий. Существует множество самых разных инструментов. В комментариях к данной статье вы можете поделиться рекомендациями инструментов, полезных для тестировщика.