Software Testing Articles, Documentations, Tutorials - TESTING BRAIN.com
HOME TESTING TYPES TOOLS ARTICLES TUTORIALS FAQs CHAT FORUM GUESTS

Scalability Testing - 7 Tips For Improvement  

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 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.

About The Author
Mark Trellis is an experienced consultant working in performance testing, scalability testing and load testing. For further information visit: http://www.acutest.co.uk or http://www.acutest.co.uk/performance-testing.html

software-testing@hotmail.co.uk

 

Other Related Articles

Comparison Between Black Box & White Box Testing
Making The Decision To Automate Your Software Testing
What is Software Testing
Beta Testing, Anyone? 10 Potent Strategies for Achieving Success
Software Testing and Software Development Lifecycles
An Introduction to Software Testing
Assessment in the software testing course
The Essentials of Software Testing

BLACK BOX TESTING
Functional Testing
Stress Testing
Load Testing
Ad-hoc Testing
Exploratory Testing
Usability Testing
Smoke Testing
Recovery Testing
Volume Testing
Domain Testing
Scenario testing
Regression Testing
User Acceptance
Alpha Testing
Beta Testing
WHITE BOX TESTING
Unit Testing
Static & dynamic Analysis
Statement Coverage
Branch Coverage
Security Testing
Mutation Testing
Interview Questions
General Questions
WinRunner Questions
LoadRunner Questions
SQA Questions
Test Automation Questions
CERTIFICATIONS
ISQTB
CSTE
CSTP
CTM
CSQA
CSPM
CSPE
latest QA / Testing Documents
Test Director Interview Questions | Software testings FAQ
Test Director Interview Questions ... Software testings FAQs ..What is Test Director ... What are all the main features of Test Director.. How the assessment of the application will be taken place in Test Director .. etc etc
QA interview questions
What is verification, What is validation, What is a walkthrough, What is an inspection, What is quality, What is good code, What is good design, What is software life cycle, What is the difference between alpha and beta testing, What is the difference between volume testing and load testing etc...
Software Quality Engineer Certification - CSQE
The Certified Software Quality Engineer understands software quality development and implementation, software inspection, testing, verification and validation; and implements software development and maintenance processes and methods.
Certified Software Quality Analyst | CSQA
Acquiring the designation of Certified Software Quality Analyst (CSQA) indicates a professional level of competence in the principles and practices of quality assurance in the IT profession.
TESTING GENERAL INTERVIEW QUESTIONS
TESTING GENERAL INTERVIEW QUESTIONS
Certifications General details
General details of different software testing certifications.
HP LoadRunner software—tips and tricks for configuration, scripting and execution
This guide provides tips and tricks for HP LoadRunner software configuration, scripting, and execution. It is a conglomerate of lessons learned by HP LoadRunner power user Opral Wisham,including unique code as well as code collected from other testers. This guide is intended to help testers just learning to use HP LoadRunner, as well as to provide new best practices for those who have used HP LoadRunner for many years.
Performance Testing Why and How
Why Performance Testing,Performance Testing Workflow,HP LoadRunner Solutions
Web HTTP Connection Patterns When Load-Testing Using LoadRunner
HTTP Connections In a web environment clients communicate with the server using HTTP connections. A connection can be one-shot or persistent. One shot connection are used for one interaction, when the server has responded the connection is closed. Persistent connections are kept open for use in subsequent interactions. Persistent connections are closed by the client when it has finished with the server or by the server if the connection is inactive for too long.
what is LoadRunner
LoadRunner is a performance and load testing product by Hewlett-Packard (since it acquired Mercury Interactive in November 2006) for examining system behaviour and performance, while generating actual load.

Popular 5 QA / Testing Documents

TESTING GENERAL INTERVIEW QUESTIONS
TESTING GENERAL INTERVIEW QUESTIONS
QA interview questions
What is verification, What is validation, What is a walkthrough, What is an inspection, What is quality, What is good code, What is good design, What is software life cycle, What is the difference between alpha and beta testing, What is the difference between volume testing and load testing etc...
Test Director Interview Questions | Software testings FAQ
Test Director Interview Questions ... Software testings FAQs ..What is Test Director ... What are all the main features of Test Director.. How the assessment of the application will be taken place in Test Director .. etc etc
Test Case Checklists
Details of Test Case Checklists
Performance Testing Why and How
Why Performance Testing,Performance Testing Workflow,HP LoadRunner Solutions
QA / Testing Documents categories .. posted by users
Software Testing
Study Materials ,  Certification ,  FAQ ,  
Quality Assurance
Certification ,  FAQ ,  Study materials ,  
Testing Tools
WinRunnerLoadRunnerTest Director
Jobs
Jobs in INDIA ,  
 

  

Custom Search
 

SAP Tutorials          ABAP tutorials        SAP Functional          PDF tutorial Downloads             J2EE Resources

site contact support@testingbrain.com All of the product names here are trademarks of their respective companies. Use information on this site at your own risk. Information furnished in the site is collected from various sites and posts from users. This site does not host any files on its server. If any compliants about the posts please contact us at support@testingbrain.com, we are ready to move the posts.
Complete Software Testing Study materials | Testing JOBS | PDF Tutorials