Hey guys, today I will post about a technique to test new/old features when you don’t have a proper regression pack, or when the product is not stable, or the time is really limited.
Why should we perform exploratory tests combined to regression tests when the product is not stable ?
- Because testers will be involved in minimum planning and maximum test execution (Allowing to find more bugs than just following the regression pack)
- It will find different approach to test the same scenario, allowing to have a better coverage about the software, so it will have a higher possibility to find a trick bug
- This is an approach that is most useful when there are no or poor specifications and when time is severely limited
How to perform the exploratory tests ?
The test design and test execution activities are performed in parallel typically without formally documenting the test conditions, test cases or test scripts. This does not mean that other, more formal testing techniques will not be used.
There is too much evidence to test, tools are often expensive, so investigators must exercise judgment. The investigator must pick what to study, and how in order to reveal how, in order to reveal the most needed information. This takes time and you need a huge knowledge of the software, until there you are gaining experience doing exploratory tests on te software.
[When my boss asks how the tests are going]
In this case it’s serving to complement the regression pack, which is a more formal testing, helping to establish greater confidence in the software. Exploratory testing can be used as a check on the formal test process by helping to ensure that the most serious/tricks defects have been found.
Programs fail in many ways:
Why should you not automate exploratory tests?
- With a script, you miss the same things every time
- Automated scripts are completely blind by design, this is more about a human interaction and different approaches
- Different programmers tend to make different errors. (This is a key part of the rationale behind the PSP). A generic test suite that ignores authorship will overemphasize some potential errors while underemphasizing others
- The environment in which the software will run ( platform, competition, user expectations, new exploits) changes over time
So, if is not stable what are the types of the defects I am finding?
- A manufacturing defect appears in an individual instance of the product. This is the type of the defect you are finding on non stable softwares and what you try to find doing exploratory tests.
- A design defect appears in every instance of the product. The challenge is to find new design errors, not to look over and over and over again for the same design error
To end this post, Exploratory testing is called when you want to go beyond the obvious or when I don’t trust the software, which is most of the time.