Well, THAT’s Random – Automated Fuzzy Browser Clicking

By Paul Grizzaffi

Elevator Pitch

Even in DevOps, our QA, QE, and testing focus is on test case based automation that we run on each deploy. Though this is valuable, adding “fuzzing” (testing with no oracle) to our approach can help find unintuitive code paths. Fuzzing is usually focused on textboxes, but we can fuzz UI clicks too!

Description

Roughly speaking, fuzzing is testing without an oracle, i.e. testing without knowing what a specific outcome should be. When fuzzing, we don’t necessarily know what should happen, but we have a good idea of some things that shouldn’t happen, such as 404 errors and server or application crashes. We generally apply fuzzing to help uncover these kinds of errors when we’re testing text boxes, but why should textboxes have all the fun?

Websites created today are highly interconnected, multi-server applications that include connections to out-of-network servers that are controlled by neither the applications nor the team. This situation makes it difficult to both enumerate and control all the possible combinations of paths through our system. Even if we could identify all the possible paths, most organizations would not have the time to test all these scenarios, regardless of whether they apply automation to help with that testing.

During this session, we explore how expanding our automation approach by using randomization can help mitigate the risks associated with hard-to-enumerate application scenarios. By using random clicking, we can provide testers with additional information via exploring paths through the application which are not intuitive, but which are still valid. We’ll discuss why creating a random clicker doesn’t have to take a lot of effort, how this approach is rooted in the facets of High Volume Automated Testing (HiVAT), and some considerations of which to be mindful when using randomization.

Notes

I’ve worked in test automation for over 25 years in multiple industries including healthcare, e-commerce, and telecom, making me highly experienced in the discipline. Additionally, I’m an experienced speaker who has presented at local, national, and international conferences, including keynote talks. I’m also local to the Dallas area so I fit with the “local speakers preference” of DevOpsDays Dallas. Samples of my speaking experience can be found here.