Возможно ли обеспечение качества только за счёт команды QA?
Это скорее риторический вопрос. Несмотря на то, что команда QA или отдельный специалист часто называются группой обеспечения качества или инженером по обеспечению качества, сама попытка обеспечить качество исключительно за счёт тестирования обречена на провал.
Это похоже на попытки справиться с нагрузкой, бесконечно наращивая серверные мощности. Но все прекрасно знают, что у такого подхода есть предел, поэтому существует множество архитектурных решений, позволяющих масштабироваться горизонтально. Однако человеческий ресурс пока остаётся самым востребованным в нашей сфере.
Обеспечение качества — это комплексный процесс, который начинается с самых ранних этапов разработки ПО.
- Качественный анализ рынка — понимание потребностей пользователей и прогнозирование их ожиданий.
- Качественная аналитика — это не просто проработка нового решения, а тщательное сопоставление бизнес-требований с возможностями системы. Иногда уже существующий функционал можно адаптировать под новые задачи, что уменьшает объём кода и, как следствие, количество багов. Разве это не повышение качества?
- Качественный дизайн — и речь не только о UI, но и об API. Продуманный дизайн без избыточности, с грамотной обработкой ошибок, творит чудеса.
- Качественная разработка — и здесь, снова повторюсь, важны юнит-тесты. Не знаю почему, но разработчики часто избегают их написания. А ведь именно юнит-тесты стоят на передовой, когда абстрактные идеи превращаются в реальный продукт.
- Качественное тестирование — осознанные действия QA-инженеров, которые понимают, какие атрибуты продукта критичны, а какие — нет. Тестирование включает множество аспектов: исследовательское, автоматизированное, нагрузочное, тестирование безопасности и многое другое — в зависимости от контекста.
- Качественная доставка (delivery) — здесь ключевую роль играют DevOps-инженеры, которым важно не только разбираться в инфраструктуре, но и вникать в процессы до и после релиза, постоянно улучшая их.
- Качественная поддержка — после релиза работа не заканчивается. Нужно собирать обратную связь, анализировать её и передавать команде. Важны мониторинг и алертинг, которые помогают не только устранять, но и предупреждать проблемы.
Видите, как много раз встречается слово «качество»? Тестирование — лишь один из этапов. Только слаженная работа на всех уровнях гарантирует настоящее обеспечение качества.
P.S. Замечено: деградация одного уровня со временем приводит к деградации всей системы. Если видите подобные проблемы — устраняйте их как можно быстрее, пока «зараза» не распространилась :)