Quality Assurance

QA 이란? 품질 보증이 필요한 이유와 하는 역할

돗개진 2025. 5. 2. 13:33

 

QA (Quality Assurance) 란?

QA는 Qaulity Assurance (품질 보증) 의 약자로 소프트웨어가 정의된 요구사항과 품질 기준에 부합하도록 보장하는 활동 전반을 의미한다. 단순히 오류를 찾아내는 것이 아니라 제품이 사용자 기대에 부합하도록 프로세스를 설계 및 관리하는 체계적 접근이다. (오류가 없는 소프트웨어 =/= 사용자가 만족하는 소프트웨어)


 

품질 보증이 필요한 이유

  • 결함 사전 예방
  • 사용자 신뢰 확보
  • 비용 절감

 

품질 보증이 필요한 이유는 크게 세 가지로 나뉜다. 하나의 소프트웨어를 기획할 당시 목표한 기능과 목적에 달성하도록 개발하기만 하면 그만이라고 생각하기 쉽상이다. 하지만 개발된 소프트웨어를 사용자들에게 실제로 배포한 뒤 많은 문제점들이 발견되면 그 이후의 비용은 감당하기 어려워질 수 있다. 이를 방지하기 위한 활동이 바로 품질 보증 활동이라고 할 수 있다.

 

 

결함 사전 예방 목적

- QA는 테스트 뿐 아니라 요구사항 분석부터 배포 전까지의 전체 개발 프로세스에서 결함이 발생할 수 있는 지점을 사전에 식별하고 방지하는 역할을 한다

 

사용자 신뢰 확보

- 오류나 문제 없는 제품을 통해 사용자 만족도와 신뢰도를 확보할 수 있다. 이는 브랜드 가치와 직결된다.

 

비용 절감

- 개발 후반이나 운영 단계에서 발견되는 버그는 수정 비용이 크다. QA는 이를 조기에 발견해 전체 비용을 절감하는 데 기여한다.

 


 

반드시 필요한 QA의 주요 역할

  • 요구사항 검토 및 분석
  • 테스트 케이스 설계 및 실행
  • 결함 관리 및 보고
  • 프로세스 개선 제안

소프트웨어의 결함을 조기에 발견하여 빠르게 수정하고 반영한 뒤 품질을 향상하고 이러한 행위를 반복해 실제 사용자를 포함한 모든 이해 관계자들이 납득할 만한 수준의 소프트웨어를 만들기 위해 QA는 어떤 역할을 수행하는지 알 필요가 있다.

 

 

요구사항 검토 및 분석

요구사항이 명확하고 테스트 가능하도록 정의되었는지 검토하고 문제를 조기에 제기한다.

 

테스트 케이스 설계 및 실행

기능 요구사항에 기반한 체계적인 테스트 시나리오를 설계하고 테스트를 수행하여 결함 여부를 확인한다.

 

결함 관리 및 보고

테스트 중 발견된 결함을 정확히 기록하고 재현 가능한 방식으로 보고하여 개발자와 소통한다

 

프로세스 개선 제안

테스트 결과 및 프로젝트 경험을 기반으로 개발 및 품질 관리 프로세스 개선을 위한 제안을 수행한다.

 


 

오늘의 인사이트

QA는 단순한 '테스트'를 수행하는 것이 아니라 소프트웨어 개발 전 과정의 '품질을 보장'하는 책임자라는 점이 인상 깊었다. 결함을 발견하는 것도 중요하지만 결함이 발생하지 않도록 만드는 예방 중심의 사고방식이 핵심임을 이해했다. 현재 내가 수행하는 업무는 QA 보단 QC에 가까운 테스트 중점 업무이지만 QA에 대한 학습을 꾸준히 이어나가며 QA 엔지니어가 될 것이다.