IT 업계에서 일하다 보면 QA(Quality Assurance)라는 말을 한 번쯤 들어보게 됩니다. 그런데 QA를 처음 접하는 분들은 QC(Quality Control)라는 용어와 헷갈리는 경우가 많습니다.
저도 처음에는 “둘 다 제품의 품질을 확인하는 거 아닌가?”라는 생각을 했는데요. 실제 업무에서 들여다보면 QA와 QC는 비슷해 보이지만 목적과 접근 방식이 조금 다릅니다.
오늘은 QA가 처음인 분들도 이해하기 쉽도록 두 개념의 차이를 정리해 보겠습니다.
QA란 무엇일까?
QA는 Quality Assurance, 즉 품질 보증을 의미합니다.
쉽게 말하면 제품에 문제가 발생한 뒤 찾아내는 것보다 처음부터 문제가 발생하지 않도록 과정 자체를 관리하는 것에 가깝습니다.
소프트웨어 개발을 예로 들어볼게요.
새로운 앱을 만든다고 했을 때 QA는 단순히 완성된 앱을 실행해 보고 “버그가 있나?”만 확인하지 않습니다.
요구사항이 제대로 정의되어 있는지, 개발된 기능이 요구사항과 일치하는지, 테스트 계획은 어떻게 세울지, 어떤 환경에서 테스트해야 하는지 등을 함께 살펴봅니다.
즉, 제품이 만들어지는 전체 과정에서 품질을 높이는 것이 QA의 핵심이라고 볼 수 있습니다.
그렇다면 QC는 무엇일까?
QC는 Quality Control, 즉 품질 관리를 의미합니다.
QA가 품질을 높이기 위한 과정과 예방에 초점을 맞춘다면, QC는 만들어진 제품이나 결과물을 실제로 확인하면서 문제가 있는지를 찾아내고 관리하는 것에 더 가깝습니다.
예를 들어 쇼핑몰 앱에서 결제 기능이 새롭게 개발됐다고 생각해 보겠습니다.
QA 관점에서는 요구사항과 테스트 계획을 확인하고 어떤 상황을 테스트해야 할지 준비합니다.
반면 QC 관점에서는 실제 앱에서 결제를 진행하면서
- 정상적으로 결제가 되는지
- 결제 금액이 올바르게 표시되는지
- 결제 실패 시 오류 메시지가 나타나는지
- 주문 내역에 정상적으로 기록되는지
등을 직접 확인할 수 있습니다.
QA와 QC의 가장 큰 차이
간단하게 정리하면 다음과 같습니다.
QA = 문제가 발생하지 않도록 예방하고 품질을 높이는 과정
QC = 완성된 결과물을 확인하고 문제를 찾아내는 활동
물론 실제 소프트웨어 회사에서는 QA와 QC를 칼로 자르듯 완전히 분리해서 사용하지 않는 경우도 많습니다. 회사마다 업무 범위와 용어를 사용하는 방식도 조금씩 다릅니다.
그래서 실무에서는 QA 담당자가 테스트를 수행하면서 버그를 발견하고, 테스트 프로세스 자체를 개선하는 업무까지 함께 담당하는 경우가 많습니다.
쉽게 비유하면 이해가 더 쉽습니다
자동차를 만든다고 생각해 볼까요?
QA는 자동차가 만들어지는 과정에서 설계부터 생산 과정까지 문제가 발생하지 않도록 관리하는 것에 가깝습니다.
QC는 생산된 자동차를 실제로 검사하면서 불량이 있는지 확인하는 것이라고 생각하면 쉽습니다.
결국 둘 다 최종적인 목표는 같습니다.
바로 좋은 품질의 제품을 만드는 것입니다.
다만 QA는 예방과 과정, QC는 검사와 결과에 조금 더 초점이 있다고 이해하면 처음 공부하는 단계에서는 충분합니다.
QA를 공부한다면 QC도 알아두자
QA 직무를 준비하고 있다면 QA만 공부하기보다 QC와의 차이도 함께 알아두는 것을 추천합니다.
특히 소프트웨어 QA에서는 테스트 케이스 작성, 테스트 시나리오, 버그 리포트, 회귀 테스트 등 다양한 개념을 접하게 되는데요.
처음에는 용어가 많아서 어렵게 느껴질 수 있습니다.
하지만 하나씩 살펴보면 결국 핵심은 간단합니다.
“사용자가 제품을 사용할 때 문제가 없도록 어떻게 품질을 확보할 것인가?”
이 질문에서 QA에 대한 대부분의 이야기가 시작됩니다.
앞으로 QA를 공부할 예정이라면 다음 단계로 테스트 케이스와 테스트 시나리오의 차이부터 알아보는 것도 좋습니다. 이 두 가지는 실제 QA 업무에서도 자주 접하게 되는 기본 개념이기 때문입니다.