QA

최준근·2023년 3월 1일
1

QA

목록 보기
1/5

1. QA란?

QA는 텍스트품질보증을 뜻하는 Quality Assurance의 약어입니다.
서비스의 품질보증 관련 업무를 하는 것으로, 서비스의 기능을 검증하고 관리하기 위한 일련의 활동을 합니다. 조직,프로젝트의 규모가 작은 경우 개발자가 직접 기능 검증을 진행하기도 하지만, 규모가 큰 경우엔 QA를 전담으로 하는 팀을 구성해서 운영하기도 합니다.
QA = Tester라고 생각하는 분들이 많지만, QA는 단순히 서비스의 기능 테스트만 하는 것이 아닙니다.
QA는 소프트웨어나 제품의 설계 단계 부터 릴리즈 단계까지 전 단계를 참여하여 각 단계별로 품질을 저하시키거나 리소스가 낭비될 수 있는 요소를 발견한 뒤, 해당 소프트웨어 혹은 제품의 품질을 향상시키고 리소스 낭비를 방지하는 것을 목적으로 합니다.

2. 일반적으로QA가 하는 일?

킥오프참여
회사마다 QA가 투입되는 시기는 다를 수 있지만 주로 QA는 킥오프(Kick-off)단계부터 참여합니다.
단순히 버그를 찾기 위한 것이 아니라 프로젝트의 방향성, 목적, 요구사항 등 프로젝트의 근본적인 목적을 명확히 파악해야 올바른 검증을 진행할 수 있기 때문입니다. 또한 초기 단계에서 발생할 수 있는 오류를 사전에 파악하여 낭비될 수 있는 리소스를 줄일 수 있습니다.
아래는 Kick off부터 Sign off까지의 대체적인 순서입니다.

분석 & QA Plan 작성

킥오프가 진행 된 이후에는 기획서를 분석하여 프로젝트 수행 시 발생할 수 있는 리스크를 예상해 보고 테스트 전략을 수립하게됩니다.
이후에는 QA Plan 또는 테스트 계획이라고도 하는 문서를 작성합니다. QA Plan은 테스트를 하기 위해 필요한 리소스들을 요약해놓은 문서로, QA가 정해진 프로세스대로 업무를 수행하기 위한 청사진 역할을 합니다. 이 안에서 테스트의 명확한 기준을 세워 원하는 방향으로 테스트가 진핼될 수 있도록 합니다.
이 문서는 테스트를 수행하는 도중 변경되기도 하는 등 지속적으로 관리됩니다.

QA Plan

1. 요약
2. 프로젝트명
3. 프로젝트 자료
    3.1. 기획서
    3.2. 디자인
    3.3. Test case
    3.4. Test data
4. 참여자
5. 배포되는 버전
6. QA 기간
    6.1. Test case 작성 기간
    6.2. 테스트 기간
    6.3. Sign off 날짜
    6.4. 배포 요청일
    6.5. 모니터링
7. 테스트 범위
8. 테스트 제외 범위
9. 품질 목표 설정
10. 테스트 종료 조건 설정
11. 테스트 환경
    11.1. 디바이스
    11.2. OS 버전
12. 테스트 요청사항 

테스트 케이스 작성

QA Plan이 작성되었다면 TC(test case)를 작성합니다. 테스트 케이스를 작성하는 과정에서 요구사항에 대한 오류를 찾을 수도 있고 고려되지 않았던 부분을 찾아낼 수 있습니다. 또한 케이스 리뷰과정을 통해 팀 구성원들에게는 테스트 케이스 적정성을 점검하고 잘못된 이해로 인한 오류도 점검할 수 있습니다.
아래는 TC(test case) 예시입니다.

테스트 데이터와 환경준비

테스트 케이스 작성과 리뷰가 완료되었다면, 본격적으로 테스트에 들어가기에 앞서 테스트 데이터와 환경을 준비해야합니다. 테스트를 수행하기 위한 기본 데이터들을 정리하고 어떤 환경에서 테스트가 시작될지를 미리 준비하는 과정입니다. 테스트를 위한 데이터의 예로는 테스트 계정, 계정에 따른 권한 등이 있을 수 있고 테스트 환경은 테스트 서버 설정이 포함됩니다.

테스트 수행 & 버그 리포트 작성

본격적으로 테스트 수행을 시작하게 되면 준비된 테스트 케이스 외에도 탐색적 테스트, ad-hoc 테스트를 통해 이슈를 발견할 수 있습니다. 이때 발견한 이슈들을 구두로만 개발자와 주고받게 된다면 히스토리 관리가 힘들어질 수 있습니다. 이런 불편함을 줄이고 프로젝트 이슈들을 관리하기 위해 버그 리포트를 작성합니다.

버그 리포트에는 다음 내용들이 포함됩니다.

[버그리포트 제목]

- 발생환경(os 버전, 앱/웹 버전, 서버)
- 재현율
- 이슈 설명
- 사전 조건
- 재현 절차
- 예상 결과
- 담당 부서
- 우선순위/심각도
- 발생 버전/ 수정 버전
- 이슈 카테고리
- 첨부파일

테스트 결과 공유

테스트가 완료되고 나면 결과를 정리하여 프로젝트 구성원들에게 공유합니다. QA Plan에서 정한 품질 목표를 달성하여 릴리즈가 가능한 상태인지를 알려주고 테스트 수행 결과와 품질 목표 달성에 따른 판단결과, 테스트 진행하면서 발생한 이슈 현황들에 대한 정보를 담고 있습니다.

QA가 수행하는 단계마다 산출물이 발생하고 있고 이 산출물들은 QA가 프로젝트를 수행함에 있어 어떤 업무를 수행하고 어떻게 진행해야 하는지 방향을 알려주는 표지판 역할을 하게됩니다.

profile
느려도 좋으니 꾸준하게

0개의 댓글