The Technology Blog Latest trends and news surrounding software

Image Upload Performance Testing Tips

0 Comments
1469
21 Mar 2018

We recently dealt with a particular application where the ability to upload various-sized images was considered mission-critical. We were not given response time goals. The only requirement here was the maximum allowable size of the image would be 3 MB. Immediately, my “spidy-senses” began to tingle at the thought of the potential performance implications involved with this amount of throughput. 

I decided to put the advantages of LoadRunner’s transaction and parameter functions to work on this endeavor. Adding a nested transaction that included the image size within the transaction name would give us with a set of transactions that provide corellated response time for each image size. The parameter ‘pUploadSize’ was linked to the parameter containing the image location in the properties of the parameter list (Figure 1). This transaction is in addition to the overall average times for all uploads provided by the transaction,“T01 ID Image Upload”. 

Code Example:

lr_start_transaction("T01 ID Image Upload");
lr_start_transaction(lr_eval_string ("T01 ID Image {pUploadSize} Upload"));

Reviewing the initial set of test results, it was immediately clear there was a large gap in response time between the larger image sizes. The 3MB images were closing in on sixty-second territory! 

Figure 1: Parameter List Properties  

Image Upload 1

Figure 2: Before Code Optimization –Test with High Response Times 

Image Upload 2

Figure 3: After Code Optimization –Improved Response Times 

Image Upload 3

Image Upload 4

Reviewing the initial set of test results, it was immediately clear there was a large gap in response time between the larger image sizes. The 3MB images were closing in on sixty-second territory!

Armed with this evidence, we presented these results to the development team, who noted that code optimization would significantly improve both response times for larger images, as well as overall hardware utilization. Subsequent testing against later application versions showed vast improvement over earlier testing.

While this application had no requirements for the process of uploading a photo, including details like the maximum size of a photo the user may upload would reduce the risk of testing with smaller-sized images that potentially would have passed a response time requirement.


Corey Roginski Author:
Corey Roginski
Team Lead - Performance Engineering

Last Modified: Wednesday 21 March 2018 13:30
Related Articles: The DevOps Edition - The Software Testing Happy Hour Ep3 Don't Overlook Your Regression Testing The Software Testing Happy Hour Episode 2 The Software Testing Happy Hour - Episode 1 The Four Categories of Performance Testing Metrics Getting Into the Head of a Performance Tester Atlassian and Software Testing in a DevOps World Checkpoint Technologies and Mobile Labs to Present Upcoming Webinar on Mobile Testing Strategies What Performance Requirements? Can automation completely replace manual testing?
loadrunner performance testing Response Time

No Comments Yet...

Leave a reply

Your email address will not be published.