How the solution of Testing Algorithms handles missing, unstable and changing requirements?

The purpose of this article to demonstrate how the solution of Testing Algorithms handles changing requirements. I will use a simple example from our case study.

Consider a web application for an online book store is being developed using Agile methodology. Following is on of the user stories and its acceptance criteria:

1. Missing Requirements

There is clearly a missing requirement – How the application should behave if search is initiated with a null string?

How did we find the missing requirement? Simple. While creating our model (see below), we broke down the functionality into its various components and then explored the possible instances of all the dimensions that we need to test this with.

Now the question is, how to close the gap for this missing requirement? Well, there are at least two options for this:

Option 1: Throw an error – “Please enter a non-null search string!”

Option 2: Show all books in search result.

Now, it would completely depend on the business users to choose the option from the available ones.

However, we have created the following model for this user story:

Following is the Use Case diagram that was automatically generated:

Following is the Process Model diagram that was automatically generated:

And this is how the two options described above have been handles while creating the model:

Option 1: Throw an error – “Please enter a non-null search string!”

Following is the Given-When-Then (i.e., Gherkin) test cases that were automatically generated for Option 1:

Option 2: Show all books in search result

Following is the Given-When-Then (i.e., Gherkin) test cases that were automatically generated for Option 2:

2. Unstable & Changing Requirements

Let’s assume that Option 1 was chosen in Sprint 1 to take care of the missing requirement.

But then, the business users came back just before Sprint 2 that Option 1 is not working for them and they need to switch to Option 2.

How this situation should be handled in Sprint 2?

Simple. We just need to make the two small changes (i.e., in Scenario & Expected Result fields) and submit the model again to generated updated scripts and business models.

Leave a comment