[소프트웨어공학] 조합 테스트

수진·2023년 6월 11일
0

소프트웨어공학

목록 보기
19/20

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)를 고려하는 과정이고 수직 확장은 테스트 케이스를 추가하는 과정
  1. 두 인자(A, B)의 모든 쌍을 구한다.
  2. 인자 A, C 및 B와 C의 모든 쌍을 구한다.
  3. t1, t2 수평 확장
  4. 수직 확장

3. All combinations 테스팅

  • 모든 입력 인자의 모든 가능한 클래스의 조합이 테스트 케이스들에 포함되도록 구성
  • 너무 많은 테스트 케이스가 생성됨

4. Base choice 테스팅

  • 기반이 되는 테스트 조합을 미리 선정한다. 기반 테스트는 사용자의 관점에서 가장 선택될 빈도가 높고, 일반적으로는 정상 동작할 수 있는 것을 선정하고 선정된 기반 테스트에서 하나의 인자에만 변경을 주고 나머지는 기반 테스트의 값으로 고정하여 테스트 케이스들을 생성

0개의 댓글