Modern users expect more than ever from web applications. Unfortunately, they are also consuming applications more frequently from low bandwidth and low power devices – which strains developers to not only nail the user experience, but also the application's performance. WebPageTest, a free and open source web performance testing tool, equips developers with the knowledge they need to have a fighting chance against these rising expectations.
Configuring Tests A while back, during my days as a consultant, I was asked to shepherd a project that at first blush seemed to be well-written. I was amazed to find out that the previous team had written unit tests which, if you've ever consulted, you'll know is a rarity. The tests covered a large percentage of the code base and I was convinced that this is going to be an easy assignment for me, that is until I noticed that unit tests were completely missing assert statements. You see as valiant an effort as it was for that team to write tests, without following proper unit test configuration processes it was impossible for me to know if the tests were meaningful or useful in any way. Testing without a decent understanding of your testing tools will more often than not leave you with that same false sense of security that I felt. So in this module, I'm going to cover how to properly configure WebPageTest's tests. Sure you could just randomly test here and there and get some good information but for the most bang for the buck you'll want to have a test plan based on real user metrics and usage analytics.
Analyzing Results It doesn't matter how well written, carefully planned, and meticulously maintained your tests are if you can't analyze and communicate their results to those around you. I feel like the health care industry really struggles with this. When the doctor calls, I'm never quite sure if I'm getting good news or bad news, and just like in the medical community, it can be challenging to understand web performance test results. What makes a result good versus what makes a result bad depends on lots and lots of context about the kind of site in question, our business goals, and the test configurations themselves. What's clearly important though is that the results improve over time. Luckily, WebPagetest makes it easy to compare results once we've understood exactly what they mean. In this module, I'll dig through the vast amounts of information a result contains, and break down what it means to you. So let's start with the basic stats presented in the Performance Results section.
WebPageTest in the Enterprise If you've sat through the course up to this point, you'll no doubt agree that WebPageTest is an impressive and useful tool, however, some of you may be thinking, it's just too bad I can't use it at work. Typically, when developers tell me that WebPageTest won't work for them, it comes down to one of two issues, for security reasons either their application mostly exists behind an authentication form, or it isn't publicly available, it entirely exists behind a corporate firewall. In this module, we'll look at ways to get around both of these issues.