When you visit a large city like New York for the first time, it can be daunting. It’s busy and hectic, with a huge variety of things to see and do.
Where do you start? How do you fit everything in?
Should you adopt a structured approach by booking tour guides and sightseeing tours? Or should you be spontaneous, explore the city and see what you uncover? To get a true experience of a city like New York, the best approach is probably a mixture of both.
You may want to visit the Empire State Building and go on the Statue of Liberty tour; however, take a minute to think back to past vacations. If you hadn't genuinely explored a city, what would you have missed out on? That unknown market that had amazing food? The unique gift shop you found by chance?
Exploratory testing is a similar concept. Using one testing approach independently may find some bugs but what are you missing? Where are the edge cases causing trouble for your users?
As the name suggests, it’s about testers exploring an application to identify potential edge cases. Does it perform the function it was designed for? Does it work under multiple scenarios? Is the performance good enough? What potential bugs are there?
Exploratory testing is unique. It relies heavily on the skill and mindset of the testers. Good testers adapt and figure out what is needed rather than follow instructions. There is a reason why toddlers are constantly asking “Why?” They are desperate to learn and discover new things. Good exploratory testers have the same mindset when testing.
A major benefit is that exploratory testing finds bugs that automation simply cannot. Automated tests are limited to the test cases that are written for them. They won't test any bugs outside of this scope.
Another benefit is the speed of the test cycles. Automated tests are fast in test execution but time-consuming in terms of planning. The point of exploratory testing is lightweight planning. The scope of a test cycle needs to be clear but detailed test cases are not needed. Testers are trusted to test what they believe needs testing, not vice versa.
Getting it right is difficult. As previously mentioned, exploratory testing relies heavily on the testers. It’s an expensive and difficult skill to find and acquire.
The diversity of testers is another challenge. There is no point having testers with the same techniques because it will yield the same bugs. Diversification is the key to testing success. This also applies to devices and operating systems – who cares if the application has no bugs if every tester used an iPhone 6s!
Measuring the success of exploratory testing and calculating return on investment can also be difficult. But if you're running a marathon, you can’t train ten hours per day a week before the race and expect to do well. It takes months of regular training to build up your fitness. Exploratory testing is the same. Long-term consistency will generate better results than short-term intensity.
Definitely not. Testing should be a shared responsibility and not limited to one source. You should consider all available options. In-house developers and testers, the product team, crowdsourced testers and even some customers via beta programmes.
Never stop! The more exploratory tests you run, the more bugs you will find and the better your application will be. An exploratory test would be particularly beneficial after an update is complete, a new feature is built or a UI change implemented.
Exploratory testing must have a time limit. It encourages testers not to take too long investigating one issue. Timed test cycles can also create healthy competition. For example, you could have in-house testers and crowdsourced testers test the same feature of your application separately and then compare results. Competition encourages better results and offers both sides an opportunity to learn from each other.
How did I fit everything into my trip to New York? The truth is, I didn't. I've been there a number of times and I discover something new every time. That is the point of exploratory testing – it's continuous. It has to be. Read more about exploratory testing here.
Exploratory testing is vital for any successful application. How and when you use it depends on your circumstances. What are the needs of your application? What resources are available to you? How much budget do you have? The advantage of crowdsourced testing is that it works in your favour whatever the answers to these questions.
Finding and hiring the right mix of talent is an expensive and time-consuming task. Global App Testing removes these barriers by providing them for a fraction of the cost of doing it on your own.
To find out more about the advantages of crowdsourced testing, read our free eBook.