software verification final presentationdslab.konkuk.ac.kr/class/2015/15sv/team project/6/[sv]...

26
Software Verification Final Presentation 200611494 원스타 200810047 김성원 200811466 허태경

Upload: others

Post on 25-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

Software Verification

Final Presentation

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

Page 2: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

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

Page 3: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

1. CTIP

Page 4: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

1. CTIP구현도

Visual SVN

Mantis

Jenkins

Amazon Web Cloud EC2

Windows Server 2008 R2Developer

Eclipse

Java

Junit

Subversive

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

버전 관리자동 빌드

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

Junit

JDepend

StyleCheck

FindBugs

PMD

Page 5: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

1. CTIPVisual SVN

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

Page 6: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

1. CTIPJenkins

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

Page 7: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

1. CTIPMantis

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

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

Page 8: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

2. System Testing

Page 9: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

2. System TestingBrute Force Test

58개 TestCase

Page 10: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

2. System TestingBrute Force Test

인지기준으로테스트

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

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

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

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

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

많이할 필요는없다.

Page 11: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

2. System TestingCategory Partition Test

총 240개의 Test Case

Page 12: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

2. System TestingCategory Partition Test

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

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

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

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

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

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

Page 13: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

2. System TestingPairwise Test

33개 TestCase

Page 14: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

2. System TestingPairwise Test

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

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

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

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

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

Page 15: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

2. System TestingJFeature

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

Page 16: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

3. Static Analysis

Page 17: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

3. Static AnalysisCheckStyle

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

Page 18: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

3. Static AnalysisCheckStyle

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

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

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

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

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

Page 19: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

3. Static AnalysisFindBugs

총 37건, 중요함 27건

Page 20: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

3. Static AnalysisFindBugs

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

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

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

Page 21: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

3. Static AnalysisPMD

총 60건

Page 22: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

3. Static AnalysisPMD

범용적으로강력함

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

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

Page 23: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

3. Static AnalysisJDepend

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

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

Page 24: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

4. Summary

Page 25: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

4. Summary프로젝트를마치며

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

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

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

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

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

일정에대해서도 확립 필요

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

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

Page 26: Software Verification Final Presentationdslab.konkuk.ac.kr/Class/2015/15SV/Team Project/6/[SV] T2... · 2015-06-12 · Software Verification Final Presentation 200611494 원스타

Thank you