Introduction to CTIP

Similar documents
PowerPoint 프레젠테이션

슬라이드 1

목차 Ⅰ. 개요 Ⅱ. 추진배경 Ⅲ. 개발환경구축 ( 도구연계 ) Ⅳ. 도구연계성과 page 2

PowerPoint Presentation

Software Verification Team 오준 임국현 주영진 김슬기

PowerPoint Presentation

품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ]

Angry MOMO Presentation

PowerPoint 프레젠테이션

슬라이드 1

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

문서의 제목 나눔고딕B, 54pt

Ver. T3_DWS.UTP-1.0 Unit Testing Plan for Digital Watch System Test Plan Test Design Specification Test Cases Specification Date Team Infor

Introduction to Junit, Eclipse, Build Environment

슬라이드 1

Microsoft PowerPoint - jfeature장범석서재원박동현.pptm

목차 I. CI 정의 II. CI 필요성 III. CI 기능및특징 IV. CI 제품 V. Hudson VI. 적용방안 VII. 결론 - 1 -

Microsoft PowerPoint - 2번째발표(최종).pptx

<B1D4B0DDBCAD202D20C4DAB5E520B1E2B9DD2E687770>

슬라이드 1


백서2011표지

Apache Ivy

문서의 제목 나눔고딕B, 54pt

슬라이드 1

표준 소개 자료

12 성능모니터링 allmon Apache License v 성능모니터링 nmon GPL v3 분산되어있는시스템에대한자원상태체크, 사용현황, 성능등을수집

슬라이드 1

소프트웨어 검증 및 설계

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

PowerPoint 프레젠테이션

미친놈과 정상인

슬라이드 1

슬라이드 1

JFeature & ANT Tools Summary

JUnit & Eclipse

텀블러514

Microsoft PowerPoint - 3조-최종발표.pptx

SW

1 SW

PowerPoint 프레젠테이션

임베디드시스템의개발환경구축사례

Microsoft PowerPoint - chap01-C언어개요.pptx

문서의 제목 나눔고딕B, 54pt

품질검증분야공개 SW 솔루션목록 ( ) 순번분류솔루션명라이선스기술지원홈페이지제품개요 1 BTS Bugzilla MPL community 웹기반의 bug tracking 및테스트도구 2 BTS Fossil 2-c

Atlassian Solution Conference Seoul 2017

슬라이드 1

파워포인트

파워포인트

SW¹é¼Ł-³¯°³Æ÷ÇÔÇ¥Áö2013

歯CRM개괄_허순영.PDF

슬라이드 1

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

PowerPoint 프레젠테이션

ppt.glzy8.com提供海量PPT模板免费下载!

¿ÀǼҽº°¡À̵å1 -new

문서의 제목 나눔명조R, 40pt

슬라이드 1

Service-Oriented Architecture Copyright Tmax Soft 2005

개발환경 교육교재

Angry MOMO Presentation

정답-1-판매용

<4D F736F F F696E74202D205B31C0E55D20BCD2C7C1C6AEBFFEBEEEBFCD20BCD2C7C1C6AEBFFEBEEEB0F8C7D02E BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

ETL_project_best_practice1.ppt

Social Media and Social Computing

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

15_3oracle

02544Ac07¥Áöš

2. 기능요약 Parallel 빌드지원등빌드자동화기능을지원하며다양한도구 ( 형상관리도구, Issue Tracker, Test 도구, IDE) 와의연동을지원함. 주요기능 Parallel 빌드지원 ( 다수프로젝트동시빌드 ) 분산빌드웹기반관리 알림형상관리도구지원

PowerPoint 프레젠테이션

Spring Boot

CM & RE tools

PowerPoint 프레젠테이션

Microsoft Word - [TP_3][T1]UTP.docx

목차 1. SVN... 3 A. 소개... 3 B. 사용모델... 3 C. 기능... 4 D. 용어... 5 E. SVN 툴... 5 F. 사용방법 Mantis... 8 A. 소개... 8 B. 특징... 8 C. 설치및실행 JFeature

슬라이드 1

03.Agile.key

スライド タイトルなし

UML


<C1F6BFAA5357BBEABEF7C0B0BCBAC1A4C3A5BFACB1B E616C292E687770>

歯3-한국.PDF

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft Word - Application Life cycle Management.doc

歯

consulting

intro

슬라이드 1

Ver. DS-2012.T3.DWS.STR-1.0 System Test Report for Digital Watch System Test Cases Specification Test Summary Report Project Team 이동아 Latest update on

J2EE & Web Services iSeminar

서현수

Software Testing

문서의 제목 나눔고딕B, 54pt

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

2. 기능요약 요구사항들을기록하고이들을 JUnit Test Case 와매치함으로써프로세스를단순화 주요기능단위테스트프로그래밍언어지원시스템테스트 GUI / Console 파라미터가있는메소드의테스트 TDD 지원여부지원 F#, C#, C++ 등닷넷환경지원모두지원 2.5버전이상

PowerPoint 프레젠테이션

슬라이드 1

1. 도구개요 CppUnit Testing 소개 CppUnit 는 C++ 용 testing Framework 로 Java 의 JUnit 을 C++ 로구현 C++ 언어에서사용할수있도록개발된 Open Source 프로젝트로, source code 의특정 Module 이의도

Transcription:

Introduction to CTIP 김의섭 2019-03-08

목차 CI & CTIP CTIP 장단점 CTIP 구성도 Tools Team Projects 2

CI - Continuous Integration Continuous Integration 소프트웨어개발에서 Build(Test-CTIP) 의프로세스를지속적으로수행하는것. 지속적으로개발된 Unit 코드에대한 Integration 작업을수행하여, 항상최신의상태를유지. Agile 개발방법론 / 프로세스중의하나인 XP(eXtream Programming) 의 Practice 중의하나. 팀을기반으로한협동적인개발 반례 ) 고전적인소프트웨어개발방법론인폭포수모델과나선모형 지속적인통합 (Continuous Integration) 은 팀의구성원들이자신들의작업한내용을자주통합하는개발지침를말한다. ( 적어도하루에한번 ) 마틴파울러 (Martin Fowler) 3

기존문제점 기존문제점 1. 개발막바지에이르러통합작업수행 개발자간잘못된의사전달로인해수많은오류발생 각종오류를한꺼번에처리해야만하는 Integration Hell 현상발생 통합시점에이미소스코드가방대해져오류의원인파악및해결을위해많은시간할애 [ 출처 ] C 환경에서의 CI( 지속적통합 ) 구축사례 / JAVA 환경에서의 CI( 지속적통합 ) 구축사례 4

기존문제점 기존문제점 2. 통합오류에대한빠른대처부족 통합빌드오류를통합담당자가각개발자에게직접전달 개발자가해당소스코드를개발한후많은시간이흘러통합오류확인 통합오류에대하여신속한대응체계를갖추지못함 [ 출처 ] C 환경에서의 CI( 지속적통합 ) 구축사례 / JAVA 환경에서의 CI( 지속적통합 ) 구축사례 5

기존문제점 기존문제점 3. 수작업에의한테스트수행 개별단위테스트는수행되지만테스트케이스가보존되지않음 별도의테스트커버리지를측정하지않아테스트수행정도를가늠하기어려움 회귀테스트 * 수행시테스트케이스를새로작성해야하기때문에막대한공수를필요로함 * 회귀테스트 : 개발과테스트를완료한모듈에서오류제거및수정과같은변경이일어날경우, 이러한변경에의해유입된오류가없는지를확인하는일종의반복시험 [ 출처 ] C 환경에서의 CI( 지속적통합 ) 구축사례 / JAVA 환경에서의 CI( 지속적통합 ) 구축사례 6

CTIP Continuous Test & Integration Platform Continuous Integration + Continuous Test CI (Continuous Integration) 개발기간동안개별개발된모듈에대한빌드를지속적으로수행하기위해 XP(eXtream Programming) 에서도입한빌드자동화개념 CTIP (Continuous Test & Integration Platform) CI 개념에테스트자동화개념을더함빌드도구, 테스트도구및기타개발시유용한도구들이유기적으로동작하도록묶은도구집합 (Tool Chain) 환경 7

CTIP 장단점? 통합소요시간감소 개발자간코드충돌조기발견 통합후오류발생률감소 초기환경구축의어려움 Well-developed test-suite 이필요 ( 테스 팅품질향상을위해 ) 지속적인통합을통해문제의조기발견 수동적인반복작업감소 빌드결과의배포및관련자에게통보 (Feedback) 테스트케이스재사용으로인한개발시간단축 테스트코드커버리지증가 품질도구들을통한코드품질검토 ( 테스트및정적분석 ) 유지보수성증가 ( 기능변경, 결함수정에대한공수감소 ) 8

CTIP 장단점? [ 출처 ] JAVA 환경에서의 CI( 지속적통합 ) 구축사례 9

CTIP 구성도예 9 이슈관리시스템 (with Mantics) 8 Build Script (with Ant) CTIP Tool Chain 4 스테이징서버 1 개별서버 5 Unit Test (with JUnit) 형상관리 Repository (with SVN) 2 3 Build Scheduling (with CruiseControl) 6 7 Test Coverage Analysis (with Clover) Package Dependency Analysis (with JDepend) Unit Test Report Test Coverage Report JDepend Report 1 소스코드개발및관리 6 빌드시커버리지분석자동수행 2 최신소스코드자동체크아웃 ( 업데이트 ) 7 빌드시의존성분석자동수행 3 정해진스케쥴링에따라빌드요청 8 빌드후문제점확인및등록 ( 통합담당자 ) 4 빌드자동수행및배포 9 등록된오류확인및해결 ( 개발자 ) 5 빌드시단위테스트자동수행 10

CTIP 구성도예 라이언즈프트솔루션 - OPEN ALM [ 출처 ] http://www.lionssoft.co.kr/open-alm/ 11

정적분석시스템테스팅 (+ testing) CI CTIP CI 도구 (CI Server) - 전체 Build 프로세스를관리 - Ex) Jenkins 버전관리시스템 (SCM) - 항상동일한최신의베이스라인코드를가지고작업필요. - Ex) Git, SVN 빌드도구 (Build Tool) - 개발된코드를컴파일과정을거쳐서서비스가능한형태로만드는빌드과정을수행할도구 - Ex) Maven, Ant 테스트도구 (Test Tool) - 단위테스트, 통합테스트, 사용자테스트, 회귀테스트등을자동으로수행할수있는도구 - Ex) Junit 12

정적분석시스템테스팅 (+ testing) CI CTIP CI 도구 (CI Server) - 전체 Build 프로세스를관리 - Ex) Jenkins 버전관리시스템 (SCM) - 항상동일한최신의베이스라인코드를가지고작업필요. - Ex) Git, SVN 빌드도구 (Build Tool) - 개발된코드를컴파일과정을거쳐서서비스가능한형태로만드는빌드과정을수행할도구 - Ex) Maven, Ant 테스트도구 (Test Tool) - 단위테스트, 통합테스트, 사용자테스트, 회귀테스트등을자동으로수행할수있는도구 - Ex) Junit 13

Tools? Niapa: https://www.swbank.kr/helper/tool/toolmain.do 14

2019 Software Verification 15

Team Projects 2019 Software Verification 3 학년 " 소프트웨어모델링및분석 " 수업과연동해서진행합니다. 3학년수업의개발결과물에대해서시스템테스팅수행후결과를 Issue Tracking System (ex, Redmine, Mantis) 을이용하여공유합니다. 3학년수업에서단위테스팅및관련분석을수행할수있도록 CTIP 환경을제공합니다. 테스팅결과에대한의견교환은 Issue Tracking System 을사용합니다. 테스팅을위한소스코드는 Configuration Management System (ex, Git, Svn) 을통해공유합니다. NIPA SW 뱅크에서제공하는다양한도구를사용할수있습니다. NIPA SW : https://www.swbank.kr/helper/tool/toolmain.do E-mail: atang34@naver.com 메일제목양식 : [2019SV][TP(#)]T(#) 16