If you are a QA / QC, Developer or Dev Ops and you want to know if your project server is working well, working with a certain number of active users. Then Performance Testing is the best choice for you
Performance Testing – Why is it needed?
In the process of working, faced with questions such as Is the site ready to go live.
Does the site have a daily increase of xxx data ?”, “Is there a problem with page loading?” or how the site feels so slow.
Therefore, Performance Testing is proposed to ensure:
- Ready to release a site / build.
- Finding out bottlenecks makes the site slow.
- Make sure the site runs on the number of active users.
- And discovered the load limit that the site can handle for a specified period of time.
This testing model is made up of many different types of tests including:
- Performance Test : used for many different purposes, of which the most common form is to create a comparison between 2 versions of an app together.
- Load Test : usually used to ensure finding bottlenecks with a normal number of active users
- Stress Test : Testing method by putting pressure on the server and db by increasing the number of users running normally, to ensure the site will not crash.
- Volume Test : Determines whether the system performance is working well or not by increasing the amount of data in the database
- And above all, there must always be end-user (myself) final validation during the test to ensure the integrity of the site and the server-stable performance.
Performance testing process
Before performing this type of testing, we need to pay attention and ensure the following:
- Information for the test site must be complete , from server side, database to site testing client (ex: server has 2 nodes t2.large, CPU, Memory, Region, database is SQL.
- When scripting, it must be the most realistic scenario possible compared to reality, so to pay attention to
- Concurrent User (Number of Users in 1 run)
- Number of data inserted / update / delete / configure in a certain time period (should ask DBA or Dev Ops for the most reasonable parameters)
Design Scenarios : Design test scenarios as close to reality as possible, script scenarios with specialized tools (ex: J Meter )
Import Data : In order to have a performance test, the data I import must have the same amount of data as the actual environment.
Execute Test : When we are done with the preparation, we run the test, and keep in mind that there must always be an end-user verification process during the test run.
Analytics Results : After running the test, we will analyze and collect the results (transaction rate, responsive time
We should run again a few times to get more accurate results.
Write Reports : In Performance Test, writing Report is a very important step, if the report reports all the information before the test server information, site and a clear result is easy to understand, then we have a successful Performance Testing round