Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV]...

Preview:

Citation preview

Software Verification

Final Presentation

200611494 원스타200810047 김성원200811466 허태경

Index

1. CTIP

2. System Testing

1. Brute Force Testing

2. Category-Partition Testing

3. Pairwise Testing

3. Static Analysis

1. CheckStyle

2. FindBugs

3. PMD

4. Jdepend

4. Summary

1. CTIP

1. CTIP구현도

Visual SVN

Mantis

Jenkins

Amazon Web Cloud EC2

Windows Server 2008 R2Developer

Eclipse

Java

Junit

Subversive

소스 커밋 및 병합이슈 등록 및 해소

버전 관리자동 빌드

테스트 리포트이슈 트래킹 및 알림

Junit

JDepend

StyleCheck

FindBugs

PMD

1. CTIPVisual SVN

기능이부족해보일수있으나간단하고빠르게구축가능

1. CTIPJenkins

Java 프로젝트진행 시널리쓰이는 CI 서버쉽게쓸 수있는 최고의툴

1. CTIPMantis

좋은툴이지만시대에뒤떨어진 UI

지금은 Redmine도쉽게설치 및사용 가능하기때문에 추천

2. System Testing

2. System TestingBrute Force Test

58개 TestCase

2. System TestingBrute Force Test

인지기준으로테스트

직관적으로중요한 에러를 발견할수 있다.

단순한테스트부터복잡하게얽힌상태의테스트까지쉽게할수있다.

거의아무렇게나 테스트하기 때문에특수한 상태에놓일 가능성이높다.

따라서해당 특수한 상태를추적할 수있다면 특수한에러 캐치가능.

모든기능을테스트하는조합을추적하기는힘들다.

많이할 필요는없다.

2. System TestingCategory Partition Test

총 240개의 Test Case

2. System TestingCategory Partition Test

기능의카테고리분류를통해테스트시퀸스정의

모든기능에대해테스트가능한조합들을생성가능

카테고리정의를 기반으로 한조합 생성툴 개발함

특수한상태를유발하는테스트시퀸스생성은힘듬

반복적시퀸스에 대한 카테고리정의가 힘들기때문

전부포함시키면 너무나 많은조합이 나올수 있음

2. System TestingPairwise Test

33개 TestCase

2. System TestingPairwise Test

카테고리로정의된기능들을 Pair로묶어테스트

적절한 Pair 조합을통해보다최적화된테스트케이스유도가능

적은조합 수로모든 기능들을 한번씩은테스트 해볼수 있음

모든기능테스트조합을만족하기는힘들다.

중요한상태가 테스트 케이스에서제외될가능성이있다.

2. System TestingJFeature

Junit과 연동하여 Requirements와 매핑하는 것은좋음하지만더이상개발되지않고현이클립스최신버전과도호환되지않음

3. Static Analysis

3. Static AnalysisCheckStyle

Indentation을 수정한 Google Style 검사총 819건

3. Static AnalysisCheckStyle

세밀한코딩스타일체크가가능

유지보수가중요하기때문에공통된코딩스타일을위해필요.

일관된코딩 스타일은인수인계에좋음

잘고려하지않으면너무사소한에러까지발생함

반드시프로젝트를 진행하는 사람들이합의해서 사전에룰 정의

3. Static AnalysisFindBugs

총 37건, 중요함 27건

3. Static AnalysisFindBugs

코딩시자주나올수있는버그를잡아냄

강력하지않아보일수있으나, 꼭검토해야할코드들을캐치해냄

Instance에서 static 변수에 대한생성을잡아냈음.

3. Static AnalysisPMD

총 60건

3. Static AnalysisPMD

범용적으로강력함

스타일검사 및쓰이지 않는 코드, 중복된코드를 잡아냄

Rule-set을기반으로검사항목을쉽게지정할수있다.

3. Static AnalysisJDepend

Package간연관성을쉽게확인할수있다.

자신의개발한모듈이어떤 Package에깊게의존하는지, 혹은어떤Package가자신의모듈을깊게의존하는지알아볼수있다.

4. Summary

4. Summary프로젝트를마치며

사전에개발측과검증측의 CTIP 환경에대한확립필요

CTIP환경이 공유되었으나 NetBeans를 통해개발 중이었음

SVN 및자동 빌드스크립트 설정문제가 발생하기도함

프로젝트진행상황및일정에대해긴밀한공유필요

이슈트래커를 통한 문제공유도 중요하지만진행 자체에대한 공유도중요

일정에대해서도 확립 필요

결과품질측정뿐아니라프로젝트평가에도검증은중요

객관적으로프로젝트와결과물을 판단할수 있는척도가 됨

Thank you

Recommended