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

Quality Assurance і Quality Control – ці терміни схожі на взаємозамінні, але різниця між забезпеченням якості і контролем якості все-таки є, хоча на практиці процеси і мають деяку схожість.

QA (Quality Assurance) – Забезпечення якості продукту

Перед початком розробки інженер QA встановлює вимоги до якості ПЗ. А вже до процесу забезпечення якості відносяться розробка, створення і випуск ПЗ з найменшою кількістю дефектів і помилок для кінцевого користувача. QA забезпечує такі методи і техніки для всіх учасників процесу, щоб в кінці випустити найкращий продукт.

До завдань забезпечення якості відносяться:

  • перевірка технічних характеристик і вимог до ПЗ;
  • оцінка ризиків;
  • планування завдань для поліпшення якості продукції;
  • підготовка документації, тестового оточення і даних;
  • тестування;
  • аналіз результатів тестування, а також складання звітів та інших документів.

До переваг QA відноситься структурованість ходу виконання роботи над ПЗ, тобто існують заздалегідь спланований план і завдання, які повинен виконати кожен фахівець що бере участь в процесі. Наприклад, тестувальник знає, на якому етапі необхідно починати тестування і слідує плану.

Перед початком контролю якості повинні бути визначені стандарти якості ПЗ та обсяг тестування.

QC (Quality Control) – Контроль якості продукту

До процесу відноситься аналіз результатів тестування, виявлення та усунення дефектів в ПЗ. QC визначає поточний стан продукту і якість виконаної роботи.

До завдань контролю якості відносяться:

  • перевірка готовності ПЗ до релізу;
  • перевірка відповідності вимог і якості даного проекту.

У разі, якщо виявлено велику кількість помилок, план розробки переглядається і виправляються помилки. Таким чином, QC стає зацикленим в процесі роботи над ПЗ.

Що стосується тестування, то воно не гарантує якість продукту, а лише його контролює на виконання стандартів безпеки та ефективності.

Таким чином, тестування орієнтоване на продукт і знаходиться в області контролю якості. З описаного вище можна зрозуміти, що QC і тестування є складовими для забезпечення якості продукту.

Складові тестування якості продукту
Різниця між забезпеченням якості і контролем якості в процесі розробки ПЗ

QA і QC не тільки тісно пов'язані між собою, але й доповнюють один одного. Різниця стає більш очевидною в процесі реалізації цих функцій:

  • забезпечення якості розробляється на стадії до реалізації продукту, коли сам процес пов'язаний тільки з аналітикою;
  • контроль якості розробляється на стадії, коли продукт вже частково готовий.

А ось самі QA і QC інженери перевіряють як працює кожен елемент продукту окремо, а також їх взаємодію, коли всі елементи зібрані.

Розробка якісного ПЗ, а також підтримання якості – це головне в життєвому циклі будь-якого продукту. Тому необхідно дотримуватися певних стандартів, щоб задовольнити вимоги замовника або користувача до програмного забезпечення.