Найти тему
RocketBrain

Разница между тестированием, QC и QA

Оглавление

Сегодня хочу рассмотреть разницу между тестированием, контролем качества (QC) и обеспечением качества (QA).

Статья будет полезна тем, кто начинает свой путь в тестировании.

Если лень читать - смотрите видео :)

Наверняка, если вы уже смотрели вакансии в тестировании, заметили, что многие вакансии тестировщика называются QA инженер или QA специалист. Давайте разберемся, что это значит.

Сферу тестирования можно разделить на 3 условных уровня.

Testing (тестирование)

Включает в себя прохождение тест кейсов, обнаружение и оформление дефектов.

Общая схема тестирования выглядит примерно так:

  • Тестировщик получает продукт и требования на входе
  • Пишет сам или получает уже готовые тест кейсы
  • Проверяет тест кейсы и оформляет дефекты (баги), если находит их

Т.е. это самое настоящее тестирование в самом прямом смысле слова.

Quality control (контроль качества)

Cотрудник отдела контроля качества следит за тем, чтобы обеспечить соответствие продукта (программы / приложения / сайта) требованиям.

Представьте себя на заводе, где изготавливаются детали. Ваша задача - оценить готова ли деталь к выпуску, или ее нужно отправить на доработку.

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

-2

Quality Assurance (обеспечение качества)

И вот мы добрались до QA.

QA специалист следит за всем процессом разработки продукта (не только за тестированием). Его задача - найти слабые места на проекте и устранить их.

Проще всего разобрать на примере.

Есть проблема на проекте - плохое качество выпускаемого продукта.

QA начинается разбираться, чтобы понять причину. Пообщавшись с командой, он понимает, что на проекте отсутствует грамотное планирование. Новые фичи (функции) берутся в работу без предварительной оценки трудозатрат, и команда “в мыле” пытается успеть к указанному сроку.

В итоге разработчики в спешке допускают много ошибок, а тестировщики не успевают проверить все тестовые сценарии.

Решение - внедрить оценку трудозатрат новых фич и планирование на основе этих трудозатрат.

-3

Или другой пример.

После анализа оказалось, что причина плохого качества в том, что разработчики меняют код после финальной проверки тестировщиков. Т.е. тестировщики проверили одну версию продукта, а в релиз вышла другая, которую никто не проверял. В таком случае можно ввести ограничения на изменение кода перед релизом, когда никто не может обновить код без согласия тестировщиков.

QA ищет истинные причины серьезных ошибок и пытается их устранить при помощи команды проекта. Иногда это “лечится” более тщательным тестированием, иногда изменением процесса, иногда архитектурными улучшениями продукта. В любом случае QA очень полезная роль для проекта, потому что благодаря ему улучшается качество продукта, процессы становятся более правильными и прозрачными, минимизируется риск срыва или переноса релиза.

Testing неразрывно связан с QC, обычно отдел тестирования - это как раз Testing+QC. А вот QA роли на проекте может и не быть. Часто только зрелые компании выделяют роль и даже целый отдел QA. Если в вашей компании нет QA - вы вполне можете им стать :)

Почему же так много вакансий QA специалистов? Дело в том, что многие не знают разницы и под QA специалистами подразумевают обычных тестировщиков. Поэтому смотрите описание вакансии. Если там написание, проверка тест кейсов и заведение багов - это на самом деле не QA, а Testing.