SP'S SPARKING

CSTS '페어와이즈(Pairwise) 기법' 최소 케이스 수 세기 완전 정복 + 예시 문 본문

정보

CSTS '페어와이즈(Pairwise) 기법' 최소 케이스 수 세기 완전 정복 + 예시 문

SPSP 2026. 2. 26. 11:08

소프트웨어 테스트 전문가(CSTS) 자격시험을 준비하다 보면 계산 문제에서 가장 먼저 마주치는 난관이 바로 페어와이즈(Pairwise) 기법입니다. 처음에는 "그냥 다 곱하면 되는 것 아닌가?" 싶지만, 공부를 할수록 인자의 개수에 따라 정답이 달라지는 지점에서 혼란이 오기 마련입니다. 직접 문제를 풀며 깨달은 핵심 정리와 효율적인 계산법을 공유합니다.


1. 왜 모든 조합을 테스트하지 않는가?

현대 소프트웨어는 수많은 설정값과 옵션이 존재합니다. 예를 들어 옵션이 5개이고 각각의 선택지가 3개씩만 있어도 전체 조합은 3^5 = 243개가 됩니다. 이를 모두 테스트하는 것은 현실적으로 불가능합니다.

통계에 따르면, 소프트웨어의 결함은 단일 인자의 문제보다는 두 인자 사이의 상호작용에서 발생하는 경우가 압도적으로 많습니다. 페어와이즈 기법은 바로 이 지점에서 출발합니다. "모든 조합을 다 할 수는 없으니, 최소한 두 개의 인자가 만나는 모든 '쌍(Pair)'만이라도 테스트하자"는 전략입니다.


2. 페어와이즈 계산의 두 가지 황금 규칙

공부하면서 가장 헷갈렸던 '최소 테스트 케이스 개수' 구하기는 인자의 개수를 먼저 확인하는 것에서 시작합니다.

규칙 1: 인자가 딱 2개일 때 (특수 상황)

가장 많은 선택지를 가진 인자의 개수가 곧 최소 테스트 케이스의 개수입니다.

  • 상황: 운영체제(3가지)와 브라우저(2가지)를 테스트할 때.
  • 논리: 3가지 운영체제(Windows, Linux, macOS)를 한 번씩은 다 써봐야 테스트가 성립합니다. 이 3번의 테스트 동안 브라우저 2종을 번갈아 끼워 넣으면 모든 쌍이 자연스럽게 커버됩니다.
  • 정답: 3개 (3x2=6이 아님에 주의!)

규칙 2: 인자가 3개 이상일 때 (일반적인 시험 유형)

가장 선택지가 많은 '두 가지 인자'의 개수를 서로 곱합니다.

  • 상황: 모드(2가지), 설정(2가지), 전원(2가지)인 경우.
  • 논리: (모드-설정), (설정-전원), (모드-전원)이라는 세 쌍의 관계를 모두 만족시켜야 합니다. 이 경우 가장 큰 두 값의 곱인
    2 x 2 = 4가 모든 쌍을 담을 수 있는 최소한의 그릇이 됩니다.
  • 정답: 4개

3. 실전 예시로 복습하기

실제로 제가 풀었던 예시들을 통해 유형별로 익혀보겠습니다.

예시 A: 스마트폰 옵션 (인자가 3개 이상)

  • 기종: 아이폰, 갤럭시, 픽셀 (3개)
  • 색상: 화이트, 블랙 (2개)
  • 용량: 128GB, 256GB (2개)
  • 계산: 인자가 3개이므로 가장 큰 두 수 3(기종) x 2(색상/용량) = 6.
  • 결과: 전체 조합 12개 대비 50%의 테스트를 절감하면서도 모든 쌍을 검증할 수 있습니다.

예시 B: 의류 검색 필터 (인자가 많고 선택지도 다양한 경우)

  • 카테고리: 상의, 하의, 아우터 (3개)
  • 색상: 빨강, 파랑, 노랑, 초록 (4개)
  • 사이즈: S, M, L, XL (4개)
  • 계산: 인자가 3개이므로 가장 큰 두 수 4(색상) x 4(사이즈) = 16.
  • 결과: 전체 조합은 48개(3 x 4 x 4)이지만, 단 16번의 테스트로 '상의-빨강', '빨강-XL' 같은 모든 쌍의 관계를 확인할 수 있습니다.

4. 주의할 점과 팁

CSTS 시험에서는 간혹 "전체 조합 대비 몇 회의 테스트를 줄일 수 있는가?"를 묻기도 합니다. 이때는 (전체 곱한 값) - (페어와이즈 결과)를 계산하면 됩니다.

또한, 인자의 개수가 4개, 5개로 늘어나더라도 당황하지 마세요. 페어와이즈의 논리는 늘 동일합니다.

 

"가장 큰 그릇 두 개를 먼저 채우고, 나머지는 그 안에 끼워 넣는다"라고 생각하면 N x M 공식이 왜 나오는지 이해가 빠를 것입니다.


오늘 정리한 계산법만 명확히 알고 있어도 CSTS 구조 기반/블랙박스 테스트 파트에서 점수를 잃을 일은 없을 것입니다. 모두 열공하셔서 좋은 결과 있으시길 바랍니다!

 

+ 

 

페어와이즈(Pairwise) 기법의 최소 테스트 케이스 개수를 구하는 추가 연습 문제 10개를 드릴게요. 이번 문제를 다 풀고 나면 어떤 조합이 나와도 당황하지 않으실 거예요. 모두 펜 준비.


페어와이즈 최소 개수 연습 문제 (10문항)

공식 다시 확인: 가장 큰 선택지(값)를 가진 두 인자의 개수를 서로 곱한다! (N x M) 만약 인자가 3개일 경우, 가장 큰 값 하나가 정답.

  1. 커피 머신 옵션
    • 사이즈: Small, Medium, Large (3가지)
    • 온도: Hot, Ice (2가지)
    • 최소 개수: ( )개
  2. 로그인 보안 테스트
    • 인증 방식: 비밀번호, 지문, 패턴, 안면인식 (4가지)
    • 네트워크: 데이터, Wi-Fi (2가지)
    • 최소 개수: ( ) 개
  3. 의류 쇼핑몰 검색
    • 카테고리: 상의, 하의, 아우터 (3가지)
    • 색상: 빨강, 파랑, 노랑, 초록 (4가지)
    • 사이즈: S, M, L, XL (4가지)
    • 최소 개수: ( ) 개
  4. 자동차 구성
    • 모델: 세단, SUV (2가지)
    • 연료: 가솔린, 디젤, 전기, 하이브리드 (4가지)
    • 구동 방식: 2WD, 4WD (2가지)
    • 최소 개수: ( ) 개
  5. 게임 캐릭터 생성
    • 종족: 인간, 엘프, 오크 (3가지)
    • 직업: 전사, 마법사, 궁수 (3가지)
    • 성별: 남, 여 (2가지)
    • 최소 개수: ( ) 개
  6. 스마트 워치 설정
    • 알림: 켬, 끔 (2가지)
    • 밝기: 1단계, 2단계, 3단계, 4단계, 5단계 (5가지)
    • 손목 방향: 왼쪽, 오른쪽 (2가지)
    • 최소 개수: ( ) 개
  7. 피자 주문 서비스
    • 도우: 씬, 치즈크러스트, 오리지널 (3가지)
    • 토핑: 페퍼로니, 불고기, 야채 (3가지)
    • 음료: 콜라, 사이다, 에이드 (3가지)
    • 최소 개수: ( ) 개
  8. 항공권 예약 시스템
    • 좌석: 이코노미, 비즈니스, 퍼스트 (3가지)
    • 유형: 편도, 왕복 (2가지)
    • 결제: 카드, 현금, 포인트 (3가지)
    • 최소 개수: ( ) 개
  9. 모바일 게임 그래픽 설정
    • 해상도: 낮음, 보통, 높음 (3가지)
    • 프레임: 30 fps, 60 fps (2가지)
    • 안티앨리어싱: 적용, 미적용 (2가지)
    • 그림자: 유, 무 (2가지)
    • 최소 개수: ( ) 개
  10. 병원 예약 시스템
    • 진료과: 내과, 외과, 소아과, 치과 (4가지)
    • 예약 시간: 오전, 오후 (2가지)
    • 첫 방문 여부: 예, 아니요 (2가지)
    • 최소 개수: ( ) 개





정답 및 해설

번호 정답 해설 (가장 큰 두 값의 곱)
1 6개 3 x 2 = 6
2 8개 4 x 2 = 8
3 16개 4 x 4 = 16 (색상과 사이즈가 모두 4가지이므로)
4 8개 4 x 2 = 8 (인자가 3개여도 큰 값 두 개 기준)
5 9개 3 x 3 = 9
6 10개 5 x 2 = 10
7 9개 3 x 3 = 9
8 9개 3 x 3 = 9
9 6개 3 x 2 = 6 (인자가 아무리 많아져도 기준은 동일)
10 8개 4 x 2 = 8


 

+

468쪽 65번 문제 분석

먼저 문제의 조건(인자와 값)을 다시 확인해 보겠습니다.

인자(Parameter) 값(Value) 1 값(Value) 2
모드 취사 보온
설정 현미 백미
전원 ON OFF

 

인자 구성: 모드(취사/보온), 설정(현미/백미), 전원(ON/OFF)

 

1) 모든 조합(All Combinations)의 경우

모든 경우를 다 테스트한다면 2(모드) x 2(설정) x 2(전원) = 8개의 테스트 케이스가 나옵니다.

 

2) 페어와이즈(Pairwise)의 경우

 

이 문제처럼 모든 인자의 값 개수가 2개로 같을 때는, 가장 값이 많은 인자 2개의 곱이 최소 테스트 케이스 개수가 됩니다. 여기서는 모든 인자의 값이 2개이니, 2 X 2 = 4개가 됩니다.

 

페어와이즈의 목표는 "어떤 두 인자를 뽑아도 그 사이의 조합은 다 해본다"입니다. 즉, (모드, 설정), (설정, 전원), (모드, 전원) 이 세 쌍의 가능한 조합이 테스트 케이스 안에 모두 포함되어야 합니다.

 

4개의 케이스만으로 어떻게 모든 쌍을 커버하는지 확인해 볼까요?

TC 번호 모드 설정 전원 비고 (커버되는 쌍 예시)
1 취사 현미 ON (취사, 현미), (현미, ON), (취사, ON)
2 취사 백미 OFF (취사, 백미), (백미, OFF), (취사, OFF)
3 보온 현미 OFF (보온, 현미), (현미, OFF), (보온, OFF)
4 보온 백미 ON (보온, 백미), (백미, ON), (보온, ON)

 

확인: (취사, 보온) 중 하나와 (현미, 백미) 중 하나가 만나는 모든 조합(취사-현미, 취사-백미, 보온-현미, 보온-백미)이 위 4개 케이스 안에 다 들어있나요?

 

네, 모두 포함되어 있습니다. 설정-전원, 모드-전원 관계도 마찬가지입니다.