Experience-based techniques
Black Box techniques are used to derive test cases from the specification available. White Box techniques supplement the Black Box techniques and use the code to derive test cases and increase the test coverage.
How do we test when there is insufficient/no documentation and also a limited time frame? What do we use to derive test cases and test results in such a scenario?
Experience-based techniques come in handy in such situations. They use the tester’s experience to understand the most important areas of a system i.e. areas most used by the customer and areas that are most likely to fail. They tap into the tester’s experience of defects found in the past when testing similar systems.
Even when specifications are available, it helps adding tests from past experience.
Different types of experience-based testing techniques
There are mainly two techniques under this category;
1) Error Guessing:
Error Guessing is a simple technique that takes advantage of a tester’s skill, intuition and experience with similar applications to identify special tests that formal Black Box techniques could not identify. For example, pressing the Esc key might have crashed a similar application in the past or pressing the Back button or Enter key on a webpage, Javascript errors etc.
This technique completely depends on the tester’s experience. The more experienced the tester is, the more errors he can identify. Several testers and/or users can also team up to document a list of possible errors, and this can add a lot of value.
Another way of error guessing is the creation of defect and failure lists. These lists can use available defect and failure data as a starting point and can then expand by using the testers’ and users’ experience. This list can be used to design tests and this systematic approach is known as fault attack.
2) Exploratory Testing:
This is used when specifications are either missing or inadequate and where there is severe time pressure. A test charter of test objectives is first created and based on the test objectives, test cases are designed, executed and logged, all these activities occur concurrently along with learning about the application within a fixed time frame (time-box). The test objectives help maintain the focus and maximize testing within the limited time frame.