Для чего нужны QA и QC?

«Для чего нужны QA и QC?» — вопрос из категории Основы тестирования, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

QA (Quality Assurance, Обеспечение качества) и QC (Quality Control, Контроль качества) — это две взаимодополняющие дисциплины в жизненном цикле разработки ПО, направленные на достижение высокого качества продукта, но с разными фокусами и методами.

QA — это процессо-ориентированный, превентивный подход. Его цель — предотвратить дефекты путем улучшения и контроля процессов разработки.

  • Что делает QA-инженер: Разрабатывает и внедряет процессы (например, стандарты кодирования, процедуры code review, стратегии тестирования, CI/CD-пайплайны).
  • Пример из практики: Я внедрял практику проведения требований к тестированию (Test Basis Review) перед началом тест-дизайна, что позволило выявить и устранить двусмысленности в спецификациях на ранней стадии, сократив количество багов, связанных с неверной интерпретацией.

QC — это продукто-ориентированный, реактивный подход. Его цель — выявить дефекты в готовом артефакте (коде, сборке).

  • Что делает QC-инженер (тестировщик): Непосредственно выполняет тестирование — пишет и запускает тест-кейсы, проводит ручные проверки, анализирует результаты, регистрирует баги.
  • Пример из практики: На проекте мы использовали комбинацию ручного исследовательского тестирования новых функций и набора автоматизированных регрессионных тестов на Selenium для проверки критического пути основного сценария покупки. Это позволило быстро находить регрессии после каждого билда.

Итог: QA строит систему, которая минимизирует появление багов, а QC в рамках этой системы находит те баги, которые всё же просочились. Эффективная команда сочетает оба подхода.