Чтобы стать профессиональным тестировщиком нужно не только углубляться в теорию, но и практиковаться в решении задач. Практика превратит теоретические знания в рабочие навыки.
В подборке собрали сайты с багами, платформы с задачами и тренажеры для тестирования, которые подготовят вас к реальной работе QA-инженера.
Как выбрать уровень сложности
Определить свой уровень знаний можно с помощью тестов по теории тестирования. Для этого подойдут квизы по QA на площадках вроде QA Rocks.
Например, вы можете начать с теста по терминологии тестирования, чтобы понять, какие термины вам знакомы, а что нужно подтянуть.

Далее можно пройти тест по теории тестирования и более узконаправленные варианты (по тестированию API, ПО и т. д.). Результаты покажут примерный уровень ваших знаний.
Например, если основы вы сдаете на 60 и менее процентов, то стоит повторить азы и после приступить к практическим задачам для новичков. Если выше, то пора переходить к оценке знаний на практике.
Сайты с багами
Начать лучше с тестирования простых сценариев. Например, на тестовом сайте-песочнице Bug Test можно потренироваться ловить баги. Авторизация для этого не требуется.

Не пугайтесь выскакивающих сообщений об ошибках, они добавлены намеренно 🙂

Есть также онлайн-симулятор Realbugz. Площадка выглядит как обычный сайт с несколькими разделами. Внутри спрятаны функциональные и визуальные дефекты.

На Realbugz можно проверять сценарии, искать несоответствия требованиям и тренировать техники тест-дизайна. Платформа полностью бесплатная и подходит для начинающих QA.
В ходе работы не забывайте тренироваться в составлении баг-репортов. А для тестирования веб-приложений (в том числе сайтов) вам также пригодится базовое понимание DevTools.
DevTools
DevTools — это встроенный набор инструментов в браузерах, который позволяет анализировать структуру страницы, проверять сетевые запросы, эмулировать разные устройства и многое другое. Без DevTools тестировщик может полагаться в основном только на визуальную проверку, а этого бывает недостаточно для составления полноценного баг-репорта.
Если вы уже знаете про вкладку «Инструменты разработчика» (DevTools), но не знаете, как ее использовать, лучше начать с DevTools-тренажера. Этот тренажер познакомит тестировщика с Chrome DevTools и его функциями.

После того, как вы научитесь пользоваться DevTools, вы сможете контролировать, какие запросы отправляете серверу, когда кликаете по интерфейсу, а также какие данные попадают в браузер и как меняется верстка при разных сценариях.
Когда вы закрепите основы, можно переходить к тренажерам со сложной логикой и тестированию API.
API для тестирования
Более опытные тестировщики могут попрактиковаться на платформах-задачниках по типу QA Playground, где собраны задания, близкие к рабочим кейсам. Для их выполнения на платформе нужно зарегистрироваться или авторизоваться через профиль GitHub.

Например, вы можете взять в работу задачу по удалению пользователя администратором. Для этого на платформе вам выдадут токен, с которым вы будете тестировать функционал API в роли администратора и ловить баги.

Открытые API
Существуют также открытые API, которые не привязаны к обучающим платформам. Их можно сразу проверять через HTTP-клиент Postman. В нем можно создавать коллекции запросов, сохранять переменные окружения и постепенно собирать свои наборы тестовых запросов.

JSONPlaceholder
Простейший пример открытого API — JSONPlaceholder. Это бесплатный REST API с фейковыми постами, комментариями и пользователями. Здесь удобно тренировать базовые запросы GET, POST, PUT и DELETE, проверять структуру ответов и коды состояния.

Reqres
Для тестирования более сложных запросов подойдет Reqres. Здесь доступны такие сценарии, как регистрация, авторизация, работа со списком пользователей.

DummyJSON
API DummyJSON предлагает набор сущностей, имитирующий интернет-магазин (товары, пользователи, корзина). На нем можно тренировать запросы с фильтрами, поиском, пагинацией, а также проверять бизнес-ограничения, такие как лимиты по количеству товаров в корзине.

Swagger Petstore
Отличный вариант для проверки запросов и тренировки работы с документацией в формате OpenAPI — это API Swagger Petstore.

Тут вы научитесь читать описания эндпойнтов, параметров и схем ответов, а также отправлять запросы через интерфейс Swagger.
Тестирование интерфейса
QA Playground
На QA Playground также есть задачи по тестированию UI. Помимо проверки корректности отображения информации в них может входить тестирование функционала сайта.

Есть также отдельные сайты для тестирования UI без задачников.
UI Testing Playground
Сайт UI Testing Playground содержит тестовые данные для проверки элементов интерфейса.

Здесь вы можете протестировать кнопки с динамическими идентификаторами, нестабильные элементы, задержки загрузки и другие сценарии работы UI.
DemoQA
DemoQA предлагает набор страниц с элементами, формами, таблицами и виджетами. Сайт работает как конструктор интерфейсных сценариев.

Вы выбираете раздел, например, Elements, Forms или Book Store Application, и проверяете заполнение форм, работу с таблицами и поиск по спискам.

Тестовые интернет-магазины и сайты услуг
Среди симуляторов сайтов можно найти целые интернет-магазины, личные кабинеты или сервисы бронирования. На них можно искать UI-баги, тестировать функционал и после составлять комплексные баг-репорты.
Портал QAHacking
На портале QAHacking есть тренажеры «Собаседник» (интернет-магазин) и Oort Depot (сервис логистики и управления космическим складом). В них много типичных дефектов: ошибки в валидации форм, проблемы с фильтрами, неверные суммы в корзине и расчете доставки.

Automation Exercise
Хороший вариант для тренировки тестирования интернет-магазина по сценариям — Automation Exercise. В нем есть список сценариев для API: регистрация пользователя, авторизация, получение списка товаров, фильтрация и поиск. Эту документацию вы можете использовать, чтобы сравнивать ожидаемое и реальное поведение сайта.

Automation Testing Practice
На сайте Automation Testing Practice есть множество сценариев для тестирования и несколько тестовых приложений.

Например, в E-commerce BookStore и Notes React App удобно тестировать полный цикл работы с ресурсами — CRUD (создание, чтение, изменение и удаление), а также негативные сценарии с ошибочными данными.
Restful-Booker
Еще один тренажер для тестирования API — сервис бронирований Restful-Booker. В нем есть аутентификация, операции создания и изменения бронирований, преднамеренные ошибки и авто-сброс данных.

Этот тренажер подойдет для тренировки работы с CRUD-операциями и кодами состояния ответов HTTP.
Игровые тренажеры
Для улучшения навыков тестирования существуют игры с намеренными багами и симуляторы тестировщика.
Buggy Games от EvilTester
Проект Buggy Games от Алана Ричардсона и EvilTester— это набор мини-игр на JavaScript, в которых есть дефекты. Например, некорректно отображаются очки, странно ведет себя управление, появляются визуальные артефакты. Задача тестировщика — играть не ради победы, а ради «поимки» багов.

QA Simulator
QA Simulator позиционирует себя как игровой тренажер по работе QA-инженером. Игрок получает задачи, ищет баги, пишет тест-кейсы, отслеживает прогресс в формате игры.

По описанию игра ближе к симуляции повседневной работы тестировщика, чем к тренажеру по тестированию. Но она поможет развить некоторые навыки, такие как поиск дефектов, умение работать с описаниями багов, приоритизацию тест-кейсов.
Немного о тестировании безопасности
Тема безопасности довольно обширная, серьезная и не допускает экспериментов на реальных рабочих проектах. Стандарты OWASP дадут представление об уязвимостях, с которыми могут столкнуться веб-приложения. Для QA-инженеров, тестирующих безопасность, важно разбираться в типах уязвимостей, чтобы находить их.
В качестве тренажера OWASP разработали намеренно уязвимое приложение OWASP Juice Shop. Его используют для обучения, демонстраций и CTF.

Цель тестировщика здесь не в том, чтобы взламывать систему, а в том, чтобы увидеть типичные ошибки с точки зрения качества: неправильную обработку ошибок, утечку технической информации в сообщениях, слабые требования к паролю и т. д.
В работе тестировщика важно помнить, что отсутствие багов — это тоже результат, ведь вы проверили сценарий.
