Study_Note

Pairwise testing (with PCIT) 본문

QA_study

Pairwise testing (with PCIT)

12월7일생 2023. 4. 28. 18:12
728x90
반응형

 

Pairwise testing은 다양한 조건(변수) 중에서 조합 가능한 모든 경우의 수를 대상으로 테스트 케이스를 생성하는 기법입니다. 
Pairwise testing은 모든 조합을 테스트하는 것이 아니라, 조건 간에 상호작용이 있는 부분만 선택적으로 테스트하여 테스트 케이스 수를 줄이면서도 대부분의 결함을 발견할 수 있는 방법입니다.

이를 통해 시스템의 결함을 더 빠르고 효과적으로 찾을 수 있으며, 
테스트 케이스의 수를 효과적으로 줄일 수 있습니다. 
이는 테스트 케이스 작성 및 실행에 드는 비용과 시간을 줄일 수 있어 효율적인 테스트 수행이 가능해집니다.

예를 들어, 5개의 조건(변수)이 있다고 가정해보겠습니다.
이 때, 각 조건이 가질 수 있는 값을 3개로 한정한다면, 전체 경우의 수는 3^5 = 243가 됩니다.
이 모든 경우를 테스트하려면 많은 비용과 시간이 소요됩니다.
하지만 Pairwise testing을 사용하면 각 변수의 조합 중에서 가장 많은 조합을 선택하여 테스트 케이스를 생성할 수 있습니다.

 

다음은 pairwise testing을 사용한 예시입니다.

예를 들어, 로그인 시스템을 테스트한다고 가정해보겠습니다. 

로그인에는 아이디, 비밀번호, 그리고 로그인 버튼을 클릭하는 것이 필요합니다. 

각 조건(변수)은 다음과 같은 값을 가질 수 있습니다.

더보기

아이디: "user1", "user2", "user3"
비밀번호: "pass1", "pass2", "pass3"
로그인 버튼: "enabled", "disabled"

이제 이 3가지 조건에 대한 모든 경우의 수는 총 3 x 3 x 2 = 18가지 입니다. 

이를 모두 테스트하려면 시간과 비용이 많이 들어갑니다. 

하지만 pairwise testing을 사용하면 테스트 케이스 수를 효과적으로 줄일 수 있습니다.

Pairwise testing을 사용하면 각 변수의 값 중에서 서로 다른 값끼리 조합하여 테스트 케이스를 생성합니다. 

이를 통해 전체 경우의 수를 줄일 수 있습니다.

아래는 pairwise testing을 사용하여 생성된 테스트 케이스입니다.

 

위와 같이 pairwise testing을 사용하면 전체 경우의 수를 줄이면서도 대부분의 결함을 발견할 수 있습니다.

이를 통해 효율적으로 테스트 케이스를 작성하고 시간과 비용을 절약할 수 있습니다.

 

[pairwise 테스팅 도구 추천]

  1. PICT: Microsoft에서 무료로 제공하는 pairwise 테스팅 도구입니다.
    Windows, Linux, macOS에서 사용할 수 있습니다.
  2. AllPairs: 오픈소스로 제공되는 pairwise 테스팅 도구입니다.
    Java로 작성되어 있습니다.
  3. TestCover: 상용 도구로써, pairwise 테스팅 뿐 아니라 다양한 테스트 기법을 지원합니다.
    Python으로 작성되어 있습니다.
  4. Hexawise: 상용 도구로써, pairwise 테스팅 뿐 아니라 다양한 테스트 기법을 지원합니다.
    웹 기반으로 제공되며, 사용하기 쉽습니다.
  5. Pairwise Testing Assistant: 오픈소스로 제공되는 pairwise 테스팅 도구입니다.
    Java로 작성되어 있습니다.

위 도구들 중 적합한 도구를 선택하여 사용하시면 됩니다.


 

[PICT tool 사용법]

1. PICT 다운로드 및 설치: PICT는 Microsoft 사이트에서 다운로드하여 설치할 수 있습니다.

2. 입력 파일 생성: PICT는 입력 파일을 통해 테스트 케이스를 생성합니다. 
입력 파일은 테스트 케이스를 생성할 때 사용될 변수와 값의 목록을 포함하고 있습니다.

예를 들어, 아래와 같은 입력 파일이 있다고 가정해보겠습니다.

# Variables
User = {User1, User2, User3}
Password = {Pass1, Pass2, Pass3}
Button = {Enabled, Disabled}

# Constraints
User != Password

위 입력 파일에서는 "User", "Password", "Button" 3가지 변수를 정의하고,

각 변수의 가능한 값들을 중괄호({}) 안에 나열하였습니다.

또한, "User"와 "Password" 변수의 값이 서로 같지 않도록 제약 조건(constraint)을 추가하였습니다.

 

3. PICT 실행: 입력 파일을 준비한 후, PICT를 실행하여 pairwise 테스트 케이스를 생성합니다.
PICT 실행 시 입력 파일을 인자로 전달합니다.

pict.exe input.txt > output.txt

위와 같이 실행하면, "input.txt" 파일을 기반으로 pairwise 테스트 케이스를 생성한 후, "output.txt" 파일에 출력합니다.

 

4. 결과 확인: "output.txt" 파일을 열어 pairwise 테스트 케이스를 확인합니다.
이제 생성된 테스트 케이스를 기반으로 테스트를 수행하면 됩니다.


PICT를 사용하여 pairwise 테스트 케이스를 생성하는 방법은 간단합니다. 

입력 파일을 잘 작성하고, PICT를 올바르게 실행하면 효과적으로 테스트 케이스를 생성할 수 있습니다

 

PICT+3.3+유저+가이드(20070523).pdf
0.22MB
pict33.msi
0.91MB