iSnare.com - Free Content Articles Directory
Authors Contents [Advanced Search][Add OpenSearch][Job Search]
Distribute your articles to thousands of article sites for only $2 and below! Read more...

Index  Computers and Technology
 

Scalability Testing: 7 Steps Towards Success

 
[ Contact the Author] [ Send to a Friend] [ Article Publisher] [Make PDF] [ Print] [ Bookmark & Share]
 
Read our Terms of Service before reprinting this article. The submitter specified above has claimed the rights to this article.
Mark Trellis

Systems that work well during development, deployed on a small scale, can fail to meet performance goals when the deployment is scaled up to support real levels of use.

An apposite example of this comes from a major blue chip company that recently outsourced the development of an aSystems that work well during development, deployed on a small scale, can fail to meet performance goals when the deployment is scaled up to support real levels of use.

An apposite example of this comes from a major blue chip company that recently outsourced the development of an innovative high technology platform. Though development was behind schedule this was deemed acceptable. The system gradually passed through functional elements of the user acceptance testing and eventually it looked like a deployment date could be set. But then the supplier started load testing and scalability testing. There followed a prolonged and costly period of architectural changes and changes to the system requirements. The supplier battled heroically to provide an acceptable system, until finally the project was mothballed.

This is not an isolated case. IT folklore abounds with similar tales. From ambulance dispatch systems to web-sites for the electronic submission of tax returns, systems fail as they scale and experience peak demands. All of these projects appear not to have identified and ordered the major risks they faced. This is a fundamental stage of risk based testing, and applies equally to scalability testing or load testing as it does to functionality testing or business continuity testing. With no risk assessment they did not recognise that scaling was amongst the biggest risks, far more so that delivering all the functionality

Recent trends towards Service Oriented Architecture (SOA) attempt to address the issue of scalability but also introduce new issues. Incorporating externally provided services into your overall solution means that your ability to scale now depends upon these external system operate under load. Assuring this is a demanding task and sadly the load testing and stress testing here is often overlooked.

Better practice is to start the development of a large scale software system with its performance clearly in mind, particularly scalability testing, volume testing and load testing. To create this performance testing focus:

1. Research and quantify the data volumes and transaction volumes the target market implies. Some of these figures can be eye openers and help the business users realise the full scale of the system. This alone can lead to reassessment of the priority of many features.

2, Determine the way features could be presented to users and the system structured in order to make scaling of the system easier. Do not try and have the same functionality you would have for a single user desktop solution provide an appropriate scalable alternative.

3. Recognise that an intrinsic part of the development process is load testing at representative scale on each incremental software release. This is continual testing, focusing on the biggest risk to the project: the ability to operate at full scale.

4. Ensure load testing is adequate both in scope and rigour. Load testing is not just about measuring response times with a performance test. The load testing programme needs to include other types of load testing including stress testing, reliability testing, and endurance testing.

5. Don’t forget that failures will occur. Large scale systems generally include server clusters with fail-over behaviour. Failure testing, fail-over testing and recovery testing carried out on representative scale systems operating under load should be included.

6. Don’t forget catastrophic failure could occur. For large scale problems, disaster testing and disaster recovery testing should be carried out at representative scale and loads. These activities can be considered the technical layers of business continuity testing.

7. Recognise external services if you use them. Where you are adopting an SOA approach and are dependent on external services you need to be certain that the throughput and turnaround time on these services will remain acceptable as your system scales and its demands increase. A smart system architecture will include a graceful response and fall-back operation should the external service behaviour deteriorate or fail.

Copyright Acutest 2005
innovative high technology platform. Though development was behind schedule this was deemed acceptable. The system gradually passed through functional elements of the user acceptance testing and eventually it looked like a deployment date could be set. But then the supplier started load testing and scalability testing. There followed a prolonged and costly period of architectural changes and changes to the system requirements. The supplier battled heroically to provide an acceptable system, until finally the project was mothballed.

This is not an isolated case. IT folklore abounds with similar tales. From ambulance dispatch systems to web-sites for the electronic submission of tax returns, systems fail as they scale and experience peak demands. All of these projects appear not to have identified and ordered the major risks they faced. This is a fundamental stage of risk based testing, and applies equally to scalability testing or load testing as it does to functionality testing or business continuity testing. With no risk assessment they did not recognise that scaling was amongst the biggest risks, far more so that delivering all the functionality

Recent trends towards Service Oriented Architecture (SOA) attempt to address the issue of scalability but also introduce new issues. Incorporating externally provided services into your overall solution means that your ability to scale now depends upon these external system operate under load. Assuring this is a demanding task and sadly the load testing and stress testing here is often overlooked.

Better practice is to start the development of a large scale software system with its performance clearly in mind, particularly scalability testing, volume testing and load testing. To create this performance testing focus:

1. Research and quantify the data volumes and transaction volumes the target market implies. Some of these figures can be eye openers and help the business users realise the full scale of the system. This alone can lead to reassessment of the priority of many features.

2, Determine the way features could be presented to users and the system structured in order to make scaling of the system easier. Do not try and have the same functionality you would have for a single user desktop solution provide an appropriate scalable alternative.

3. Recognise that an intrinsic part of the development process is load testing at representative scale on each incremental software release. This is continual testing, focusing on the biggest risk to the project: the ability to operate at full scale.

4. Ensure load testing is adequate both in scope and rigour. Load testing is not just about measuring response times with a performance test. The load testing programme needs to include other types of load testing including stress testing, reliability testing, and endurance testing.

5. Don’t forget that failures will occur. Large scale systems generally include server clusters with fail-over behaviour. Failure testing, fail-over testing and recovery testing carried out on representative scale systems operating under load should be included.

6. Don’t forget catastrophic failure could occur. For large scale problems, disaster testing and disaster recovery testing should be carried out at representative scale and loads. These activities can be considered the technical layers of business continuity testing.

7. Recognise external services if you use them. Where you are adopting an SOA approach and are dependent on external services you need to be certain that the throughput and turnaround time on these services will remain acceptable as your system scales and its demands increase. A smart system architecture will include a graceful response and fall-back operation should the external service behaviour deteriorate or fail.

Copyright Acutest 2005

Important NoticeDISCLAIMER: All information, content, and data in this article are sole opinions and/or findings of the individual user or organization that registered and submitted this article at Isnare.com without any fee. The article is strictly for educational or entertainment purposes only and should not be used in any way, implemented or applied without consultation from a professional. We at Isnare.com do not, in anyway, contribute or include our own findings, facts and opinions in any articles presented in this site. Publishing this article does not constitute Isnare.com's support or sponsorship for this article. Isnare.com is an article publishing service. Please read our Terms of Service for more information.

M Trellis is an experienced performance and scalability test consultant with Acutest, a software testing consultancy based in London UK. For further information visit: http://www.acutest.co.uk or http://www.acutest.co.uk/performance-testing.html
Article Tags: load [See Dictionary], system [See Dictionary], testing [See Dictionary]
Got a question about this article? Ask the community!
Article published on October 08, 2005 at Isnare.com
 
Rate [Ratings: 3.75 / 5] [Votes: 4]

Load Testing – Getting Continuous Benefits
Submitted by: Mark Trellis

People often equate load testing with performance testing Load testing is seen as a way of answering the question “How fast does the system respond...

Martin Yale 1217A Autofolder Review
Submitted by: Jeff McRitchie

For years the standard in paper folding machines, the Martin Yale Intimus 1217A is well-known in the small print industry for being a solid and flexible machine...

It’s a Mod Chip World!
Submitted by: Michiel Van Kets

No Nintendo Wii game console seems complete without a mod chip installation and with today’s latest mod chip innovations it’s easier than ever to buy and install your own Wii modification chip...

Martin Yale 400 Paper Jogging Machine Review
Submitted by: Jeff McRitchie

Any business that produces and binds a lot of documents on a regular basis should have a paper jogging machine on hand...

Laminating Film For Beginners
Submitted by: Jeff McRitchie

Roll laminators are awesome machines, but sometimes it can be difficult to know what supplies you need to use with your new laminating system...

PC200 Spiral Coil Binding Machine Review
Submitted by: Jeff McRitchie

The PC200 is positioned as a low-cost spiral coil binding solution for low volume users Here we take a look at this machine and examine its strengths and weaknesses...

Martin Yale 700E Paper Cutter Review
Submitted by: Jeff McRitchie

A commercial-quality paper cutter, the Martin Yale 700E is meant to be used in smaller print shops or in-house production floors for medium to large businesses...

Rhino Tuff CI 3000 Coil Inserter Review
Submitted by: Jeff McRitchie

Rhino's CI 3000 features a unique design that purports to make it easier to do spiral coil book binding...

Lamitek PhotoPro 13 Laminator Review
Submitted by: Jeff McRitchie

There are many laminators available and sometimes it is hard to know which one you should buy It is always a good idea to get a versatile machine, such as one that can do both hot and cold lamination, while also providing a crystal-clear finish...

Lamitek Photosmart 13 Laminator Review
Submitted by: Jeff McRitchie

The emergence and increasing numbers if digital printers has sparked an interest in laminating machines that can work with high-quality photos and/or glossier printed pages...

PC200E Spiral Coil Binding Machine Review
Submitted by: Jeff McRitchie

As the least expensive spiral coil binding machine that offers disengageable dies and an electric coil inserter, the PC200E is well positioned in the marketplace...

Be Careful When Buying Cheap Adobe Software
Submitted by: Adrianna Noton

When individuals are looking to buy software they always love finding cheap Adobe software However are these really great prices too good to be true...

What is the Difference Between Standard and High Yield Toner Cartridges?
Submitted by: Adriana N

There have been improvements in the manufacturing of printer toner cartridges Toner found in a cartridge is dry powder blended with a polymer that sticks on to the paper as printing takes place...

Inverted Microscope: A Great Tool For Studying Living Cells
Submitted by: Edison Rammsey

When you hear the term inverted microscope, you probably think of observing samples from under a microscope...

Digital Microscope: Eight Reasons Why You Must Have it Now!
Submitted by: Edison Rammsey

Welcome the Digital Age through a digital microscope With its eight benefits to be enjoyed, all other microscope will look small in comparison, pun intended...

Should Small Businesses Adapt to the Point of Sale System?
Submitted by: Adrianna Noton

In earlier times, a cash register along with a pen and notebook were sufficient means for processing and keeping track of transactions...

Isnare.com Footer Divider

© 2004-2009. Isnare Free Articles - An Isnare Online Technologies Free Articles Project. All Rights Reserved.   Privacy Policy