The story of session based testing is all about performing the exploratory testing in a specific way. Therefore, before going through the concept of session based testing, it is desirable to gain some working knowledge of the exploratory testing.
Exploratory testing is a testing technique and simultaneously, a progressive learning approach, which makes a tester independent of the test plans and cases, to detect bugs in the software product. In this type of testing, tester is solely dependent on his/her skill to design and prepare test cases, to carry out the test execution. But, this doesn’t mean that exploratory is an informal way of testing. It is a formal testing, which does not requires any sort of pre-planning, such as designing & preparation of test plans and cases.
During exploratory testing, a tester doesn't depend on the requirements, rather he/she study and analyze the functionality of the software product, and accordingly, decides what needs to be tested and what not. Based on his decision making ability, skills and years of experience, a tester prepares the test cases, to validate the proper functioning of the software product.
It may be defined as a structured and time based approach, to carry out the exploratory testing activity. This type of testing, involves the progress of the exploratory testing phase, in multiple sessions.
The basic idea behind SBT is to divide the whole exploratory testing, into multiple sessions of equal duration, and thereafter, defining and creating the test plan & strategies, along with the reporting of the test status report for each session of the exploratory testing. This way of carrying out the exploratory testing ensures the discovery of defects quickly in a very short time.
Test status of each session, decides the path of the next session, and accordingly makes tester, to think over the strategy to be implemented for the next session in order to achieve the goal.
The structure of session based testing is based on the six basic elements.