Ответ
QA (Quality Assurance, Обеспечение качества) и QC (Quality Control, Контроль качества) — это взаимодополняющие, но разные подходы к качеству в разработке ПО.
| Аспект | Quality Assurance (QA) | Quality Control (QC) |
|---|---|---|
| Фокус | Процесс. Предотвращение дефектов через улучшение процессов разработки и тестирования. | Продукт. Выявление дефектов в готовом артефакте (коде, сборке). |
| Цель | Создать условия, при которых баги не возникают. | Найти баги, которые уже есть в продукте. |
| Подход | Проактивный (упреждающий). | Реактивный (исправляющий). |
| Деятельность | Планирование, создание стандартов, внедрение методологий (Agile, DevOps), аудит процессов, выбор инструментов. | Непосредственное тестирование: ручное, автоматизированное, нагрузочное; ревью кода; инспекции. |
| Временные рамки | На протяжении всего жизненного цикла разработки (SDLC). | Преимущественно на этапе тестирования готового функционала. |
Практические примеры:
-
QA (обеспечение качества):
- Внедрение практики Code Review для повышения качества кода.
- Настройка CI/CD-пайплайна с автоматическим запуском тестов.
- Проведение ретроспектив для анализа и улучшения рабочих процессов.
- Создание чек-листов и стандартов для тестирования.
-
QC (контроль качества):
- Ручное тестирование новой функциональности по тест-кейсам.
- Запуск набора регрессионных автотестов перед релизом.
- Проверка вёрстки на соответствие макетам.
- Нагрузочное тестирование API с помощью JMeter.
Простая аналогия: Пекарня.
- QA — это рецепты, обучение пекарей, контроль закупки ингредиентов, чистотой цеха (процессы).
- QC — это проверка каждого испеченного пирога на вес, вкус и внешний вид (продукт).
Ответ 18+ 🔞
Давай разложим эту хуйню по полочкам, а то народ путается, как слепой кот в сортире. QA и QC — это как два брата-близнеца, но один думает, как не накосячить, а второй ищет, где уже накосячили.
Смотри, таблица, чтоб глаза не разбегались:
| Штука | Quality Assurance (QA) | Quality Control (QC) |
|---|---|---|
| Куда смотрит | На процессы. Чтоб всё текло, как по маслу, и баги даже не думали рождаться. | На продукт. Берёт готовую фигню и выискивает в ней косяки. |
| Чего хочет | Создать такой мир, где баги просто физически не могут появиться. Утопия, блядь. | Найти и тыкнуть носом во все баги, которые уже успели вылезти. |
| Как работает | Проактивно. Бегает впереди паровоза и стелет соломку. | Реактивно. Приходит, когда уже всё готово, и начинает тыкать палкой. |
| Чем занимается | Планирует, пишет стандарты, внедряет всякие Agile/DevOps, проводит аудиты — в общем, мозговой штурм. | Тестирует вручную, пишет и гоняет автотесты, долбит нагрузкой, ревьюит код — работа ручками. |
| Когда орет | На протяжении всего цикла разработки, от идеи до помойки. | В основном на этапе тестирования, когда уже есть что ломать. |
Примеры из жизни, чтоб вообще всё встало на свои места:
-
QA (Обеспечение качества, он же стратег):
- Внедряет Code Review, чтоб код не выглядел как пёс лапой написал. Это ж профилактика, ёпта!
- Настраивает CI/CD-пайплайн, который сам всё собирает и тесты гоняет. Чтоб не забыли, блядь.
- Проводит ретроспективы, где все орут друг на друга, а в итоге процесс чуть-чуть улучшается.
- Пишет чек-листы и стандарты, чтоб тестировщики не тестировали кто во что горазд.
-
QC (Контроль качества, он же сапёр):
- Ручное тестирование новой фичи. Тыкает во все кнопки, включая те, в которые тыкать не надо.
- Запускает регрессионные автотесты перед релизом. Автомат проверит, не развалили ли мы то, что работало вчера.
- Сверяет вёрстку с макетом. "А почему тут отступ на два пикселя больше, а, дизайнер, сука?"
- Гоняет нагрузку на JMeter, чтоб понять, выдержит ли сервак, когда на него набегут все пользователи разом.
Аналогия про пекарню, окончательно добивающая:
- QA — это шеф-повар, который пишет рецепты, закупает качественную муку, следит, чтобы печи не дымили, а пекари мыли руки. Процессы, блядь.
- QC — это контролёр, который хватает каждый испечённый каравай, стучит по нему, нюхает, отламывает кусок и смотрит, не гнилой ли он внутри. Продукт.
Короче, без QA будет бардак, в котором даже искать баги неудобно. А без QC можно наделать такого, что пользователи тебя самого в печь отправят. Работают в паре, как тапёр и пианист.