Dynamic Technique- Experience Based
This technique is used to detect defects and to determine quality attributes of the code by formally executing the code. These techniques are used in validating software in real-time. Dynamic techniques are subdivided into three more categories which are specification-based (black-box, also known as behavioral techniques), structure-based (white-box or structural techniques), and experience-based.
Experience Based Technique
Experience-based testing is the technique of executing testing activities using the experience gained after understanding the most important areas of a system that would be most used by the customer and that are most likely to fail. It is conducted in an Ad-hoc manner as proper specifications are not available to test the applications. It is used together with specification-based and structure-based techniques. This technique is useful for low-risk systems and when it is insufficient/no documentation and also a limited time frame is available. This may produce reliable and effective results.
When Experience Based Testing is Required?
The experience-based technique is used for testing in the below conditions:
- There is a non-availability of system requirements and specifications.
- There is a restricted amount of time given to perform testing
- The software product has lesser risks.
- There is limited knowledge of the software functionality.
- The specification is out of date
Types of experience-based techniques
(i) Error Guessing
Error Guessing is a simple technique that is very much dependent on the skill and experience of the tester using which special tests can be identified which are not possible through other testing techniques. This technique completely depends on the tester’s experience. If the tester experience is more, then can expose more defects. A structured approach to the error-guessing technique is to list possible defects or failures, which several testers and/or users can also team up to find out, and to design tests that attempt to produce them. These defect and failure lists are built based on the tester’s own experience or already available defect and failure data. This systematic approach is known as a fault attack.
(ii) Exploratory Testing
In this approach, testers are involved in minimum planning and maximum test execution. The planning includes the creation of a test charter and a short declaration of the scope, test effort, objectives, and possible approaches to be used. The test design and execution activities are performed in parallel without formally documenting the test conditions, test cases, or test scripts. Defect logging is also part of this type as test execution is performed. Exploratory testing is all about exploring, finding out about the software, what it does, what it does not do, what works, and what does not work. This is most efficient when it is insufficient/no documentation and also a limited time frame is available, thereby build confidence in the software.
(iii) Checklist Based Testing
In this technique, experienced tester prepares the checklist based on past experience, which works as a manual to direct the testing process. The standards for testing are defined in the checklist that needs to be followed throughout the testing process. It also ensures the complete test coverage in this testing. The checklist is prepared by the testing team and always gets updated from time to time, based on the changes in the requirements and needs of the test process.
(iv) Attack Testing
This testing technique has little similarity with negative testing. In this type, all the features or modules which has an interaction with the external interfaces, applications, system, or any external dependency, are being targetted for the attack. The external interfaces, database interface, APIs, and operating system are also considered attacks. it is mainly done to test software security.