Тестирование, обеспечение качества и контроль качества: в чём разница?

19 ноября 2019
testirovanie-QA-QC-v-chyom-raznica

Тестирование и обеспечение качества (Quality Assurance, QA) для многих «братья-близнецы», отличить которые друг от друга может только специалист IT-сферы. Несмотря на их взаимосвязь, это совершенно разные термины. Кроме того, их нельзя путать с третьим понятием – контролем качества (Quality Control, QC).

В сегодняшней статье мы расскажем подробнее о каждом из вышеперечисленных видов деятельности и окончательно расставим все точки над i в этом вопросе.

Тестирование vs. обеспечение качества

Так в чем же различие между этими понятиями и почему тестировщиков часто называют специалистами в сфере QA?

Обеспечение качества, в сравнении с тестированием, является более широким понятием. QA помогает оценить правильность протекания технологических процессов на всех этапах разработки ПО для обеспечения его высокого качества.

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

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

Обобщим:

  1. Тестировщик работает с продуктом как с результатом (т. е. он предполагает, что именно эта версия ПО попадёт в руки конечного пользователя).
  2. QA-инженер работает с продуктом, который находится в процессе создания (т. е. у ПО ещё нет конечной версии).

Зачастую профессии тестировщика ПО и QA-инженера воспринимаются тождественно, однако в выполняемых специалистами задачах существует ряд отличий.

Особенности обеспечения качества

Процесс QA включает в себя подготовку плана тестирования, планирование и проведение тестирования, а также управление его результатами. Это помогает определить требования как для разработки ПО, так и для проверки его качества.

В обязанности QA-инженера зачастую входят:

  • детализация требований к системе;
  • подготовка тестов и сам процесс тестирования;
  • поиск и фиксирование дефектов;
  • контроль исправления багов;
  • документирование дефектов.

В работе QA-инженера также очень много коммуникации, в том числе с заказчиком. Но не стоит пугаться. В зависимости от компании и проекта часть обязанностей QA-инженер может разделять с бизнес-аналитиками, техническими писателями или тестировщиками, поэтому одна из отличительных черт процесса QA – вовлечённость всей проектной команды.

QA-инженер

Исходя из этого, соотношение работы QA-инженера по планированию и по тестированию может сильно отличаться.

Что нужно знать о контроле качества?

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

По сравнению с QA контроль качества требует больше времени и может быть выполнен только после этапа обеспечения качества.

Чтобы процесс контроля качества прошёл максимально эффективно, на проекте нужно:

  • установить требования и стандарты;
  • определить перечень мероприятий по контролю качества;
  • собрать реальные данные и проанализировать их.

Если выявляется отклонение, его корректируют, а процедуру повторяют. QC нужен, чтобы убедиться, что все внесённые изменения дали нужные результаты.

Таким образом, основная задача контроля качества – предоставлять информацию о текущем качестве программного продукта на всех этапах разработки.

Что же тогда делает тестировщик?

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

Тестирование ПО

В действительности так сложилось, что должности тестировщика и QA-инженера стали синонимами. Даже в документации для заказчика тестировщики обычно записываются как QA Engineers, хотя, как мы уже поняли, выполняемые ими функции отличаются.

Сейчас в большинстве случаев специалисты начинают свою карьеру в IT именно с позиции junior-тестировщика. Это одна из самых лёгких и быстрых точек входа, особенно после прохождения курсов по тестированию ПО. Именно junior-специалисты тестируют разработку по готовым сценариям, в то время как их middle- и senior-коллеги ответственны за разработку планов и тест-кейсов.

Подведём итог

Несмотря на всю разницу между такими понятиями, как обеспечение качества, контроль качества и тестирование, у них есть общая цель, а именно, выпустить высококачественное ПО, которое сможет удовлетворить потребности потенциального пользователя.

Пока не изобрели способ, как создать идеальное ПО, но изобрели методы, которые позволяют свести вероятность ошибок к минимуму и предотвратить их появление. Именно такими методами и являются обеспечение качества, контроль качества и тестирование.