본문 바로가기
SW QA

SW QA 이해

by spare8433 2026. 2. 27.

0. QA란 무엇인가?

QA(Quality Assurance, 품질보증)는 제품이나 서비스의 개발 초기 단계부터 최종 출시까지 전 과정에 참여하여 품질 요구사항을 만족하도록 프로세스를 관리하는 역활이다.

1. QA vs Testing

  • QA → 품질을 만드는 프로세스를 관리 (예방 중심)
  • Testing→ 제품의 결함을 검증하고 발견 (발견 중심)

즉, QA는 단순히 버그를 찾는 사람이 아니라 “버그가 덜 발생하도록 구조를 설계하는 사람” 이다.


2. QA의 본질(WHAT)

  1. 요구사항을 검증한다
    • 무엇이 정상인지 정의
    • 성공/실패 기준을 명확히 구분
    • 모호한 요구사항 식별 및 개선 제안
  2. 리스크를 예측한다
    • 어디에서 문제가 발생할 가능성이 높은지 분석
    • 영향도 × 발생 가능성 기반 우선순위 설정
    • 리스크 기반 테스트 수행
  3. 품질 기준을 정의한다
    • 릴리즈 승인 기준 수립
    • 테스트 커버리지 기준 설정
    • 품질 지표 관리 (결함 밀도, 재오픈율 등)
  4. 프로세스를 개선한다
    • 반복되는 결함 원인 분석
    • 테스트 효율 향상 방안 제안
    • Shift Left(초기 품질 개입) 실천

3. QA가 필요한 이유 (WHY)

  1. 비용 절감
    • 결함은 늦게 발견될수록 비용이 기하급수적으로 증가
    • 예방 비용 < 실패 비용
  2. 리스크 관리
    • 서비스 장애, 보안 사고, 신뢰도 하락 방지
  3. 표준화와 재현성 확보
    • 누구나 동일한 기준으로 검증 가능
  4. 팀 생산성 향상
    • 명확한 요구사항과 기준은 재작업 감소로 이어짐

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