안녕하세요 Sixton 입니다. 오늘은 SQA(Software Quality Assurance)란 무엇인지에 대해 살펴보려고 합니다.
또한 소프트웨어의 품질을 보증하는 직무를 하는 SQA가 어떠한 일을 하는지 설명드리려고 합니다.
SQA란?
Software Quality Assurance의 약자로 소프트웨어 품질 보증을 하는 업무를 말합니다.
처음 품질보증을 요청한 내용을 함께 리뷰를 하고 테스트가 가능한지 여부등을 확인한 후 그 요구사항에 대한 개발을
한 Product에 대한 기능 테스트(Feature Test), 통합 테스트(Regression Test), 성능테스트(Performance Test)등 다양한 테스트를 진행하고 이것에 대한 오류관리(Defect Tracking) 및 통계관리 같은 일련의 작업을 통해 소프트웨어의 품질을 보증하고 향상 시키는 것에 그 목적이 있습니다.
그렇다면 SQA는 어떠한 일을 하는가에 대한 업무프로세스를 살펴보겠습니다.
릴리즈 테스트의 업무 프로세스
릴리즈 테스트는 다음과 같은 프로세스를 거쳐 완성됩니다. SQA의 역할에서 가장 중요한 점은 개발팀과의 원활한 커뮤니케이션으로 도구의 구현된 기능을 명확하게 파악하여야 하고 배포되기 직전까지 최대한 많은 결함을 검출하여 실제 릴리즈 시 제품의 품질을 높이는 데에 있습니다.
팀원과의 소통 또한 검출된 결함의 심각도를 결정하는 부분에 있어 중요한 부분을 차지하며 담당 QA의 역량과 커뮤니케이션 문제로 인해 제품의 릴리즈 시점을 기간내에 맞추지 못하게 되는 경우가 생기게 되어 주의해야 합니다.
아래 그림의 Reserved는 어떠한 시간적, 기술적 문제때문에 다음 릴리즈 시점까지 보류하는 TC또는 이슈의 상태이며, Blocked는 현재 보류된 기능으로 인하여 기능의 수행 결과를 확인하지 못하는 TC또는 이슈의 상태입니다.
여기까지 SQA(Software Quality Assurance)팀원으로써 사내도구 검증 시 어떠한 업무를 하는지에 대해 살펴보았습니다. 소프트웨어의 검증 분야가 아직 생소하게 느껴지시는 분들도 많겠지만 앞으로는 소프트웨어 제품을 개발하는 것이 중요한 만큼 개발된 제품의 품질을 보증하는 것 역시 굉장히 중요한 업무라고 생각되지 않으시나요?
어디까지나 제가 진행했던 프로젝트에 대한 개인적 견해이기 때문에 부족한 부분이 많겠지만 누군가에게는 도움이 되었으면 좋겠습니다. 이상 마치겠습니다.