Upload
kim-sjoon
View
391
Download
0
Embed Size (px)
Citation preview
Allpairs Lib
Test Combinations
Generator
What is AllPair ? One of Case generating way
• 3가지 OS에서 발생하는 모든 케이스 의 수: 3x3x3x3 = 81가지
• AllPair로직은 발생가능한 케이스를 효과적 유지하면서 개수는 효율적으로 줄여준다.
AllPairs
N = 1 : 총 3개 케이스
No. OS
RAM Processor DB
1 Win2000 512 PentiumII Oracle
2 Windows
NT 256 PentiumIII SQL
3 WinXP 128 PentiumIV Acces
s
No. OS RAM Processor DB
1 Win2000 128 PentiumIV SQL
2 Win2000 256 PentiumIV Access
3 Win2000 512 PentiumII Access
4 Win2000 512 PentiumIII Oracle
… … … … …
11 WinXP 256 PentiumII SQL
12 WinXP 256 PentiumII Access
13 WinXP 512 PentiumIV SQL
N = 2 : 총 13개 케이스
N = 3 : 총 34개 케이스
No. OS RAM
Processor DB
1 Win2000 128 PentiumI
I Acces
s
2 Win2000 128 PentiumI
II Acces
s
3 Win2000 128 PentiumI
V SQL
4 Win2000 128 PentiumI
V Oracl
e
… … … … …
32 WinXP 512 PentiumI
I Acces
s
33 WinXP 512 PentiumI
II Oracl
e
34 WinXP 512 PentiumI
V SQL
Effectiveness • 케이스 수 : 81 13개 : 약 83% 감소
• 커버리지 : 100% 75% : 25% 감소
Usage
def makePairwising(self): #Make Parameters Parameters = [] #ger rid of first item in all Action lists. First Item is 'Action' Text. All items has this in common Parameters.append(deleteFitstItemInlists(self.ActionList)) for env_list in self.EnvironmentList: Parameters.append(env_list) pairwise = all_pairs(Parameters, n=self.PairingWay, filter_func=self.is_valid_combination) return pairwise
__author__ = 'cheuora' #!/usr/bin/env python # -*- coding: UTF-8 -*- import sys import metacomm.combinatorics.all_pairs2 all_pairs = metacomm.combinatorics.all_pairs2.all_pairs2
개발 적용 사례
• TCaseGenerator
– Pseudo Code를 이용한 MC/DC케이스 생성
• MindMap Analyzer
– Action, Environment의 조합 분석 도구
TcaseGenerator • https://github.com/cheuora/TCaseGenerator
• Java의 if구문을 이용하여 케이스를 작성(*.md파일)
• If 구문간의 결과를 최소 비교(n=1) 하여 MC/DC결과도출
MindMap Analyzer
• 대상 시스템을 마인드맵으로 Action, Environment를 분석하여 예상 테스트 케이스 생성해 주는 도구
https://sourceforge.net/projects/mindmapanalyzer/
• Action(기능)명세 정리 시
– 결과가 Yes/No로 떨어지도록 명세를 정리.
• 이는 기능이 모호해지는 것을 막음.
– Action인자들 간의 종속성을 파악하는 것이 중요
• Environment명세 정리 시
– 시나리오 정리 중에서 제일 놓치기 쉬운 부분임.
– 환경적인 부분들에 대한 종속성을 파악하는 것이 중요
– Environment와 Action간 영향이 있는 부분과 없는 부분 파악도 “매우“ 중요
MindMapFile – 1st
MindMapFile – 2nd
MindMap Analyzing
감사합니다