Библиотека покрытия

Что паук действительно тестирует.

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

Два уровня покрытия

Начните с поверхности. Идите так глубоко, как нам доверяете.

Поверхностное покрытие

Старт за минуты · доступ не нужен

Всё, до чего может добраться посетитель

Страницы, формы, пользовательские сценарии и публичные API — проверяются снаружи, ровно так, как их видит посетитель (или злоумышленник). Нужен только URL.

  • Обход всего сайта и карта сценариев
  • Smoke- и регрессионные наборы
  • Проверки работоспособности публичного API

Глубокое покрытие

Доступ к staging · настраиваем вместе

Внутри продукта, с доступом, который вы даёте

Мы как следует подключаемся к вашему проекту: учётные данные staging, тестовые аккаунты и, если захотите, репозиторий только для чтения. Так мы добираемся до того, чего поверхностное тестирование никогда не видит.

  • Сценарии после входа и с учётом ролей
  • Контрактные тесты REST / GraphQL
  • Целостность данных после изменений
  • Покрытие, привязанное к вашим реальным маршрутам и репозиториям

Библиотека

Каждая тема — это готовый набор тестов.

Авторизация и сессии

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

  • Регистрация с корректным / уже занятым / некорректным email
  • Вход, выход, истечение и обновление сессии
  • Сброс пароля от начала до конца, включая ссылку из письма
  • Возврат на нужную страницу после входа
  • Ограничение попыток и тексты ошибок при повторных неудачах

Оформление заказа и платежи

Сценарии, приносящие выручку, покрываются глубже всего. Тестовые карты, отклонённые платежи, брошенные корзины — проверяется на staging и никогда на реальных деньгах.

  • Добавить в корзину → оформление → тестовый платёж → подтверждение
  • Отклонённая карта, просроченная карта и проверка 3DS
  • Цены, налоги и итоги совпадают на страницах и в API
  • Купоны, пустые корзины и граничные значения количества
  • Письмо с подтверждением заказа и доставка вебхуков

Контракты API — REST и GraphQL

Большинство регрессий появляется в бэкенде и всплывает позже. Контрактные проверки ловят их за секунды — раньше, чем успел бы загрузиться любой UI-тест.

  • Структура ответа и коды статуса для каждого публичного эндпоинта
  • Границы доступа: истёкшие токены, недостающие scopes, чужие данные
  • Тела ошибок остаются машиночитаемыми (никакого HTML в JSON API)
  • Пагинация, фильтры и сортировка работают на реальных объёмах данных
  • Обнаружение несовместимых изменений относительно прошлого контракта

Формы и валидация

Каждая форма — это договор с вашими пользователями. Паук заполняет их как торопливый человек: неправильно, пусто, через вставку и с двойной отправкой.

  • Обязательные поля и проверка формата на клиенте и на сервере
  • Защита от двойной отправки и состояния загрузки
  • Unicode, эмодзи и очень длинные значения
  • Сообщения об ошибках указывают на действительно неверное поле
  • Состояния успеха, редиректы и уведомления после отправки

Роли и права доступа

Баги, которых никто не замечает, пока один клиент не увидит данные другого. Ролевые проверки запускаются от имени разных пользователей на одних и тех же ресурсах.

  • Viewer / editor / admin видят ровно то, что им положено
  • Прямой переход по URL на закрытые страницы запрещён
  • Объекты API, принадлежащие другим аккаунтам, недоступны
  • Пользователи с пониженной ролью сразу теряют доступ

Файлы и загрузки

Загрузки ломаются изобретательно. Паук приносит с собой целый зоопарк файлов.

  • Поддерживаемые форматы загружаются, отображаются и скачиваются без потерь
  • Слишком большие и пустые файлы отклоняются с понятным сообщением
  • Неверные расширения и несовпадения MIME отклоняются
  • Прогресс, отмена и повтор работают при медленной сети

Web3 и смарт-контракты

dApps ломаются так, как классические наборы тестов никогда не увидят, — UI тихо расходится с блокчейном. Паук тестирует обе стороны моста, с эмулированными кошельками и без реальных средств.

  • Подключение кошелька, смена сети и подпись — включая сценарии отказа
  • Вызовы контрактов в тестнетах и форке mainnet: состояние, reverts, события
  • Отображаемые балансы и позиции совпадают с реальным состоянием в сети
  • Ошибки оценки газа и состояния UI для ожидающих транзакций
  • Согласованность индексатора / subgraph с событиями в сети

Smoke-проверка производительности

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

  • Базовые значения загрузки страниц и задержки API по каждому маршруту
  • Ошибки консоли и упавшие сетевые запросы на каждой странице
  • Регрессии размера ответа (тот самый случайный бандл на 4 МБ)
  • Сбои сторонних сервисов обнаруживаются и исключаются из вашей оценки

Web2 + Web3

dApps и смарт-контракты — тоже наша территория.

Блокчейн-продукты ломаются так, как классические наборы тестов никогда не увидят. Паук говорит на языке обоих миров — тот же цикл, тот же трекер, те же гарантии.

Сценарии кошелька

Подключение, смена сети, подпись транзакций — и сценарии отказа, на которые пользователи действительно натыкаются. Проверяется с эмулированными кошельками, реальные средства не под угрозой.

Смарт-контракты

Вызовы контрактов в тестнетах и форке mainnet: изменения состояния, reverts, ошибки оценки газа и события.

UI ↔ правда в сети

Классический баг dApp — UI, который расходится с блокчейном. Паук сверяет отображаемые балансы, позиции и историю с реальным состоянием в сети.

От красного теста до заведённого тикета

Баг оформляет себя сам. Вашей команде остаётся его исправить.

Самое дорогое в QA — не найти баг, а описать его, найти скриншот и добиться, чтобы он дошёл до разработчика. QA Spider замыкает этот цикл сам.

  1. 01

    Тест покраснел — баг уже описан

    Никому не нужно воспроизводить его, делать скриншот или описывать. Отчёт составляется в момент падения теста — по тому, что действительно произошло в прогоне.

    Шаги воспроизведения строятся из выполненных шагов · скриншот падения приложен · серьёзность P0–P3

  2. 02

    Он попадает в ваш трекер, а не в таблицу

    Одним кликом баг заводится там, где уже работают ваши разработчики, — полноценным тикетом в вашем проекте, с воспроизведением и доказательствами.

    Jira · Azure DevOps · ClickUp · GitHub Issues · Linear — с проверкой на дубликаты перед заведением

  3. 03

    Нужные люди узнают сразу

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

    Slack · Discord · Telegram — при упавших прогонах и заведённых багах, тишина, когда всё зелёное

  4. 04

    Ничего не гниёт втихую

    У каждого бага есть статус, пока он действительно не закрыт, — так что «мы это уже починили» становится фактом, который можно проверить, а не воспоминанием.

    Открыт → в работе → исправлен → проверен · фильтр по проекту, серьёзности и статусу · скриншот хранится вместе с багом

Запускается по вашему расписанию, несколько раз в день

Выберите важные часы — перед стендапом, после каждого деплоя, ночью. Набор запускается сам, а вы читаете результат, а не календарь.

Видно, куда движется качество

Доля успешных тестов, нестабильность и открытые баги по серьёзности в одном окне — цифры, нужные для решения о релизе, а не стена логов.

Как выглядит пойманный баг

Как выглядит пойманный баг

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

QA-1042Открыт · Высокийзаведён в Jira · QA Spider

Заголовок

Оформление заказа: просроченный промокод показывает «применён» и списывает полную цену

Описание

На /checkout применение просроченного промокода показывает «Code applied ✓» и списывает полную сумму. Скидка не даётся, ошибка не показывается — с покупателя молча берут лишнее.

Шаги воспроизведения · STR

  1. Добавьте любой товар в корзину и откройте /checkout
  2. Введите промокод SUMMER24 (просрочен) и нажмите Apply
  3. Оплатите тестовой картой 4242 4242 4242 4242

Фактический результат · AR

Показан значок «Code applied ✓» · итог заказа не изменился · списана полная сумма · сообщения об ошибке нет.
Развернуть тикет полностью — ожидаемый результат, первопричина, исправление и скриншот

Ожидаемый результат · ER

Ошибка рядом с полем «This code has expired.» · Apply остаётся неактивной · оплата заблокирована до исправления.

Первопричина

Клиент доверяет POST /api/promo, который для просроченных кодов возвращает 200 { valid: true, discount: 0 }, вместо того чтобы их отклонять.

Предлагаемое исправление

Возвращать 422 code_expired из /api/promo, показывать сообщение рядом с полем и держать кнопку Pay неактивной, пока код недействителен.

Скриншот · трейс приложен

/checkout
Code applied
⚠ итог не изменился — $149.00

Последние прогоны

ПроектСредаРезультатВремя
c(имя клиента скрыто)prodпройден214✓ 0✗ 0⚡2m 14s
c(имя клиента скрыто)stagingбаг заведён208✓ 1✗ 0⚡3m 02s
p(имя клиента скрыто)devflaky исправлен176✓ 0✗ 2⚡4m 09s
g(имя клиента скрыто)prodпройден88✓ 0✗ 0⚡1m 47s

Каждый деплой · ночью · по запросу

Каждый баг приходит вот так — без дубликатов, воспроизводимый, с первопричиной и предложенным исправлением — прямо в трекер, которым уже пользуется ваша команда. Разработчикам остаётся только исправить.

Знакомьтесь, Helper

Не просто краулер — QA-копилот в вашем рабочем процессе.

Вместе с автономным пауком Helper берёт историю из вашего трекера, проверяет её на вашем живом приложении критерий за критерием и пишет вокруг неё всю QA-документацию — планы, кейсы, чек-листы, баг-репорты. Вы проверяете и утверждаете; ничего не касается окружения, похожего на продакшен, без вашего согласия.

01

Начинает с вашего тикета

Вставьте ссылку на Jira или Azure DevOps, и Helper подтянет историю и её критерии приёмки. Никакого копирования и перепечатывания того, что уже написано в тикете.

02

Отвечает на вопрос «а это действительно работает?»

Каждый критерий приёмки становится настоящим тестом и запускается на вашем живом приложении — вы получаете «прошёл» или «не прошёл» по каждому критерию, а не мнение. Окружения, похожие на продакшен, сначала спрашивают разрешения.

03

Пишет QA-документацию

Тест-планы, тест-кейсы, smoke-истории, регрессионные чек-листы, проверки граничных случаев и баг-репорты — с опорой на ваш продукт, с экспортом в Markdown, CSV или Excel для TestRail, Xray или Zephyr.

04

Сохраняет то, что оказалось полезным

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

Тикет на входе · проверка на живом приложении · документация на выходе · сохранено в набор

Попробовать Helper →

Хотите такой список, но для своего продукта?

Тестирование при каждом деплое — это тариф Enterprise: расскажите, что вы выпускаете, и мы вместе с вами настроим набор тестов. Или начните с бесплатного аудита ваших публичных страниц.

Что покрывает QA Spider — реальные примеры тестового покрытия