| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 벌루닝
- 코포나시럽
- 탄수화물소화
- 내일부터출근
- 캐나다 Amtrax
- 지역변수전역변수
- 미국에서 밴쿠버가기
- 생물학습
- 자료형정리
- 인덱싱슬라이싱
- Amtrax
- sum함수원리
- 코딩독학
- 코딩연습문제
- 한외마약
- 리스트수정삭제
- 코딩입문
- 코딩교과서
- Amtrax후기
- 파이썬독학
- break와continue
- 파이썬합계구하기
- 초코만두
- 홀짝판별
- 파이썬기초
- 거미줄의비밀
- 연산자연습문제
- 미국 Amtrax
- 데이터누적
- 튜플언패킹
- Today
- Total
SP'S SPARKING
CSTS '페어와이즈(Pairwise) 기법' 최소 케이스 수 세기 완전 정복 + 예시 문 본문
소프트웨어 테스트 전문가(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개일 경우, 가장 큰 값 하나가 정답.
- 커피 머신 옵션
- 사이즈: Small, Medium, Large (3가지)
- 온도: Hot, Ice (2가지)
- 최소 개수: ( )개
- 로그인 보안 테스트
- 인증 방식: 비밀번호, 지문, 패턴, 안면인식 (4가지)
- 네트워크: 데이터, Wi-Fi (2가지)
- 최소 개수: ( ) 개
- 의류 쇼핑몰 검색
- 카테고리: 상의, 하의, 아우터 (3가지)
- 색상: 빨강, 파랑, 노랑, 초록 (4가지)
- 사이즈: S, M, L, XL (4가지)
- 최소 개수: ( ) 개
- 자동차 구성
- 모델: 세단, SUV (2가지)
- 연료: 가솔린, 디젤, 전기, 하이브리드 (4가지)
- 구동 방식: 2WD, 4WD (2가지)
- 최소 개수: ( ) 개
- 게임 캐릭터 생성
- 종족: 인간, 엘프, 오크 (3가지)
- 직업: 전사, 마법사, 궁수 (3가지)
- 성별: 남, 여 (2가지)
- 최소 개수: ( ) 개
- 스마트 워치 설정
- 알림: 켬, 끔 (2가지)
- 밝기: 1단계, 2단계, 3단계, 4단계, 5단계 (5가지)
- 손목 방향: 왼쪽, 오른쪽 (2가지)
- 최소 개수: ( ) 개
- 피자 주문 서비스
- 도우: 씬, 치즈크러스트, 오리지널 (3가지)
- 토핑: 페퍼로니, 불고기, 야채 (3가지)
- 음료: 콜라, 사이다, 에이드 (3가지)
- 최소 개수: ( ) 개
- 항공권 예약 시스템
- 좌석: 이코노미, 비즈니스, 퍼스트 (3가지)
- 유형: 편도, 왕복 (2가지)
- 결제: 카드, 현금, 포인트 (3가지)
- 최소 개수: ( ) 개
- 모바일 게임 그래픽 설정
- 해상도: 낮음, 보통, 높음 (3가지)
- 프레임: 30 fps, 60 fps (2가지)
- 안티앨리어싱: 적용, 미적용 (2가지)
- 그림자: 유, 무 (2가지)
- 최소 개수: ( ) 개
- 병원 예약 시스템
- 진료과: 내과, 외과, 소아과, 치과 (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개 케이스 안에 다 들어있나요?
네, 모두 포함되어 있습니다. 설정-전원, 모드-전원 관계도 마찬가지입니다.
'정보' 카테고리의 다른 글
| 캐나다 가야하는데 eTA 승인 안됐을 때, 긴급 플랜 B: 미국 시애틀에서 버스타고 캐나다 벤쿠버 가기 + 경로 후기 (2) | 2025.12.13 |
|---|---|
| CRA 로그인 한국(또는 해외)이라서 핸드폰 본인인증 못할 때 방법 (5) | 2024.09.24 |