1 / 21

NEXCORE 자동화 도구

NEXCORE 자동화 도구. NEXCORE uTEST Manager ( 개발단위 테스트 도구 ). 2009. 12. IT 공학센터 Software Technology Team. I. II. 도구 개요. 기능 시연. 1. 현황 및 배경 2. NEXCORE uTEST Manager 3. 전체 개발 프로세스에서의 위치 4. 도구 아키텍처 및 주요 기능 요약 5. Work Process 6. 이해관계자 별 획득 가치 7. 유사 도구와의 비교 8. 제반 요구사항. 4 5 6 7 8

ira
Download Presentation

NEXCORE 자동화 도구

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NEXCORE 자동화 도구 NEXCORE uTEST Manager (개발단위 테스트 도구) 2009. 12. IT 공학센터 Software Technology Team

  2. I II 도구 개요 기능 시연 1. 현황 및 배경 2. NEXCORE uTEST Manager 3. 전체 개발 프로세스에서의 위치 4. 도구 아키텍처 및 주요 기능 요약 5. Work Process 6. 이해관계자 별 획득 가치 7. 유사 도구와의 비교 8. 제반 요구사항 4 5 6 7 8 9 10 11 1. 테스트 환경 설정 2. 단위테스트 케이스 생성 3. 사용자 정의 테스트 케이스 제공 4. 테스트 수행 결과 분석 5. 테스트 자동 실행 6. 요구사항 연계 7. Report 2

  3. 도구 개요 I 1. 현황 및 배경 2. NEXCORE uTEST Manager 3. 전체 개발 프로세스에서 도구의 위치 4. 도구 아키텍처 및 주요 기능 요약 5. Work Process 6. 이해 관계자 별 획득 가치 7. 유사도구와의 비교 8. 제반 요구사항 3

  4. 점증하는 필요성 SI 프로젝트의 현실 (개발 단계) 현황 및 배경 현재 SI 프로젝트에서 개발 단계의 진행은개발자의 주관적인 추정에 의존하고 있으며, 코드 품질에 대한 체계적인 측정이 수행되지 않습니다. 프로젝트의 대형화/고도화 • 대규모 인력 투입에 따라 개발자 별 밀착 관리 어려움 • 개발자 별 균일한 역량 을 보장할 수 없음 소스 코드의 정량화된 품질 관리를 통한 Risk 최소화 단위테스트 수행 미비 • 개발 단계에 단위 테스트가 실제 잘 수행되지 않음 • 대개 화면/프로그램 단위의 Black-box 테스트 수행으로 대체 제한된 시간 내에 효율적인 테스트 수행 Black-box 테스트의 한계 • 모든 입력 값에 대한 테스트가 불가능함 • 내부 에러 상황 등의 문제점 발견이 어려움 • 실제 코드는 담당 개발자가 제일 잘 파악하고 있음 지속적인 테스트 정보 관리 및 품질 평가 방안 일정 및 비용에 대한 부담 • 비용 및 일정이 부족하므로 개발 단계에서의 품질 보장을 위한 추가적인 투자를 하기 어려움 회귀 테스트, 테스트케이스 축적 및 재활용 개발 단계의 관리 방안 부족 • 각 모듈에 대한 개발 완료 여부를 개발자의 보고에 의존함 • 실제 구현된 코드에 대한 테스트 및 검증 방안이 없음

  5. 개발 단계의 측정, 관리, 개선을 위한 도구 NEXCORE uTEST Manager NEXCORE uTEST Manager를 활용하여 개발 단계의 코드 품질을 검증하고 실질적인 프로젝트 진행 단계를 객관적으로 측정 및 관리할 수 있습니다. 개발 단계 별 정량화된 Exit criteria 제공 테스트 생성, 수행 사이클 지원 요구사항 연계 개발중인 소스 코드 품질 확보를 위한 지표 제공 • 결함 허용률 및 커버리지 보장선 설정 • 테스트 실행 결과를 대시보드또는 e-mail로 알림 • 테스트결과 저장 및 품질 지표의 리포팅 • Line/Statement, Branch 커버리지 분석 • 소스 코드에 대한 코드 복잡도 분석 • 테스트케이스 별 수행 시간 분석 • 연계된 소스 코드 변경 시 “Test Cancer” 예방 • Risk 분석 • 소스 코드에서 Junit 테스트케이스 생성 • pair-wise/결정 테이블 기법 지원 • 테스트 수행 스케줄링 및 C.I*도구 연계 기능 • 테스트 수행 범위 설정 • 재활용 가능한 생성용 템플릿 및 Mock 제공 요구사항 대비 테스트 커버리지 분석 변경된 요구사항에 대한 회귀 테스트 수행 NEXCORE Requirement Manager 연계 가능 • C.I: Continuous Integration

  6. NEXCORE Code Inspector NEXCORE iTEST Manager NEXCORE uTEST Manager 전체 개발 프로세스에서의 위치 NEXCORE uTEST Manager의 주 사용자는 개발자이며, ‘코딩-단위 테스트’ 단계에서의 white-box 테스트 수행 및 품질 측정을 지원합니다. White-box 테스트 지원 정적/동적 지표분석 요구사항 연계

  7. 도구 아키텍처 및 주요 기능 요약 NEXCORE uTEST Manager는 추가 기능 구성이 가능하도록 확장성 있는 개방형 플랫폼(Eclipse) 기반으로 개발되었습니다 NEXCORE uTEST Manager NEXCORE RM NEXCORE J2EE FWK NEXCORE FWK 커버리지 NEXCORE FWK 전문 요구사항 연계 요구사항 변경 알림 전문 로깅 및 저장 전문 IO NEXBUILD Front Component 템플릿 요구사항 정보입력 DAO 테스트 Import/ Export 사용자 환경설정 결과 이력 테스트케이스 생성 입력 도메인 템플릿 Utility Component Metric Report Chart Schedule Foundation Eclipse Platform JUnit Another Eclipse Plug-in Another Eclipse Plug-in Another Eclipse Plug-in JVM Another Eclipse Plug-in uTEST Meta Repository 현황관리 사용자 환경설정 이력 관리

  8. Work Process NEXCORE uTEST Manager는 코딩-테스트-결함관리의 사이클을 유기적으로 관리하여 개발 단계에서의 향상된 협업, 자동화 및거버넌스를 지원합니다 C.I 연계 테스트케이스 템플릿 설정 실행 스케줄 설정 Mock 사용 선택 목표 커버리지 및 결함 허용률 커버리지 데코레이션 관리자 이메일 설정 Repository 정보 설정 테스트케이스 실행 결과 조회 Schedule 자동 실행 프로젝트 정보 설정 테스트케이스 생성 Assist 예상 입력 도메인 정의 테스트데이터 생성 Assist 소스 코드 커버리지 회귀 테스트 지원 수행 시간 분석 코드 복잡도 요구사항 커버리지 테스트 성공/실패 Repository 저장 테스트 생성 테스트 수행 환경 설정 분석 및 점검

  9. 이해관계자 별 획득 가치 NEXCORE uTEST Manager가 제공하는 객관적∙정량적 정보를 바탕으로 품질지향적 개발 단계 관리를 위한 기반을 마련합니다 개발자 QA 역할 별 NEXCORE uTEST적용 관점 • 개발자/서브시스템 별 단위 테스트 현황을 정량적으로 파악 • 개발단계 품질관리 활동 강화 가능 • 코드품질 향상을 위한 환경 제공 • 개발 단계 별 완료 기준을 관계자에게 객관적으로 증명 개발 지원 품질 관리 위험 관리 고객 소통 • 정량화된 개발 진척관리 • 개발 단계 품질에 대한 가시성 확보 • 품질 지표 설정 및 관리 기반 조성 (품질데이터 수집→원인분석 →개선안 도출/적용) PM 전사

  10. 유사 도구와의 비교 NEXCORE uTEST Manager는 기존에 존재하는 유사 상용 도구들에 비해 향상된품질, 가시성 및 의사결정 지원 기능을 제공합니다.

  11. 제반 고려사항 NEXCORE uTEST Manager를 사용하여 개발 단계에서의 단위 테스트를 하기 위해서는 일부 고려사항이 존재합니다 NEXCORE uTEST Manager 적용 시 제반 고려사항 기술적 관점 • Eclipse IDE 기반으로 Java 프로젝트에만 적용 가능 • NEXCORE FWK와는 독립적이나 전문 테스트 기능은 NEXCORE J2EE FWK와 연동됨 • 설정 및 사용법 설명 등을 위한 초기 기술지원이필요할 수 있음 개발 문화 관점 • 단위테스트에 대한 이해 관계자들의 인식 부족 • 개발자의 단위 테스트 수행에 대한 반감(‘귀찮은데 코딩 잘해놓으면 되는 것 아닌가요?’) 고객 관점 • 목표 커버리지 설정에 대한 고객과의 소통(‘목표가 왜 100%가 아니죠?’) • 테스트케이스의 assert 문의 fail 개수와 실제 결함 개수의 차이점 설명 (‘이거도 결함이죠?’)

  12. 기능 시연 II • 테스트 환경 설정 • 단위테스트 케이스 생성 • 사용자 정의 테스트 케이스 제공 • 테스트 수행결과 분석 • 테스트 자동 실행 • 요구사항 연계 • Report 7

  13. 테스트 환경 설정 Eclipse의 Window  preference 항목에서 NEXCORE uTEST Manager를 활용하기 위한 uTEST repository 연결 등의 기본 정보를 입력합니다.

  14. 프로젝트 속성 설정 Package Explorer 뷰에서 테스트 할 프로젝트의 속성을 선택한 후 개발 프로젝트 정보와테스트케이스 생성 규칙 및 저장 위치를 입력합니다

  15. 단위테스트 케이스 생성 테스트를 수행할 소스를 선택한 후 단축키 ctrl+J를 누르거나 팝업메뉴에서 ‘테스트케이스(uTEST)로 이동’을 선택하여 빈 테스트를 생성합니다.

  16. 단위테스트 케이스 생성(계속) 각 메소드의 테스트 코드 생성을 위해 테스트 생성 기법을 결정하고 예상 입력 도메인을 선택하여 테스트데이터 셋을 생성합니다.

  17. 사용자 정의 테스트 케이스 제공 여러 테스트케이스를 동시에 생성하기 위하여 패키지 단위로 테스트케이스를 생성할 수 있습니다.

  18. 테스트 수행결과 분석 커버리지 버튼을 누르면 테스트가 실행되고 테스트 결과 및 커버리지 정보가 도출되어 에디터 및 결과 뷰에 표시됩니다.

  19. 테스트 자동 실행 테스트 수행 및 분석을 자동으로 실행시키기 위해 스케줄을 설정하여 반복적으로 실행시킬 수 있습니다.

  20. 요구사항 연계 NEXCORE uTEST Manager를 요구사항 관리와 연계하여 요구사항 변경에 따른 수정 알림 및 회귀테스트 수행을 할 수 있습니다.

  21. Report NEXCORE uTEST Manager를 사용하여 관리 중인 정보들의 리포트를 생성합니다. 리포트의 종류 및 지표는 추가 및 보완할 수 있습니다.

More Related