본문으로 건너뛰기
중급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개로 같은 커버리지를 설명하는 사람의 차이가 바로 이 모듈의 내용이다.

레슨 (1개)

  1. 입문25

    명세 기반 기법 (1) 동등분할과 경계값 분석

    무한한 입력을 유한한 테스트로 줄이는 두 기본 기법. 경계에서 결함이 나오는 이유를 코드 수준에서 이해한다.