QA и QC: как их различать?
Если Вы никогда не сталкивались с такими понятиями, как Quality Assurance и Quality Control, на первый взгляд может показаться, что это один и тот же концепт, просто названный разными терминами. Однако это не совсем так. Есть целый список различий между QA и QC, и сегодня мы расскажем Вам как в них разбираться и больше никогда не путать.
Такие похожие, но такие разные
Действительно — и тот, и другой процессы направлены на улучшение качества продукта. Только вот используются QA и QC на разных этапах создания продукта, а также преследует несколько разные цели. Но давайте, для начала, разберемся с определением этих терминов.
QA (сокращение от английского «Quality Assurance», что переводится, как «обеспечение качества») это профилактический процесс, который обеспечивает соблюдение всех необходимых методов, процедур, стандартов и методов во время разработки продукта для достижения результата, максимально близкого к идеальному.
QC (сокращение от английского «Quality Control», что переводится, как «контроль качества») это процесс контроля качества, который обеспечивает соответствие продукции установленным заранее требованиям.
Таким образом, если QA нацелен на предотвращение дефектов на стадии тестирования, то QC устраняет недоработки и неполадки в уже готовом продукте.
Различия между Quality Assurance и Quality Control
С определением каждого из терминов мы разобрались, теперь давайте поговорим о том, что же еще отличает процесс обеспечения качества от процесса контроля качества.
Цель
Если в случае Quality Assurance главная цель — это улучшение процессов тестирования во избежание появления дефектов, то с Quality Control все куда проще — именно этот процесс ставит перед собой задачу выявления и устранения недостатков продукта на стадии пост-разработки.
Подход
Подход QA заключается во внедрении соответствующей системы управления качеством, оценке ее осуществимости и анализу всех сопутствующих действий, чтобы убедиться, что все работает так, как задумано. QC, в свою очередь, нацелен на выявление и ликвидацию источников проблем, напрямую влияющих на качество финального продукта, при поддержке специального оборудования.
Акцент
В процессе разработки, Quality Assurance львиную долю внимания уделяет предотвращению появления дефектов и багов, в то время как Quality Control акцентирует свою деятельность на тестировании уже готового продукта с целью выявления и устранения дефектов.
Направленность
Исходя из предыдущего пункта, можно смело сказать, что QA нацелен на процесс создания продукта, а QC — на уже готовый продукт.
Метод
Метод, использующийся QA, называется “профилактическим”. А действия, предпринимавшиеся отделом QC, можно назвать “корригирующими”.
Почему Quality Assurance Quality Control важны?
Наверняка Вам приходилось заходить на сайты онлайн магазинов с невероятно красивым дизайном и отличной графикой. Однако, при простом взаимодействии с функционалом сайта Вы, скорее всего, начинали замечать его недостатки — отсутствие кнопки “Вернуться наверх”, беспрерывно выскакивающие окна с просьбой ввода номера телефона для обратного звонка, неудобная форма оплаты, неработающие фильтры для сортировки товаров по определенным параметрам и другие.
Все эти, на первый взгляд, незначительные недоработки, напрямую влияют на качество пользовательского опыта и, соответственно, на успешность сайта. То, что не интуитивно понятно и неудобно — отталкивает пользователей и уменьшает вероятность того, что они снова вернутся на подобный ресурс.
Пример, описанный выше, доказывает важность таких процессов, как QA и QC. Именно благодаря этим процедурам релиз продукта будет иметь все шансы на достижение наилучших результатов, а также на привлечение новых лояльных клиентов и на последующее развитие и процветание.
Подведем итоги
Чтобы подытожить вышесказанное, будет полезно резюмировать различия процессов контроля качества и обеспечения качества.
- Quality Assurance — это профилактические меры, используемые на стадии разработки продукта, и направленные на предотвращение появления дефектов. Quality Control — это реактивные меры, работающие на этапе тестирования, и нацеленные на обнаружение и устранение багов и неполадок.
- За выполнение процедур QA отвечают все участники команды разработчиков в течение цикла процесса разработки ПО. За работу QC же отвечает исключительно команда тестировщиков, работающая на этапе тестирования программного обеспечения.
- Цель QA — предотвратить появление дефектов, цель QC — найти и ликвидировать уже имеющиеся дефекты продукта.
Независимо от отрасли и назначения Вашего продукта, будь то интернет магазин или приложение погоды, процессы Quality Assurance и Quality Control помогут Вам реализовать конкурентоспособный продукт без багов и дефектов, что будет способствовать успеху и развитию бизнеса наилучшим образом.
Если Вы столкнулись с необходимостью найти специалистов QA и QC — обращайтесь к Yojji. Наши консультанты помогут Вам подобрать специалистов, способных найти эффективные IT-решения для любого типа отрасли и продукта.
Тестировщик, QA и QC — в чем разница
Когда люди скачивают приложение или заходят на веб-сайт, они ожидают от программы определенного качества: удобно пользоваться, стабильно и быстро работает. Чтобы клиенты не ушли к конкурентам из-за того, что приложение «выкидывает на авторизацию» каждые 15 минут, разработчики стараются выпускать максимально качественные продукты.
Каждая компания определяет для себя стандарты качества и решает, насколько законченный продукт планирует выпускать в продакшн. В зависимости от потребностей и бюджета для поддержания стандартов нанимают QC-, QA-инженеров или тестировщиков.
Например, на одном из наших аутстаф-проектов работают два QA-инженера. Они участвуют во всех этапах разработки: от написания технического задания до релиза. Подробнее про проект в другой статье.
Здесь рассказываем, чем отличаются QC-, QA-инженеры и тестировщики. В конце статьи — сравнительные таблички, которые помогут понять, какой специалист нужен на проекте.
Чем занимается тестировщик
С первого раза написать программу, которая работает на 100% без багов, практически невозможно, поэтому перед релизом целого продукта или обновления функции тестируют.
Тестирование — завершающий этап разработки, перед релизом.
Так выглядит цикл разработки при подходе Waterfall. Подробно про методологии разработки, которые используем в OrbitSoft, написали в другой статье
Тестировщики занимаются только проверкой функций. В остальные процессы разработки не вникают, причины ошибок не анализируют. Обычно они проверяют пользовательские сценарии по готовым чек-листам и ищут несоответствия между тем, что реализовали разработчики и что было в требованиях заказчика.
Например, нужно проверить лендинг с формой для обратной связи. Тестировщик полностью имитирует действия пользователя: заходит на сайт, пишет в форму e-mail, имя и нажимает «отправить». Если форма работает как должна, отмечает в чек-листе, что тест пройден. Если форма не работает или работает не так, как написано в требованиях, отмечает, что тест не пройден. Тестировщик не проверяет, что отвечает сервер, просто описывает шаги воспроизведения ошибки в баг-репорте.
Баг-репорт — отчет об ошибке в Jira. Он нужен, чтобы разработчики знали, на каком шаге возникла ошибка и что нужно исправить
В отделе по обеспечению качества тестировщик — новичок в профессии. У него нет глубоких технических знаний и нужна помощь опытного наставника. Уровня знаний тестировщика хватает для проектов-прототипов, где достаточно добиться уровня MVP. Для проверки гипотезы нет необходимости тратить бюджет на квалифицированных QC- и QA-инженеров.
В компаниях, где нет тестировщика, его роль может временно исполнять любой из сотрудников, который хорошо знает требования к продукту. Прототипы или фичи для внутреннего пользования нередко тестируют сотрудники, которые заказывали разработку.
Чем занимается QC-инженер
QC — это контроль качества. QC engineer, как и тестировщик, подключается к проекту, когда разработка завершена. Он проверяет, что продукт получился таким, как хотел заказчик.
У QC больше знаний и навыков, чем у тестировщика: он сам составляет чек-листы, может проанализировать ответ сервера. Это самостоятельный и нередко опытный сотрудник, которому не требуется наставник.
Задачи инженера по контролю качества:
- составляет чек-листы и тест-кейсы на основе требований, которые написал аналитик;
- тестирует продукт на соответствие требованиям;
- иногда проводит регрессионное тестирование — если это нужно на проекте и если у QC достаточно знаний;
- иногда анализирует причины ошибок через логи сервера — зависит от уровня: junior или middle;
- может проводить проверки с помощью автотестов — если позволяет квалификация, умеет запускать автотесты и анализировать результат;
- создает отчеты об ошибках — баг-репорты.
Основная задача QC — тестировать, поэтому их часто называют QC-тестировщиками.
Процесс работы QC с новыми функциями обычно выглядит так
Если в процессе тестирования QC находит баги, он оформляет баг-репорт и возвращает задачу разработчику. После исправления снова тестирует и, если все корректно, передает в релиз.
Чем занимается QA-инженер
QA — обеспечение качества. QA engineer — специалист, который помогает выпускать качественный продукт. Он участвует во всех этапах работы над проектом: аналитика, разработка, тестирование, проверка функций в проде, помощь техподдержке в нахождении причин багов.
У QA-инженера больше технических знаний и обязанностей на проекте, чем у QC и тестировщика
Задачи инженера по обеспечению качества:
- анализирует требования и дает рекомендации аналитику;
- пишет документацию по проекту: план тестирования, чек-листы, тест-кейсы, составляет отчеты по итогам проверок;
- проверяет новые функции на соответствие требованиям заказчика и ожиданиям пользователей;
- проводит регрессионное тестирование всего сервиса, чтобы убедиться, что новые функции никак не поменяли работу других разделов;
- проводит проверки с помощью автотестов. Некоторые QA могут писать несложные автотесты самостоятельно;
- если находят ошибки, ставят задачи на доработку программистам;
- после релиза дополнительно тестируют обновления в проде — среде с реальными, не тестовыми данными;
- ищут причины ошибок, когда пользователи обращаются с проблемой в техподдержку.
Частично работа QA совпадает с QC. Например, QA тоже тестирует фичу на соответствие требованиям заказчика. Обычно QA проводит больше тестов, чем QC, — не только функциональные, но и нефункциональные, хорошо умеет тестировать бэк.
Пример функционального теста: можно ли выставить нужные проценты, двигая ползунок. Пример нефункционального теста: насколько легко выбрать нужный процент с помощью ползунка, насколько быстро ползунок двигается
Какие еще тесты проводят QA, мы подробно описали в статье «Как QA-инженеры тестируют системы в OrbitSoft».
Когда на проекте нужен тестировщик, QA, а когда — QC
QC знает и может больше, чем тестировщик. А QA — еще больше, чем QC. Но это не означает, что всем нужны только QA. Для разных проектов нужны разные специалисты.
Тестировщик, как правило, новичок в профессии, которому нужен наставник. QA, QC — специалисты одного уровня, но с разным набором навыков. Свою работу middle QC знает хорошо, но выполнить задачи сверх этого не сможет. Например, QC вряд ли сможет заметить ошибку в логике на этапе проектирования. Не все QC умеют запускать автотесты.
Кто нужен на проекте, зависит от комбинации факторов: тип проекта, стандарты качества, бюджет.
Обязанности разных специалистов по качеству
QA, QC, Testing.

Многие начинающие специалисты считают, что все эти термины об одном и том же. Но так ли это на самом деле? Давайте разберемся.
Все эти три термина явно связаны с обеспечением качества продукта. Однако, обеспечивают они его по-разному. И понимание данной разницы поможет еще больше осознать место тестировщика в процессе обеспечения качества.
Quality Assurance (QA, обеспечение качества) — это совокупность мероприятий, охватывающих все технологические этапы разработки, выпуска и эксплуатации программного обеспечения (ПО) информационных систем, предпринимаемых на разных стадиях жизненного цикла ПО, для обеспечения требуемого уровня качества выпускаемого продукта.
То есть это комплекс работ, направленный на создание и выпуск качественного продукта. Данная область затрагивает все этапы жизненного цикла продукта: от описания самого продукта до тестирования.
Специалист QA создает и реализует различные тактики для повышения качества на всех стадиях: подготовка и установка стандартов, анализ качества, выбор инструментов, предотвращение ошибок и постоянное усовершенствование процесса. То есть он собирает информацию о продукте и думает о том, как можно улучшить процесс разработки, какие методики внедрить/убрать в работе всех участников процесса: разработчиков, аналитиков и т.д.
Основная задача — продумать и построить процессы разработки так, чтобы продукт был качественным и чтобы в нем было как можно меньше багов. При этом необходимо стараться рационально расходовать финансовые, временные и человеческие ресурсы.
Quality Control (QC, контроль качества) — это совокупность действий, проводимых над продуктом в процессе разработки, для получения информации о его актуальном состоянии в разрезах: «готовность продукта к выпуску», «соответствие зафиксированным требованиям», «соответствие заявленному уровню качества продукта».
Специалист QC занимается анализом результатов тестирования и устранением обнаруженных дефектов. Это позволяет обеспечить соответствие продукта определенным требованиям, установленным на этапе обеспечения качества (QA).
Основная задача — анализировать. Специалист анализирует результаты тестирования, сам процесс поиска ошибок и как они устранялись. Это специалист, который может сказать, готов продукт к релизу или нет.
Testing (тестирование) — это уже непосредственно процесс проверки результатов работы на соответствие установленным требованиям.
Тестировщик — это специалист, который занимается такой проверкой. То есть занимается реализацией того, что было запланировано на уровне QA.
Основная задача — проверка соответствия продукта установленным требованиям.
_______
Получается, что QA — самое обширное понятие, которое включает в себя понятие QC. QC, в свою очередь, включает в себя понятие Testing. И в итоге мы получаем своеобразную “матрешку”:
Testing — конкретные действия по проверки качества продукта.
QC — контроль за данными действиями.
QA — планирование того, как сделать продукт качественным.
То есть непосредственно тестирует продукт, используя различные техники тестирования, именно специалист на уровне Testing. Другие уровни — не про непосредственное тестирование, а про его планирование и контроль.
Иногда (особенно в небольших фирмах) в должностные обязанности «тестировщика» входят обязанности из всех трех областей обеспечения качества. То есть все три роли может выполнять один специалист.
(!)Важное отступление. При поиске работы не стоит заострять внимание на название вакансии. Нередко менеджеры по персоналу пишут название, не зная отличия между этими тремя терминами. Поэтому всегда обращайте внимание на описание обязанностей конкретной вакансии.
Qa и qc в чем разница

События
- Тестирование
- Основы
- Откуда берутся ошибки в ПО?
- Почему тестирование необходимо?
- Мифы о тестировании
- Психология тестирования
- Когда начинать и заканчивать тестирование?
- Фундаментальный процесс тестирования
- Принципы тестирования
- Верификация и валидация
- QA, QC и тестирование
- Кто занимается тестированием?
- Цели тестирования
- Что такое тестирование программного обеспечения?
- Роль тестирования в процессе разработки ПО
- Сколько стоят дефекты?
- Качество программного обеспечения (ISO/IEC 25010)
- Матрица соответствия требований (Requirements Traceability Matrix)
- Матрица покрытия и Матрица отслеживания
- Тестирование веб-проектов: основные этапы и советы.
- Мобильное и веб-приложение. В чем разница?
- Тест дизайн (Test Design)
- Agile
- Словарь тестировщика
- 75 популярных вопросов на собеседовании QA (+ примеры и ответы)
- HTML и CSS для тестировщиков
- Итеративная модель (Iterative model)
- Спиральная модель (Spiral model)
- V-модель (V-model)
- Каскадная модель (Waterfall model)
- Стадии цикла разработки ПО
- Жизненный цикл ПО
- Приемочное тестирование
- Системное тестирование
- Интеграционное тестирование
- Модульное тестирование
- White/Black/Grey Box-тестирование
- Статическое и динамическое тестирование
- Ручное и автоматизированное
- Тестирование документации
- Интернационализация и локализация
- Стресс тестирование
- Тестирование установки
- Конфигурационное тестирование
- Тестирование на отказ и восстановление
- Юзабилити
- Тестирование сборки
- Тестирование взаимодействия
- Тестирование безопасности
- Дымное тестирование
- Регрессионное тестирование
- Тестирование производительности
- Функциональное тестирование
- Нефункциональное тестирование
- Спецификация требований
- Test Plan
- Checklists для тестировщика
- Test Case
- Bug report
- Жизненный цикл дефектов
- Классификация дефектов
- Тестирование мобильных приложений
- Протоколы
- Протокол TCP/IP или как работает Интернет (для новичков)
- HTTP-запрос (HTTP request)
- Автоматизация
- Автоматизированное тестирование
- Теория по X-Path локаторам
- Как написать X-Path локатор.
- Использование tagname
- Вложенность родительского элемента.
- Как выбрать инструмент автоматизации?
- Базы данных в тестировании
- Зачем нужен SQL для тестирования?
- Общее
- Интерфейс в коде ПО
- Парадигмы программирования «ООП»
- Процесс коммуникации с помощью API
- Рефакторинг Кода
- Фреймворк в программировании
- Микросервисная архитектура ПО.
- Монолитная архитектура ПО.
- Что такое API?
- Что такое JSON
- Что не так с Android?
- Android Studio 2.0
- RxJava
- Основы
- Внутренний мир компьютера: что там внутри
QA, QC и тестирование
Так в чем же разница между QA и тестированием, и что такое Quality Control?
Многие люди до сих пор путают эти понятия, что, в общем-то, и не удивительно, принимая во внимание, что в нашей стране они зачастую могут использоваться для описания одних и тех же процессов. Но с формальной точки зрения, а именно она нас, как специалистов и интересует, эти три понятия имеют существенно отличающиеся значения.
Можно оформить их соотношение в виде таблицы:

Таким образом, мы можем построить модель иерархии процессов обеспечения качества: Тестирование – часть QC. QC – часть QA.

Иными словами, Quality Assurance обеспечивает правильность и предсказуемость процесса, в то время как Quality Control предполагает контроль соблюдения требований. Тестирование же, в свою очередь, обеспечивает сбор статистических данных и внесение их в документы, созданные в рамках QC-процесса.
Если провести аналогию с процессом конструирования, скажем, велосипеда, получим такую картину:
- с помощью тестирования мы можем определить, работают ли все детали и сам велосипед в целом так, как мы ожидаем. Из правильных ли материалов он сделан, с применением нужных методик и инструментов или нет. То есть, подразумевается, что тестируемый объект уже существует.
- задачей же QA является обеспечение соответствия всех этапов конструирования нашего велосипеда определенным стандартам качества, начиная с планирования и создания чертежей и заканчивая сборкой уже готового велосипеда. То есть, качеству объекта внимание уделяется еще до создания самого объекта.
- Выбери курс для обучения
- Тестирование
- Базовый модуль тестирования
- Тестирование ПО
- Тестирование WEB-сервисов
- Тестирование мобильных приложений
- Тестирование нагрузки с JMeter
- Расширенный модуль автоматизации тестирования
- Автоматизация тестирования с Selenium WebDriver (Python)
- Автоматизация тестирования с Selenium WebDriver (Java)
- Автоматизация тестирования с Selenium WebDriver (C#)
- Автоматизация тестирования на JavaScript
- Java для автоматизаторов
- Fullstack Web Developer
- Java
- Python
- JavaScript
- HTML5 И CSS3
- Полный стек разработки на фреймворке Laravel
- Разработка CMS на основе PHP
- Git для автоматизаторов
- Практический SQL
- Основы Unix и сети
- WEB-серверы и WEB-сервисы
- Создание проекта автоматизации и написания UI тестов
- Составление комбинированных тестов UI и API. Написание BDD тестов
- IT Project Manager
- HR-менеджер в ИТ-компании
- Как правильно составить резюме и пройти собеседование
- Подготовка к сертификации ISTQB Foundation Level на основе Syllabus Version 2018
- Тестирование
- Базовый модуль тестирования
- Тестирование
- Основы