Agile development is all about speedy release and smooth response to new circumstances.

With the agile trend’s continued growth comes the rise of exploratory testing.

Find skilled testers, provide them with some initial guidelines, and let the bug-finding commence. Exploratory testing involves a sense of discovery that fits in well with minimum viable product offerings and constant updates.

Scripted testing, on the other hand, is just like it sounds. A senior-level quality assurance engineer has to take the time to write out the scripts for other testers.

Whether to send your team down an unknown path or a safe, well-lit street is up to you—and it depends on the project. The below factors will help you decide.

Exploratory testing approach: test design

Test design and execution: concurrent or split?

Splitting up planning, designing, and executing tests = scripted testing. First, the test writer might do a mind-mapping or brainstorming process based on the functions of the app or site.

Then they will develop a test for each area and each possibility. So, not only will you want to see if a banking app accepts a mobile deposit if the users does everything right — but you’ll also want to write a script for every possible combination of wrong. Then each scenario is executed by other testers.

With exploratory testing, all that happens at once. Newsflash: this doesn’t mean that testers don’t know what they’re doing or have no plan. They have to come up with use cases in the moment. This means that new scenario ideas are based on the actions of the product itself—and on the guidelines provided by the QA manager.

Some companies make the choice dependent on their resources. With one experienced tester writing the scripts, many others can easily be trained to follow through on them.

Sequence-based versus session-based

At its heart, scripted testing is based on sequences. Specific goals and expected outcomes are boiled down into a series of steps that the tester must take. A tester reads the overall goal defined in the scenario title, ensures that any qualifying conditions for that action are met, then proceeds to follow the steps as defined.

A session-based approach allows testers to be method actors. They get in the heads of a particular user for each session. Say, a male user from China. Or a new user unfamiliar with this type of an app. Sometimes sessions are based around other themes like areas of the app or cross-related functions.

These very different foundations entail vastly different skills and experiences for the team. 

Creativity in exploratory testing

Human factor: control versus creativity

Awesome testers are highly creative. They’re scientists and super-sleuths. By choosing exploratory testing you invest in your team because they are way more invested in the project. Exploratory testing is fun and allows your team to use the full extent of their intelligence.

The key advantage with scripted testing is control over what testers are doing. While exploratory testing can often be more effective in finding unexpected bugs, scripted testing ensures that 100% of all efforts are focused on production and release.

Also, with scripted testing the language is predefined. There will be no confusing bug tickets or suggestions for developers to demystify. Every ticket is tied to a scenario ID.

Planning: upfront versus post-test

To successfully oversee the efforts of multiple team members, QA managers either design tests ahead of time (scripted) or they review reports after the fact (exploratory).

There’s no escape from regulation (and you shouldn’t try to find one). Session reports can be screenshots, steps taken, or both. When you collect them from the testers, you’ll need to compare and review them to monitor coverage.

Concurrent testing and development is also a factor. Writing scripts requires an extensive amount of time. What’s more, the app has to be perfectly ready for use to warrant that initial test design phase.

For apps that are currently being developed and changed, exploratory testing is a definite plus. A horizontal issue can be ignored by testers who are informed about the odd error message or graphic glitch. They can then return to quickly testing a function later.

Copy_of_Twitter_Post__Untitled_Design_3.jpg

Hand over a script or provide context?

To ultimately decide which fits you, your team, and the product, envision the delegation phase.

What feels right?

Would you rather send over a document that says:

Scenario 1: Adding stickers to a saved collage

  • Given the user is logged in
  • And a collage has already been created
  • And the collage successfully saved to the user’s account
  • When the user opens the collage
  • Then the collage should open in the editing suite
  • And additional stickers can be added
  • And the collage should save as a new file

Or an email that says:

For this app, I need you to test how users can manipulate, save, and share collages that have already been created. You’ll be logging in as a longtime user and doing everything possible to repurpose and promote existing collages.

Of course, it’s going to depend on your time frame and the project needs, but taking a moment to mentally create those communications for the specific project can help you get a feel for what makes the most sense.

Working with something way more serious than smiley faces?

Don’t think security should weigh you toward the scripted side. If you’re terrified about what could happen if users don’t do what they’re supposed to, that’s a clear indicator you need an exploratory approach.

Related: 4 Steps for Managing Exploratory Testing

Where exploratory and scripted testing get combined

Even companies who strongly favor scripted testing use exploratory methods. A common strategy is to let scripted testing solve the majority of issues, saving exploratory testing until the end. Since testers act like users, it’s a final draft.

A QA manager writing a script will also perform exploratory testing before writing it to be sure it’s ready, or while writing it to get new ideas.

Exploratory proponents agree that manual scripts can be helpful for regression testing. To make sure a new feature isn’t breaking an old one, set procedures are often faster (allowing for more interaction with the new feature itself).

Scripted methods are not being replaced. Rather, the understanding of and improvement upon the exploratory approach is growing.

Need more insights from our genius QA managers? Schedule a free demo and see how Testlio can help your development team.