0. QA란 무엇인가?
QA(Quality Assurance, 품질보증)는 제품이나 서비스의 개발 초기 단계부터 최종 출시까지 전 과정에 참여하여 품질 요구사항을 만족하도록 프로세스를 관리하는 역활이다.
1. QA vs Testing
- QA → 품질을 만드는 프로세스를 관리 (예방 중심)
- Testing→ 제품의 결함을 검증하고 발견 (발견 중심)
즉, QA는 단순히 버그를 찾는 사람이 아니라 “버그가 덜 발생하도록 구조를 설계하는 사람” 이다.
2. QA의 본질(WHAT)
- 요구사항을 검증한다
- 무엇이 정상인지 정의
- 성공/실패 기준을 명확히 구분
- 모호한 요구사항 식별 및 개선 제안
- 리스크를 예측한다
- 어디에서 문제가 발생할 가능성이 높은지 분석
- 영향도 × 발생 가능성 기반 우선순위 설정
- 리스크 기반 테스트 수행
- 품질 기준을 정의한다
- 릴리즈 승인 기준 수립
- 테스트 커버리지 기준 설정
- 품질 지표 관리 (결함 밀도, 재오픈율 등)
- 프로세스를 개선한다
- 반복되는 결함 원인 분석
- 테스트 효율 향상 방안 제안
- Shift Left(초기 품질 개입) 실천
3. QA가 필요한 이유 (WHY)
- 비용 절감
- 결함은 늦게 발견될수록 비용이 기하급수적으로 증가
- 예방 비용 < 실패 비용
- 리스크 관리
- 서비스 장애, 보안 사고, 신뢰도 하락 방지
- 표준화와 재현성 확보
- 누구나 동일한 기준으로 검증 가능
- 팀 생산성 향상
- 명확한 요구사항과 기준은 재작업 감소로 이어짐
4. QA는 어떻게 일하는가? (HOW)
💡 요구사항 분석 → 테스트 계획 → 테스트 설계 → 테스트 실행 → 결함 관리 → 회고/개선※ 테스트 프로세스의 주요 활동은 논리적으로는 순차적이지만, 프로세스 내의 활동들은 중복되거나 동시에 발생할 수 있다.
① 요구사항 분석 (Requirement Analysis)
- 기획서, PRD, 스토리, API 명세서 등을 읽고 무엇을 검증해야 하는지 파악하는 단계
- 모호성 및 누락 식별
- 테스트 관점에서 질문 제기
② 테스트 계획 (Test Planning)
- 테스트 범위 정의
- 일정 및 인력 계획
- 테스트 환경 구성
- 리스크 분석
- 릴리즈 기준 정의
③ 테스트 설계 (Test Design)
- 테스트 케이스 작성
- 테스트 시나리오 구성
- 테스트 기법 활용
- 동등분할
- 경계값 분석
- 상태 전이
- 결정 테이블
④ 테스트 실행 (Test Execution)
- 테스트 수행
- 결과 기록
- 실패 케이스 분석
⑤ 결함 관리 (Defect Management)
- 버그 등록 및 재현 절차 명시
- Severity(심각도) / Priority(우선순위) 구분
- 수정 확인 (Regression Test)
- 재오픈 관리
⑥ 회고 & 프로세스 개선
- 결함 원인 분석
- 반복 문제 개선
- 테스트 전략 보완
5. QA는 언제 개입하는가? (WHEN)
소프트웨어 개발 과정에서는 테스팅이 개발 초기의 요구사항 분석 단계부터 리뷰와 정적분석을 통해 정적으로 시작될 수 있다.
각각의 개발 단계에 대응하는 테스트 레벨에 따른 테스팅이 이루어진다. 또한 개발 수명주기 모델(Life cycle model)에 기반하여 테스트 접근법을 다르게 적용해야 한다.
6. QA의 핵심 역량
- 논리적 사고 : 빠짐없이 생각하는 능력
- 의심하는 능력 : “정말 그럴까?”라고 묻는 태도
- 커뮤니케이션 : 버그는 말투 하나로 분위기 싸해질 수 있음
- 문서화 능력 : 테스트 케이스, 리포트, 지표 관리
- 시스템 이해력 : 웹, 앱, 네트워크, API 흐름 이해
7. QA 직무의 유형
회사에 따라 다르지만 크게 나누면:
1️⃣ Manual QA
- 테스트 케이스 기반 검증
- 릴리즈 전 점검
2️⃣ Automation QA
- 테스트 코드 작성
- CI/CD 연동
- 회귀 자동화
3️⃣ QA Engineer
- 테스트 전략 수립
- 품질 지표 관리
- 프로세스 개선
4️⃣ SDET
- 개발 + 자동화 설계 수행
- 테스트 프레임워크 구축
'SW QA' 카테고리의 다른 글
| 3. 테스트 설계 기법 (0) | 2026.03.10 |
|---|---|
| 2. 소프트웨어 수명주기와 테스팅 (0) | 2026.03.08 |
| 1. 소프트웨어 테스팅 기초 (0) | 2026.03.07 |