To ensure the product being built is usable, with reasonably acceptable performance, we need to ensure the product is designed, built and validated from each of these Non-Functional Requirements perspective.
I started off explaining the various activities that encompass Performance Engineering and Performance Testing. Then I focussed on what is Client-side Performance Testing, how can you monitor the same, and eventually, how do you test and automate the validation of Client-side Performance? The latter part was done in combination of talk, demo and hands-on-activities.
Abstract of the workshop
In this workshop, we will see the different dimensions of Performance Testing and Performance Engineering, and focus on Client-side Performance Testing.
Before we get to doing some Client-side Performance Testing activities, we will first understand how to look at client-side performance, and putting that in the context of the product under test. We will see, using a case study, the impact of caching on performance, the good & the bad! We will then experiment with some tools like WebPageTest and Page Speed to understand how to measure client-side performance.
Lastly - just understanding the performance of the product is not sufficient. We will look at how to automate the testing for this activity - using WebPageTest (private instance setup), and experiment with yslow - as a low-cost, programmatic alternative to WebPageTest.
Disclaimer: The statements and opinions expressed in this article are those of the author(s) and do not necessarily reflect the positions of Thoughtworks.