1. Perf testing strategy
For all apis
1. Endurance test
1. Perform a continuous requests @ 1 request / second for 8 hours
1. Metric: Any request that can't be sent in that 1 second window.
2. Load test
1. Perform requests from up to 20 users simultaneously for 8 hours
1. Metric: Length of test
2. Metric: Average of elapsed_time for all requests
3. Metric: 90th percentile of elapsed_time for all requests
4. Metric: TPS
5. Metric: Uptime calculation
3. Stress test
1. Perform unlimited requests with increasing number of users until servers will no
longer respond
1. Metric: # of success before api fails
2. Metric: Length of test
3. Metric: Max TPS
4. Metric: Max number of users
2. Simple POSTrequest | 1 user | merchant_name & merchant_url | 1000 cases | Measuring tps, using unique data set (Will record all common aggregations)
Simple GETrequest | 1 user | request ids from 1.1 | 1000 cases | Measuring tps, using unique data set (Will record all common aggregations)
Simple POSTrequest | 10 users | merchant_name & merchant_url | 1000 cases | Measuring tps, using unique data set (Will record all common aggregations)
Simple GETrequest 10 users | request ids from 1.3 | 1000 cases Measuring tps, using unique data set (Will record all common aggregations)
Simple mixed request | 10 users | merchant_name & merchant_url | 2000 cases |
Large POSTrequest | 1 user | All request params | 1000 cases | Measuring tps, using unique data set (Will record all common aggregations)
Large POSTrequest | 10 users | All request params | 1000 cases | Measuring tps, using unique data set (Will record all common aggregations)
Large mixed request | 10 users | Pseudo random request params | 2000 cases |
Load mixed test | 10 users | Pseudo random request params | 12 hrs |
Stress mixed test | 100+ users | Pseudo random request params| Unlimited test cases |
Creating test scripts and test data Test scripts in Jmeter. Test data in Excel (CSV)
Mix of POSTand GETrequests. The request ids from the POSTs have to be stored
for use with the GETs.
Measuring tps, using unique data set (Will record all common aggregations)
Mix of POSTand GETrequests. The request ids from the POSTs have to be stored
for use with the GETs.
Mix of POSTand GETrequests. The request ids from the POSTs have to be stored
for use with the GETs.
Mix of POSTand GETrequests. The request ids from the POSTs have to be stored
for use with the GETs.
Measuring durability. The lever here is users. Keep adding users until server
"breaks"