Pairwise Testing으로 조합 테스트 범위 줄이기

Pairwise Testing의 원리와 테스트 케이스 생성 방식, 조합 테스트의 강점·한계 및 실무 적용 방법을 정리한다.

2026-08-14 · 최초 발행 2025-05-23

조합 폭발을 다루는 테스트 설계 방식

Pairwise Testing은 가능한 모든 입력 조합을 나열하는 대신, 입력 매개변수 사이의 모든 쌍이 최소 한 번은 함께 등장하도록 테스트 케이스를 구성하는 기법이다. 조합 테스트(Combinatorial Testing)에 속하며 All-Pairs Testing 또는 Orthogonal Array Testing(OATS)이라는 이름으로도 불린다.

이 방식은 테스트 케이스를 크게 줄이면서도 합리적인 커버리지를 확보하려는 목적에 맞는다. 많은 결함이 두 요소의 상호작용에서 나타난다는 경험적 관찰이 그 전제다.

모든 조합을 그대로 테스트하면 비용과 시간이 빠르게 증가한다. 예를 들어 10개 파라미터가 있고 각 파라미터마다 5개 값을 가진다면, 전체 조합은 5¹⁰ = 9,765,625개 테스트 케이스가 된다.

원본의 관찰 기준으로 소프트웨어 결함은 약 70%가 단일 요소에서, 약 20%가 두 요소의 상호작용에서 발생하며, 세 요소 이상 상호작용에서 발생하는 비율은 약 5-10%다. Pairwise Testing은 이 특성을 이용해 제한된 테스트 자원을 배분한다.

모든 쌍을 덮는 테스트 세트 만들기

테스트 대상의 매개변수와 각 매개변수에 가능한 값을 먼저 정한다. 이어서 매개변수 쌍별 조합을 분석하고, 모든 쌍을 커버하는 최소 수준의 테스트 세트를 생성한다.

브라우저가 Chrome, Firefox, Edge이고 운영체제가 Windows, macOS, Linux이며 화면 해상도가 HD, Full HD, 4K인 웹 애플리케이션을 생각할 수 있다. 전체 조합은 3 × 3 × 3 = 27개지만, Pairwise Testing을 적용하면 9개 테스트 케이스로 모든 쌍 조합을 테스트할 수 있다.

전체 조합Pairwise 적용66% 감소리소스 많이 소모모든 테스트 조합27개 테스트 케이스9개 테스트 케이스효율성 증가비효율적

매개변수 식별부터 케이스 생성까지

이메일 클라이언트 애플리케이션에서는 브라우저, 운영체제, 이메일 첨부파일 유형, 네트워크 연결을 매개변수로 둘 수 있다.

  • 브라우저: Chrome, Firefox, Safari
  • 운영체제: Windows, macOS, Linux
  • 이메일 첨부파일 유형: 없음, 문서, 이미지, 실행파일
  • 네트워크 연결: Wi-Fi, 유선, 4G

테스트 케이스 생성에는 IPO(In-Parameter-Order), IPOG(In-Parameter-Order-General), AETG(Automatic Efficient Test Generator), 유전 알고리즘 기반 방법 등을 활용할 수 있다. 위 매개변수에 Pairwise Testing을 적용한 결과는 다음과 같다.

TC1: Chrome, Windows, 없음, Wi-Fi
TC2: Chrome, macOS, 문서, 유선
TC3: Chrome, Linux, 이미지, 4G
TC4: Firefox, Windows, 문서, 4G
TC5: Firefox, macOS, 이미지, Wi-Fi
TC6: Firefox, Linux, 없음, 유선
TC7: Safari, Windows, 이미지, 유선
TC8: Safari, macOS, 없음, 4G
TC9: Safari, Linux, 문서, Wi-Fi
TC10: Chrome, Windows, 실행파일, 유선
TC11: Firefox, macOS, 실행파일, 4G
TC12: Safari, Linux, 실행파일, Wi-Fi

이 경우 전체 조합은 3×3×4×3=108개 케이스이며, Pairwise Testing으로 12개까지 줄어 89% 감소한다.

테스트 세트 생성 도구로는 Microsoft의 PICT(Pairwise Independent Combinatorial Testing), NIST의 ACTS(Advanced Combinatorial Testing System), James Bach의 AllPairs, Bob Jenkins의 Jenny, 상용 도구인 Hexawise가 있다.

줄어드는 범위와 남는 위험

Pairwise Testing은 일반적으로 테스트 케이스 수를 70-90% 줄일 수 있고, 테스트 설계와 실행 시간을 단축한다. 비용 효율적인 테스트 수행과 체계적인 테스트 설계를 지원하며, 높은 결함 검출 효율성을 제공한다.

다만 세 개 이상 요소가 함께 작용해 발생하는 결함은 검출하지 못한다. 모든 도메인에 같은 방식으로 적용하기 어렵고, 복잡한 비즈니스 로직에는 맞지 않을 수 있다. 요구사항에 따라 특정 조합에 가중치를 두는 설계도 필요하다.

70%20%10%Pairwise Testing 결함 검출 효과단일 요소 결함두 요소 상호작용 결함세 요소 이상 상호작용 결함(미검출)

환경 조합이 많은 시스템에서의 활용

전자상거래 웹사이트라면 브라우저, 운영체제, 화면 크기, 사용자 역할, 결제 방법이 조합 대상이 된다.

  • 브라우저: Chrome, Firefox, Safari, Edge, Opera
  • 운영체제: Windows, macOS, Linux, iOS, Android
  • 화면 크기: 모바일, 태블릿, 데스크톱
  • 사용자 역할: 게스트, 등록 사용자, 프리미엄 사용자, 관리자
  • 결제 방법: 신용카드, 페이팔, 계좌이체, 상품권

전체 조합은 5×5×3×4×4 = 1,200개 테스트 케이스다. Pairwise Testing을 적용하면 약 25-30개 테스트 케이스로 모든 쌍 조합을 테스트할 수 있다.

네트워크 라우터 설정에서는 프로토콜, 패킷 크기, QoS 설정, 암호화, 방화벽 규칙의 조합을 다룰 수 있다.

  • 프로토콜: TCP, UDP, ICMP
  • 패킷 크기: 64, 512, 1500, 9000 바이트
  • QoS 설정: 낮음, 중간, 높음
  • 암호화: 없음, WEP, WPA, WPA2
  • 방화벽 규칙: 허용, 차단, 로깅

이런 구성에서는 Pairwise Testing으로 테스트 효율성을 극대화할 수 있다.

모바일 뱅킹 앱에서는 다음과 같은 환경과 기능 조합이 대상이 된다.

  • OS 버전: Android 10-13, iOS 14-16
  • 네트워크 연결: Wi-Fi, 4G, 5G, 오프라인
  • 보안 인증: 지문, 얼굴 인식, PIN, 패턴
  • 트랜잭션 유형: 송금, 결제, 충전, 조회
  • 알림 설정: 활성화, 비활성화

이 경우 Pairwise Testing은 주요 시나리오의 커버리지를 확보하는 데 사용할 수 있다.

품질 전략 안에 배치하는 방법

대규모 정보 시스템에서는 시스템 통합 테스트(SIT)의 핵심 인터페이스 조합을 검증하거나, 서로 다른 환경 설정에서 시스템 안정성을 점검하는 데 적용할 수 있다. 성능, 보안, 사용성 테스트와 결합하면 종합적인 테스트 수행에도 활용된다.

CI/CD 파이프라인에 Pairwise Testing을 통합하면 테스트 케이스 생성과 실행을 자동화하고 회귀 테스트 범위를 최적화할 수 있다. 자동화 프레임워크 구축은 테스트 자동화 ROI 향상에도 연결된다.

요구사항 분석테스트 매개변수 식별Pairwise 알고리즘 적용테스트 케이스 생성자동화 스크립트 작성CI/CD 파이프라인 통합실행 결과 분석테스트 최적화

위험 기반 테스트와 함께 사용할 때는 비즈니스 중요도에 따라 매개변수에 가중치를 부여할 수 있다. 고위험 영역에는 N-wise Testing(N>2)을 적용하는 방안을 검토하고, 위험 평가 매트릭스와 Pairwise Testing을 결합해 제한된 테스트 리소스를 배분한다.

확장되는 조합 테스트 방식

기계학습을 사용해 테스트 케이스 생성을 더 효율화하거나, 과거 결함 데이터를 분석해 테스트 우선순위를 지정하는 방향이 가능하다. 자연어 처리로 요구사항에서 테스트 매개변수를 추출하고, 테스트 결과 분석과 패턴 인식을 자동화하는 활용도 포함된다.

Pairwise Testing은 3-wise, 4-wise 테스팅을 포함하는 t-way 테스팅으로 확장될 수 있다. 중요 기능에는 고차원 조합을 적용하고 일반 기능에는 Pairwise Testing을 적용하는 하이브리드 방식, 상황 인식 기반 조합 생성 기술도 발전 방향에 속한다.

클라우드 환경의 다양한 구성, 서버리스 아키텍처, 분산 시스템, 마이크로서비스 아키텍처의 서비스 조합 역시 조합 테스트를 적용할 수 있는 대상이다. AI와 결합한 지능형 Pairwise Testing 기법은 앞으로 더 발전할 것으로 예상된다.

Pairwise Testing은 모든 조합을 실행하는 방식과 리소스 효율성 사이에서 균형을 잡는 테스트 설계 기법이다. 테스트 케이스를 70-90% 줄이면서 대부분의 결함인 약 90%를 검출할 수 있지만, 중요한 기능은 더 높은 차원의 조합 테스트와 함께 판단해야 한다.

페어와이즈 테스팅조합 테스트테스트 설계테스트 자동화품질 보증