В идеальном мире (такого не бывает, да, так бывает) тестирование начинается ещё на старте разработки. Но реальность куда суровее. Многие вспоминают о QA только в тот момент, когда до релиза остаются дни или даже часы. Мы регулярно получаем запросы вроде «давно нужно было всё протестировать, завтра сдаём проект».
Классический случай, когда к нам обращаются с просьбой подключить QA на финальной стадии и провести срочное тестирование перед релизом.
На первый взгляд может показаться, что это странная практика. Разве не логичнее строить процесс качества с самого старта? Логичнее – да. Но реальность разработки в России и за её пределами такова, что тестирование нередко выносится за скобки. И вот продукт почти готов, а времени, ресурсов и нервов остаётся всё меньше. Именно здесь мы в «Лаборатории качества» подключаемся и берём на себя роль антикризисной команды.
Кто заказывает помощь в сдаче проекта?
Чаще всего в этой ситуации оказываются финтех-компании и банки, которым нужно запуститься к конкретной дате – например, к выходу регуляторных требований или маркетинговой кампании.
E-commerce традиционно сталкивается с тем же в сезон распродаж: от качества релиза здесь напрямую зависят продажи. Стартапы нередко вспоминают о тестировании вообще только перед демо для инвесторов
. А корпоративные системы уровня CRM или 1С не могут позволить себе запуститься «как получится» – цена ошибки слишком высока.
В итоге к нам приходят CTO, проектные менеджеры и продакты с одинаковым вопросом: можно ли за короткое время стабилизировать продукт и провести тестирование перед сдачей.
Их объединяет одно – они понимают, что риск выпускать сырой продукт слишком велик.
Типичные проблемы
На финальной стадии у таких проектов обычно всплывает одно и то же: базовые баги, которые почему-то не заметили разработчики, сбои на нагрузке, нестыковки в пользовательских сценариях и почти полное отсутствие тестовой документации. Разработчики не справляются по вполне понятной причине.
- во-первых, тестирование откладывалось «на потом»
- во-вторых, проверка велась силами тех же людей, что писали код, а значит, объективности ждать было сложно
- в-третьих, приоритет всегда отдавался фичам, а не сквозным сценариям
В итоге в самом конце накапливается хаос из багов и недоделок. И очень редко всё ограничивается «пару багов поправить». Чаще все-таки мы видим поломанные автотесты, которые никто не поддерживал, хаос в баг-трекере, плавающее ТЗ (которое за время разработки изменилось десятки раз), отсутствие регрессионного покрытия. API пашет «как получится», логирование минимальное, а тестовые данные ломаются прямо в процессе проверки.
Запросы клиентов при этом звучат по-разному:
«Не успеваем к дедлайну», «Нужен аудит и доведение до релиза», «Соберите критические сценарии и автоматизируйте smoke», «Дайте внешнего QA-лида, чтобы навести порядок и поставить quality-гейты».
Общий подтекст всегда один: команда устала, ресурсов мало, а отвечать перед бизнесом и пользователями придётся.
Ошибки, которые приводят к такому финалу
Мы видим повторяющийся сценарий, как я уже и писала выше… Разработчики тестировали сами, но не занимались обеспечением качества как процессом. Метрики не велись, документации нет (или она настолько поверхностная или запутанная, что лучше б ее не было), приоритеты расставлялись интуитивно. В итоге продукт «работает», но доверия к нему нет ни у команды, ни у заказчика.
1. Почему QA ≠ просто тестирование
Потому что тестирование всего лишь инструмент, а обеспечение качества – это подход. Если сравнить, тестирование «ловит баг», а QA «делает так, чтобы багов изначально было меньше и они не разрушали бизнес».
Тестирование отвечает на вопрос: «Работает ли эта кнопка?» QA отвечает на вопрос: «Ведёт ли продукт себя так, как нужно бизнесу и пользователю? И что мы можем сделать, чтобы проблем в будущем было меньше?»
Вот почему QA включает:
- анализ требований (чтобы не реализовали ерунду, которая никому не нужна или не так, как хотел заказчик),
- настройку процессов (как разработчики пишут код, как фиксируются баги, кто за что отвечает),
- выбор метрик (что мы меряем, по каким цифрам понимаем, что продукт стабилен),
- и, конечно, тестирование (ручное, автоматизированное, нагрузочное и пр.).
Когда нас зовут «в пожарном режиме» только протестировать, мы оказываемся в роли врачей, которых позвали не на плановый осмотр, а уже в реанимацию. Мы можем спасти, но это не заменяет нормального процесса заботы о продукте.
2. Почему важно вести метрики и документацию
Фраза выше про то, что «метрики не велись, документации нет» не наша придирка, это сигнал для бизнеса.
- Метрики показывают, где продукт реально находится. Сколько багов критичного уровня найдено за неделю? Как быстро их исправляют? Сколько регрессий появляется после каждого релиза? Если метрик нет, вы летите не то, что без карты по приборам, чисто на интуиции. Можно выпустить продукт, радостно аплодировать друг другу всей командой, а потом внезапно узнать, что пользователи массово уходят из-за ошибок, которые никто не измерял и не считал.
- Документация есть в принципе коллективная память проекта. Она нужна не ради бюрократии, а чтобы любой новый человек в команде мог быстро понять: что мы тестируем, какие сценарии критичны, какие баги уже были. Если документации нет или она кривая, каждый новый специалист начинает «с нуля». В результате теряется время, одни и те же ошибки повторяются снова и снова, а тестирование превращается в хаотичное тыканье по кнопкам.
Поэтому когда наши специалисты приходят на финальной стадии и видям, что метрик нет, документации нет, они честно говорт заказчику: «Да, мы протестируем, да, мы спасём релиз. Но если вы хотите, чтобы проект развивался без постоянных “форс-мажоров”, нужны ПРОЦЕССЫ». Это уже и есть QA в полном смысле. Система, где есть контроль, прозрачность и предсказуемость результата.
Наш подход
Первое, что мы делаем, – максимально быстро входим в контекст. У нас есть внутренний чек-лист: от анализа бизнес-потребностей и приоритетов до оценки окружений, API и тестовых данных. Этот процесс сжатый и прагматичный: мы не пишем три тома Войны и мира документации, а сразу вычленяем критическое.
Дальше – расстановка приоритетов. Иногда времени достаточно: полгода или год до релиза. Но раз уж сейчас м говорим про случаи, когда продукт нужно выпускать, допустим, через две недели, то… В таких условиях мы используем риск-ориентированное тестирование, концентрируясь на сценариях, которые потенциально могут принести бизнесу наибольший ущерб. Там на первом месте сценарии, влияющие на деньги и пользовательский опыт. Если нужно ускориться ещё больше, используем smoke-тесты, чтобы каждая сборка проходила хотя бы минимальную проверку и чтобы убедиться, что продукт хотя бы запускается и выполняет базовые функции. Иногда подключаем автоматизацию для самых повторяющихся и рискованных проверок, чтобы ускорить процесс.
Эффективность срочного тестирования перед релизом лучше всего подтверждают факты. Очень важный этап – переговоры с заказчиком. Он получает список найденных багов с приоритетами, оценку рисков и чёткие рекомендации. Мы никогда не ограничиваемся сухим отчётом, а показываем прямую связь: если исправить эти ошибки сейчас, компания сохранит деньги, репутацию и избежит проблем с клиентами. Мы честно обозначаем, что можем гарантировать, а что нет. Согласовываем план работ, трудозатраты и форматы отчётности. Для бизнеса это критично: прозрачность снижает тревогу и помогает всем понимать, что происходит.
Пример помощи в сдаче проекта заказчику
Ценность нашей работы мы показываем не громкими словами, а конкретными результатами. Один из показательных примеров – финтех-платформа, которая готовила запуск системы онлайн-страхования, обратилась к нам за две недели до релиза. За семь дней мы нашли критичные ошибки в оплате и расчётах тарифов. Количество дефектов на этапе приёмки снизилось на 90%, а компания сэкономила около четырёх миллионов рублей только на сокращении времени тестирования. Если бы релиз состоялся без исправлений, компания рисковала бы миллионами. Благодаря тестированию удалось избежать катастрофы, и запуск прошёл успешно.
Тренды и фишки из мира IT,
экспертные статьи и всё о тестировании.
Другой кейс – крупный интернет-магазин, e-commerce-платформа накануне «Чёрной пятницы». Мы провели срочное тестирование сайта и мобильного приложения, нашли узкие места в корзине и оформлении заказа под нагрузкой. После оптимизации система выдержала пиковую нагрузку в двести тысяч заказов в день без падений. В итоге запуск прошёл без сбоев, компания избежала потерь, которые могли составить до 30 миллионов рублей в день. Для бизнеса это и есть главный аргумент: ROI от инвестиций в QA перевалил за 1000%.
Как мы минимизируем риски
Главное правило – полная прозрачность. Мы всегда честно предупреждаем заказчиков: подключение QA на финальной стадии – это в прямом смысле пожарный режим, и стопроцентного покрытия тут быть не может. Не обещаем чудес, но показываем факты: вот объём покрытия, вот критические баги, вот что исправлено, вот что остаётся зоной риска. Еще одно правило – гибкость. Если специалист не вписывается в команду или подход не работает, мы быстро перестраиваемся. Третье – экспертиза. У нас нет «джуниоров на выезде», на такие проекты всегда приходят специалисты уровня мидл+ и выше.
Итог
Подключение на финале – не самый удобный формат ни для подрядчика, ни для заказчика. Но иногда это единственный способ спасти релиз и деньги бизнеса. Для нас такие проекты – проверка профессионализма. Для заказчика – страховка от катастрофы.
И, как показывает практика, иногда одно такое вмешательство окупается многократно: продукт выходит вовремя, бизнес сохраняет деньги, команда получает шанс выдохнуть. А у нас остаётся тихое удовлетворение от того, что в очередной раз «скорая QA-помощь» сработала вовремя.
Если вы сейчас готовите проект к сдаче и сомневаетесь, всё ли учли, у нас есть бесплатный гайд «Что проверить перед сдачей сайта клиенту?» (приёмочное тестирование). Скачать его можно в нашем Telegram-боте и пройтись по чек-листу перед релизом.