단위 테스트 자동화 지원도구-사례를 통한 단위테스트 자동화의 현실적 수준과 시사점삼성SDS생산성혁신본부/SI Eng. 그룹임성현 전자계산조직응용 기술사/책임nd2009  한국SW아키텍트 대회 2      KSASCOEX 장보고 홀. 2009.7.9~10
Page 2목차1. 들어가는 말단위테스트?
단위테스트 확산의 어려움
일반적 접근2. 자동화 지원도구 소개3. 현실적 수준사례 환경 인터뷰
접근1 : 자동화 수준
접근2 : 모니터링
접근3 : 현장의 눈높이4. 나오는 말시사점/ 지향점요구정의인수테스트분석/아키텍처시스템테스트통합테스트설계개발단위테스트
1. 들어가는 말 – 단위테스트란?개발자가 의도한 대로 특정 코드 조각(unit)이 동작하는지 증명하기 위해 수행하는 테스트
단위테스트란 단위기능에 대한 정합성, 결함여부, 기능성 등을 테스트하여	요구사항에 맞는 지를 검증
수행주체 : 개발자
수행시기 : 개발단계
수행대상 : 독립된 클래스나 모듈
수행목적 : 코드가 원래 의도한 대로 작성되었는지 검증하기 위해
수행내용 : 단일 객체의 내부 로직에 집중하여 테스트1. 들어가는 말 - 단위테스트 확산의 어려움개발공수 증가에러 감소사실, 개발자의 코딩 부담은 증가한다.게다가, 오류가 줄어드는 것을 확인하는 것은 한참 이후이다.그럼에도 단위테스트를 수행한 효과는 매우 높다 Realizing quality improvement through test driven development: 			         results and experiences  of four industrial teams
1. 들어가는 말- Unit Test에 대한 일반적 접근지금까지 우리는… 했습니다.단위테스트를 하지 않고 개발 했습니다.소스가 개발됨에 따라 숨겨진 오류도 함께 생산통합테스트, 시스템 오픈 이후에야 오류 발견 프로젝트 품질저하, 납기지연, 처리비용 증가UI 기반으로 테스트 했습니다.개발자가 개발PC에서 무작위 테스트 수행단발적/제한적 테스트 수행(변경 후 회귀테스트는 못함) 동일수준의 수작업 테스트 반복, 시간 소요Junit 테스트케이스를 만들려고 노력 했습니다.프로젝트 구성원의 수준에 따른 한계점 존재신규 구성원에게 교육의 부담, 반발 개발 전역에 단위테스트를 적용하는 목표 미달2. 자동화 지원도구 소개 ITestopia( = Test + Utopia)단위 테스트 코드 / 데이터 생성을 수월하게 하여 SI 프로젝트에서 개발자가 단위테스트를 생활화 하고, 테스트 결과로 테스트 커버리지를 정량적으로 관리할 수 있게 지원하는 오픈소스 기반 단위테스트 지원도구대상언어: Java
Testopia 적용 범위테스트 계획 수립테스트 수행테스트 결과 검증2. 자동화 지원도구 소개 II테스트 대상 클래스 선정테스트 클래스 생성테스트 데이터 생성테스트 결과 보고서테스트 원칙/정책수립테스트 리소스/환경로딩테스트 커버리지단위테스트 실행

단위테스트자동화지원도구 임성현 최종

  • 1.
    단위 테스트 자동화지원도구-사례를 통한 단위테스트 자동화의 현실적 수준과 시사점삼성SDS생산성혁신본부/SI Eng. 그룹임성현 전자계산조직응용 기술사/책임nd2009 한국SW아키텍트 대회 2 KSASCOEX 장보고 홀. 2009.7.9~10
  • 2.
  • 3.
  • 4.
    일반적 접근2. 자동화지원도구 소개3. 현실적 수준사례 환경 인터뷰
  • 5.
  • 6.
  • 7.
    접근3 : 현장의눈높이4. 나오는 말시사점/ 지향점요구정의인수테스트분석/아키텍처시스템테스트통합테스트설계개발단위테스트
  • 8.
    1. 들어가는 말– 단위테스트란?개발자가 의도한 대로 특정 코드 조각(unit)이 동작하는지 증명하기 위해 수행하는 테스트
  • 9.
    단위테스트란 단위기능에 대한정합성, 결함여부, 기능성 등을 테스트하여 요구사항에 맞는 지를 검증
  • 10.
  • 11.
  • 12.
    수행대상 : 독립된클래스나 모듈
  • 13.
    수행목적 : 코드가원래 의도한 대로 작성되었는지 검증하기 위해
  • 14.
    수행내용 : 단일객체의 내부 로직에 집중하여 테스트1. 들어가는 말 - 단위테스트 확산의 어려움개발공수 증가에러 감소사실, 개발자의 코딩 부담은 증가한다.게다가, 오류가 줄어드는 것을 확인하는 것은 한참 이후이다.그럼에도 단위테스트를 수행한 효과는 매우 높다 Realizing quality improvement through test driven development: results and experiences of four industrial teams
  • 15.
    1. 들어가는 말-Unit Test에 대한 일반적 접근지금까지 우리는… 했습니다.단위테스트를 하지 않고 개발 했습니다.소스가 개발됨에 따라 숨겨진 오류도 함께 생산통합테스트, 시스템 오픈 이후에야 오류 발견 프로젝트 품질저하, 납기지연, 처리비용 증가UI 기반으로 테스트 했습니다.개발자가 개발PC에서 무작위 테스트 수행단발적/제한적 테스트 수행(변경 후 회귀테스트는 못함) 동일수준의 수작업 테스트 반복, 시간 소요Junit 테스트케이스를 만들려고 노력 했습니다.프로젝트 구성원의 수준에 따른 한계점 존재신규 구성원에게 교육의 부담, 반발 개발 전역에 단위테스트를 적용하는 목표 미달2. 자동화 지원도구 소개 ITestopia( = Test + Utopia)단위 테스트 코드 / 데이터 생성을 수월하게 하여 SI 프로젝트에서 개발자가 단위테스트를 생활화 하고, 테스트 결과로 테스트 커버리지를 정량적으로 관리할 수 있게 지원하는 오픈소스 기반 단위테스트 지원도구대상언어: Java
  • 16.
    Testopia 적용 범위테스트계획 수립테스트 수행테스트 결과 검증2. 자동화 지원도구 소개 II테스트 대상 클래스 선정테스트 클래스 생성테스트 데이터 생성테스트 결과 보고서테스트 원칙/정책수립테스트 리소스/환경로딩테스트 커버리지단위테스트 실행