43
정적분석 도구 및 시스템테스트 도구 Software Verification Team 5 201410373 고예은 201411266 김수현 201411268 김아름

정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

정적분석도구및시스템테스트도구Software Verification

Team 5

201410373 고예은

201411266 김수현

201411268 김아름

Page 2: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

정적분석도구

시스템테스트도구

도구간연동

CTIP 환경

Index정적분석도구및시스템테스트도구

Page 3: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

정적분석도구 - SonarQubeStatic Analysis

Page 4: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

어떤프로그램을분석할때그프로그램을실행시키지않고그자체를분석하는것. 프로그램에내재한논리적오류는보통프로그램을실행하여확인하지않으면찾기가힘들지만, 정적분석은이러한오류를찾아내는데도움을줄수있다.

정적분석

Static Analysis

Page 5: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

자동화된툴

규칙에맞지않는코드검출

실행되지않는코드검출

버그리포트

정적분석

Static Analysis

Page 6: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

여러분석툴통합가능 다양한플러그인제공 직관적이고쉬운 UI 20개이상의언어지원

정적분석

Static Analysis

Page 7: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

정적분석

Static Analysis

• SonarQube 설치

Page 8: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

정적분석

Static Analysis

• SonarQube 설치 - install & service start

Page 9: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

정적분석

Static Analysis

• SonarQube DB 설정 - MySQL

> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; > CREATE USER 'sonar' IDENTIFIED BY ‘sonar’; > GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar’; > GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar’; > FLUSH PRIVILEGES;

Page 10: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

정적분석

Static Analysis

• SonarQube DB 설정 – sonar.properties

Page 11: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

정적분석

Static Analysis

Page 12: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

정적분석

Static Analysis

다양한개발언어지원(Java, JavaScript, XML, C/C++, C#, PHP, Ruby, Fortran)

작성한코드에대한위반사항을찾음

위반사항을명시한 report파일에대한수정쉬움

한번의클릭으로수많은규칙에대한수정가능

Page 13: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

정적분석

Static Analysis

여러사람과작업시손쉽게코딩스타일을맞출수있음

표준코딩스타일을손쉽게프로젝트에적용

개발초기에소스코드의잠재적결함발견

Page 14: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

정적분석

Static Analysis

• SonarQube에서플러그인설치

Page 15: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

정적분석

Static Analysis

• SonarQube에서플러그인설치

Page 16: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

시스템테스트도구 - TestlinkSystem Test

Page 17: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

시스템전체의정상작동확인

실제사용환경과유사한테스트환경조성

모듈통합후요구사항만족여부체크

시스템테스트

System Test

Page 18: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

테스트우선순위부여 버그시스템직접연동 사용자활동영역정의 요구사항과 TC 매핑

시스템테스트

System Test

Page 19: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

시스템테스트

System Test

• Testlink설치

Page 20: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

시스템테스트

System Test

• Testlink프로젝트생성

Page 21: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

시스템테스트

System Test

• Testlink요구사항관리

Page 22: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

시스템테스트

System Test

• Testlink요구사항관리

Page 23: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

Jenkins – SonarQubeRedmine – Testlink

CTIP 도구연동

Page 24: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

CTIP 도구연동

Jenkins - SonarQube

• Jenkins – SonarQube Scanner 플러그인설치

Page 25: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

CTIP 도구연동

Jenkins - SonarQube

• Jenkins –시스템설정

Page 26: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

CTIP 도구연동

Jenkins - SonarQube

• Jenkins – Global Tool Configuration

Page 27: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

CTIP 도구연동

Jenkins - SonarQube

• Jenkins –프로젝트 – Add build step

Page 28: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

CTIP 도구연동

Jenkins - SonarQube

• sonar-project.properties내용

Page 29: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

CTIP 도구연동

Jenkins - SonarQube

• Build 성공후 Jenkins

Page 30: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

CTIP 도구연동

Jenkins - SonarQube

• Build 성공후 SonarQube

Page 31: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

CTIP 도구연동

Redmine - Testlink

• Testlink – Issue Tracker등록 • Testlink – Project와연동

Page 32: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

Team 5CTIP 환경

Page 33: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

CTIP 환경

• Jenkins 연결 (Redmine)

Jenkins

Page 34: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

CTIP 환경

• Jenkins 연결 (Github)

Jenkins

Page 35: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

CTIP 환경

• Jenkins 연결 (Build - Gradle)

Jenkins

Page 36: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

CTIP 환경

• Jenkins 연결 (Build step - SonarQube)

Jenkins

Page 37: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

CTIP 환경

• Jenkins 프로젝트화면

Jenkins

Page 38: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

CTIP 환경

• Github프로젝트

Github

Page 39: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

CTIP 환경

• Redmine 프로젝트

Redmine

Page 40: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

CTIP 환경

• Trello –팀원간요구사항관리

Trello

Page 41: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

CTIP 환경Summary

Page 42: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

CTIP 환경Summary

• 개발 – Eclipse

• 유닛테스트 – Junit

• CI 서버 – Jenkins

• 빌드 – Gradle

• 형상관리 – Github

• 이슈/프로젝트관리 – Redmine / Trello

• 품질관리 – SonarQube / PMD / Checkstyle / Findbugs

• 시스템테스트 – TestLink

Page 43: 정적분석도구및시스템테스트도구 Software Verificationdslab.konkuk.ac.kr/Class/2018/18SV/Team Project/3/T5.pdf · 2018-04-18 · 정적분석도구및시스템테스트도구

Thank you.Q & A