1. 조합 테스팅
- 조합 테스팅은 테스트 대상 프로그램의 동등 분할이나 BVA 등을 통해 여러 개의 클래스들로 각 입력 인자를 여러 클래스나 값들로 분할하였을 때 이들을 조합하여 테스트 케이스를 구성하는 방식
2. 조합 테스팅 종류
step1. 명세 기반 테이블 구성
프로그램 행위에 영향을 주는 인자(test item parameter) 찾기
1. Each choice 테스팅
- 각 입력 인자의 분할된 클래스로부터 최소한 하나의 입력 값이 테스트 케이스에 포함
- 테스트 케이스가 적어 결함을 누락시킬 확률이 큼(유용한 테스트 케이스가 누락될 수 있음)
2. 페어와이즈 테스팅
- 각 인자의 값(또는 클래스)과 다른 인자의 값(또는 클래스)를 최소한 한번은 조합하여 테스트 케이스를 구성
- each choice < pairwise < all combinations
- 모든 가능한 입력 값들의 조합들을 테스트하는 대신 모든 짝(pair)들의 조합을 테스트하는 방법
IPO 알고리즘
- 수평 확장(Horizontal Growth)과 수직 확장(Vertical Growth)의 반복
- 수평 확장은 새로운 factor(= 입력 인자, test item parameter)를 고려하는 과정이고 수직 확장은 테스트 케이스를 추가하는 과정
- 두 인자(A, B)의 모든 쌍을 구한다.
- 인자 A, C 및 B와 C의 모든 쌍을 구한다.
- t1, t2 수평 확장
- 수직 확장
3. All combinations 테스팅
- 모든 입력 인자의 모든 가능한 클래스의 조합이 테스트 케이스들에 포함되도록 구성
- 너무 많은 테스트 케이스가 생성됨
4. Base choice 테스팅
- 기반이 되는 테스트 조합을 미리 선정한다. 기반 테스트는 사용자의 관점에서 가장 선택될 빈도가 높고, 일반적으로는 정상 동작할 수 있는 것을 선정하고 선정된 기반 테스트에서 하나의 인자에만 변경을 주고 나머지는 기반 테스트의 값으로 고정하여 테스트 케이스들을 생성