SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
테스트와
지속적인 통합
     charsyam@naver.com
테스트
모든 것은 잘못될 수 있다.
In My Bag
소스관리   빌드도구
v1003
v1001   v1002
                Lastest




                버전 변경만 가능
빌드 도구


컴파일만 보증
테스트의 종류
BLACK BOX TEST : 입력과 출력으로만 점검 가능


            고객      의 입장




              사용자 입력
 기능                           출력 결과 확인
              유효성 체크




               경계 조건
상태 전이
              잘못된 조건
BLACK BOX TEST : 입력과 출력으로만 점검 가능




              사용자 입력
 기능                           출력 결과 확인
              유효성 체크




               경계 조건
상태 전이
              잘못된 조건
BLACK BOX TEST : 입력과 출력으로만 점검 가능




              사용자 입력
 기능                           출력 결과 확인
              유효성 체크




               경계 조건
상태 전이
              잘못된 조건
BLACK BOX TEST : 입력과 출력으로만 점검 가능




              사용자 입력
 기능                           출력 결과 확인
              유효성 체크




               경계 조건
상태 전이
              잘못된 조건
BLACK BOX TEST : 입력과 출력으로만 점검 가능




              사용자 입력
 기능                           출력 결과 확인
              유효성 체크




               경계 조건
상태 전이
              잘못된 조건
BLACK BOX TEST : 입력과 출력으로만 점검 가능




              사용자 입력
 기능                           출력 결과 확인
              유효성 체크




               경계 조건
상태 전이
              잘못된 조건
블랙 박스 + 시스템 내부

           QA   의 입장



           다른 시스템의
인증과 로그                     시스템
           입력으로 들어
  확인                      부가 정보
           가는 데이터




             남아 있는
           불 필요한 정보
블랙 박스 + 시스템 내부




           다른 시스템의
인증과 로그                     시스템
           입력으로 들어
  확인                      부가 정보
           가는 데이터




             남아 있는
           불 필요한 정보
블랙 박스 + 시스템 내부




           다른 시스템의
인증과 로그                     시스템
           입력으로 들어
  확인                      부가 정보
           가는 데이터




             남아 있는
           불 필요한 정보
블랙 박스 + 시스템 내부




           다른 시스템의
인증과 로그                     시스템
           입력으로 들어
  확인                      부가 정보
           가는 데이터




             남아 있는
           불 필요한 정보
블랙 박스 + 시스템 내부




           다른 시스템의
인증과 로그                     시스템
           입력으로 들어
  확인                      부가 정보
           가는 데이터




             남아 있는
           불 필요한 정보
소스를 본다.

        개발자의 입장

분기되는               문서로
         에러 처리
모든 코드              일하기




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




분기되는              문서로
        에러 처리
모든 코드             일하기




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




분기되는              문서로
        에러 처리
모든 코드             일하기




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




분기되는              문서로
        에러 처리
모든 코드             일하기




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




분기되는              문서로
        에러 처리
모든 코드             일하기




         적절하게
        리소스 제약
        조건 다루기
테스트를 만드는 것은 개발자의 몫

             Unit Test

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




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




  사용자가 SW를 테스트하는 것이 좋지만!!!
            사람은 일관성 X
TEST Framework
    JAVA => JUnit

  C++ => Google Test
작동하지 않는 코드는
 완료된 것이 아닙니다.


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

                   Statement Coverage

                    Decision Coverage

                    Condition Coverage

                Modified Condition/Decision
                         Coverage
Code Coverage
                    Function Coverage

                   Statement Coverage

                    Decision Coverage

                    Condition Coverage

                Modified Condition/Decision
                         Coverage
Code Coverage
                    Function Coverage

                   Statement Coverage

                    Decision Coverage

                    Condition Coverage

                Modified Condition/Decision
                         Coverage
Code Coverage
                    Function Coverage

                   Statement Coverage

                    Decision Coverage

                    Condition Coverage

                Modified Condition/Decision
                         Coverage
Code Coverage
                    Function Coverage

                   Statement Coverage

                    Decision Coverage

                    Condition Coverage

                Modified Condition/Decision
                         Coverage
Code Coverage
-C++(Gcov)
Code Coverage
-Java(CLOVER)
Code Pro Analytix - Java
체크 아웃     코드 수정    체크 인




지속적인 통합
자동 결과 보고   자동 테스트   자동 빌드
CI Tool
CI Tool
Thank
You!

Mais conteúdo relacionado

Destaque (7)

모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)
 
D2 OPEN SEMINAR - 개발자에 의한, 개발자를 위한 테스트
D2 OPEN SEMINAR - 개발자에 의한, 개발자를 위한 테스트D2 OPEN SEMINAR - 개발자에 의한, 개발자를 위한 테스트
D2 OPEN SEMINAR - 개발자에 의한, 개발자를 위한 테스트
 
모바일 자동화 솔루션 Touch Test 소개
모바일 자동화 솔루션 Touch Test 소개모바일 자동화 솔루션 Touch Test 소개
모바일 자동화 솔루션 Touch Test 소개
 
Anatomy of Realm
Anatomy of RealmAnatomy of Realm
Anatomy of Realm
 
모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)
 
Selenium for XE
Selenium for XESelenium for XE
Selenium for XE
 
테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)
 

Semelhante a Test and ci

Spring 3의 jsr 303 지원
Spring 3의 jsr 303 지원Spring 3의 jsr 303 지원
Spring 3의 jsr 303 지원
Sewon Ann
 

Semelhante a Test and ci (20)

Bean validation 1.1
Bean validation 1.1Bean validation 1.1
Bean validation 1.1
 
더 나은 SW프로젝트를 위해
 더 나은 SW프로젝트를 위해 더 나은 SW프로젝트를 위해
더 나은 SW프로젝트를 위해
 
테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션
 
jacoco를 이용한 매뉴얼 테스트의 서버사이드 코드 커버리지 측정하기
jacoco를 이용한 매뉴얼 테스트의 서버사이드 코드 커버리지 측정하기jacoco를 이용한 매뉴얼 테스트의 서버사이드 코드 커버리지 측정하기
jacoco를 이용한 매뉴얼 테스트의 서버사이드 코드 커버리지 측정하기
 
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
 
20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging
 
回国去哪买毕业证办迪肯大学毕业证Deakin毕业证书【Q微202-661-4433】 Deakin售澳洲毕业证原版新毕业证书出售各国毕业证买澳洲毕业证的价...
回国去哪买毕业证办迪肯大学毕业证Deakin毕业证书【Q微202-661-4433】 Deakin售澳洲毕业证原版新毕业证书出售各国毕业证买澳洲毕业证的价...回国去哪买毕业证办迪肯大学毕业证Deakin毕业证书【Q微202-661-4433】 Deakin售澳洲毕业证原版新毕业证书出售各国毕业证买澳洲毕业证的价...
回国去哪买毕业证办迪肯大学毕业证Deakin毕业证书【Q微202-661-4433】 Deakin售澳洲毕业证原版新毕业证书出售各国毕业证买澳洲毕业证的价...
 
[기본과정] 코드 테스트와 커버리지 기본 교육(개념)
[기본과정] 코드 테스트와 커버리지 기본 교육(개념)[기본과정] 코드 테스트와 커버리지 기본 교육(개념)
[기본과정] 코드 테스트와 커버리지 기본 교육(개념)
 
테스트개선지원 사례 - 웹어플리케이션대상
테스트개선지원 사례 - 웹어플리케이션대상테스트개선지원 사례 - 웹어플리케이션대상
테스트개선지원 사례 - 웹어플리케이션대상
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
 
Windows Debugging Technique #3
Windows Debugging Technique #3Windows Debugging Technique #3
Windows Debugging Technique #3
 
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
 
아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 a아꿈사.C++ api 디자인.20140315 a
아꿈사.C++ api 디자인.20140315 a
 
TechTalk - 개발환경설정 이야기
TechTalk - 개발환경설정 이야기TechTalk - 개발환경설정 이야기
TechTalk - 개발환경설정 이야기
 
우리 제품의 검증 프로세스 소개 자료
우리 제품의 검증 프로세스 소개 자료 우리 제품의 검증 프로세스 소개 자료
우리 제품의 검증 프로세스 소개 자료
 
Spring 3의 jsr 303 지원
Spring 3의 jsr 303 지원Spring 3의 jsr 303 지원
Spring 3의 jsr 303 지원
 
VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리
 
Windows Debugging Technique #2
Windows Debugging Technique #2Windows Debugging Technique #2
Windows Debugging Technique #2
 
Quick bcc
Quick bccQuick bcc
Quick bcc
 
[2014 CodeEngn Conference 10] 심준보 - 급전이 필요합니다
[2014 CodeEngn Conference 10] 심준보 -  급전이 필요합니다[2014 CodeEngn Conference 10] 심준보 -  급전이 필요합니다
[2014 CodeEngn Conference 10] 심준보 - 급전이 필요합니다
 

Mais de DaeMyung Kang

Mais de DaeMyung Kang (20)

Count min sketch
Count min sketchCount min sketch
Count min sketch
 
Redis
RedisRedis
Redis
 
Ansible
AnsibleAnsible
Ansible
 
Why GUID is needed
Why GUID is neededWhy GUID is needed
Why GUID is needed
 
How to use redis well
How to use redis wellHow to use redis well
How to use redis well
 
The easiest consistent hashing
The easiest consistent hashingThe easiest consistent hashing
The easiest consistent hashing
 
How to name a cache key
How to name a cache keyHow to name a cache key
How to name a cache key
 
Integration between Filebeat and logstash
Integration between Filebeat and logstash Integration between Filebeat and logstash
Integration between Filebeat and logstash
 
How to build massive service for advance
How to build massive service for advanceHow to build massive service for advance
How to build massive service for advance
 
Massive service basic
Massive service basicMassive service basic
Massive service basic
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101
 
How To Become Better Engineer
How To Become Better EngineerHow To Become Better Engineer
How To Become Better Engineer
 
Kafka timestamp offset_final
Kafka timestamp offset_finalKafka timestamp offset_final
Kafka timestamp offset_final
 
Kafka timestamp offset
Kafka timestamp offsetKafka timestamp offset
Kafka timestamp offset
 
Data pipeline and data lake
Data pipeline and data lakeData pipeline and data lake
Data pipeline and data lake
 
Redis acl
Redis aclRedis acl
Redis acl
 
Coffee store
Coffee storeCoffee store
Coffee store
 
Scalable webservice
Scalable webserviceScalable webservice
Scalable webservice
 
Number system
Number systemNumber system
Number system
 
webservice scaling for newbie
webservice scaling for newbiewebservice scaling for newbie
webservice scaling for newbie
 

Test and ci

  • 1. 테스트와 지속적인 통합 charsyam@naver.com
  • 3.
  • 5. In My Bag 소스관리 빌드도구
  • 6. v1003 v1001 v1002 Lastest 버전 변경만 가능
  • 9.
  • 10. BLACK BOX TEST : 입력과 출력으로만 점검 가능 고객 의 입장 사용자 입력 기능 출력 결과 확인 유효성 체크 경계 조건 상태 전이 잘못된 조건
  • 11. BLACK BOX TEST : 입력과 출력으로만 점검 가능 사용자 입력 기능 출력 결과 확인 유효성 체크 경계 조건 상태 전이 잘못된 조건
  • 12. BLACK BOX TEST : 입력과 출력으로만 점검 가능 사용자 입력 기능 출력 결과 확인 유효성 체크 경계 조건 상태 전이 잘못된 조건
  • 13. BLACK BOX TEST : 입력과 출력으로만 점검 가능 사용자 입력 기능 출력 결과 확인 유효성 체크 경계 조건 상태 전이 잘못된 조건
  • 14. BLACK BOX TEST : 입력과 출력으로만 점검 가능 사용자 입력 기능 출력 결과 확인 유효성 체크 경계 조건 상태 전이 잘못된 조건
  • 15. BLACK BOX TEST : 입력과 출력으로만 점검 가능 사용자 입력 기능 출력 결과 확인 유효성 체크 경계 조건 상태 전이 잘못된 조건
  • 16. 블랙 박스 + 시스템 내부 QA 의 입장 다른 시스템의 인증과 로그 시스템 입력으로 들어 확인 부가 정보 가는 데이터 남아 있는 불 필요한 정보
  • 17. 블랙 박스 + 시스템 내부 다른 시스템의 인증과 로그 시스템 입력으로 들어 확인 부가 정보 가는 데이터 남아 있는 불 필요한 정보
  • 18. 블랙 박스 + 시스템 내부 다른 시스템의 인증과 로그 시스템 입력으로 들어 확인 부가 정보 가는 데이터 남아 있는 불 필요한 정보
  • 19. 블랙 박스 + 시스템 내부 다른 시스템의 인증과 로그 시스템 입력으로 들어 확인 부가 정보 가는 데이터 남아 있는 불 필요한 정보
  • 20. 블랙 박스 + 시스템 내부 다른 시스템의 인증과 로그 시스템 입력으로 들어 확인 부가 정보 가는 데이터 남아 있는 불 필요한 정보
  • 21.
  • 22. 소스를 본다. 개발자의 입장 분기되는 문서로 에러 처리 모든 코드 일하기 적절하게 리소스 제약 조건 다루기
  • 23. 소스를 본다. 분기되는 문서로 에러 처리 모든 코드 일하기 적절하게 리소스 제약 조건 다루기
  • 24. 소스를 본다. 분기되는 문서로 에러 처리 모든 코드 일하기 적절하게 리소스 제약 조건 다루기
  • 25. 소스를 본다. 분기되는 문서로 에러 처리 모든 코드 일하기 적절하게 리소스 제약 조건 다루기
  • 26. 소스를 본다. 분기되는 문서로 에러 처리 모든 코드 일하기 적절하게 리소스 제약 조건 다루기
  • 27. 테스트를 만드는 것은 개발자의 몫 Unit Test 기능테스트 성능테스트 경계테스트 유효한 데이터 Race 보안 위험 유효하지 않은 Condition 데이터 사용자가 SW를 테스트하는 것이 좋지만!!! 사람은 일관성 X
  • 28. TEST Framework JAVA => JUnit C++ => Google Test
  • 29. 작동하지 않는 코드는 완료된 것이 아닙니다. 테스트를 통과하지 못한 코 드는 완료된 것이 아닙니다.
  • 30. Code Coverage Function Coverage Statement Coverage Decision Coverage Condition Coverage Modified Condition/Decision Coverage
  • 31. Code Coverage Function Coverage Statement Coverage Decision Coverage Condition Coverage Modified Condition/Decision Coverage
  • 32. Code Coverage Function Coverage Statement Coverage Decision Coverage Condition Coverage Modified Condition/Decision Coverage
  • 33. Code Coverage Function Coverage Statement Coverage Decision Coverage Condition Coverage Modified Condition/Decision Coverage
  • 34. Code Coverage Function Coverage Statement Coverage Decision Coverage Condition Coverage Modified Condition/Decision Coverage
  • 38. 체크 아웃 코드 수정 체크 인 지속적인 통합 자동 결과 보고 자동 테스트 자동 빌드