Airline |
jeju air |
air France |
City |
osaka |
paris |
Out |
20 May |
|
Return |
27 May |
항공사에 두 가지 옵션이 있다
갈 수 있는 도시는 오사카, 파리
비행기를 타는 날짜는 5/20, 비행기에서 돌아오는 날짜는 5/27
페어와이즈 CIT기법을 적용하면
Airline |
City |
Out |
Return |
jeju air |
paris |
20 May |
27 May |
air France |
paris |
20 May |
27 May |
jeju air |
paris |
20 May |
27 May |
air France |
osaka |
20 May |
27 May |
위와 같은 커버링 어레이가 도출된다
하지만 위 어레이의 경우, 제주항공을 이용하여 파리로 가는 일정이 없으므로 잘못된 테스트 입력이다
마찬가지로 에어프랑스를 이용하여 오사카로 가는 항공편이 없으므로 잘못된 테스트 입력이다
이와 같은 조합을 생성하는 것을 막아야 테스팅의 효율이 높아진다
Hard Constraint
제약 조건 중 실제로 벌어질 수 없는 입력 조합을 생성하는 것을 금지하는 역할
Soft Constraint
꼭 할 필요가 없기 때문에 테스팅 효율을 높이기 위해서는 안 할 수도 있다는 제약조건
CIT에 사용하는 제약조건의 기능
애플리케이션에 CIT 기법 적용 시 생성되는 테스트 케이스의 가짓수를 크게 줄임
경우에 따라 매우 강력한 형태의 조합적인 테스팅 가능
CIT를 통해 고려해야 할 점
Naive Approach
제약 상황을 전혀 고려하지 않고 CIT 테스트 스위트를 만든 후 해당 테스트 스위트에서 제약 조건을 위반하는 모든 행을 제거
→ 제약 조건이 없는 CIT 테스트 스위트를 먼저 만들어야 하므로 스위트 사이즈가 크면 비용을 더 부담
More Integrated Method
CIT 테스트 스위트를 생성하는 과정에서 매번 추가하는 커버링 어레이 행이 제약 사항을 위반하는지 검토하여 위반하지 않는 행만 추가
→크기도 줄이고, 제약사항을 모두 만족하는 테스트 스위트 생성
'테스트이론 > 소프트웨어 테스팅' 카테고리의 다른 글
구조적 커버리지의 종류 (0) | 2021.04.22 |
---|---|
테스트 적합도 (0) | 2021.04.21 |
조합적 상호작용 테스팅 (0) | 2021.03.10 |
등가 파티션 (0) | 2021.03.08 |
블랙박스 테스팅 (0) | 2021.03.08 |