SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
AllPairs python Lib
김성준
cheuora@gmail.com
Allpairs Lib
Test
Combinations
Generator
What is AllPair ?  One of Case
generating way
• 3가지 OS에서 발생하는
모든 케이스 의 수:
3x3x3x3 = 81가지
• AllPair로직은
발생가능한 케이스를
효과적 유지하면서
개수는 효율적으로
줄여준다.
AllPairs
N = 1 :
총 3개 케이스
No.
OS
RA
M 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
Processo
r 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
감사합니다

Más contenido relacionado

Destacado

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Destacado (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

Pycon5min speech

  • 3. What is AllPair ?  One of Case generating way • 3가지 OS에서 발생하는 모든 케이스 의 수: 3x3x3x3 = 81가지 • AllPair로직은 발생가능한 케이스를 효과적 유지하면서 개수는 효율적으로 줄여준다.
  • 4. AllPairs N = 1 : 총 3개 케이스 No. OS RA M 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 Processo r 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
  • 5. Effectiveness • 케이스 수 : 81  13개 : 약 83% 감소 • 커버리지 : 100%  75% : 25% 감소
  • 6. 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
  • 7. 개발 적용 사례 • TCaseGenerator – Pseudo Code를 이용한 MC/DC케이스 생 성 • MindMap Analyzer – Action, Environment의 조합 분석 도구
  • 8. TcaseGenerator • https://github.com/cheuora/TCaseGenerator • Java의 if구문을 이용하여 케이스를 작성(*.md파일) • If 구문간의 결과를 최소 비교(n=1) 하여 MC/DC결과 도출
  • 9. MindMap Analyzer • 대상 시스템을 마인드맵으로 Action, Environment를 분석하여 예상 테스트 케이스 생성해 주는 도구 https://sourceforge.net/projects/mindmapanalyzer/
  • 10. • Action(기능)명세 정리 시 – 결과가 Yes/No로 떨어지도록 명세를 정리. • 이는 기능이 모호해지는 것을 막음. – Action인자들 간의 종속성을 파악하는 것이 중요 • Environment명세 정리 시 – 시나리오 정리 중에서 제일 놓치기 쉬운 부분임. – 환경적인 부분들에 대한 종속성을 파악하는 것이 중요 – Environment와 Action간 영향이 있는 부분과 없는 부분 파악도 “매우“ 중요