Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
© 2012 IBM Corporation2
The Premier Event for Software and Systems Innovation
Agenda
Testing Challenges
Test Virtualization
Continuous Integration Testing
Summary
Q&A
© 2012 IBM Corporation3
The Premier Event for Software and Systems Innovation
소프트웨어 품질 : 테스트 환경 구성의 위험요소 증가
품질과 생산성의 조화품질 관련 비용증가
테스트 지연과생산성 저하
* Source:http://www.sei.cmu.edu/about/message/
Heterogeneous Environments
Public Cloud Private Cloud
Data Warehouse Mainframe Enterprise Service Bus
Directory Identity
File systems
CollaborationWeb/
InternetRouting Service
Third-partyServices Portals
ContentProviders EJB
SharedServicesArchives
Business Partners
Messaging Services
TraditionalTesting
Other costs
Testing costs
빅뱅형식의 전통적테스트 방법의 품질 저하
지속적인 인건비 상승 및테스트 환경 구축 비용상승
블랙박스 테스트, 통합테스트 지연에 따른 생산성저하
소프트웨어 개발 비용의 60 ~ 80 % 는 테스트 중 버그 수정에 따른 재 작업에 의한 것으로 추정 *
© 2012 IBM Corporation4
The Premier Event for Software and Systems Innovation
현대화된 응용프로그램 ?
• 가볍다• 신선하다• 새롭다• 단순하다.
하지만, 20년이상 된IT Legacy 시스템과의연동이 불가결의 요소 !
© 2012 IBM Corporation5
The Premier Event for Software and Systems Innovation
통합 테스트를 어렵게 만드는 복잡한 환경
Data Warehouse Mainframe
Directory Identity
File systems
Collaboration
Web/Internet
Routing Service
Third-partyServices
Portals
ContentProviders
SharedServices
EJB
Archives
Business Partners
Messaging Services
Enterprise Service Bus
Application
© 2012 IBM Corporation6
The Premier Event for Software and Systems Innovation
테스트 환경구성비용의 상승
• 인건비 / 소프트웨어 / 하드웨어 비용 상승 : 2009년도 이후 글로벌 하게 인건비가 가파르게 상승 a
• Fortune 500 에 속하는 회사들은 500만 ~ 3000만 달러의 비용을 테스트환경구축에 사용b
• 모 글로벌 금융회사의 경우 지난 13년간 5배 이상의 테스트 환경을 구축 b
테스트 환경 구축 비용 상승 측면
– 인건비 / 소프트웨어/ 하드웨어 비용 상승
– 복잡한 테스트 환경 증가
Testing Challenge – 테스트 환경 구축비용 측면
자료원 : Aon Hewitt - Annual India Salary Increase Survey 2012
a The Times of India, IT sector to get 12% average salary hike in 2011, TOI Tech & Agencies, Mar 8, 2011.
b. IBM customer reference
© 2012 IBM Corporation7
The Premier Event for Software and Systems Innovation
© 2012 IBM Corporation8
The Premier Event for Software and Systems Innovation
© 2012 IBM Corporation9
The Premier Event for Software and Systems Innovation
© 2012 IBM Corporation10
The Premier Event for Software and Systems Innovation
Testing Challenge – 개발자 생산성 측면
개발자 생산성 측면
– 화면과 연관된 서비스가 모두 개발 되어있거나, 백엔드 서비스가 가용한 상태에서만 테스트
– 통합 테스트 시에 발견되는 버그는 수정에 많은 시간이 소요
테스트 사이클 과개발자 생산성
• 개별 프로세스의 자동화에 비해 팀, 조직, 비즈니스 프로세스를 변화 시키는 것이생산성을 향상 시킴 a
• Defect 를 줄이는 비율은 개발 시간과 밀접한 연관이 있음 – 결함제거율 50% 미만인 경우 개발기간이 늘어남 b
• 결함 검출률은 블랙박스 테스트가 높지만, 수정비용이 10~100배 발생
a Implementation costs are per person per year. This data is based on hundreds of client interactions in the IBM Rational services organization, as observed by the Rational VP of servicesb. IBM Caper Jones ,
© 2012 IBM Corporation11
The Premier Event for Software and Systems Innovation
OATOAT
PerformancePerformance
UATUAT
Sys TestsSys Tests
Unit TestsUnit Tests
기존 테스트 방식의 문제점
RequirementsRequirements Quality Gate
Big Bang
• 다수의 버그가 한꺼번에 발견됨• 다수의 잠재적인 문제 – 보다 큰 리스크• 비용 과다 발생
© 2012 IBM Corporation12
The Premier Event for Software and Systems Innovation
Testing Challenge – 제품 품질 측면
제품 품질 향상 측면 (Quality ≠ Test)
– 품질에 신경 쓰지 않는 조직은 실제 수익 저하 현상을 초래
– 실제 테스트 시간 감소에 따른 품질 저하 현상
– 테스트 환경이 개발 초기(서비스, 라이브러리) 에는 구축되지 않아 테스트는 뒤로 미뤄짐
잠재 위험 요소의제거와 품질 향상
• Cquality = Cconformance + Cnonconformance• Conformance Cost : 테스팅(결함발견) 과 QA (결함예방) • nonConformance Cost : 결함수정, 재시험, 불만족 고객응대, 회사 이미지
손상, 사업기회 손실등 a
• 74% 의 프로젝트가 품질이슈와 함께 프로젝트 딜레이를 경험 b
• 테스트 시간의 30~50% 는 테스트 환경 구축에 사용 b
a Quality of cost by Juranb. NIST, Planning Report 2002-2003. The Economic Impacts of Inadequate Infrastructure for Software Testing, May 2002.
Time
CostQualityRisk
Balanced Approach
단순하게 Defect 를 줄이는 것이 최종목표가 아님Correctness / 가용성 / 유지보수성 / 통합성 등의 증진을 포함잠정적인 위험요소를 제거하고, 사용자의 기대를 만족서비스 개발 초기 부터 지속적인테스트
© 2012 IBM Corporation13
The Premier Event for Software and Systems Innovation
PerformancePerformance
새로운 테스트 방식의 제안
RequirementsRequirements
Unit TestsUnit Tests
UATUAT
OATOAT
Integration TestsIntegration Tests Sys TestsSys TestsSys TestsSys Tests
• 테스팅 가속화• 결함 수정비용 절감• 리스크 감소Big Bang
© 2012 IBM Corporation14
The Premier Event for Software and Systems Innovation
테스팅의 종류
Grey box – 로그, 데이터베이스, 메시지 스키마 등을함께 Input / Output 의 검토와 함께 진행
INPUT
OUTPUT
Black box – 프로그램의 Input / Output 의 검토를통한 테스팅
White box – 프로그램 내부 구조의 검토를 통한테스팅
© 2012 IBM Corporation15
The Premier Event for Software and Systems Innovation
Functional testing
© 2012 IBM Corporation16
The Premier Event for Software and Systems Innovation
Stubbing
© 2012 IBM Corporation17
The Premier Event for Software and Systems Innovation
서브 시스템을 가상화
© 2012 IBM Corporation18
The Premier Event for Software and Systems Innovation
전체 대상 응용프로그램 / 레이어를 가상화
© 2012 IBM Corporation19
The Premier Event for Software and Systems Innovation
IBM Rational 테스트 가상화 솔루션A smarter solution to better quality
Rational Test Workbench테스터 및 개발자가 활용하는 데스크탑 솔루션 :
– 가상 서비스를 캡쳐 / 모델링
– 응용프로그램의 화면 (User Interface) 이 구현되기 전에 서비스와애플리케이션에 대한 통합 테스트를 실시 (SOA, BPM)
Rational Performance Test Server Rational Test Workbench 에서 작성된 테스트 스크립트를이용하여 성능 테스트를 수행
– 가상 서비스를 조합하여 성능 테스트 수행
– 시스템 병목 현상을 찾아 내기 위한 프로브 (Probe) 시스템
Rational Test Virtualization Server 가상화 서버 솔루션 :
– 이질적인 하드웨어, 소프트웨어, 서비스들을 가상화 하여, 24X7 기반의 테스팅 역량을 제공하기 위한 통합 환경을 제공
– 전통적인 테스팅 환경의 인프라 비용 감소
– 다양한 종류의 프로토콜을 사용하는 시스템의 인터페이스 정의로부터 가상화된 서비스를 작성(HTTP, 웹 서비스, SOA, JMS, TIBCO, IBM WebSphere MQ, Oracle, etc.)
Databases Mainframeapplications
App Under Test
Third-partyServices
Packaged apps, messaging services, etc.
Rational Test Virtualization Server
Rational Test Workbench
Developers & Testers
Rational Performance Test Server
© 2012 IBM Corporation20
The Premier Event for Software and Systems Innovation
테스트 개발의 가속화
테스트 프로젝트와응용프로그램 환경을 동기화
논리적/물리적 아키텍처수립으로 테스트 대상 자산의개발 가속화
WSDL, SAP, Oracle Fusion , TIBCO, WebSphere 등의환경을 지원
© 2012 IBM Corporation21
The Premier Event for Software and Systems Innovation
코딩 없는 테스트 개발
코딩 없이 테스트 자원 개발
–실제 운영되는 시스템에서메시지를 캡쳐
–프로젝트 아키텍처에서 정의된메시지 “Requirement” 를 통해생성
–Form 과 마법사 기반의 UI
프로젝트 고유의 메시지를 처리하기위한 트랜스포트, 포맷정의(Formatter) 작성 가능
업계 표준 메시지 포맷 지원SWIFT, IATA, EDI, HL7, FIX 등
© 2012 IBM Corporation22
The Premier Event for Software and Systems Innovation
유연한 테스트 실행 방법
복합적인 응용 프로그램의 특정 컴포넌트를분리하여 집중 테스트
오류 처리를 위한 이벤트와 메시지를실시간으로 모니터링
메시지 검증 후 오류처리를 쉽게 해주는마법사 기능 지원
외부 시스템 과의 연계를 쉽게 해주는 명령어기반 인터페이스 (Command Line Interface) 지원
Rational Quality Manger 연동(HP Quality Center 지원)
© 2012 IBM Corporation23
The Premier Event for Software and Systems Innovation
가상화 테스트 환경 구축
코딩 없이 가상화된 응용프로그램을 생성하여 테스트 의존성 제거
이미 캡쳐 되거나 작성된 테스트 메시지로가상화된 서비스 생성
각 환경의 가상화된 응용프로그램을 중앙집중 관리 방법 제공
테스트 중인 시스템의 변경 없이 가상화테스트 응용프로그램 변경
개발 전 단계에 걸쳐 보다 빠르고 쉽게 테스팅
© 2012 IBM Corporation24
The Premier Event for Software and Systems Innovation
시스템의 성능 측정 방법의 다양화
전통적인 성능 테스트는 너무 늦은단계에서야 실행됨
점진적인 통합 테스트에서 작성된 테스트케이스를 재활용 하여 실제 부하 테스트시나리오를 수행
가상화된 서비스와의 결합을 통해 점진적인성능 지수 제공
가상화 서비스에서 사용된 데이터 재사용
기능 테스트에서 도출된 병목현상을 통합성능 테스트로 확장
© 2012 IBM Corporation25
The Premier Event for Software and Systems Innovation
응용프로그램 테스트 가상화 솔루션가상의 응용프로그램 테스트로 API 나 함수 수준의 기능 테스트 가능
Capt
ure
/ M
odel
가상
화환
경
복잡한 테스트 환경 구축에필요한 인건비, 하드웨어,
소프트웨어 비용 절감
비용 절감
빅뱅 형식의 개발에 따라통합의 이슈가 늦게 발견되는
위험요소가 감소
위험 요소 감소
테스트 환경의 구축과가용성에 의해 낭비 되는시간을 획기적으로 감소
테스트 시간 감소
© 2012 IBM Corporation26
The Premier Event for Software and Systems Innovation
사례 분석 – 미국 내 대형 통신사도입 이전 시나리오
고객 현황:응용프로그램간 상호 의존성이 높아 개발 후반부에서야 테스트 가 가능하고, 이에 따라 테스트 스케쥴의압박이 심함테스트 리소스들은 높은 다운타임을 가지며, 이에 따라 테스트 의존성이 높은 응용프로그램들은 대기 할 수밖에 없는 상황– 일부 팀은 50% 다운타임 현상
최종 릴리스는 지연되고, 예산 또한 초과 되었으나, 품질 수준은 기대 이하임
중앙에 있는 응용프로그램은다른 서비스에서 제공하는메시지에 의존성이 높고, 이에따라 테스트 스케쥴에 전체적인영향을 미침
Central AppCentral App
WSUIUIHTTP
ServiceService
WS
ServiceService
Corba
ServiceService
WS
ServiceService
ServiceService
JDBC SP
ServiceService WS
ServiceService
© 2012 IBM Corporation27
The Premier Event for Software and Systems Innovation
사례 분석 – 미국 내 대형 통신사솔루션
IBM 애플리케이션 가상화 서비스:의존성이 있는 다양한 응용프로그램들을 시뮬레이션 하는 가상화된 테스트 환경 구축7개의 주요 응용 서비스들에 대해 가상화된 서비스 환경을 구축하고, 한 개의 중요한응용프로그램을 테스트 자동화
IntegrationTesting
(IT)
IntegrationTesting
(IT)
Joint System Testing(JST)
Joint System Testing(JST)
PairwiseSystemTesting
(ST)
PairwiseSystemTesting
(ST)
Developer integration
testing
IntegrationSystem Testing(IST)
IntegrationSystem Testing(IST)
UserAcceptance
Testing(UAT)
UserAcceptance
Testing(UAT)
Application testing with live
interfaces
End-to-end Billing
End-to-end ordering / service delivery
FunctionalSystemTesting
(ST)
FunctionalSystemTesting
(ST)
Application testing with
virtual services
UnitTesting
(UT)
UnitTesting
(UT)
Developer unit testing
UserCertification
Testing(UCT)
UserCertification
Testing(UCT)
© 2012 IBM Corporation28
The Premier Event for Software and Systems Innovation
사례 분석 – 미국 내 대형 통신사초기 프로젝트 결과
기능 / 시스템 테스트 사이클 타임 평균 22% 감소30일 안에 100% 이상 ROI 달성시스템 테스트 일정의 단축에 따라 보다 빠른 시점에 많은 테스트를 수행결함 검출률 증가 와 프로젝트 후반부 테스트 단계에서 결함이 발견되는 비율 감소예기치 않은 시스템 다운타임에 따른 테스트 중단 없이 지속적인 테스트 가능
“개발자가 보다 적은 결함을 가진소프트웨어를 QA 팀으로 릴리스하게 됨으로써, 현업 담당자 들이두 단계 정도 먼저 결함을 검출 할수 있게되었다.”
- Delivery Manager
Cycle Time Results
0%5%
10%15%20%25%30%35%40%45%50%
Func
tiona
l Sys
Tes
t Avg
Cyc
le
Tim
e R
educ
tion
Avg 32% 32% 19% 19% 4% 3% 42% 26%
App1 App2 App3 App4 App5 App6 App7 App8
© 2012 IBM Corporation29
The Premier Event for Software and Systems Innovation
Solution: 가상화 테스트 환경테스트 환경 구축비용 절감 / 병렬 개발
LegacyERP
Database Mainframe
UDDIRegistry
Virtual Environments
Legacy
Database Mainframe
ERP
UDDIRegistry
n
Legacy
Database Mainframe
ERP
UDDIRegistry
2
Real Environment
인터페이스
Team A
인터페이스
Team B
인터페이스
Team C
인터페이스
Team D
가상환경생성
가상환경생성
1
Legacy
Database Mainframe
ERP
UDDIRegistry
© 2012 IBM Corporation30
The Premier Event for Software and Systems Innovation
Solution: 지속적인 통합 테스트점진적이고, 지속적인 통합 테스트의 엔진 – 테스트 가상화
Integration TestingIntegration Testing
테스트 가상화는 지속적이고, 점진적인 통합 테스트를 가능케 하는 원동력
서비스 , 애플리케이션, 시스템 이 각각의 통합 사이클에 따라 순차적으로 우선순위별로 개발 할 수있도록 통제
가상 서비스는 서비스 스펙 또는 레코딩을 통해 실존하는 트래픽을 캡쳐
가상 서비스를 커스터마이즈 하고, 개발자와 테스터가 사용 할 수 있도록 하여 점진적 테스트를 지원
실제 서비스 / APP가상 서비스 / APP
Integration TestingIntegration Testing
Integration TestingIntegration TestingIncremental Integration Testing Incremental Integration Testing
© 2012 IBM Corporation31
The Premier Event for Software and Systems Innovation
통합 테스팅
검출된오류
Benefit : 새로운 접근법의 비용 절감효과
코딩 단위테스팅 End to End
표준 방법에 의한 오류검출
오류 수정 비용
지속적인 통합테스트를통한 오류검출
© 2012 IBM Corporation32
The Premier Event for Software and Systems Innovation
시간
일반적인 접근법
품질 (%)
Big Bang
점진적인 통합 테스트 (Incremental Integration Testing)
빅뱅 형태의 통합 테스트 이후 수정이 어려워 지고, 테스트 해야 할 케이스가 기하 급수적으로 증가하여,
품질은 매우 저하 됩니다.
Benefit : 새로운 접근법의 품질 개선효과
© 2012 IBM Corporation33
The Premier Event for Software and Systems Innovation
테스트 환경구성비용의 절감 효과
• 테스트 환경 구축 비용을 90% 까지 절감 가능 (하드웨어 / 소프트웨어) • 사용할 때마다 비용을 지불하는 웹서비스 접근에 대한 비용을 절감
• 테스팅 환경 구축에 사용되는 인건비의 80% 이상을 절감 (인건비)
• 기대효과 : 테스트 환경 구축 비용 80% 이상 감소 , 테스트인건비 20% 감소
테스트 사이클축소와 개발자생산성 향상
• 테스트 환경 구성에 장기간 소요 되던 문제가 단기간으로 축소 되면서 원활한 테스트를 지원
• UI 개발과 무관하게 개발 중에 반복 테스트 (점진적인 통합테스트) 가 가능해 짐
• 테스터는 환경구성에 대한 제약이 낮아짐에 따라 보다 테스트 행위 자체에 집중
•기대효과 : 테스트 사이클 20% 감소를 통한 생산성 향상효과
잠재 위험 요소의제거와 품질 향상
• 개발자는 소프트웨어를 보다 빨리 통합 테스트 환경에서 검증 할 수 있게 됨 (서비스 / API 레벨)
• 시스템 내의 환경들을 가상화 하여 대형 개발팀의 경우 응용프로그램의 서로 다른 부분 또는시스템을 병렬로 개발 할 수 있게 됨
•기대효과 : 결함 수정비용 20% 향상 효과 및 품질 향상
IBM Rational Test Virtualization Solution
하드웨어,소프트웨어,인건비등 테스트 환경 구성 비용 절감 !
테스트 제약성 감소로 개발자 생산성 향상 !
빠른 통합 테스트로 제품 품질 향상 !
© 2012 IBM Corporation34
The Premier Event for Software and Systems Innovation
Rational Test Virtualization Solution –타의 추종을 불허하는 자동 테스트 기능으로 소프트웨어 품질을 보장
소프트웨어 품질 강화
– 이질적인 하드웨어, 소프트웨어, 서비스를 가상화함으로써 24x365 테스팅 역량을 제공
– 전통적인 테스트 환경의 인프라 비용을 획기적으로감소
– 다양한 하드웨어, 소프트웨어, 클라우드 기반에 의존하지않는 End to End 의 지속적인 통합 테스트를 통해 소프트웨어개발 생산성 증가
민첩한(Agile) 소프트웨어 개발 관행을 개선
– 개발과, 테스트의 속도를 개선하고 소프트웨어 품질 활동을 가속화
– 전체 팀간의 소프트웨어 테스트 환경을 공유하고, 나눠 쓸 수 있으므로 병렬 개발을 가능케 함
– 개발 팀간 추적성과 협업 환경을 위한 정보를 공유
© 2012 IBM Corporation35
The Premier Event for Software and Systems Innovation
www.ibm.com/software/rational
© 2012 IBM Corporation36
The Premier Event for Software and Systems Innovation
© Copyright IBM Corporation 2012. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
www.ibm.com/software/rational