중급약 10시간 (예상)
테스트 설계 기법
명세 기반(동등분할·경계값·상태전이·결정테이블·페어와이즈), 구조 기반(구문·분기·조건·MC-DC), 경험 기반 기법을 상황에 맞게 골라 쓴다.
★ 가장 중요한 기초. 이후 모든 모듈이 여기서 배운 기법을 전제한다.
학습 목표
이 모듈을 마치면 요구사항 하나를 받았을 때 "어떤 기법으로, 몇 개의 케이스를 만들 것인가"를 스스로 결정할 수 있다. 명세 기반(블랙박스), 구조 기반(화이트박스), 경험 기반 세 갈래를 전부 다루되, 실무에서 가장 자주 쓰는 명세 기반 기법(동등분할·경계값·상태전이·결정테이블· 페어와이즈)에 가장 많은 시간을 쓴다.
완료 후 할 수 있는 것
- 입력이 사실상 무한한 필드를 동등분할로 유한한 대표값 집합으로 줄일 수 있다
- 경계값 분석으로
>/>=같은 코드 수준의 흔한 버그를 예측하고 겨냥할 수 있다 - 상태가 있는 화면(장바구니, 주문 상태 등)을 상태 전이 다이어그램으로 모델링할 수 있다
- 여러 옵션 조합을 페어와이즈 기법과 도구(PICT 등)로 압축해 테스트할 수 있다
- 커버리지 지표(구문·분기·조건·MC-DC)를 읽고, 코드 리뷰에서 테스트 공백을 지적할 수 있다
- AI가 생성한 테스트 케이스에서 빠진 경계·창작된 요구사항을 스스로 찾아낼 수 있다
채용시장에서의 위치
QA 채용공고 대부분이 "테스트 케이스 설계 기법 이해"를 명시적으로 요구하고, 면접에서 "이 입력 필드의 TC를 설계해보라"는 형태로 실제로 손으로 풀리는 경우가 많다. 이 모듈은 이 커리큘럼 전체에서 유일하게 ⭐ 표시가 붙은 "가장 중요한 기초"이기도 하다 — 이후 자동화(모듈 11~14)와 AI 교차검증(모듈 18-C)에서 "테스트가 무엇을 검증하는지"를 판단하는 근거가 전부 여기서 나온다.
관련 도구도 함께 알아둔다.
| 구분 | 도구 |
|---|---|
| 페어와이즈 조합 | PICT (Microsoft), Allpairs, JENNY |
| 분류 트리 기법 | TESTONA |
| 구조 기반 커버리지 | SonarQube, VectorCAST, Test RealTime, LDRA |
실무에서는 "이 기법을 안다"보다 "왜 이 케이스를 선택했는지 근거를 설명할 수 있다"가 평가받는다. 20개를 무작정 넣는 사람과, 6개로 같은 커버리지를 설명하는 사람의 차이가 바로 이 모듈의 내용이다.