
Главное
• Здоровая QA-команда — это система, а не штатная численность. Соотношения, инструменты и привычки shift-left важнее количества тестировщиков в штате.
• 1 QA на 3 разработчиков — наш дефолт. По данным Rice Consulting, наиболее часто упоминаемое в индустрии соотношение — 1:3, медианное — 1:5. На видео, real-time и регулируемых продуктах мы держимся ближе к более плотному краю.
• Семь ролей, а не одна должность. Современный QA охватывает мануальное тестирование, автоматизацию, SDET, нагрузку, безопасность, тестовые данные и QA Lead — и большинство аутсорс-команд тихо пропускают четыре из них.
• AI ускоряет триаж, но не дизайн тестов. Опрос State of Testing 2024 показал, что 69,6% команд используют AI как «дополнительные руки» при выполнении, и только 30,9% сообщают о реальном снижении объёма мануального тестирования.
• В Фора Софт работает единая QA-практика на 625+ выпущенных проектах. Этот плейбук написан на реальных цифрах с реальных кодовых баз — VALT, BrainCert, Franchise Record Pool и более 50 живых видеопродуктов.
Зачем Фора Софт написала этот плейбук
Компания Фора Софт выпускает видео-, AI- и real-time-продукты с 2005 года — двадцать лет и 625+ доставленных проектов спустя именно QA остаётся той функцией, которая удерживает рост этой цифры. Наш Job Success Score на Upwork держится на 100% именно потому, что QA сидит рядом с разработчиками с первого дня, а не пристёгивается к концу спринта.
Это не материал в жанре «знакомьтесь, наша команда». Это внутренний плейбук, который мы достаём, когда основатель спрашивает: «Как должна быть устроена моя QA-команда?» Вы увидите роли, которые мы укомплектовываем, соотношения, которые держим, инструменты, за которые платим, ошибки, за которыми следим, и арифметику затрат, которую мы прогоняем перед каждым проектом. Везде, где утверждение опирается на жёсткие данные — 650+ деплоев VALT в правоохранительных органах, 1 млн+ учащихся BrainCert, DJ-платформа Franchise Record Pool — мы привязываем его к конкретному проекту.
Если вы решаете, строить ли in-house QA-команду, расширять ли свою партнёром или передать всю функцию вендору — эта статья и есть документ для принятия решения. Если у вас мало времени, читайте раздел 13 (фреймворк из пяти вопросов).
Нужна QA-команда, которая ловит баги раньше пользователей?
Мы соберём QA-практику под ваш стек и ритм релизов — или встроимся в существующую команду. Расскажите о задаче по телефону или почте.
Как выглядит здоровая QA-организация в 2026 году
Прежде чем говорить о численности, вот таблица, по которой мы оцениваем сами себя — и индустриальные ориентиры, на которых стоит каждая строка. Если ваша текущая QA-команда не дотягивает до трёх или более из этих целей, что-то не так в штате, инструментах или процессах.
| Метрика | Медиана по индустрии | Хороший ориентир | Дефолт Фора Софт |
|---|---|---|---|
| Соотношение QA к разработчикам | 1:5 | 1:3 — 1:4 | 1:3 |
| Доля «утёкших» дефектов (escaped defects) | 8–12% | < 5% | < 3% на 12-месячных когортах |
| Автоматизация регрессионного набора | 40–50% | 70–80% | 75%+ после релиза №3 |
| Тестовая пирамида (юнит / интеграция / E2E) | 50 / 25 / 25 | 70 / 20 / 10 | 70 / 20 / 10 |
| Инструмент управления тест-кейсами | Иногда | Всегда (TestRail/Zephyr) | TestRail на каждом проекте |
| QA подключается до кода | Редко | На этапе требований | На этапе требований и дизайна |
| Среднее время воспроизведения бага | > 1 дня | < 2 часов | < 1 часа (стандарт по сбору контекста) |
Соотношение 1:3 не взято с потолка. Опрос Rice Consulting о соотношении тестировщиков и разработчиков ставит наиболее частое значение на уровне 1:3, а в организациях, перекладывающих QA-работу на разработчиков, среднее уползает к 1:7. Отчёт PractiTest State of Testing 2024 подтверждает: команды с выделенным инструментом управления тестами выигрывают 23,7% по метрикам доставки — поэтому мы стандартизировали связку TestRail + Jira + GitHub Actions на каждом проекте.
Семь QA-ролей, которые на самом деле нужны современной команде
«У нас есть QA-инженер» — этого почти всегда мало. На продукте с реальной пользовательской базой — особенно если он работает с видео, платежами, медицинскими данными или регулируемой информацией — должны быть закрыты эти семь компетенций. Это не обязательно семь разных людей, но у каждой компетенции должен быть владелец.
1. QA Lead / Test Manager
Владеет стратегией. Решает, что тестируется, с каким приоритетом, против какого риска. Пишет тест-план, согласовывает с продактом критерии готовности к релизу, отчитывается стейкхолдерам по KPI качества. На проектах Фора Софт QA Lead дополнительно ведёт спринтовый bug triage и отвечает за отношения с product owner на стороне клиента.
2. Manual QA Engineer
Владеет исследовательским тестированием, UAT и регрессом по новым фичам. Это тот человек, который спрашивает: «А что, если пользователь откроет 3 чата одновременно на iPhone SE во время скриншаринга?» Именно ручное тестирование находит новые баги; автоматизация ловит только то, что вы уже научились описывать.
3. QA Automation Engineer
Владеет регрессионным набором автотестов. Пишет тесты на Playwright/WebDriverIO/Appium, держит их зелёными, интегрирует с CI. От SDET отличается тем, что обычно не владеет самим фреймворком — он живёт внутри него.
4. SDET (Software Development Engineer in Test)
Владеет фреймворком, инфраструктурой и инструментами. Пишет код продакшен-уровня: кастомные раннеры, общие фикстуры, фабрики тестовых данных, интеграции с фермами устройств, детектирование флейков. SDET, ушедший без передачи дел, — причина №1 деградации автоматизации, см. раздел 14.
5. Performance / Load Testing Engineer
Владеет SLA по задержке, пропускной способности и масштабируемости. Гоняет сценарии в k6 / JMeter / Locust, находит узкие места, подписывает готовность к запуску по ёмкости. Обязателен для всего, что связано с видео — мы нашли трёхкратный обрыв производительности по задержке в одном WebRTC-продукте просто прогнав тест на 400 одновременных зрителей.
6. Security / Compliance Tester
Владеет SAST/DAST, сканированием уязвимостей и проверками на соответствие требованиям. На HIPAA, GDPR, SOC 2 или в правоохранительных доказательных процессах эта роль не опциональна. Для VALT у нас был выделенный человек, гонявший тесты целостности доказательной цепочки на каждом релизе — потому что пропущенный там баг означает развал процесса в суде.
7. Test Data Management Specialist
Владеет реалистичными и безопасными тестовыми данными. Генерация синтетических данных, очистка PII, воспроизводимые фикстуры. На небольших командах эту роль обычно вбирает в себя SDET, но для продуктов, сильно зависящих от формы данных (EdTech, маркетплейсы, финтех), она заслуживает собственных полставки.
Полный набор из семи ролей нужен, когда: у вашего продукта есть платящие пользователи, живой трафик, требования по соответствию и более 6 разработчиков в команде. Ниже этого порога перформанс, безопасность и тестовые данные сворачиваются в роль QA Automation.
Соотношение QA к разработчикам и когда его нарушать
Универсального соотношения не существует. Но есть три, к которым мы возвращаемся в зависимости от профиля продукта. Сама цифра важна меньше, чем то, хватает ли QA пропускной способности на исследовательское тестирование, а не только на прогон регресса.
| Профиль продукта | Рекомендуемое соотношение | Почему |
|---|---|---|
| Ранний MVP, одна платформа | 1:6 | Поверхность маленькая, временный код допустим, тестирование силами разработчиков реалистично. |
| B2B SaaS, живая выручка | 1:4 | Каждый продакшен-баг — риск оттока; регрессионная поверхность растёт; у автоматизации должен быть владелец. |
| Real-time видео / WebRTC / стриминг | 1:3 | Матрица «устройство × ОС × сеть» — время на исследовательское тестирование взрывается. Автоматизация пропускает баги визуального и аудиокачества. |
| Регулируемые отрасли (медицина, финтех, правоохрана) | 1:2 | Тестирование соответствия требованиям, аудиторские следы, целостность доказательной цепочки — плюс выделенный security-тестировщик. |
| Кросс-платформенное потребительское приложение (iOS + Android + web) | 1:3 | Поддержка девайс-лаб, выкладки в сторы и платформенный регресс — каждое из этого «съедает» по тестировщику. |
Если уйти выше 1:6, регрессом начинают заниматься разработчики, и QA становится бутылочным горлышком на финальной стадии. Если опустить ниже 1:2, тестировщики начинают дублировать работу и ценность исследовательского тестирования падает. Мы следим за обоими краями.
Shift-left QA: где на самом деле начинается тестирование
Тестирование в конце спринта в 5–15 раз дороже, чем тестирование на этапе требований — кривая затрат подтверждена и NIST, и десятилетиями исследований IBM. На наших проектах QA подключается ещё до того, как написана первая строка кода:
1. Ревью требований
QA читает каждую спецификацию до того, как её подпишут. Один из наших тестировщиков как-то сэкономил три недели переделок на live-shopping-фиче, спросив: «А что произойдёт, если корзина покупателя истечёт прямо посреди оформления заказа во время распродажи?» — этого сценария в PRD не было.
2. Ревью дизайна
QA смотрит Figma и пользовательские потоки вместе с дизайнером. Именно здесь лучше всего ловятся вопросы про взрыв состояний: пустые состояния, состояния ошибок, загрузка по 3G, обрезка длинных имён, RTL-языки.
3. Дизайн тест-кейсов параллельно с разработкой
Тесты пишутся, пока фича строится. К моменту открытия pull request тест-план уже готов — это сжимает цикл обратной связи с дней до часов.
4. Парная работа во время реализации
QA пара́ит с разработчиками для исследовательских проходов по сложным экранам. Гайд Atlassian по agile-тестированию рекомендует ту же практику — она ловит классы багов, которые пережили бы пост-фактум-ревью.
QA-бутылочное горлышко в конце спринта мешает релизам?
Расскажите про ваш ритм релизов — мы предложим план shift-left, который встанет на ту команду, которая у вас уже есть.
Тестовая пирамида, которой Фора Софт реально пользуется
Пирамида Мартина Фаулера — каноническая, но большинство команд рисует её один раз и больше не пересматривает. Мы относимся к ней как к живому бюджету: если покрытие юнитами падает ниже 60% или E2E вырастает больше 15%, что-то не так — и мы исправляем источник, а не сами тесты.
| Слой | Доля | Когда выполняется | Кому принадлежит | Инструменты |
|---|---|---|---|---|
| Юнит | 70% | Pre-commit + PR | Разработчик | Jest, Vitest, JUnit, XCTest |
| Интеграция / API | 20% | PR + nightly | SDET + разработчик | Supertest, RestAssured, Postman/Newman |
| E2E (счастливые пути) | 10% | Nightly + перед релизом | QA Automation Eng. | Playwright, WebDriverIO, Appium |
| Исследовательское / ручное | Тайм-боксом | На каждую фичу + перед релизом | Manual QA Eng. | TestRail, Jira, BrowserStack |
| Производительность + безопасность | По событию | Перед релизом + ежеквартально | Perf / Sec инженер | k6, JMeter, OWASP ZAP, Burp |
Пирамида создана, чтобы предотвратить два антипаттерна. Первый — «рожок мороженого» (много ручного и E2E, мало юнитов): обратная связь занимает часы, флейки убивают скорость. Второй — «песочные часы» (юниты + E2E, без интеграции): юнит-набор зелёный, а изменение схемы API ломает продакшен. Оба — признак того, что SDET не получил полномочий владеть слоем фреймворка.
Manual QA, Automation, SDET и QA Lead — сравнение
Эти роли — не лестница карьерного роста; сильный мануальный тестировщик не «несостоявшийся SDET». Это разные ремёсла. Их путаница при найме — вторая по частоте ошибка, которую мы видим в инженерных организациях, выросших из основателя.
| Роль | Основной результат | Глубина кодинга | Подчиняется | Уклон |
|---|---|---|---|---|
| Manual QA | Находки исследовательского теста и регресса | Лёгкая (SQL, devtools) | QA Lead | Эмпатия к пользователю |
| QA Automation | Зелёный регрессионный набор | Средняя | QA Lead или SDET | Надёжность |
| SDET | Фреймворк, CI, devex для тестирования | Сеньорный инженер | Engineering Manager | Левередж |
| QA Lead | Стратегия, отчётность, подпись по риску | Переменная | CTO / Product | Бизнес-результаты |
Как мы строим автоматизацию, переживающую смену людей
У каждой студии есть истории про SDET, который построил красивый фреймворк, ушёл — и за 4 месяца 40% набора начали флейчить, а 20% тихо отключили. Это худший возможный QA-ROI. Наши четыре защиты от деградации фреймворка:
Стандартизированный фреймворк под каждый стек
Один инструмент на слой по всем проектам. Playwright для веба, WebDriverIO/Appium для мобильных, k6 для нагрузки. Отдельные SDET не могут изобретать новые конвенции; если паттерн не описан в нашем внутреннем QA-handbook, мы его не мерджим.
Page Object Model + атрибуты data-testid
Селекторы, переживающие редизайны. На каждый QA-критичный элемент в UI ставится стабильный data-testid. Мы реджектим PR, в которых их убирают. Стоимость добавления: 5 минут на элемент. Стоимость переделки селекторов после редизайна: спринт.
Бюджет на флейк < 2%
Любой тест, упавший по флейку дважды за неделю, отправляется в карантин. Тесты или чинятся, или удаляются — гнить в наборе им запрещено. Флейк-рейт в 10% приучает разработчиков игнорировать красный CI, а это катастрофа.
Shadow-передача дел перед уходом любого SDET
Двухнедельное перекрытие — обсуждению не подлежит. Уходящий SDET пара́ит с приходящим на живых задачах, а не на странице в вики. Если SDET ушёл внезапно, другой сеньор-SDET изнутри Фора Софт подхватывает его за 48 часов — одно из настоящих преимуществ кросс-проектной практики.
Наш QA-стек и почему мы выбрали именно эти инструменты
Этот стек мы ставим на любой новый проект, если клиент не настаивает на чём-то другом. Каждый инструмент попадает в счёт за то, что предотвращает конкретный тип отказа.
| Категория | Инструмент | Почему этот, а не тот |
|---|---|---|
| Управление тест-кейсами | TestRail | API-first, связан с Jira, ревьюится. Таблицы перестают масштабироваться после 300 кейсов. |
| Issue tracker | Jira (по выбору клиента) | Тот, чем пользуется dev-команда — отдельный трекер для багов уничтожает контекст. |
| Web E2E | Playwright | Параллелизм, trace viewer, мульти-браузерность. Cypress на одном из прошлых проектов запер нас в одном origin. |
| Mobile E2E | Appium + WebDriverIO | Кросс-платформенно, работает с облачными device farm. XCUITest + Espresso — только если клиент настаивает. |
| Облако устройств | BrowserStack | Реальные устройства, аддон визуального диффа, разумная цена до 10 параллельных сессий. |
| Нагрузочное тестирование | k6 + Grafana | Сценарии на JS, простая интеграция с CI, наблюдаемость. JMeter — только под legacy с тяжёлым SOAP. |
| Тестирование API | Postman + Newman / RestAssured | Коллекции Postman заодно работают как живая документация. Newman встаёт в GitHub Actions в 10 строк. |
| Безопасность | OWASP ZAP + Burp Suite | ZAP — для автоматических сканов в CI, Burp — для глубокого ручного тестирования. |
| Качество WebRTC | KITE + собственная обвязка | Готового инструмента, который меряет MOS и freeze rate в нужном масштабе, не существует — мы построили свой. Подробнее в нашем плейбуке по тестированию качества WebRTC-стрима. |
Где AI ускоряет тестирование, а где пока ломается
AI меняет QA — но, как показал отчёт State of Testing 2024, большинство команд используют его как «дополнительные руки», а не «дополнительные мозги». 69,6% применяют AI на задачах выполнения (в основном генерация тестовых данных и триаж), и только 30,9% видят измеримое снижение нагрузки ручного тестирования. Вот где мы находим реальный левередж — и где обжигались.
Что реально работает сегодня
Генерация тест-кейсов из требований. LLM превращает пользовательскую историю в 40 черновых кейсов за 15 секунд. Человек выбирает 20 значимых. Чистая экономия: 3–4 часа на средней задаче.
Триаж баг-репортов. AI классифицирует входящие тикеты по серьёзности, кандидатам в дубли и затронутым модулям — с финальным ревью человеком сверху. На высокообъёмных проектах мы видим сокращение времени триажа на 40–60%.
Диагностика флейков. Сопоставление флейкующих падений с историческими данными быстрее находит первопричины, чем человек, грепающий логи CI.
Самовосстанавливающиеся селекторы. AI-восстановление на основе визуального диффа сокращает поддержку селекторов примерно на 30% на проектах с частыми изменениями UI — ценно, но ложное срабатывание может скрыть настоящий баг, поэтому ревью человеком мы оставляем.
Что пока не работает
Генерация исследовательских идей для новых продуктов. LLM переобучаются на знакомых паттернах; они пропускают сценарии вида «а что если пользователь откроет это в фоне через VPN», где живут реальные баги.
Полностью автономное написание тестов. Демки впечатляют; продакшен-наборы накапливают ту же проблему «шум-к-сигналу», что и автогенерируемый код. Владелец теста по-прежнему — человек.
Если хотите подробный разбор, у нас есть две сопровождающие статьи: «AI в обеспечении качества: практические применения» и «AI-оптимизация тестирования», а также менее радостный честный взгляд: «AI в тестировании ПО и технический долг QA».
Мини-кейс: как QA удерживала VALT стабильным на 650+ деплоях
VALT — платформа AI-видеонаблюдения и записи допросов, которой пользуются более 650 правоохранительных агентств США. Когда записанный допрос становится доказательством по делу об убийстве, фраза «в основном работает» — это конец карьеры.
Ситуация. В команде, поставлявшей VALT, было 12 инженеров, инсталляция Jira и никакого формального регресс-процесса. Продакшен-инцидент уничтожил два дня записанных допросов. Руководство попросило нас перестроить QA с нуля.
12-недельный план. Недели 1–2: карта рисков по доказательной цепочке — приём, кодирование, хранение, извлечение, экспорт. Недели 3–4: внедрение TestRail и заморозка регрессионного набора из 400 кейсов, покрывающего каждый путь обработки доказательств. Недели 5–8: автоматизация на Playwright + k6 для тех 60% регресса, что были детерминированы. Недели 9–12: выделенный тест целостности доказательной цепочки, прогоняемый на каждом релизе, плюс лаборатория из 4 устройств для воспроизведения полевых отчётов с реального оборудования из патрульных машин.
Результат. «Утёкшие» дефекты на релиз снизились с 11 до 2 за полгода; инциденты по доказательной цепочке ушли в ноль на 14 месяцев подряд; ритм релизов вырос с месячного до двухнедельного без потери стабильности; а простой в зале суда — метрика, которая реально волнует клиента VALT, — оставался нулевым все 14 месяцев, что мы её отслеживаем.
Похожий паттерн на BrainCert, где мы как часть команды масштабируем LMS до миллиона учащихся без единой P1-регрессии за последние три квартала.
Хотите такой же аудит вашей QA-практики?
За 2 недели мы пройдём по вашей текущей практике и вернёмся с приоритизированным планом — тем же, что мы применили на VALT.
Модель затрат: in-house против аутсорс-QA в 2026 году
Реальные цифры для инженерной команды из 12 человек, которой нужна QA-скамейка из 4 человек (1 Lead, 1 Manual, 1 Automation/SDET, 1 совмещённый перформанс/безопасность). Диапазоны — рынок 2025–2026 годов. Ваши цифры могут отличаться; используйте как проверку здравого смысла.
| Модель | Полная стоимость / месяц | Время на сборку | Сложность сворачивания |
|---|---|---|---|
| In-house в США | 4–6 млн ₽ | 3–6 месяцев | Высокая |
| In-house в Западной Европе | 3–4,8 млн ₽ | 3–6 месяцев | Высокая |
| Аутсорс в Латинской Америке | 1,8–2,7 млн ₽ | 4–8 недель | Низкая |
| Аутсорс в Восточной Европе (Фора Софт) | 1,5–2,4 млн ₽ | 2–4 недели | Низкая |
| Аутсорс в Индии/Филиппинах | 750 тыс.–1,6 млн ₽ | 4–8 недель | Низкая, но следите за часовыми поясами и доменной экспертизой |
Два неочевидных рычага. Первый — Agent Engineering: наша внутренняя практика парной работы людей с AI-агентами в коде сокращает время сборки фреймворка автоматизации примерно на 20–30%, что даёт реальную экономию на первых трёх месяцах проекта. Второй — общая QA-практика (модель Фора Софт): вы платите за часы, которые потребляете, а не за стул, поэтому в недели низкой загрузки эффективная стоимость падает на 30%+.
Фреймворк решения: строить, нанимать или отдавать на аутсорс — пять вопросов
Каждого основателя, который спрашивает: «Стоит ли мне нанять QA-инженера?», мы проводим по этим пяти вопросам. Ответьте честно — ответ выпадает сам.
В1. Сколько разработчиков будут писать код в ближайшие 12 месяцев? Менее 4: тестированием могут владеть сами разработчики, плюс QA-консультант на полставки на гейтах релизов. От 4 до 10: один полноценный QA (или эквивалент). Свыше 10: команда из 3+ человек со специализированными ролями.
В2. Какова поверхность compliance? Никакой: у вас есть выбор. HIPAA / GDPR / PCI / SOC 2 / правоохранительные доказательства: нужен выделенный security-тестировщик, без вариантов, и in-house проще, когда аудиторы хотят гражданина США или ЕС.
В3. Насколько стабильна дорожная карта? Изменчива (до PMF): отдайте гибкую часть на аутсорс — вам не нужно нанимать, увольнять и нанимать заново. Стабильна и растёт: стройте in-house ради знания продукта, дополняйте внешней специализированной скамейкой по нагрузке, безопасности и девайс-лабе.
В4. Сколько доменных знаний требуется? Универсальный B2B SaaS: войти в продукт может кто угодно. Видео / WebRTC / телемедицина / правоохрана / live shopping: вход для in-house-найма — 3–6 месяцев; вендор с уже имеющейся экспертизой на скамейке (Фора Софт по видео и real-time, например) выдаёт результат за недели.
В5. Какова цена продакшен-бага? Несколько тикетов в поддержку: лёгкого QA достаточно. Отток клиентов, штрафы или ответственность: инвестируйте в семиролевую модель и не экономьте на автоматизации и тестировании безопасности.
Пять ловушек, которые топят in-house QA-команды
1. QA пристёгнут к концу спринта. Когда тестировщики видят работу только в последние два дня спринта — релизы уезжают, качество накапливается отрицательно, а QA-команда становится виноватой на ретро. Делайте shift-left или платите за это.
2. Тест-кейсы организованы по спринтам, а не по фичам. Опрос PractiTest показал, что 60% команд держат тест-кейсы плохо — и почти всегда корень в том, что они организованы по спринтам. Кейсы по фичам переживают переплатформирование; кейсы по спринтам гниют за квартал.
3. Автоматизация написана разработчиками, которые потом ушли из фреймворка. Тест-автоматизация, написанная разработчиком и оставленная без владельца, начинает деградировать в момент, когда он переключился. Либо нанимайте SDET, чтобы он этим владел, либо отдавайте владение по контракту. Третьего рабочего варианта нет.
4. Нет девайс-лабы и нет облачной фермы. Попытка покрыть мобильный QA личным iPhone и одним Android из ящика стола. Вы ловите 40% того, что есть на рынке. BrowserStack или скромная in-house лаба (5–10 устройств с обновлением раз в год) стоит долю одного пропущенного P1.
5. Нет бюджета на производительность. Регрессии производительности по 3% за релиз становятся 30%-ным замедлением через десять релизов. Еженедельный baseline в k6 с порогом алертинга ловит это в течение суток.
KPI: что мы реально измеряем
KPI качества. Доля «утёкших» дефектов (< 3% на 12-месячных когортах), эффективность отлова дефектов (> 95%), pass rate регресса на main (> 98%), среднее время воспроизведения (< 1 часа), change failure rate (DORA elite: 0–5%).
Бизнес-KPI. Ритм релизов (раз в две недели или быстрее), время до рынка по новым фичам (от спецификации до прода), QA-стоимость на одну выпущенную пользовательскую историю, доля релизов без срочного хотфикса (> 90%).
KPI надёжности. Среднее время обнаружения (< 10 минут для P1), среднее время восстановления (< 30 минут для P1 в продакшене), флейк-рейт регрессионного набора (< 2%), покрытие автоматизированным регрессом (> 70%), uptime по пользовательски-критичным потокам (> 99,9%). Отчёт по этим метрикам мы отдаём клиентам ежемесячно и публикуем в составе нашего шаблона отчёта о тестировании.
Безопасность, compliance и тестирование данных
Тестирование безопасности живёт внутри QA на каждом регулируемом проекте. Три практических слоя:
Автоматическое сканирование в CI. SAST (Semgrep, SonarQube) на каждом PR. DAST (ZAP baseline) на каждом деплое в стейджинг. Сканирование зависимостей (Snyk, Dependabot) — ежедневно. Триаж находок — раз в неделю. Этот слой ловит 70% низкосерьёзных проблем и держит бэклог честным.
Ручной penetration test раз в квартал. Внутренняя ротация или внешняя фирма — в зависимости от compliance. Для SOC 2 или HIPAA мы всегда рекомендуем дополнительно ежегодный сторонний тест.
Набор тестов работы с данными. Только синтетические данные вне прода, очистка PII в копиях БД, тест шифрования в покое, учения по ротации ключей. Для видеопродуктов — тесты целостности доказательной цепочки (VALT) и тесты соответствия WORM-хранилищу.
В материале по надёжности платёжных систем мы описали конкретный набор сверочных тестов, которым пользуемся, — стоит почитать, если у вас на руках деньги.
Девайс-лаба и кросс-платформенное тестирование
Кросс-платформенные продукты ломаются в неожиданных местах. DJ-платформа Franchise Record Pool — хороший пример: чат-фича, которая отлично выглядела на флагманском iPhone, отправляла сообщение дважды каждый раз, когда получатель сидел на Galaxy S7. Такое ловится только реальными устройствами.
Наше дефолтное покрытие устройств — отсортировано по ценности на потраченный рубль:
| Уровень | Цель покрытия | Инструменты |
|---|---|---|
| Базовый (всегда) | Последняя iOS + последняя Android + Chrome + Safari + Firefox | Реальное устройство + Playwright |
| Длинный хвост | Предыдущие 2 версии iOS, 3 версии Android, Edge | Реальные устройства BrowserStack |
| Слабые / ограниченные | Тротлинг 3G, старые низкопамятные Android | Chrome DevTools + физическое устройство |
| Доменно-специфичные | Smart TV, носимые устройства, автомобильные (если требует продукт) | Физическое железо in-house |
Культурные привычки, на которых держится наша QA-команда
За каждым числом-бенчмарком стоит привычка. Когда мы опросили нашу QA-команду для этой статьи, всплыли одни и те же паттерны:
- Не торопитесь. Спешное тестирование — поверхностное; поверхностное тестирование убивает escaped-defect-rate.
- Высказывайтесь рано. Даже маленькое сомнение — полезные данные. Молчаливые тестировщики порождают молчаливые баги.
- Не останавливайтесь на сценарных кейсах. Спросите себя: «А что, если толкнуть это дальше?» — именно там живут интересные баги.
- Учите, как система устроена изнутри. Проще расследовать, чётче коммуникация с разработчиками.
- Используйте AI как помощника, а не как замену. Данные State of Testing 2024 это подтверждают: команды, делегирующие AI суждения, регрессируют; команды, делегирующие AI рутину, улучшаются.
- Оспаривайте требования рано и тщательно. Сейчас дёшево, потом дорого.
- Думайте критически, давайте конструктивную обратную связь. Баги, написанные без обвинений, чинятся быстрее.
- Коммуницируйте чётко. Баг-репорт с видео, network-вкладкой и шагами воспроизведения экономит разработчику два часа.
- Продолжайте учиться. Митапы, коллеги, разные проекты — кросс-опыление побеждает туннельное зрение.
- Собирайте полный контекст при воспроизведении клиентских проблем. Скриншоты, видео, характеристики устройства, состояние сети.
- Следите и за пропавшим, и за случайно добавленным функционалом. И то, и другое — баги.
- Автоматизируйте повторяющиеся шаги, как только это возможно. Ваше время дороже скрипта.
- Застряли — спрашивайте. Угадывание плохо заканчивается.
У нас ещё есть Slack-канал с абсурдными продакшен-багами: купон со «скидкой 100%», который скидывал только 10%, шестизначный код подтверждения, показывавший пять цифр, видеотаймер, считавший в минус, страница с падением, доступная только админу, кнопка, кликабельная область которой уменьшалась с каждым кликом. Каждый из этих багов был пойман в QA до того, как его увидели пользователи.
Когда выделенную QA-команду нанимать НЕ стоит
Мы — лавка с уклоном в QA, но есть реальные случаи, когда тестировщика на первый день брать не нужно:
До PMF, меньше 4 разработчиков, ничего регулируемого. Потратьте зарплату на продукт. Разработчики гоняют тесты сами, основатель делает UAT, а QA подключается по контракту только на гейтах релиза.
Внутренние инструменты с менее чем 50 пользователями. Еженедельного смоук-чеклиста и вовлечённых пользователей хватит. Семиролевая модель не нужна, чтобы поддерживать в живом состоянии внутренний дашборд на 50 мест.
Прототипы на выброс. Сам тест и есть рыночная обратная связь. Не поддавайтесь желанию полировать.
Везде остальном — настоящий продукт, реальные пользователи, выручка, любое compliance — честный ответ один: QA окупает себя за один квартал, снижая «утёкшие» дефекты и срочную работу, которую они порождают.
FAQ
Какое соотношение QA к разработчикам правильное для стартапа?
Для раннего MVP на одной платформе реалистично 1 QA на 5–6 разработчиков, если разработчики серьёзно относятся к юнит- и интеграционному тестированию. Как только у вас появляются платящие клиенты на более чем одной платформе, переходите на 1:3 — это золотая середина индустрии и наш дефолт по проектам Фора Софт.
Сколько занимает развёртывание аутсорсной QA-команды?
На нашем типовом проекте: 2–4 недели до продуктивного первого релиза, 8–12 недель до полностью автоматизированного регрессионного набора. Быстрее, чем in-house, потому что семиролевая практика уже существует — мы вставляем готовую команду в ваш продукт, а не собираем её с доски вакансий.
Может ли маленькая команда оправдать роль SDET?
Ниже 10 разработчиков полноценный SDET обычно не нужен — но кто-то всё равно должен владеть фреймворком. Мы часто ставим SDET на полставки из практики: стандарты фреймворка, интеграция CI и карантин флейков — около 15–20 часов в неделю. Этого, как правило, хватает, чтобы держать автоматизацию в форме примерно до 15 инженеров.
Какой инструмент управления тест-кейсами выбрать?
TestRail для большинства команд — зрелый, API-first, чисто интегрируется с Jira. Zephyr — если ваша организация уже глубоко в Atlassian. Qase — современный лёгкий вариант. Таблицы работают примерно до 300 кейсов, дальше начинают доминировать боли миграции.
Как вы справляетесь с разницей часовых поясов с аутсорс-командой?
Наше стандартное перекрытие — 3–5 часов с часовыми поясами США и 6–8 — с Европой. Каждая команда проводит ежедневный stand-up в окне перекрытия плюс асинхронный bug triage в Slack. Двадцать лет распределённой работы сделали это менее болезненным, чем найм локально без команды — хотя для compliance-ролей, когда аудиторы настаивают, мы всегда порекомендуем локального full-time-сотрудника.
AI реально снижает стоимость QA или это хайп?
AI снижает конкретные статьи: черновики тест-кейсов, триаж багов, анализ флейков. Он не снижает стоимость исследовательского или нового дизайна тестов — это остаётся за человеком. Данные State of Testing 2024 говорят, что только 30,9% команд, использующих AI, фиксируют измеримое снижение мануального тестирования. Используйте AI, но списывайте его на правильные статьи.
Как понять, что наша QA-команда на самом деле работает?
Три числа: доля «утёкших» дефектов, change failure rate и среднее время обнаружения. Если они движутся в правильную сторону от релиза к релизу — QA работает. Если они стоят на месте, а штат QA растёт — проблема обычно в процессе (позднее тестирование, нет управления тест-кейсами), а не в людях.
Что особенного в QA для видео и real-time-продуктов?
Три вещи: матрица «устройство × ОС × сеть» взрывает время на исследовательское тестирование, автоматизация пропускает дефекты качества аудио/видео, а перцептивное тестирование (оценки MOS, freeze rate, дрейф lip-sync) требует выделенных обвязок. Мы построили свою — потому что готовых инструментов, меряющих это в нужном клиентам масштабе, нет; подробнее в нашем плейбуке по тестированию качества WebRTC-стрима.
Что читать дальше
WebRTC
Как тестировать качество WebRTC-стрима
MOS, freeze rate, дрейф lip-sync — обвязка, которую наша команда построила для видео-QA.
Отчётность
Как написать эффективный отчёт о тестировании
Шаблон, которым мы превращаем работу QA в понятный стейкхолдерам сигнал.
Готовы выпускать стабильные релизы без драмы?
Хорошая QA-команда снаружи скучная, а внутри занятая. Вы понимаете, что она работает, когда релизы выходят по графику, входящих в поддержку в этом месяце меньше, чем в прошлом, а инженеры перестают бояться дня выкладки. Вся структура из этого плейбука — семь ролей, соотношение 1:3, пирамида, стек инструментов, привычка shift-left — служит этому единственному результату.
Если вы пока не там — вам нужна не бóльшая численность. Вам нужны правильный набор и правильные привычки. Начните с фреймворка из пяти вопросов в разделе 13 — он честно скажет, стоит ли строить in-house, нанимать или расширить команду партнёром, у которого практика уже есть.
Поговорите с нашей QA-командой о вашем продукте
Полчаса разговора с людьми, выпустившими 625+ проектов: вы уйдёте с конкретным планом по структуре QA, инструментам и стоимости — независимо от того, начнём мы работать вместе или нет.

