InfoQ

News

Article: Iterative, Automated and Continuous Performance

Posted by Scott Delap on Nov 21, 2007 11:56 AM

Community
Architecture,
Agile,
Java
Topics
Performance & Scalability,
Unit Testing
Tags
JUnit,
TDD,
Mocks
Iterative and continuous are terms that are often used in reference to testing of software.  This new InfoQ article takes a look at whether the same concepts can be applied to performance tuning.  Along the way topics such as tooling and mocks are discuss in regards to how they need to be adjusted for performance in respect to testing for functional requirements.

Our industry has learned that if we deliver intermediate results and revisit functional requirements we can avoid delivering the wrong system late. We have learned that if we perform unit and functional tests on a regular basis, we will deliver systems with fewer bugs. And though we are concerned with the performance of our applications, we rarely test for performance until the application is nearly complete. Can the lessons of iterative, automated and continuous that we've applied to functional testing apply to performance as well?

Today, we may argue that a build that completes with unit testing should be performed on an hourly, daily, or weekly basis. We may argue on 100% coverage vs. 50% coverage. We may argue and discuss and ponder about specific details of the process. But, we all pretty much agree that performing automated builds completed with unit testing on a regularly scheduled basis, is a best practice. Yet, our arguments regarding performance testing tend to be limited to, don't...

Iterative, Automated, and Continuous Performance

2 comments

Reply

Just another acceptance test by Kurt Christensen Posted Nov 21, 2007 1:57 PM
Re: Just another acceptance test by Alex Popescu Posted Nov 22, 2007 2:21 AM
  1. Back to top

    Just another acceptance test

    Nov 21, 2007 1:57 PM by Kurt Christensen

    On the teams I work with, we try to author our stories such that non-functional (e.g., performance and security) needs are addressed right alongside the functional needs. This seems to me the best way; I knew of a large team that built a fancy go-faster DAO layer, with all the tests running against a mocked database, only to find out at the end that the DAO layer choked on realistic data sets. Oops. By then it was too late. I will admit, however, that incorporating this in stories is hard to do with teams that are struggling just to build the bare minimum of functionality. In that case, I usually wait until the team gets into a healthier groove, and then begin helping them to write non-functional acceptance tests.

  2. Back to top

    Re: Just another acceptance test

    Nov 22, 2007 2:21 AM by Alex Popescu

    Interesting approach. Can you provide some examples on how these performance stories looks like? tia, ./alex -- .w( the_mindstorm )p. Alexandru Popescu Senior Software Eng. InfoQ TechLead&CoFounder

Exclusive Content

Rob Windsor on WCF with REST, JSON and RSS

WCF is not just for SOAP based services and can be used with popular protocols like RSS, REST and JSON. Join Rob Windsor as he introduces WCF 3.5 and its new native support for non-SOAP services.

Christophe Coenraets Discusses Flex 3, AIR, and BlazeDS

Christophe Coenraets discusses Flex 3, Flex Builder, AIR, BlazeDS, Adobe and open source, integrating Flex with existing applications, and integrating RIAs with search engines and browsers.

Debunking Common Refactoring Misconceptions

Danijel Arsenovski attempts to dispel some of the myths around refactoring and how it applies to .NET developers.

REST Eye for the SOA Guy

In this presentation, recorded at QCon San Francisco, CORBA guru Steve Vinoski explains REST from the view of someone who comes to SOA from a traditional, RPC-oriented background.

Choose Feature Teams over Component Teams for Agility

Feature teams are key to scaling agility for large teams. In an excerpt from "Scaling Lean and Agile Development," Larman & Vodde show how feature teams resolve traditional problems & raise new issues

Billy Newport explains Virtualization

Billy Newport talks about virtualization, eXtreme Transaction Processing (XTP) and WebSphere Virtual Enterprise. He discusses hardware, hypervisor, JVM, application and data virtualization.

Virtualization and Security

While virtualization provides many benefits, security can not be a forgotten concept in its application.

Introduction to Agile for Traditional Project Managers

This session is specifically aimed at traditionally trained project managers who are new to Agile, and who would like to be able to relate the PMI's best practices to their Agile equivalents.