...
PICT 설치
다음 첨부파일을 다운 받고 설치해준다.
PICT 유저 가이드 PDF
페어와이즈 이론 되돌아보기
[경우의수]
- Radio : 1,2,3
- Check1 : Y,N
- Check2 : Y,N
- Check3 : Y,N
- Check4 : Y,N
- Choices1 : 1,2,3,4
- Choices2 : 1,2,3,4
- 총 개수 = 3 * 2*4 * 4 * 3 = 576개
- 페어와이즈 = 16개 생성
PICT 문법 정리
기본 명령어
pict radio.txt > radio_r.txt
명령어 Options
pict test.txt /o:3 # 3 way 조합 테스트 옵션
- /o:N - Order of combinations (default: 2)
- /d:C - Separator for values (default: ,)
- /a:C - Separator for aliases (default: |)
- /n:C - Negative value prefix (default: ~)
- /e:file - File with seeding rows
- /r[:N] - Randomize generation, N - seed
- /c - Case-sensitive model evaluation
- /s - Show model statistics
IF, THEN
IF [File system] = "FAT" THEN [Size] <= 4096;
# File system이 FAT 일경우 Size는 4096 이하이어야 함
IF [File system] = "FAT32" THEN [Size] <= 32000;
# File system이 FAT32 일경우 Size는 32000 이하이어야 함
LIKE
[File system] like "FAT*"
# LIKE is a wildcard-matching operator (* - any character, ? – one character)
# 문자열 뒤 생략
IN
IF [Cluster size] in {512, 1024, 2048} THEN [Compression] = "Off";
#Cluster size 가 512, 1024, 2048일 경우 Compression은 Off
IF [File system] in {"FAT", "FAT32"} THEN [Compression] = "Off";
#File system 이 FAT, FAT32 일 경우 Compression은 Off
IF, THEN, ELSE 에서 (NOT, AND, OR)
IF [File system] <> "NTFS" OR
( [File system] = "NTFS" AND [Cluster size] > 4096 )
THEN [Compression] = "Off";
IF NOT ( [File system] = "NTFS" OR
( [File system] = "NTFS" AND NOT [Cluster size] <= 4096 ))
THEN [Compression] = "Off";
IF [File system] <> "NTFS" OR #File system 이 NTFS 가 아니거나
( [File system] = "NTFS" AND [Cluster size] > 4096 )
#File system 이 NTFS 이면서, Cluster size 가 4096 보다 클 경우
THEN [Compression] = "Off"; #Compression 은 Off
IF NOT ( [File system] = "NTFS" OR
#오른쪽 괄호 내용이 아니면("File system 이 NTFS" 또는 "File system 이 NTFS 이면서 Cluster size 가 4096 이하가 아닌")
( [File system] = "NTFS" AND NOT [Cluster size] <= 4096 ))
THEN [Compression] = "Off"; #Compression Off
매개 변수 비교
#
# Machine 1
#
OS_1: Win2000, WinXP
SKU_1: Professional, Server, Datacenter, WinPowered
LANG_1: EN, DE
#
# Machine 2
#
OS_2: Win2000, WinXP
SKU_2: Professional, Server, Datecenter
LANG_2: EN, DE
IF [LANG_1] = [LANG_2] #매개 변수 LANG_1 과 매개 변수 LANG_2 가 같다면
THEN [OS_1] <> [OS_2] AND [SKU_1] <> [SKU_2]; #OS_1, OS_2가 서로 다르면서 SKU_1, SKU_2도 서로 달라야 한다
무조건 제약
[OS_1] <> [OS_2] or [SKU_1] <> [SKU_2] or [LANG_1] <> [LANG_2];
//#OS_1,2 가 다르거나 SKU_1,2 가 다르거나 LANG_1,2 가 달라야 한다.(최소한 하나 이상 달라야 한다.)
[OS_1] <> [OS_2] and [SKU_1] <> [SKU_2] and [LANG_1] <> [LANG_2];
//#OS_1,2 가 다르고 SKU_1,2 가 다르고 LANG_1,2 가 달라야 한다.(모두 달라야 한다.)
매개 변수 유형
숫자 매개 변수는 숫자만 비교할 수 있고, 문자열은 문자만 비교할 수 있다.
Size: 1, 2, 3, 4, 5
Value: a, b, c, d
IF [Size] > 3 THEN [Value] > "b";
//#Size 가 3보다 크면 Value 는 b보다 크다(c,d)
Aliasing
하나의 값에 여러개의 이름을 지정할 수 있다.
Aliasing은 조합 복잡도에는 관여하지 않으며(테스트케이스가 증가하지 않음)
해당 값(여러개의 이름을 가진)이 들어가는 자리에 여러개의 이름을 로테이션시키며 대입시킨다.
조건 식에 Aliasing 값 이름을 대입시킬 경우 가장 앞에 있는 이름만을 사용할 수 있다.(/a: 옵션으로 모두 사용 가능)
#
# Machine 1
#
OS_1: Win2000, WinXP
SKU_1: Professional, Server|AdvServer, Datacenter, WinPowered #Server|AdvServer 두개의 이름으로 Aliasing
LANG_1: EN, DE
#
# Machine 2
#
OS_2: Win2000, WinXP
SKU_2: Professional, Server|AdvServer, Datecenter
LANG_2: EN, DE
#
# WinXP is always Professional in our case
#
if [OS_1] = "WinXP" then [SKU_1] = "Professional";
if [OS_2] = "WinXP" then [SKU_2] = "Professional";
#
# No German WinPowered
#
if [SKU_1] = "WinPowered" then [LANG_1] = "EN";
#
# Let’s not test the same OS on both sides
#
[OS_1] <> [OS_2];
가중치
가중치에 비례해서 TC에 자주 등장하는 것은 아님
TC에서 가장 적은 수를 가진 1차적으로 선택
TC에 균등하게 분포되어 있으면 가중치 비교
#
# Let’s focus on primary partitions formatted with NTFS
#
Type: Primary (10), Logical, Single, Span, Stripe, Mirror, RAID-5
Format method: quick, slow
File system: FAT, FAT32, NTFS (10) #NTFS가 FAT, FAT32 보다 10배 자주 나온다는 것은 아님
Seeding
꼭 포함시킬 TC를 지정 (빈 매개변수 입력 가능)
중요한 TC를 지정할 때 사용
이전 TC를 기반으로 추가할 때 기존에서 크게 변경 시키고 싶지 않을 때 사용
Hours AMPM Day Month
12 AM Thursday January
7 Saturday February
AM March
Seeding file 사용 시 옵션 사용 : /e:file
# 참고자료
https://qababo.tistory.com/entry/PICT-%ED%88%B4-PireWise-%EC%BC%80%EC%9D%B4%EC%8A%A4-%EC%83%9D%EC%84%B1-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8
https://ddanx2.tistory.com/108
인용한 부분에 있어 만일 누락된 출처가 있다면 반드시 알려주시면 감사하겠습니다
이 글이 좋으셨다면 구독 & 좋아요
여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.