본문 바로가기

테스트이론/소프트웨어 테스팅

조합적 상호작용 테스팅과 제약조건

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