В чём разница между QA и QC в тестировании программного обеспечения?

Ответ

QA (Quality Assurance) и QC (Quality Control) — это взаимодополняющие, но различные компоненты управления качеством.

Аспект QA (Обеспечение качества) QC (Контроль качества)
Фокус Процессы разработки Продукт (готовое ПО)
Подход Проактивный (предотвращение дефектов) Реактивный (обнаружение дефектов)
Цель Улучшить процессы, чтобы дефекты не возникали Найти дефекты в уже созданном продукте
Деятельность Планирование, аудиты, обучение, внедрение стандартов Тестирование, инспекции, ревью кода
Вопрос «Строим ли мы продукт ПРАВИЛЬНЫМ способом?» «Построили ли мы продукт ПРАВИЛЬНО?»

Аналогия из производства:

  • QA — это создание инструкций, обучение рабочих, калибровка станков (процессы).
  • QC — это проверка готовых деталей на конвейере браковщиком (продукт).

На практике: Эффективная команда использует оба подхода: QA создаёт надежные процессы (например, TDD, CI/CD), а QC (тестировщики) в рамках этих процессов проверяют результат.

Ответ 18+ 🔞

А, слушай, вот эта вся хуйня про QA и QC — это ж классика, про которую каждый второй менеджер несёт какую-то ахинею, а на деле-то всё просто, блядь.

Представь себе, что мы не софт делаем, а, допустим, пельмени лепим на продажу, да? Так вот:

QA (Обеспечение качества) — это когда ты, блядь, проактивный гений. Ты не ждёшь, пока в пельмени начнут заворачивать тараканов и мышиный говнец. Ты заранее, сука, пишешь инструкцию: "Муку просеять, мясо свежее, руки мыть, волосы под колпак". Ты обучаешь бабушек-лепщиц, калибруешь скалку, внедряешь стандарт "ровно 15 защипов на пельмень". Ты аудиты проводишь: "Маруся, ты чё, опять без перчаток? Иди нахуй с конвейера!" Вопрос QA: "Мы вообще ПРАВИЛЬНО организуем этот пиздец, чтобы пельмени были съедобными?"

А QC (Контроль качества) — это уже реактивная история. Продукт готов. Вот он, сука, замороженный пельмень лежит. Берёт его тётка-браковщица (наш тестировщик), смотрит: "Ага, 15 защипов есть". Взвешивает: "Вес норм". Затем, ёпта, варит три штуки в кипятке — не разлезлись ли? Пробует на вкус: "О, бля, а здесь хрящ попал, нахуй так нельзя! Дефект! В брак!" Вопрос QC: "А этот КОНКРЕТНЫЙ пельмень мы сделали ПРАВИЛЬНО?"

Шняга QA (Обеспечение) QC (Контроль)
Куда смотрит На процессы — как мы работаем На продукт — что у нас получилось
Как действует Проактивно — чтобы говна не было Реактивно — чтобы найденное говно выкинуть
Чего хочет Улучшить ВСЁ, чтобы дефекты даже не рождались Найти ВСЕ косяки в уже готовой хуйне
Чем занимается Планы, стандарты, обучение, аудиты Тесты, проверки, ревью, "а давайте попробуем сломать"

На практике, ебать, так: Умная команда использует и то, и другое, иначе — пиздец. QA говорит: "Давайте писать код с тестами (TDD), и пусть он сам собирается и проверяется (CI/CD), чтобы меньше говна в мастер попадало". А QC (эти герои-тестировщики) в рамках этих налаженных процессов уже выискивают то, что всё-таки просочилось: "Опа, а эта кнопка на 4К мониторе, блядь, съехала в никуда! Баг!"

Без QA — ты тушишь пожар ведрами говна, которое сам же и произвёл. Без QC — ты уверен, что твой процесс идеален, и выпускаешь в мир неведомую хуйню. Вместе — это, блядь, и есть нормальная работа.