Scenario Based Testing

Introduction 

Scenario Based Testing is done to ensure End-to-End functionality of software. It also helps in identifying the process flows of the business of working software. To become a successful tester for Scenario Testing, a tester must put themselves in the shoes of end users so that they can develop real-world scenarios that an end user can only perform on the software. The proper assistance of developers, stake holders and clients is required to create efficient test scenarios. Scenario Based Testing is performed to replicate end users usage by creating scenario based test cases. One of the best features of Scenario Based Testing is that it helps to locate complex transactions so that a tester can study the end-to-end functioning of the program.

Objectives and Importance

The objectives and importance of Scenario Based Testing are:

a) It helps to understand how the software will work in the hands of the end user.

b) A large amount of defects can be expected with Scenario Based Testing as compared with other types of testing.

c) Helps in identifying a large number of Data Paths.

d) Various types of possible paths in software.

To understand Scenario Based Testing better, let us use an example of a Hotel Management System. 

As we know, these days maintaining records are very important for any management system. For the Hotel industry, it is done by a Hotel Management System. This software helps in maintaining both the checkout of guests as well as checking guests in. Checkout guests leave the hotel on the same day, however checkin guests arrive at the hotel and stay for a day or more before they checkout from the hotel.

If a checkout guest comes to the hotel to inquire about the charges and other facilities then his entry is made in the Hotel Management System as a checkout guest and his history is entered in the management system. After a few minutes he suddenly decides to stay in the hotel. Now his entry is changed from a checkout guest to a checkin guest. But after making this change the Hotel manager is unable to find any previous record of the guest, ideally the checkout history of the guest should be available even after changing the status from checkout guest to checkin guest. This happened because the Hotel Management System fails in this scenario. But using Scenario Based Testing we can maintain the records of such guest by transferring the history status from a checkout guest to a checkin guest. Therefore using Scenario Based Testing we can identify such bugs in advance and this is why Scenario Based Testing is a very important aspect of software testing.

The scenario mentioned above can be explained by the following diagram in which we see that a guest checks in the hotel to stay, his information is stored in the database of the Hotel Management System. The guest stays for three days and checks out from the Hotel, his information is updated in the database of the Hotel Management System as a checkout guest from a checkin guest. After a few days he again visits the same Hotel to stay. In this situation since his information is already stored in the database of checkout guests the same information is fetched from the database and transferred from the checkin guests database so that the Hotel manager can check his information even when the status is been changed from checkout to checkin.

Digram for scenario based testing.jpg