Разбираемся на конкретных примерах, в чем разница и как выбрать подходящее решение для вашего ИТ-продукта
За много лет в ИТ я вижу, что за запросом «проверить качество продукта» могут стоять две разные задачи. Иногда бизнесу достаточно протестировать систему и убедиться, что она соответствует требованиям. Но если ошибки возникают регулярно, простое исправление дефектов не поможет — нужно искать причину в процессах и выстраивать полноценную систему обеспечения качества.
«Тестирование» и «обеспечение качества» часто используют как синонимы, но это не одно и то же. Давайте разберемся в этих понятиях.
Тестирование — это выборочная проверка продукта и его компонентов, задача которой — обнаружить и исправить дефекты.
Система обеспечения качества — более широкое понятие. Она подразумевает процессы, стандарты, правила, роли и инструменты, которые должны обеспечить необходимый уровень качества в ходе разработки и использования ИТ-продукта. Тестирование — только часть системы обеспечения качества продукта.
Различаются и результаты для бизнеса. При качественно организованном тестировании бизнес получает актуальный статус состояния продукта, список ошибок и информацию об «узких местах». Система обеспечения качества помогает оценивать риски и предотвращать ошибки и сбои на ранних этапах.
Ключевое различие между тестированием и системой обеспечения качества — в масштабе задач. Тестирование сосредоточено на самом продукте: специалисты проверяют, как он работает, находят дефекты и фиксируют их. Результатом становится оценка состояния конкретной версии или функциональности.
Система обеспечения качества охватывает не только продукт, но и процесс его создания. Она начинает работать уже на этапе формирования требований и организации разработки, контролируя весь жизненный цикл ИТ-продукта.
Отличается и подход к работе с ошибками. При тестировании задача — зафиксировать дефект и проверить исправление. Система обеспечения качества идет дальше: предотвращает ошибки, а если они появляются, помогает понять, что нужно изменить, чтобы они не повторялись.
Еще одна важная особенность системы качества — единообразие процессов работы для разных команд и специалистов. Без единой системы у каждой функции — разработки, аналитики и т. д. — складываются свои метрики и критерии оценки. Система качества задает единые стандарты для всех команд на каждом уровне. Благодаря этому качество оценивается одинаково на всех этапах работы над продуктом, а бизнес получает объективные и сопоставимые данные.
Тестирование подойдет в тех случаях, когда продукт небольшой и стабильный, редко меняется и не предполагает частых релизов. Вот несколько примеров:
В этих случаях в результате тестирования бизнес получает все необходимое: статус состояния продукта, список найденных ошибок, перечень узких мест. Одновременно возможный сбой не приводит к существенным финансовым и репутационным потерям.
Система обеспечения качества нужна при масштабировании продукта, частых релизах, одновременной работе нескольких команд. Там, где простого тестирования уже недостаточно, так как ошибка напрямую влияет на выручку или репутацию компании. К примеру:
При работе с такими продуктами и решениями система качества обеспечит бизнесу не только поиск ошибок, но и их предотвращение за счет анализа и постоянного улучшения процессов. Бизнес получает цельную картину: где качество действительно соответствует стандарту, где риски наиболее существенны, какие процессы требуют изменений.
Есть отрасли, где цена ошибки особенно высока — к продукту предъявляются жесткие требования, а от его надежности зависит лояльность пользователей. К отраслям, где система качества помогает избежать потерь и нужна как обязательное условие, относятся следующие:
В финансовых ИТ-продуктах регулярно меняется расчетная логика — комиссии, лимиты, конвертация, и каждое изменение требует проверки. Регулятор при этом требует контроля устойчивости и защищенности инфраструктуры. Система качества здесь берет на себя постоянный контроль изменений расчетной логики и регулярный аудит инфраструктуры на соответствие требованиям регулятора — до того, как несоответствие превратится в предписание или штраф.
Страховые тарификаторы содержат десятки комбинаций коэффициентов и условий. Для ряда продуктов, например электронных полисов ОСАГО, действуют прямые нормативы по допустимому простою сервиса — не более 30 минут и только в определенные ночные часы. Система качества обеспечивает мониторинг устойчивости в реальном времени и заранее выстроенные сценарии реагирования, которые не дают простою выйти за нормативные 30 минут.
В медицинской сфере нужно обеспечить интеграцию с государственными системами, маркировку товаров, обмен данными. Ошибки здесь могут привести к административному нарушению и штрафу. Система качества усиливает контроль именно тех точек интеграции с госсистемами, где чаще всего возникают расхождения, — и ловит их до того, как они станут основанием для проверки.
Похожие требования к устойчивости и надежности систем также есть в крупном ритейле и e-commerce, при разработке SaaS-платформ, которые постоянно обрастают новыми функциями.
Перед тем как нанимать подрядчика или собирать QA-отдел, определите, что нужно именно вашему продукту и на какой стадии он сейчас. Вначале я рекомендую посчитать цену ошибки в деньгах. Например, оценить, во что обходится час простоя или пропущенный баг именно для вашего продукта — в финансовых потерях, оттоке клиентов или репутации. Эта цифра должна определять, нужна ли вам система качества или достаточно просто тестирования.
Но даже если полноценная система пока не требуется, процессы тестирования не должны стоять на месте. Вот три принципа, которые помогают развивать их осознанно: