I attended Maaret Pyhäjärvi's Intro to Contemporary Exploratory Testing webinar for Codementor this week.
In it, she demonstrated exploration with automation on Alan Richardson's E-Prime checker web site using Playwright to provide control and visibility of the page and PyUnit to make assertions about its state.
Nothing unusual there, you might say. There are probably millions of test suites with a similar setup running right now in companies all over the world.
And you're right. What's different about this approach is what Maaret did with the tooling, and why.
She created a simple skeleton test case, parameterised it to take an input and expected output, and interactively called it with test cases from a list.
What she had now was a lightweight testing rig where:
- Adding a new test idea is adding a new item to the list.
- A note, bug report, or to-do is a comment above an item in the list.
- Variant ideas can be created quickly and easily with copy-paste.
- Code can be used to generate test data, e.g. 1000*" word" for a long input string.
- The same tests can be run against different browsers easily.
This is a nice place to be. A place where the work is thinking about and performing the testing. Idea, edit, run, feedback. Idea, edit, run, feedback. Idea, edit, run, feedback...
It has other potential benefits too, including:
- You don't need expected results. The tool can find the actual results for you to review.
- Scanning the history of the exploration identifies gaps and triggers new ideas.
- The source code documents the exploration.
- The tests and the tooling are available for later re-use and re-run.
- After exploration relevant cases can be extracted into test suites.
Of course, it's unlikely that this is the only lens through which we'd view a product. But it does provide a way to focus on an important aspect and exercise it efficiently, economically, and while staying in flow.
A list and a loop may seem basic, but together they can be a powerful force multiplier. I test this way frequently myself, and I love it.
Comments
Post a Comment