Thursday, 12 October 2017

Scripting Checklist

Correlation –
  • Each correlation function must have exception handling. NotFound=Error/Warning

Text Check -
  • Each transaction should have a text check and it should be placed right above the transaction
  • Text Check should be for the page content and not for the page header
  • Script should have appropriate handling condition if the text check fails.
  • Web services scripts should have text checks as well. Check the content rather than checking only the status codes

Runlogic -
  • Number of iterations should be mentioned

Think Time -
  • Never ignore Think Time in runtime settings. A Standard think time of 5 seconds for WebApp and 2 seconds for Services, to be used between transactions
  • ThinkTime should be parameterized and set in global.h 
  • No think time should be placed within the Transaction

Pacing -
  • Pacing is mandatory for all scripts. In Script runtime setting use Pacing (3rd Optoin). 
  •  Pacing can be calculated using formula. 

Additional Attributes –

According to the requirement we need to add the additional attribute in the Script

Headers -

Add Proper Header files to script



Wednesday, 11 October 2017

What is performance testing?

What is performance testing?

Performance Testing is a type of testing to check how the software applications will perform under different workload.
Features and Functionality supported by a software system is not the only concern. A software application's performance like its response time, reliability, resource usage and scalability do matter. The goal of Performance Testing is not to find bugs but to eliminate performance bottlenecks.
The focus of Performance Testing is checking a software program's
  • Speed - Determines whether the application responds quickly
  • Scalability - Determines maximum user load the software application can handle.
  • Stability - Determines if the application is stable under varying loads
Performance testing is a subset of performance engineering.

Why do Performance Testing?

Performance testing is done to provide stakeholders with information about their application regarding speed, stability and scalability. More importantly, performance testing uncovers what needs to be improved before the product goes to market. Without performance testing, software is likely to suffer from issues such as: running slow while several users use it simultaneously, inconsistencies across different operating systems and poor usability. Performance testing will determine whether or not their software meets speed, scalability and stability requirements under expected workloads. Applications sent to market with poor performance metrics due to non existent or poor performance testing are likely to gain a bad reputation and fail to meet expected sales goals. Also, mission critical applications like space launch programs or life saving medical equipments should be performance tested to ensure that they run for a long period of time without deviations.


Types of Performance Testing

  • Load testing - checks the application's ability to perform under anticipated user loads. The objective is to identify performance bottlenecks before the software application goes live.
  • Stress testing - involves testing an application under extreme workloads to see how it handles high traffic or data processing. The objective is to identify breaking point of an application.
  • Endurance testing - is done to make sure the software can handle the expected load over a long period of time.
  • Spike testing - tests the software's reaction to sudden large spikes in the load generated by users.
  • Volume testing - Under Volume Testing large no. of. Data is populated in database and the overall software system's behavior is monitored. The objective is to check software application's performance under varying database volumes.
  • Scalability testing - The objective of scalability testing is to determine the software application's effectiveness in "scaling up" to support an increase in user load. It helps plan capacity addition to your software system.