Home > Software Quality News > Continuous integration meets application performance management
Software Quality News:
EMAIL THIS

Continuous integration meets application performance management

By Jack Vaughan, Managing Editor
04 Mar 2008 | SearchSoftwareQuality.com

Software quality news and advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google

Agile development styles centered on continuous integration are leading to new ways of thinking about various parts of the software development life cycle (SDLC). Requirements gathering and project management have been affected. Now, the Agile emphasis on continuous processes is being heard more widely in performance testing and management.

More information on continuous integration
How continuous integration improves software quality

Continuous integration on the rise in .NET

Continuous Integration: Improving Software Quality and Reducing Risk -- Chapter 2, Introducing Continuous Integration

Continuous performance management -- or continuous performance testing -- applies the principles of performance testing to the practice of continuous integration, according to Steven Haines, Java domain expert at Quest Software. Quest and Haines have fashioned a tool kit, now in beta and available to the Quest community, that embodies some of the ideas of continuous performance management.

Performance testing should be integrated into automated continuous integration builds, Haines and others advise. That means having tight test script incorporation within a continuous integration server.

Continuous performance management in Haines' view is closely associated with test-driven development (TDD). Both methodologies, he has indicated, can lead to shorter development cycles, faster triaging and greater confidence in deployments. Haines, author of Pro Java EE 5 Performance Management and Optimization (Apress), has written extensively about TDD, continuous performance management and other matters of application tuning.

Load- and unit-testing secondary builds
Achieving Agile goals requires some juggling. There is a consensus that individual commit builds, if they are to be done often, cannot consume too much time.

"There are a lot of shortcuts one may take to keep the commit build under, say, 10 minutes," Haines said. "But a more extensive secondary build test can be planned for another time interval." Such a test would be expected to find more problems than the simpler tests.

"If we have a commit build that does the functional, smoke testing, then the secondary build is a cool place to bring in performance testing," he said.

In a first phase, teams should consider going through test cases and profiling them in three ways, according to Haines.

  1. Do a memory profile of each test's case.
  2. Do code performance profiling to find the number of lines a piece of code may execute, how much time is spent executing each line, how much time is spend executing each method, and so on.

  3. Do a coverage study to see what percentage of code is executed.

In a second phase, performance load testing should be applied to the secondary build, Haines indicated. This is different than integration testing, he noted.

"The difference here is that the integration test is interested in only a single request at a time," Haines said.

Meanwhile, performance load tests, naturally, show what new problems arise when load is applied. "Load has a funny way of making little problems that you don't really see into big gaping holes," Haines said.

Haines said the developer kit Quest is creating for continuous performance efforts parses through code, finds test cases and configures the company's JProbe tool to capture the memory, code and coverage profiles thus described. The kit will take results and builds a single aggregate report.

Continuous chorus
Quest and Haines are not alone in arguing that performance management has to be considered in the context of continuous processes.

Some of this has to do with the advent of service-oriented architecture (SOA), in which diverse services are gathered to form unique applications.

Test software vendors such as iTKO Inc. have discussed the need for a continuous form of validation of SOA applications, which constantly change. In addition, SOA tester MindReef Inc. discusses a regimen of continuous validation that is part testing and part performance.

Also, writers such as Cody Menard, now general manager for Microsoft Business efforts at ThePlanet.com, have discussed the paramount importance of continuous performance as long ago as 2003.

Jason Barry, performance architect at DeCare Systems in Ireland, has worked on developing new Agile approaches to continuous performance management with Quest's technology. He said health system builder DeCare needs to monitor applications in production and is working with Quest technology to build an optimal professional services model to ensure full life-cycle support between development and operations.

"The idea of continuous performance management links up between our continuous integration environments and performance management. It allows developers to be proactive rather than reactive," Barry said.



Tags: Software testing models and approaches (Context-driven, Factory, Analytic, Quality, IV&V)Software development fundamentalsTest-driven development (TDD)Software performance, load and stress testingVIEW ALL TAGS

Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


RELATED CONTENT
Software testing models and approaches (Context-driven, Factory, Analytic, Quality, IV&V)
Five roles test managers play in agile development: Tutorial, part one
How test managers can shine in agile development: Tutorial, part two
Sam Charrington, Appistry CloudIO
Testing mobile Web applications for usability and context
Software Testing: Assessing risk and scope
IBM strengthens ALM line, as Micro Focus buys competitors Borland, part of Compuware
Using session-based test management for exploratory testing
Agile software development tutorial: Agile testing
The benefits of exploratory testing in agile environments
What are the different software testing methodologies?

Software development fundamentals
Agile development growing, but problems remain
Hamish Reid, software engineer, Perforce Software
Agile, IBM tools boost Merge Healthcare's software quality
Extending application lifecycle management to the enterprise
Quiz: Open source software development
Help with development life cycle metrics
How to develop secure applications
Manage component dependencies for improved system quality
Survey: Agile interest high, but waterfall still used by many
Continuous integration reduces bugs, increases productivity

Test-driven development (TDD)
Agile development growing, but problems remain
The challenges of test-driven development (TDD)
Agile and waterfall neck and neck as business side fails to engage
Big Blue dog learns new tricks: How IBM Software Group moved to agile
Clean Code: A Handbook of Agile Software Craftsmanship, Chapter 1 -- What Is Clean Code?
Successful test-driven development (TDD) with external systems
Improved software design with test-driven development (TDD)
Test-driven development and the ethics of quality
Can test-driven development drive developers to test?
Barriers remain for test-driven development

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
black box  (SearchSoftwareQuality.com)
context-driven testing  (SearchSoftwareQuality.com)
load testing  (SearchSoftwareQuality.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary



Software Development Methods - Extreme Programming, Agile Programming, Scrum
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2006 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts