Scenario Testing in Software Development
This is an aspect of software development that involves testing particular software during development by using some scenarios. It is a realistic way of finding out the potential issues in software when it is fully used for the intended purpose.
The purpose of scenario testing is to make sure that the software is functioning flawlessly or that the business process of the software is not working below the expected standard.
What is Scenario Testing
Scenario tests are realistic, credible and motivating to stakeholders, challenging for the program and easy to evaluate for the tester. They provide meaningful combination of functions and variables rather than the more artificial combination you get with domain testing or combinatorial test design. A detailed tutorial about scenario testing in pdf can be read at the end of this page.
This test find out the issues in our software against the practical usage. The end users creates the scenario here. Now we can consider an example to get more idea. Supposed We have developed a billing software for shop. We have completed many testing and there is no bugs in coding and all features are working, thats good. Now we are discussing with our customer and starting and regression test. He is telling a scenario, that I have entered a processed bill for one order, then my customer require to change the quantity of material he purchased. I need to give its as same bill. Then we will try this scenario in our software, and we found that our software not able to edit the generated bill because there is no option for that. So we need to add that facility too. Its only a general example. In simple words it doing the test against practical situation , and that stories can be given by end customers.
How does it work?
In scenario testing, the testers assume the roles of the end users and stimulate the real world scenario where the software will be used. They can also make use of some cases that the end users can perform on the software. Others that assist the testers in creating the scenario to be used include the stakeholders, clients, and the developers.
Since the goal of doing scenario testing is to test the business aspect of the software, it is more efficient in spotting some defects that other testing techniques are not competent enough to identify.
To carry out scenario testing, test scenarios that mimic the usage of the end user is created. The scenario may be in independent or a range of test cases that are done one after the other.
Qualities of a good scenario testing
Due to the use of scenario testing to assess the functionality of a software program, a good scenario testing should have the following qualities:
- It should be motivating: The scenario used must be motivating otherwise it may be rejected by the stakeholders.
- Credibility is a must: The story must be considered as credible by the stakeholders. Apart from the feeling that the scenario may happen, they want to believe that it will happen and the system should be able to perfectly handle it.
- Complex use: The hypothetical story must involve subjecting the software to a complex use. On the other hand, the testing environment can be complex or the testers may use a set of data that is complex.
- An easy to evaluate result: the result of the testing should be very easy to evaluate. This will ease the understanding of the problem or error detected, making the job of fixing the bug easy for the developers too.
Any testing scenario should have all these qualities before it will gain the status of a qualified scenario for testing a software program. This is a typical scenario:
If a patient comes to a hospital to complain about chest pain, his personal information will be taken and he will be recorded as an outpatient and all his records in the hospital will reflect that. If after a couple of visits the hospital decides to hospitalize him after complaining of another more serious ailment, his status will change from an outpatient to an inpatient. The current doctor treating him for the new illness will need his medical history as part of the effort towards treating him. If the doctor cannot find his record, it is an error. His medical history is supposed to have been automatically transferred from the Outpatient section to the Inpatient section. In this scenario, the HMS system that is responsible for handling the records fails. This is a bug that can cause a lot of damage in the hospital if such a huge error is not immediately corrected. A suffering patient cannot be urgently attended to due to a bug in the program.
This hypothetical scenario underscores the importance of scenario testing when developing a software system. The efficiency of the software will be known and any other insidious errors that are elusive to other testing techniques will be detected.