Что такое QA (обеспечение качества) в контексте тестирования ПО?

Ответ

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

Ключевые отличия от QC (контроля качества):

  • QA (Assurance) — проактивный, процессо-ориентированный. Фокус на «строим ли мы продукт правильно?» (правильные процессы, стандарты, методологии).
  • QC (Control) — реактивный, продукт-ориентированный. Фокус на «построили ли мы продукт правильно?» (тестирование, инспекции готового продукта).

Основные активности QA:

  1. Управление процессами: Внедрение и соблюдение стандартов (например, ISO, CMMI).
  2. Аудит и ревью: Проверка процессов разработки, требований, кода.
  3. Тест-менеджмент: Планирование, оценка рисков, метрики качества.
  4. Профилактика: Обучение команды, анализ причин дефектов (RCA), улучшение циклов разработки.

Пример: Внедрение практики Code Review — это активность QA, так как она предотвращает появление багов на ранней стадии, улучшая процесс разработки.

Ответ 18+ 🔞

А, слушай, ну это ж классика, блядь! Все путают, сука, а разница-то — как между профилактикой и моргом, ёпта!

Вот смотри, QA — это как умный дядька, который ходит по стройке и орет: «Мужики, вы по проекту, блядь, кладёте? Арматуру, сука, не забыли? СНиПы читали, или я вам сейчас впендюрю?». Он предотвращает пиздец, чтобы потом стены не поехали. Процессы, стандарты, аудиты — вот это всё его царство. Фокус на вопросе: «Мы правильно, блядь, строим?».

А QC — это уже чувак с рулеткой и отвесом, который приходит, когда дом уже почти стоит. Тыкает в стены, кричит: «Ёбаный насос! Здесь, сука, трещина! А этот угол — семь градусов, пидарас шерстяной!». Он находит косяки в готовом продукте. Его вопрос: «Мы, блядь, правильно построили?».

Основные движухи QA, если по-простому:

  1. Управление процессами. Это когда он внедряет правила, типа «ребята, перед коммитом, блядь, запускайте линтер, а то я вам руки отъёбу».
  2. Аудит и ревью. Сидит, такой, смотрит на ваш код или план и матерится: «Нахуя тут 100500 if’ов? Ты дебил? Переделывай нахуй! И требования, блядь, где? Одни пожелания ебаные!».
  3. Тест-менеджмент. Не просто тесты гоняет, а думает: «А где у нас самое больное место? Где может быть овердохуища багов? Давайте туда ресурсы, блядь, кинем!».
  4. Профилактика. Устраивает разбор полётов после каждого ебаного релиза: «Почему, сука, сломалось? Кто виноват? Как сделать, чтобы в жопу больше не повторилось?». И учит всех, мудя.

Пример, чтобы вообще всё встало на свои места: Внедрение Code Review — это чистейшей воды QA. Потому что это не про «ой, баг нашли», а про «давайте, блядь, не будем в код всякую хуйню пихать изначально». Процесс улучшили — проблем предотвратили в рот меня чих-пых! Вот и вся философия.