IBM Software Group 테스트라이프사이클에서협업을통한품질개선 IBM Rational Software 박성민 2007 IBM Corporation
Agenda Quality & Who owns it? ClearQuest TestManager Test Management with a Single view Rational Performance Tester Bridging the gap between developers, testers & operation team Summary
Who owns quality? 소프트웨어개발프로젝트에서품질에책임을지고관련업무를수행하는사람은? 다음중소프트웨어개발프로젝트에서품질에책임을갖는사람을고르시오 ( ) 1. 테스터 2. 테스터와개발자 3. 테스터와개발자및프로젝트매니저 4. 팀원전체
Quality? 주어진요구사항을만족시킬수있는제품의기능과특성의무결성 (American Society for Quality) 요구사항에대한적합성 (Philip Crosby) 고객의기대치를충족시킬수있는제품과서비스의마케팅, 엔지니어링, 제조및유지보수등의종합적인특성 (Armand V. Feigenbaum) Fitness for use (Dr. Joseph M. Juran)
Usual Quality Activities 일반적으로품질과관련된업무는개발자가코딩을끝내는시점에시작되며, 대부분품질과관련된노력은이이후에집중된다. Analyst Architect Developer Tester Operation Define Design Code Test Debug Functional Test Load Test Deploy Monitor 품질과관련된첫업무시작시점 대부분의노력을투입하는시점?
Cost to find and fix problems 소프트웨어문제는실제환경에도입되어발생되었을때원인을파악하고해결하는데훨씬더많은시간과비용이소요된다. Cost to Repair Software - Cost of Lost Opportunities - Cost of Lost Customers Costs Development Phases
Continuously Ensure Quality 초기부터검증시작 자동화도구 개발, 테스트팀및운영팀간의협업 품질과관련된업무가시작되어야하는시점 일반적으로품질과관련된업무가시작되는시점 C O S T Iterative Process Business applications 변화하는 고객의 요구에빠르게대응 애플리케이션의 신뢰성확보 애플리케이션의 가용성확보를통한안정적운용 Continuously ensure quality to 고객의요구조건파악 의도된 대로소프트웨어가 작동하는지 검증 실환경도입후 애플리케이션이 제대로동작하는지 확인
Who owns quality? 소프트웨어개발프로젝트에서품질에책임을가지고있는사람은? Everybody 일반적으로품질은 Quality Assurance 혹은 Quality Control, Test, Quality Engineering 과같은이름으로불리는조직의특정한하나의팀혹은관련된인원이전담해야하는업무로인식 품질은프로젝트에참여하는전체인원이관여해야하는업무이며, 전체프로세스와업무를하나로통합해서생각할때성취될수있음 모든팀원이개발되는제품 ( 산출물 ) 과기반이되는프로세스의품질에참여하여이를개선하는노력을기울이는것이필요 품질관련노력 Analyst Architect Developer Tester Operation Define Design Code Test Debug Functional Test Load Test Deploy Monitor
ClearQuest TestManagement
Simple Test Lifecycle Architect Use Case Test Script Requirements Test Case Test Log Analyst Tester Defect End User Analyst Architect Developer Tester
The Importance of Test Management Would you go on a road trip without a map? 행선지는어디로? 예상소요시간은? 교통체증, 병목구간에서우회도로는? 다음에는어떤길을택해보다빠르고안전하게도착할수있는가? Automated Test Management answers these questions
Test Governance and Control Test Planning, Execution and Project tracking Automated Test Management 테스트계획과테스트케이스관리 요구사항과결함관리 테스트수행 진행상황파악및진단 Automated Test Management is your Software Quality GPS 어디에있는지 어디로가고있는지 예측가능한
Test Management with ClearQuest Eclipse, Windows and Web Clients for test project tracking Eclipse Based Test Management RFT와 RPT에이어테스트관리기능까지 eclipse 위에탑재완료 Native and web clients also available Key Functional Areas Test Planning - 테스트계획, 테스트케이스등의산출물생성및관리 Test Execution - 테스트케이스및연관자동 / 수동스크립트실행 Test Reporting - 테스트진행상황파악을위한각종차트및리포트제공
ClearQuest: Governing Test and Development The Hub for Life-Cycle development IBM Rational ClearQuest Test Change Defects Single project view Global test project coordination Extensible test ecosystem Configurable, enforceable processes
Single Project View Single solution to manage tests, defects and project change Solutions: 전체테스트프로젝트상황에대한실시간통합 view 제공 개발, 테스트및프로젝트산출물간의추적가능한연관성제공 테스트계획, 결과, metrics 및결함관리 버전관리도구와의통합을통한 activity artifact 연계 다양한리포트를통한품질 metrics 제공 IBM Rational ClearQuest
Lifecycle Traceability Query one source for all aspects of project progress Requirements Tests Defects What can be analyzed 요구사항과연관된테스트결과 테스트결과와연관된결함 결함을발생시킨테스트와이의근거가되는요구사항 요구사항과테스트, 결함에이르는추적성을통해소프트웨어개발사이클에서의데이터통합 : closing the loop
Global Project Coordination Distributed and co-located test and development support Solutions: 물리적으로분산된테스트인력및노력의활용극대화 지역적으로분산된테스트통합의복잡성을단순화 대규모기업환경에서의높은확장성 웹기반의테스트계획및테스트진행상황리포팅 분산된테스트산출물들의공유및재사용자동화 중앙집중의사용자관리 다양한데이터베이스지원 IBM Rational ClearQuest
Extensible Test Ecosystem Integrated with Rational, open source and 3rd party test automation tools Solutions: Partner solutions 테스트랩관리비용절감 여러벤더사의도구관리를단순화 Test automation tools Rational Functional Tester, Manual Tester, Performance Tester 및 Robot 과의연계및실행 TPTP 및 Junit 연계 3rd party 테스트도구실행을위한확장성제공및 custom 테스트결과의자동화로깅확장등외부도구및시스템과의확장가능 Open source solutions Third party test automation tools IBM Rational ClearQuest
Configurable, Enforceable Process Customize and enforce your test processes and workflows Solutions: 프로젝트와회사정책에맞는 compliance ( 준거 ) 와 enforcement( 집행 ) 보장 프로젝트환경에맞는요구사항과워크플로우자동화에부합 각기다른환경에따른데이터입력및프로세스 customization 테스트변경이력에대한감사 (audit) e-signature를통한regulatory compliance( 규제준거 ) 지원 e-signature Approval Requirement Test Case Test Execution Validate Approve Results IBM Rational ClearQuest
Rational Performance Tester
Developer idea about performance test results 내가개발한애플리케이션에는문제가없다. 문제가있다면미들웨어가원인일것이다. BECAUSE 테스트를해본결과로는문제를발견하지못했다. (1 User) 1명의사용자로정상작동한다면, 더많은사용자로도문제가없을것이다. 운용팀이나테스터는먼저애플리케이션이문제라는것을증명할수있어야한다. 만약부하테스트를통해애플리케이션의문제를발견할수있다면
Rational Performance Tester 웹애플리케이션대상의 Eclipse 기반의자동화성능테스트도구 Data driven test 자동화지원 복잡한시나리오구성으로워크로드구현가능 테스트수행시성능및시스템자원의실시간모니터링기능 다양한리포트제공 병목구간에대한세부분석기능지원 Controller SUT Agent
Root Cause Analysis Configuration Two ways to get problem analysis data 테스트중에발견된성능문제 Tester RPT와통합된Data Collection Infrastructure를통해애플리케이션의수행성능데이터수집 ARM (Application Response Measurement) 에맞도록애플리케이션 instrumentation Websphere와 WebLogic에대한자동 instrumentation 테스트를수행하여 Data Collection Infrastructure(DCI) 를통해자동으로데이터수집 별도의추가구성없이 (agentless) 없이테스트대상시스템에대한실시간자원측정및응답시간과의연관리포트제공 RPT 를통한문제분석 운영중에발견된성능문제 IT Operation 운영중장애발생시Tivoli 도구에서수집한데이터를 import TMTP: IBM Tivoli Monitoring for Transaction Performance IT CAM for RTT: IBM Tivoli Composite Application Manager for Response Time Tracking IT CAM for Websphere: IBM Tivoli Composite Application Manager for WebSphere IBM Tivoli Monitoring 도구에서수집된시스템의자원데이터 import WAS, DB2, MQSeries, SNMP (MIB-II only), zos, Oracle DB, Citrix RPT 를통한문제분석
Identify the Root Cause of Performance Problems IBM Rational Performance Tester 1 2 Pinpoint performance problems in the test lab... 테스터가성능문제를발견 개발자에게자세한근거자료제공을통해신속한문제해결 테스트대상시스템 b 사용자부하 a 애플리케이션응답시간분석 Tester RPT 를통해가상사용자부하로성능테스트 c 성능상의병목구간은파악하여변경요청서제출 Developer 복잡한다중 tier 환경에서구분하기어려운애매한성능문제를파악 빠른품질향상가능
Performance Problem Identification During Test RPT 의페이지성능리포트는웹페이지당평균응답시간을보여준다. Highest bar = Performance Problem 성능테스트는병목구간을찾아낸다. 다음찾아야하는문제 : 어디서왜병목이발생하는가? Root Cause Analysis가문제를밝힐수있는도구를제공
Response Time Breakdown 응답시간데이터는 tier 와트랜잭션컴포넌트 (JDBC, JSP, Servlet 등 ) 단위로분할 Feature: 페이지응답시간을세부적인단위로분할하여분석이가능 Benefit: 분할된데이터분석하여병목이발생한페이지에대해가장문제가되는 ( 느린 ) 컴포넌트를찾을수있음. 응답데이터를 Tier 와컴포넌트로분할하는기능은 RPT 의장점
Deep Diagnostic Data Providing the details you need to solve the performance problem mystery 실행결과에서모든메쏘드에대한응답시간확인가능 생성된 UML 시퀀스다이어그램으로시간정보를포함하는클래스관계를보여줌. 사용자는소스코드까지분석가능. WebSphere 와 Weblogic 서버에서구동되는 J2EE 애플리케이션에적용가능
Performance Problem Identification from IT Operations IT CAM Dashboard Red Box = Performance Problem IT 운영자는가동되고있는시스템의성능문제를통보받음 다음찾아야하는문제 : 어디서왜문제가발생했는가? Root Cause Analysis 가문제를밝힐수있는도구를제공
IBM Tivoli Monitoring Data Import Problem diagnosis from operations ARM data import Primary Use Case: ITCAM for WebSphere와같은Monitoring 도구가운영중성능상의문제를통보 IT 운영자는시스템상에서의문제분석후, 개발및 QA 담당자에게장애를통보하고관련데이터를 import 하도록요청 Import 되는데이터는성능테스트수행시수집되는 ARM 데이터와동일 데이터가 import 되면이후진행되는분석은성능테스트결과분석절차동일하게 UML 다이어그램과 Tier 및컴포넌트별응답시간으로표시
Collaboration on performance issues 개발업무 테스트업무 운영업무 Developer Eclipse Tester IT Operation 소스코드 테스트결과 운영데이터 Rational Performance Tester : Root Cause Analysis 개발자, 테스터및운영자간의데이터기반통합으로보다효과적이고정확한문제해결이가능
Summary 요구사항분석부터디자인, 개발, 테스트및시스템운영에이르는모든활동이품질에영향 ClearQuest TestManager를통해전체테스트라이프사이클상의산출물관리 요구사항, 테스트및결함등의산출물관리 하나의메커니즘을통해전체산출물의연관성파악및 Metric 제공 팀원들간의정보공유역할 Rational Performance Tester를이용한성능상의문제원인파악 병목구간에대해 Tier 별, 컴포넌트별응답시간등의세부분석가능 UML 시퀀셜다이어그램및소스코드레벨의분석을통해개발팀과의협업모델 운영상의장애에대한문제분석