Home > Software Quality Tips > Peak Performance > Ways to approach application performance testing on a tight budget
Software Quality Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

Ways to approach application performance testing on a tight budget


Anne-Marie Charrett
Rating: -5.00- (out of 5)

Application performance testing at the best of times is not for the fainthearted. Adding a low budget and small staff makes it very hard to achieve the goals of performance testing. Unfortunately that is exactly what many testers face in start-ups, small businesses and even in downsized test teams for larger development companies . Recently, I interviewed veteran software testers Michael Feerick, Trish Khoo and Evan Phelan about how they cope with this problem and came to these conclusions about best practices for performance testing on a tight budget.

Do you choose to accept the mission?

Before accepting to perform a testing task, take a hard look at the consequences of getting it all wrong. If performance testing is strategically linked to the success of the project, speak now to stakeholders. As Trish Khoo advises: "Be honest and upfront. Explain to them performance testing is a specialized skill. There is a high risk of providing misleading and inaccurate results....


RELATED CONTENT
Peak Performance
Cut software performance testing costs with built-in measurements
Building a Performance Assurance Center of Excellence tutorial
Running your first load test with JMeter
Budget-friendly Web app performance testing, monitoring tips
Testing rich Internet applications: 2009's best free tools
The controversy surrounding the schools of software testing
Testing training: Disturbing behaviors of students
Software testers are not helpless
Software testers must understand the business side of software quality
Software testing is improved by good bug reporting

Software performance, load and stress testing
Just-enough application lifecycle management (ALM)
Cut software performance testing costs with built-in measurements
Running, debugging and analyzing load tests using JMeter
Application performance testing across company networks
Testing rich Web services with soapUI
Resolving issues in baseline, load and stress testing
Testing Web services' performance with soapUI
Automation Anywhere tackles automated testing
Building a Performance Assurance Center of Excellence tutorial
Tips for debugging your JMeter tests

Software security testing and techniques
Why use POST vs. GET to keep applications secure
Old problems persist in Web 2.0 security practices
Application security checklist: Ways to beat cross-site request forgery
Are SQL injection attacks really a big software security risk?
Managing software testing: Five focus-improvement tips
Web server weaknesses you don't want to overlook
Using firewalls for software testing: Pros and cons
Beating software's cross-site scripting, authentication problems
Application security checklist: Finding, eliminating SQL injection flaws
Free Web proxy security tools software testers should get to know

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


"

Know your mission

Let's say that you tried the first tip, and you've still been told to "give it your best shot." It's time to work out what do you and your business and technical stakeholders want to get out of the performance testing. After all, there are many types of performance testing such as load testing, stress testing, endurance Testing (soak), spike testing, scalability testing, and baseline or benchmark testing. Which tests best cover the requirements of the stakeholders? Which ones can you skip without compromising stakeholders' goals?

Identify the types of performance testing what will and will not be performed. Personally, I would recommend starting with a simple and easy goal, such as benchmarking current performance, but your stakeholders may have different ideas. Point out the benefits of getting data that you know you can rely on, as opposed to results that may be misleading.

Ask yourself and your stakeholders are there other ways of monitoring you applications performance? Karen N. Johnson's great tip on Web application testing and monitoring provides some good how-to advice on application performance testing, too.

Pilot your performance test

All testers interviewed agree that careful planning and strategy is a must. To come up with a good plan, it may be helpful to run a small pilot and performance test on one simple scenario from your application. The pilot test benefits you in a few ways:

  • It will help familiarise yourself with the performance test tool;
  • It will give you an understanding of some of key issues involved in performance testing; and,
  • It will help estimate how much time and effort is required to complete a task.

With a low budget, opt for tesing with open source tools like OpenSTA or Jmeter. WebLoad is another option, but the open source version has very restricted functionality. These tools are not always user friendly; but they do provide a good, low-cost alternative. Another low budget alternative is WAPT, which is user friendly, has good documentation and produces some nice charts.

Once the pilot is complete go back, plan and strategise you testing.

For more information on planning, check out Mike Kelly's tip See Mike D Kelly article on problem areas before performance testing.

Be a sleuth

It's time to do some serious investigative work exactly you are going to test and what data you are going to need. You and your business and technical stakeholders will need to come to an agreement on the following points:

  • The scenarios and the associated test data you are going to use to test the application. These will be the basis of your performance test scripts.
  • How many concurrent users or calls do you want per scenario?
  • If you have any current usage data, use them to create your projections. If not, use stakeholder feedback to create some data models.
  • How much pre-existing test data do you want?

Getting this information will help you know what test data needs to sit in the system before you start running your scripts. Unfortunately, getting this test data into your system can be a time-consuming task and sometimes can be more effort than performance test scripting or execution.

Timing is everything

Starting performance testing as early as possible is an absolute must! Even if the application is not fully completed, why not try your pilot on some functionality that is? This will give you a real head start into understanding the problems you'll be facing in performance testing on a particular project.

It's critical to think about when the tests will take place and who and how you are going to support them. I will never forget my first performance testing exercise where I had booked the whole lab for a weekend run. I started running the scripts at four o'clock on a Friday afternoon and headed off for the weekend. I walked in on Monday morning and was dismayed to find out that the scripts had failed 30 minutes after I kicked them off, and absolutely no testing had occurred at all on the weekend.

Know the territory

Create a performance test environment that mirrors the production environment in terms of hardware, data volumes and the number of virtual users. If the test environment required is large and costly, stakeholders often balk at this upfront cost. In this case, a scaled down version of the test environment can be used, from which you could extrapolate data. Another option would be rent some space for the duration of the testing.

If your company uses virtualization -- running applications on virtual machines in the data center or development lab, for instance -- or outsources any testing or development, then it may be easier to provision the type of production system you need. A good resource for outsourcing testing is Charlie Weblien blog post on testing from the cloud.

Test debriefing and a reality check

By the completion of performance testing, you will probably have large amounts of test data requiring interpretation and presentation. The key to success here is to pitch this final report to the intended audience.

Michael Feerick gives this good advice on how to talk to non-IT executives: "A technical report will not benefit a non-technical audience, so it's important to communicate your findings at the appropriate technical level to match your audience and indicate that the full test data results are available if required/requested."

Finally, be realistic about what you can accomplish with a limited budget and staff. It takes plenty of practise and failure to become proficient in performance testing, and it's a real art to be able to correctly interpret the resulting data. If you're doing performance testing with limited resources, you and your stakeholders have to scale back expectations.



About the author: Anne-Marie Charrett is a professional software tester and runs her own company, Testing Times. An electronic engineer by trade, software testing chose her when in 1990 she started conformance testing against European standards. She was hooked and has been testing since then. She enjoys working with innovative and creative people, which has led her to specialise working for start-ups and incubators. She's a keen blogger and hosts her own blog, called Maverick Tester.

Rate this Tip
To rate tips, you must be a member of SearchSoftwareQuality.com.
Register now to start rating these tips. Log in if you are already a member.




DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



Software Design & Testing - Project Management
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 - 2010, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts