Home > Ask the Software Quality Experts > Software Testing and Quality Assurance Questions & Answers > Performance testing and experimental design
Ask The Software Quality Expert: Questions & Answers
EMAIL THIS

Performance testing and experimental design

Mike Kelly EXPERT RESPONSE FROM: Mike Kelly

Pose a Question
Other Software Quality Categories
Meet all Software Quality Experts
Become an Expert for this site


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


>
QUESTION POSED ON: 10 September 2008
What is the idea behind one-factor experimental design approach for performance testing? Is this an engineering approach? Where can I find more information on this?

>

For a look at designing experiments, I'm going to refer you to James Bach's blog post on the topic. You'll need to read the comments section for all the gory details. In that post (and subsequent comments), there are some good references (the first one in particular):

  • Three Romeos And A Juliet: An Early Brush With Design Of Experiments by Ravindra Khare
  • The Research Methods Knowledge Base has a lot of content, along with a specific posting on Experimental Design
  • A collection of articles by Curious Cat Management Improvement Connections
  • For each of the references, pay close attention to James' comments. His color commentary can often help clarify what you're looking at.

    Now, how does that apply to performance testing? To answer this, I turned to fellow SearchSoftwareQuality.com expert Scott Barber for some help. Scott's the performance testing book author; I just play one on TV. Here's what Scott had to say:

    OFAT is simply untenable in a multi-variable problem where the variables are interdependent.

    Consider changing the "one" factor of "increase load." I can't even imagine how one can do that without also adding test data, changing how tasks line up over time, changing the duration of the test, and so forth. It's not that one factor isn't valuable or desired; it's that we neither have that kind of time, nor the capability of understanding all of the interdependencies between variables well enough to make it useful. How many times would we have to run a test to be sure that we have statistically significant data before running a second test with one factor changed -- then run that a bunch of times, then change one more factor, and so on.

    I guess it depends on how one characterizes "factor" and what degree of change counts as "change." I'd say that it's far more effective to explore one system characteristic at a time (assuming you have a stable enough system that you understand well enough to isolate a characteristic) than one test design factor at a time.

    To build on that, I feel like often times when I'm doing performance testing, I try to test varying one factor at a time (or, more accurately, what Scott calls a characteristic). I often test using specific models that my tests attempt to replicate, so I'll select one factor in my model and change it in what I hope is a deterministic way. However, performance testing is often so complex that OFAT testing can be impossible. Changing one factor often necessitates changing another factor related to performance, even if we don't know it.

    Software testing resources:
    Testing for performance, part 1

    What to include in a performance test plan

    Why do we test for performance?

    So what does all that mean? Practically, I think it means that there is a place for thinking about testing one factor at a time when you think about your performance testing. I'm fairly pragmatic in my approach to performance testing, so if an idea from experimental design or observational study inspires you to think about your performance testing is a different and useful way, go with it.


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



    RELATED CONTENT
    Software Testing and Quality Assurance
    Why do performance testers write new scripts so often?
    How to create performance testing workload models
    Fixing Web application performance troubleshooting problems
    Expert advises on implementation of Selenium IDE for effective software testing
    When should regression testing occur in an automated test plan?
    Achieving peak performance in integration testing
    Getting answers about OpenSTA script problems
    Defining core software regression tests
    Breaking in functionality on UI application pages
    Where to find good methodology guides for software testing

    Advice from Mike Kelly
    Integration testing: Is it black box or white box testing?
    Test strategy document vs. an acceptance test plan
    The future of software testing
    An approach to integration testing
    Choosing code coverage tools
    How to test software with dynamic requirements
    Test metrics and use case coverage during testing
    How to learn white box testing
    How to determine test coverage
    How testers can practice bug advocacy with developers

    Software performance, load and stress testing
    APM plus load testing a winning equation for Raymond James
    AVIcode upgrades its end-user experience APM product
    Running your first load test with JMeter
    Recording and running software load tests with JMeter
    Performance testing tools - Commercial, less expensive and free
    Easing software performance testing and usability modeling pressures
    Software Testing: New software testing technologies bring new challenges
    Drilling deep into performance testing at STPCon
    STPCon: Do reality checks on performance test products, panelists advise
    Ways to approach application performance testing on a tight budget

    RELATED GLOSSARY TERMS
    Terms from Whatis.com − the technology online dictionary
    integration testing  (SearchSoftwareQuality.com)
    performance testing  (SearchSoftwareQuality.com)
    shotgun debugging  (SearchSoftwareQuality.com)
    stress 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



    Search and Browse the Expert Answer Center
    Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
    Browse our Expert Advice



    Software Quality - Software Maintenance, Software Requirements, Software Standards
    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