Performance, Scalability, and a Dash of QA

Any means of testing is a form of Quality Assurance (QA). It provides much needed feedback for the stakeholders and developers so they can fix any issue (bugs) that are causing the app to not run properly.  Performance testing is the main form of testing, but there are other testing methods. Scalability is big part of performance testing. It tells you whether the application is working properly on multiple systems how much load it is handling, and scaling up to larger systems. It is important to find these problems and make sure the application will perform up to its expectations.  It is a necessary part of the production and maintenance.

 

The initial principals of performance testing are establishing a workload. Establishing a workload lets you know where the application should be and sets a standard that it should be at when testing it. There are 3 main principals for the workload.

 

  • Predictability- should be at the applications workload standard that you created
  • Scalability- is it handling the workload correctly when scaling up to larger systems
  • Repeatability-  consistent results throughout testing and same results on different systems

These are the basic steps for testing performance. There are many ways of testing and there are different ways in doing so. It depends on what each workload design and how they want to go about creating the app. QA testing is a very important part of Scalability and Performance.  The objective in these testing is to make sure that everything is running the way it was designed to, that and making the shareholders happy.

 

Scalability testing should be relevant to your work load design and performance tests. The purpose of scalability testing is to reach the maximum load, but Identifying the performance bugs and more precise data along the way. A good way to do so is set a constant increment to test.  An increment would be the number of users the application is used at a time.  A bug to look out for is bottlenecks. Bottlenecks are referred to the use of water when poured out of the container at a continuous rate then constricted by the narrowing of the exit. In terms of software it reduces the flow of information and causes a hold up and reduces output of the application.

 

Overall performance for applications means the success or failure of the product. QA, performance and scalability testing are essential components in the process. An example of this is good QA, is Android. Android has over 70 million downloads a year and they test every app on over 400 different devices. It is overwhelming but the more you test the better QA you will have for your apps. The better you test and the more accurate you are the more your stakeholders will be happy.  Overall the steps of testing can be grueling, but once the testing is done the better you will feel about the over all results