In Quality Engineering for Software development there is a whole range of testing techniques that can be applied depending on the type of an application, budget, time and documentation. When working in Agile methodology the aim is to deliver a running software rather than to create a full project documentation. In this case, how should we test an app when the project has a poor specification and limited time?
Exploratory testing ≠ Monkey testing
Exploratory testing has gained a bad name due to a different type of testing called “Monkey testing”. It is a completely different practise, hence it cannot be confused.
Exploratory testing is all about investigation, learning and verification of the correctness. While the Monkey testing is a method which generates a random and thoughtless input (clicks, swipes) with the sole purpose of finding issue and ignoring the way the app should be used.
Now, when you know the main difference, let’s find out why exploratory testing may be the best solution for your project.
- It can deal with a really poor documentation still identifying the highest risk areas
The ability to carry out the exploratory testing is a very essential skill in every QA team. It is not unusual that while using such method new test case and test scenarios are created. This type of tests provides you with the information on how the application works, verifying the correct operations immediately.
All well-performed tests are based on tester’s knowledge and intuition where the biggest number of bugs may occur. Exploratory testing allows you to access areas that other techniques have not predicted including test cases. The tester selects such scenario based on the similarity of the tested application to the applications previously used and tested. During testing QA team is able to discover the weakest sides of the application and determine the highest risk that might occur in the application e.g defects clustering.
- It saves time & money = fits very limited budget and provides feedback very quickly
Other testing techniques require adding test cases, reading documentation and then executing tests what additionally increases costs. Exploratory testing is an efficient process where a tester can quickly find the most useful information about state of application. It helps to identify the software risk and get a feedback as soon as tests are finished.
Exploratory testing allows you to discover which functionality works faster and which not right after the completion of each test session. The testing team is more involved in test execution rather than test planning what helps when application’s resources are limited.