Performance testing
One crucial part in building an application was its stability on the given number of workload. More likely into how does the application response in a given workload. One way to examine applications speed, robustness, reliability and application size was thru Performance testing.
Performance testing evaluates the system performance in terms of responsiveness in terms of speed, reliability, robustness and correct sizing in such workloads. The test can be done in some indicators such as:
Browser,page and network response time
Server request processing time
Number of acceptable concurrent user volume
CPU memory consumption and number/type of error which may be encountered with the app.
Performance test planning
Like any other test, doing performance test also needs a test plan. This will be out written basis into what will be the QA activity and goals in doing the test. So it is necessary that the test are knowledgeable into what are needed to be covered in the test plan. Before starting the test, think first what are the problem that the test will solve. Refer to the sample questions below:
Why is the system performance testing is important?
When is the right time to conduct performance testing?
What are the different types of performance tests?
What does performance testing measure?
What is the process of performance testing?
What are the characteristics of effective performance testing?
What are performance testing metrics?
Why automation performance testing?
How to automate performance testing?
Why is the system performance testing is important?
Performance test is a way to ensure that the application meets the expected level of service and provide a positive user experienced. For the test measure the systems service capability to handle requests/workloads. This test is to ensure that the application is stable, relative to speed and scalability. Failed to do so will results different problems that may lead to a damaged brand reputation.
When is the right time to conduct performance testing?
Performance test can start during the development stage of the application. But this test will focus into the systems web-services, microservices, API's. The earlier the component is tested, the sooner an anomaly can be detected.
What are the different types of performance tests?
Load tests
It simulates the number of virtual use that might use an application
Unit tests
Simulates the transactional activity of a functional test campaign
Stress Tests
Evaluates the behavior of systems facing peak activity
Soak tests
Soak testing increases the number of concurrent users and monitors the behavior of the system over a more extended period.
Spike tests
Spike testing seeks to understand implications to the operation of systems when activity levels are above average. Unlike stress testing, spike testing takes into account the number of users and the complexity of actions performed (hence the increase in several business processes generated).
What does performance testing measure?
The test measures Load times, Scalability, response time and systems performance
What is the process of performance testing?
Performance testing is to be discuss within the team before and during the development. Because not only QA's are involve to this test but as well as the Devs and DevOPs. Given with the task of the team during the development, a set date is necessary to build the test. The build commonly happen when a stable version of application existed. When a version build are present, the team can start defining the following:
Identify the testing environment: Before you begin the testing process, itโs essential to understand the details of the hardware, software, and network configurations youโll be using. Comprehensive knowledge of this environment makes it easier to identify problems that testers may encounter.
Identify the performance acceptance criteria : Before carrying out the tests, you must clearly define the success criteria for the application โ as it will not always be the same for each project. When you are unable to determine your success criteria, itโs recommended that you find a similar application as the benchmark.
Define planning and performance testing scenarios: To carry out reliable tests, itโs necessary to determine how different types of users might use your application. Identifying key scenarios and data points is essential for conducting tests as close to real conditions as possible:
Set up the testing environment
Implement test design
Run and monitor tests
Analyze, adjust and re-do the tests
After running your tests, you must analyze and consolidate the results. Once the necessary changes are done to resolve the issues, tests should be repeated to ensure the elimination of any others.
What are the characteristics of effective performance testing?
Realistic tests that provide sufficient analysis depth are vital ingredients of โgoodโ performance tests. Itโs not only about simulating large numbers of transactions but anticipating real user scenarios that provide insight into how your product will perform live.
Performance tests generate vast amounts of data. The best performance tests are those that allow for quick and accurate analysis to identify all performance problems, their causes.
What are performance testing metrics?
The critical metrics you should be looking for in your tests must be clearly defined before you start testing. These parameters generally include:
Amount of time the processor spends running non-idle threads
Use of a computerโs physical memory for the processing
Number of bits per second used by the network interface (bandwidth)
The time the disk is busy with read/write requests
Number of bytes used by a process that cannot be shared with others (used to measure memory leaks)
Amount of virtual memory used
Number of pages written or read to disk to resolve hardware page defects
The overall processing rate of faulty pages by the processor
The average number of hardware interruptions the processor receives/processes each second
Average read/write requests queued for the selected disk during a sampling interval
Length of the output packet queue
Total number of bytes sent/received by the interface per second
Response times
The rate at which a computer/network receives requests per second
Number of user requests satisfied by pooled connections
Maximum number of sessions that can be simultaneously active
Number of SQL statements handled by cached data instead of expensive I/O operations
Number of access requests to a file on a Web server every second
Amount of data that can be restored at any time
The locking quality of tables and databases
Maximum wait times
Number of threads currently running/active
The return rate of unused memory in the system (garbage collector)
References: https://devqa.io/performance-test-plan-template/
Last updated