test and ci

41
테스트와 지속적인 통합 [email protected]

Upload: dae-myung-kang

Post on 23-Jun-2015

991 views

Category:

Documents


1 download

DESCRIPTION

Head first software development

TRANSCRIPT

Page 1: Test and ci

테스트와 지속적인 통합

[email protected]

Page 2: Test and ci

테스트

Page 3: Test and ci
Page 4: Test and ci

모든 것은 잘못될 수 있다.

Page 5: Test and ci

In My Bag 소스관리

빌드도구

Page 6: Test and ci

v1001 v1002 v1003 Lastest

버전 변경만 가능

Page 7: Test and ci

컴파일만 보증

빌드 도구

Page 8: Test and ci

테스트의 종류

Page 9: Test and ci
Page 10: Test and ci

기능 사용자 입력 유효성 체크

출력 결과 확인

상태 전이 경계 조건 잘못된 조건

BLACK BOX TEST : 입력과 출력으로만 점검 가능

고객의 입장

Page 11: Test and ci

사용자 입력 유효성 체크

출력 결과 확인

상태 전이 경계 조건 잘못된 조건

BLACK BOX TEST : 입력과 출력으로만 점검 가능

기능

Page 12: Test and ci

기능

상태 전이 경계 조건 잘못된 조건

BLACK BOX TEST : 입력과 출력으로만 점검 가능

사용자 입력 유효성 체크

출력 결과 확인

Page 13: Test and ci

기능 사용자 입력 유효성 체크

상태 전이 경계 조건 잘못된 조건

BLACK BOX TEST : 입력과 출력으로만 점검 가능

출력 결과 확인

Page 14: Test and ci

기능 사용자 입력 유효성 체크

경계 조건 잘못된 조건

BLACK BOX TEST : 입력과 출력으로만 점검 가능

출력 결과 확인

상태 전이

Page 15: Test and ci

기능 사용자 입력 유효성 체크

상태 전이

BLACK BOX TEST : 입력과 출력으로만 점검 가능

출력 결과 확인

경계 조건 잘못된 조건

Page 16: Test and ci

인증과 로그 확인

다른 시스템의 입력으로 들어가는 데이터

시스템 부가 정보

남아 있는 불 필요한 정보

블랙 박스 + 시스템 내부

QA의 입장

Page 17: Test and ci

블랙 박스 + 시스템 내부

다른 시스템의 입력으로 들어가는 데이터

시스템 부가 정보

남아 있는 불 필요한 정보

인증과 로그 확인

Page 18: Test and ci

인증과 로그 확인

시스템 부가 정보

남아 있는 불 필요한 정보

블랙 박스 + 시스템 내부

다른 시스템의 입력으로 들어가는 데이터

Page 19: Test and ci

인증과 로그 확인

다른 시스템의 입력으로 들어가는 데이터

남아 있는 불 필요한 정보

블랙 박스 + 시스템 내부

시스템 부가 정보

Page 20: Test and ci

인증과 로그 확인

다른 시스템의 입력으로 들어가는 데이터

시스템 부가 정보

블랙 박스 + 시스템 내부

남아 있는 불 필요한 정보

Page 21: Test and ci
Page 22: Test and ci

분기되는 모든 코드

에러 처리 문서로 일하기

적절하게 리소스 제약 조건 다루기

소스를 본다.

개발자의 입장

Page 23: Test and ci

에러 처리 문서로 일하기

적절하게 리소스 제약 조건 다루기

소스를 본다.

분기되는 모든 코드

Page 24: Test and ci

분기되는 모든 코드

문서로 일하기

적절하게 리소스 제약 조건 다루기

소스를 본다.

에러 처리

Page 25: Test and ci

분기되는 모든 코드

에러 처리

적절하게 리소스 제약 조건 다루기

소스를 본다.

문서로 일하기

Page 26: Test and ci

분기되는 모든 코드

에러 처리 문서로 일하기

소스를 본다.

적절하게 리소스 제약 조건 다루기

Page 27: Test and ci

기능테스트 성능테스트 경계테스트

테스트를 만드는 것은 개발자의 몫

Unit Test

Race Condition

보안 위험 유효한 데이터 유효하지 않은 데이터

사용자가 SW를 테스트하는 것이 좋지만!!!

사람은 일관성 X

Page 28: Test and ci

JAVA => JUnit

C++ => Google Test

TEST Framework

Page 29: Test and ci

작동하지 않는 코드는 완료된 것이 아닙니다.

테스트를 통과하지 못한 코드는 완료된 것이 아닙니다.

Page 30: Test and ci

Code Coverage

Function Coverage

Statement Coverage

Decision Coverage

Condition Coverage

Modified Condition/Decision Coverage

Page 31: Test and ci

Code Coverage

Function Coverage

Statement Coverage

Decision Coverage

Condition Coverage

Modified Condition/Decision Coverage

Page 32: Test and ci

Code Coverage

Function Coverage

Statement Coverage

Decision Coverage

Condition Coverage

Modified Condition/Decision Coverage

Page 33: Test and ci

Code Coverage

Function Coverage

Statement Coverage

Decision Coverage

Condition Coverage

Modified Condition/Decision Coverage

Page 34: Test and ci

Code Coverage

Function Coverage

Statement Coverage

Decision Coverage

Condition Coverage

Modified Condition/Decision Coverage

Page 35: Test and ci

Code Coverage -C++(Gcov)

Page 36: Test and ci

Code Coverage -Java(CLOVER)

Page 37: Test and ci

Code Pro Analytix - Java

Page 38: Test and ci

체크 아웃 코드 수정 체크 인

자동 빌드 자동 테스트 자동 결과 보고

지속적인 통합

Page 39: Test and ci

CI Tool

Page 40: Test and ci

CI Tool

Page 41: Test and ci

Thank You!