Final Presentation Team 3 members : 200714170 모진종 200714173 심상문 200714179 황규원 1
Quick Check 항목 SDT Condition,Action 의 FOD, FSM, TTS 에서 FSM, TTS에서 Initial State Undefined Variable Transition 이없는노드 로부터 Unreachable 노드 SDT Condition,Action 의 연산자사용잘못 FSM, TTS Transition 의연산자사용잘못 FOD 에서 Output 변수와연결된노드동일명칭체크 SDT 에서한개의 Condition 에둘이상의 Action 할당 FSM, TTS Transition 의 Undefined Variable No Error 2
SDT Condition, i Action 의 Undefined d Variable SDT Condition Action Define D D Ud Ud D D Ud Ud Use U Un Un U U Un Un U Pass/Fail P P P F P P P F Join Define D D Ud Ud Use U Un Un U Pass/Fail P P P F 3
SDT Condition, i Action 에서연산자사용잘못 SDT Condition Action 연산자 accurate Inaccurate accurate Inaccurate Pass/Fail P F P F Join 연산자 accurate Inaccurate Pass/Fail P F 4
SDT 에서한개의 Condition 에둘이상의 Action 할당 SDT Action Action 0 1 Many Pass/Fail P P F 5
FSM, TTS Transition i 의 Undefined d Variable FSM, TTS Condition Action Define D D Ud Ud D D Ud Ud Use U Un Un U U Un Un U Pass/Fail P P - F P P - F Join Define D D Ud Ud Use U Un Un U Pass/Fail P P P F 6
FSM, TTS Transition 의연산자사용잘못 FSM, TTS Condition Action 연산자 accurate Inaccurate accurate Inaccurate Pass/Fail P F P F Join 연산자 accurate Inaccurate Pass/Fail P F 7
FOD, FSM, TTS 에서 Transition i 이없는노드 FOD, FSM, TTS Condition Action 0 1 Many Pass/Fail P P F 8
FSM, TTS에서 Initial State로부터 reachable 노드 Initial State FSM, TTS FSM TTS reachable unreachable Reachable Unreachable reachable Pass/Fail F P F U Join rechable unreachable Reachable Pass/Fail F P 9
FOD 에서Output 변수와연결된노드동일명칭체크 FOD Output Name Check Same different Pass/Fail P F 10
TestCase 실행결과 11
Test Suit 제작 & 실행결과 import org.junit.runner.runwith; runner import org.junit.runners.suite; @RunWith(Suite.class) 위부분까지는기본적으로동일하게해주고나서 @Suite.SuiteClasses( {Testcase01.class.}) {} 에원하는목록을입력하면됩니다. 12
clover ( 단위테스트소스코드측정 ) 이클립스->Help software updates 업데이트주소 http://update.atlassian.com/eclipse/clover p p Clover Co 은유료화 coverage tool 입니다. 간단한회원가입을통해서라이선스를획득한후에 window->preferences 에서 clover->license 를등록하면 90일간이용할수있습니다. 13
Clover ( 단위테스트소스코드측정 ) [clover 적용전 ] [clover 적용후 ] Clover 을적용하면아이콘에네잎클러바가생기는것을확인할수있습니다. 14
Clover ( 단위테스트소스코드측정 ) [Junit 테스트를를실행후 clover Dashboard 에생기는결과화면 ] 15
clover ( 단위테스트소스코드측정 ) Coverage Explorer 결과화면 16
clover ( 단위테스트소스코드측정 ) Test Run Explorer 결과화면 17
clover ( 단위테스트소스코드측정 ) Code 의 tree 맵 18
Google Code( ( 오픈소스프로젝트 ) 19
Google Code 20
Google Code 21
Test Suit 제작 & 실행결과 import org.junit.runner.runwith; runner import org.junit.runners.suite; @RunWith(Suite.class) 위부분까지는기본적으로동일하게해주고나서 @Suite.SuiteClasses( {Testcase01.class.}) {} 에원하는목록을입력하면됩니다. 22
Trac 23
Trac ( 이슈관리시스템 ) 미국항공우주국의분사추진연구소에서도사용할정도로넓은분야에서사용되고있다. 최소한의스펙으로구현되어다양한툴중에서도쉽고간단하다. 24
Trac 의장점 오픈소스기반이라누구나수정할수있다. 따로, 커스터마이징하지않더라도 제공되는수많은플러그인을적용함으로써기능을확장할수있다. 문서, SVN, WBS 등모든것을웹기반으로관리할수있다. 웹브라우저로프로젝트정보에접근할수있으며, 누구라도수정할수있다. 또한프로젝트정보에대한이력까지관리할수있으므로변경사항을추적하거나최종완료문서를확인하기쉽다. SVN, Git, 머큐리얼등의다른시스템과연동할수있다. 또한 Trac 의사용자와버전관리시스템의사용자를같게유지할수있다. 25
한방에! 문서관리 위키, 파일, 이미지 이슈관리 티켓 ( 태스크 ) Trac 형상관리 Timeline 버전관리시스템 일정관리 마일스톤간트차트 - 웹기반의문서관리 - 티켓을활용한이슈관리 - 버전관리시스템과연동되는형상관리 - 일정을관리할수있는일정관리 26
Trac 설치 Trac 은 python apache subversion 등 10 여가지의패키지를함께설치해야한다. 이런불편을해소할수있는 TOW(TracOnWindows) 라는프로젝트를소스포지 (Sourceforge.net) 에서공개하고있다 27
TOW base 패키지 Python Trac 0.10.4 Apache HTTP Server Subversion SQLite Mod_python 기타 28
TOW Standard 패키지 TOW 0.2.2a 2a base 패키지 플러그인 Webadmin Xmlrpc Eli Eclipse integration ti Wysiwyg 매크로 기타 29
추가적인이클립스플러그인 Subclipse :surversion을이클립스내에서사용 Mylyn, Mylyn Trac Connector : Trac의위키기능을이클립스내에서사용 빌드자동화 Ant 단위테스트 Junit 데이터베이스 Derby 블로그의내용을저장할 JAVA기반데이터베이스 30
31
32
33
34
TPTP 35
TPTP 란? TPTP 는이클립스 Test & Performance Tool Platform 프로젝트의약자 이클립스에서오픈소스로진행중인테스트및 성능관련툴을위한플랫폼 모니터링, 테스트자동화, 프로파일링등어플리 케이션의문제점을찾고해결하는데도움이되는 기능을제공 TPTP 는이클립스플러그인으로제공
TPTP 설치 TPTP 는 Eclipse 패키지에기본으로포함되어있지는않지만업데이트를이용하여간단히설치할수있다. 37
TPTP P 설치 38
TPTP P 설치 39
TPTP test 화면 40
TPTP test 화면 41
TPTP test t 화면 42
인수테스트를위한도구 개발과거리가있는일반사용자에게인수하기이전의마지막테스트를인수테스트라한다. 때문에사용자의의도에따라테스트되야하며누구나쉽게테스트케이스를만들수있어야한다. FitNesse 는 Fit 에 WIKI 를접한형태이다. 웹상에서쉽게 Fit 기반의테스트를수행할수있는환경을제공한다. JAVA,.NET, C++, DELPHI, PYTHON, RUBY, SMALLTALK, PERL 에서사용가능하며특히 ECLIPSE 에연동이되어 JAVA를테스트하기편리하다 43
FitNesse 구성도 44
FitNesse 45
FitNesse 46
FitNesse 47
FitNesse 48
49 Pairwise Testing
Pairwise Testing 이란? 입력파라미터의각쌍의개별조합을실행하기위한 테스트케이스를설계하는블랙박스테스트설계기법 Pairwise조합의의미는테스트를하는데필요한각 값 ( 또는데이터 ) 들이다른파라미터의값과최소한한 번씩은조합을이룬다는것 테스트를수행할때, 대부분의경우 2 가지요소의상 호작용에의해결함이발견된다는사실에착안해 2 개 요소의모든조합을테스트
Pairwise Tool Pairwise Tool Allpairs 사용
Allpairs 실행 1 2 3
Pairwise TestCase TEST CASES1 case Define1 Use1 0 Define2 Use2 pairings 1 Undefine1 Unuse1 1 Undefine2 Unuse2 10 2 Undefine1 Unuse1 Many Undefine2 Unuse2 4 PAIRING DETAILS var1 var2 value1 value2 appearances cases 0 Define1 1 Undefine1 1 1 0 Define1 Many Undefine1 1 2 0 Use1 1 Unuse1 1 1 0 Use1 Many Unuse1 1 2 0 Define2 1 Undefine2 1 1 0 Define2 Many Undefine2 1 2 0 Use2 1 Unuse2 1 1 0 Use2 Many Unuse2 1 2 Define1 Use1 Undefine1 Unuse1 2 1, 2 Define1 Define2 Undefine1 Undefine2 2 1, 2 Define1 Use2 Undefine1 Unuse2 2 1, 2 Use1 Define2 Unuse1 Undefine2 2 1, 2 Use1 Use2 Unuse1 Unuse2 2 1, 2 Define2 Use2 Undefine2 Unuse2 2 1, 2 53
결과분석 pairings 열의숫자는독립적으로묶인파라미 터의값의수를나타냄 파라미터의값이서로 pairwise 조합을이루고 있다는의미 PAIRING DETAILS 는이러한내용을자세히 보여줌
Pairwise TestCase TEST CASES2 case accurate1 accurate2 pairings 1 inaccurate1 inaccurate2 1 PAIRING DETAILS var1 var2 value1 value2 appearances cases accurate1 accurate2 inaccurate1 inaccurate2 1 1 55
Pairwise TestCase TEST CASES3 case Define1 Use1 0 Define2 Use2 pairings 1 Undefine1 Unuse1 1 Undefine2 Unuse2 10 2 Undefine1 Unuse1 Many Undefine2 Unuse2 4 PAIRING DETAILS var1 var2 value1 value2 appearances cases 0 Define1 1 Undefine1 1 1 0 Define1 Many Undefine1 1 2 0 Use1 1 Unuse1 1 1 0 Use1 Many Unuse1 1 2 0 Define2 1 Undefine2 1 1 0 Define2 Many Undefine2 1 2 0 Use2 1 Unuse2 1 1 0 Use2 Many Unuse2 1 2 Define1 Use1 Undefine1 Unuse1 2 1, 2 Define1 Define2 Undefine1 Undefine2 2 1, 2 Define1 Use2 Undefine1 Unuse2 2 1, 2 Use1 Define2 Unuse1 Undefine2 2 1, 2 Use1 Use2 Unuse1 Unuse2 2 1, 2 Define2 Use2 Undefine2 Unuse2 2 1, 2 56
Pairwise TestCase TEST CASES4 case accurate1 accurate2 pairings 1 inaccurate1 inaccurate2 1 TEST CASES5 0 1 many TEST CASES7 Same Different 57
Pairwise TestCase TEST CASES6 case Unreachable1 unreachable2 pairings 1 reachable1 reachable2 1 PAIRING DETAILS var1 var2 value1 value2 appearances cases Unreachable1 unreachable2 reachable1 reachable2 1 1 58
Pairwise TestCase TEST CASES6 case Unreachable1 unreachable2 pairings 1 reachable1 reachable2 1 PAIRING DETAILS var1 var2 value1 value2 appearances cases Unreachable1 unreachable2 reachable1 reachable2 1 1 59
END 60