Performance Testing

Performance testing is done to determine the speed and capacity of an application build hosted on a particular infrastructure. It is a type of non-functional testing that determines the application responsiveness, scalability and reliability. AppTest Software undertakes various types of performance testing such as load testing, endurance testing and stress testing. The AppTest Software team uses the following overall performance test process:

1.
Analyze performance requirements

Performance requirements of an application are defined by the business. We, at AppTest Software, gather the performance requirements from the software requirements specifications, design documents and from the product managers or business users of the application. AppTest Software analyzes the requirements with regard to the identified business transactions, expected response times, application throughputs and the number of concurrent users

2.
Plan performance tests

Depending on the performance requirements, AppTest Software Performance Test Lead plans the required performance test scripts, performance test scenarios, test data and performance counters. In addition, the AppTest Software team plans the preparation of the performance scripting and performance test environments. The performance testing tool is also evaluated, selected and obtained at this stage.

3.
Prepare performance scripting environment

AppTest Software prepares a test scripting environment in which each of the identified business transactions work. This test scripting environment has the latest application build deployed in it.

4.
Create performance test scripts

The AppTest Software test engineers create performance test scripts in the performance testing tool for each identified business transaction. Each performance test script is parameterized, correlated, unit tested, internally reviewed and baselined.

5.
Generate performance test data

Performance tests generally require vast amount of test data. Even if a large amount of test data is not available, AppTest Software has access to tools that can rapidly generate the required test data. Each performance test script is linked to one or more test data stores, as required.

6.
Prepare performance test environment

We generally use a clean test environment for the performance tests. The AppTest Software team needs this environment exclusively during the performance test schedule to eliminate false negatives. The latest application build is installed in the performance test environment and a basic sanity test is performed to check for a working application.

7.
Model performance test scenarios and set up performance counters

Next, the AppTest Software performance test engineers set up the model performance test scenarios in the performance testing tool. This is done with respect to the business transaction mix, virtual user and workload mix, application client mix, virtual user ramp-up/ ramp-down, test duration and other aspects, as planned. Additionally, the AppTest Software team sets up the minimum number of performance counters on the relevant servers to give insights into the server loads during different times during the performance test.

8.
Execute performance tests and analyze results

Next, we execute the modeled performance test while continually monitoring the current test results and performance monitors. Once the test completes, the AppTest Software team analyzes each of the test result categories. More than one performance test is required to confirm the test results and isolate problem areas in the application.

9.
Report performance test results and re-test

AppTest Software distributes a daily performance test report including the details of the performance test (test scripts used, test scenarios executed, test environment details, current performance attributes (e.g. throughput, response times and supported users) with respect to expected performance attributes) and suspected problem areas of the application. The AppTest Software team resets the performance test environment to remove the large amount of test data, test logs etc. Upon deploying a newer build or changing the overall system configuration, the AppTest Software engineers repeat the performance test and generate the fresh performance test report.

10.
Publish benchmarks

Once the performance tests complete, AppTest Software sends a performance test report to the client. This report contains the final confirmed performance benchmarks of the application. Also included are details of each performance test. This report is very useful to plan future performance engineering projects.