Continuous Integrated Testing: Delivering Reliable, High-Performing Applications
Continuous Integrated Testing: Delivering Reliable, High-Performing Applications
Page 2
Compuware
Powerful solutions for enterprise IT
IT Management
Application Development
IT Operations
Page 3
TrackRecord Reconcile
DriverStudio File-AID Abend-AID QACenter DevPartner STROBE XPEDITER Studio Quality Assurance
CompuwareCorporation
Page 5
Development
Production
Planned
Benefit
Time
Cost
Planned Outcome:
Application is deployed on schedule and within budget Functionality meets business expectations and drives expected business value Application is high quality, secure and optimized for performance
Page 6
Development
Production
Planned
Benefit
Time
Actual
Cost
Actual Outcome:
Application is deployed behind schedule and costs significantly more than planned Application fails to meet quality or performance requirements Ultimately, the business fails to realize immediate or sustained value
Page 7
Development
Production
Planned
Benefit
Time
Actual
Cost
Actual Outcome:
Application is deployed behind 29% Succeeded schedule and costs significantly more than planned 53% Challenged Application fails to meet quality or 18% Outright Failures performance requirements Ultimately, Source: Standish Group the business fails to realize immediate or sustained value
Page 8
Builds quality into the application through clear alignment with the business needs and a focus on testing in development Implements an agile testing approach in development that results in higher quality code
Page 9
Quality Assurance
IT Challenge: What Happens Today
Defects are not found until late in the development life cycle or worse, in production Code is sent back to development causing delays which reduces the available testing time This cuts into new development time for further business innovation
QA
Plan
Develop
Test
Deploy
Page 10
Quality Assurance
IT Challenge: What Happens Today
QA
Plan
Develop
Test
Deploy
Page 11
Quality Assurance
Problem: Finding and Fixing Bugs Late in the Life Cycle is Costly
Errors found during testing may be 15 to 75 times more time consuming to fix than those that are discovered and fixed during the coding phase.
Software Engineering Economics, Barry W. Boehm
Page 12
Quality Assurance
There are More Cost Effective Ways to Solve These Problems
Formal design and code inspections average about 65% in defect removal efficiency.
Software Quality: Analysis and Guidelines for Success Caper Jones
Continuous integrated testing improves defect removal rates in development by 20% or more.
Compuware Corporation
Page 13
Page 14
Test Cases
QA
Root cause analysis reduces the time spent on problem diagnosis by QA and development Higher quality code is sent to QA
Integration
Page 15
CIT Process
Page 16
Test Execution
Automated functional testing tool
Page 17
Test Execution
User actions generate object-based scripts
Events synchronization
Data-driven testing GUI-less testing
Results log
Page 18
Microsoft & Java editions Integration with IDEs / App server Automatic error detection Memory analysis:
Memory Leaks Temporary Objects
RAM Footprint
Page 19
Page 20
Page 21
Real-Time
trace of memory usage
Page 22
Performance Analysis
Useful data views, pre-filtered and sorted
Page 23
Performance Comparisons
Page 24
Page 25
Page 26
Java Edition
Memory Analysis:
Temporary Objects Ram Footprint Memory Leaks Code Support
Page 27
Java Edition
Application performance profiler automatically locates Java performance bottlenecks Increases Application usability
Page 28
Java Edition
Code coverage analysis automatically locates untested code Ensure test coverage during unit and system testing Produce reliable components and applications Helps developers locate runtime multi-threading problems
Page 29
Java Edition
design
With severity (High, Medium, Low) Ability to filter rules Comprehensive explanation of each rule View offending code Generate reports
Page 30
Page 31
Automates daily code inspections to uncover poor coding practices and complexity metrics prior to new code being written
Uncovers memory and performance issues to eliminate catastrophic events down the road
Automates application code security inspections to detect and remediate security vulnerabilities
Analyses for code coverage during unit testing to ensure that all code has been thoroughly tested prior to moving to QA
Page 32
CIT in Action
Improving Quality with Every Build
Plan Test Cases Test Cases Test Cases Test Cases
QA
Cycle 1
Cycle 2
Cycle N-1
Cycle N
Test
Deploy
Run session files identify coding, memory, security and performance issues
Page 33
Benefit
Time
Actual
Cost
Short-term Results:
Long-term Results:
Implement a process that allows you to consistently deliver code that is high quality, secure and optimized for performance