About performance testing
Performance testing is testing that is performed, to determine how fast some aspect of a system performs under a particular workload. The process of performance testing includes the following stages:
- Development and agreement of specification
- Script development
- Test environment set-up
- Test execution
- Test result analysis
Today we’ll cover first two stages.
Development and agreement of specification
The full information about system to be tested is exceptionally important on the first stage. Thus try to learn as much as possible about the software and hardware used. Of course, do not forget about the client’s requirements.
- Software. The information about the technologies used to develop and support software will tell you a lot about the bottlenecks and possible issues that may arise during the test execution.
- Hardware. Pay your special attention to the way the software components are arranged on the physical servers. Learn the configuration and parameters of all servers; find out how the system load is balanced. What is more discover the changes made in the dynamic parameters of the system. Why should you do that? All the information that you get on this step will help you to accurately set up the monitoring process while the test launch and carefully plan the performance model.
- Client’s requirements. Performance testing is quite a diversified procedure and includes different types of testing. To develop the testing strategy you are to know what the client awaits: evaluation of the maximum number of users the system can stand; detection of system bottlenecks, or check of the application stability. Try to get statistic of the software usage this assist in creating a more realistic performance model.
As soon as you get this information, you are able to assess the workload on the project and plan the workflow. A great advantage of getting the information before the project start allows you to avoid excessive communication with client afterwards.
As soon as you chose the tool for the automation of the performance tests, the scripts writing takes a start. Performance tests that emulate work of real user and are created on the basis of the test cases. You can adopt the test cases used in functional testing or you can write the original ones. There are several requirements to test cases:
- Iterations possibility
- Executed simultaneously in two or more streams
- Should not influence each other
- Compatibility with the dynamic parameters
When you have the appropriate test cases you can develop automated test. Then they are combined into the scenarios and groups depending upon the planned test load.
The tests are to include maximum of the system parameters. It is also recommended to create them in the way they could use data from the common source and exchange the information about the current situation. This allows managing the all running transactions.
Unlike automated functional tests, performance tests should return the system to the initial state, as in this case they don’t emulate the work of the real user.
Remember that some of the tests track the system state before and after the test launch. They fill the system with the necessary data and delete the non-valid and non-relevant data. These scripts don’t participate in the launch of the performance tests.