Edge test cases using the power of variability

Edge test cases using the power of variability



The power of variability in Vitaq AI Test Automation Tool is the secret sauce that delivers edge test cases. It’s what makes a Test Activity model automatically generate tests for many user journeys combined with different sets of data. Vitaq enables test scripts in each Test Action to execute in a series of highly variable action sequences.  This imitate your user journeys by effectively executing each action script to the next allowable action script in turn.

How to reach your edge test cases

As QA testers we get to know our Test Space in great detail. Consequently it follows that it is easy for you to draw  a Vitaq Test Activity model.  You simply place down each required test action followed by its next allowable action. Then in each action we write our test scripts.

Data driven edge test cases

Another great thing about Vitaq is that we can also make our test scripts data-driven. So we can generate our data into the test scripts each time Vitaq executes a test action script. Vitaq AI has the capability of choosing the next allowable action to go to. When it’s in that action, it goes through the test script and for any data-driven requirement it auto-generates the test data. It then feeds that data into the test script and then it goes on to next allowable action.

AI driven user journey testing

It is very easy to click through actions in the Test Activity to define your specific requirements for certain user journey’s. To make sure these are achieved during a Test Automation run, we specify targets on each sequence (User Journey). Then we leave the heavy lifting up to Vitaq AI. It uses it’s AI Machine Learning Algorithms to choose which next allowable Test Actions to select and what test data to auto-generate. As it runs it learns what it is achieving in terms of QA Coverage and compares this against the goals that you have defined.

Vitaq works with its AI going through the entire Test Activity choosing Action to next allowable Action. The user can control how much variability is deployed when choosing test actions and test data by simple to use settings in the preferences form.

When setting the Variability to high, Vitaq will use its variability algorithm to choose more random Action to next allowable Action sequences and test data values. This helps reach more edge test cases by not just choosing the directed action to action sequences. The increased variability provides a users with the ability to ‘explore’ around the test space. Rather than just directly executing a limited number of ‘known about’ user-journeys.

The power of variability in edge test cases

The power of variability in each Test Activity Diagram makes sure your software under test is tested thoroughly. It helps to ensure that you will pass the rigorous quality checks required in modern app development.

Let’s discuss how we can handle Variability in the Vitaq AI Test Automation Tool :-

1) Open the Test Activity Diagram on which you want to apply Variability.

2) Click on Edit on top menu bar and click on preferences.

3) Check on Use coverage checkbox plus Check on Use AI checkbox. There you go you should be able to see the Vitaq AI Variability and Variability Decay now.

Low Variability settings

4) Variability has been set to low by keeping slider to the left and Variability Decay is Kept high by keeping slider to the Right.

With this Variability setting Vitaq will use a minimum amount of Variability for action and data selection. With this Variability Decay setting each run it starts will quickly reduce (decay) the amount of variability. So you have set Vitaq to use a precise and directed choice of next action and data to achieve the sequence goals. Hence Vitaq will achieve your user journey coverage faster. But it will lose the opportunity to explore around your test space by using Vitaq’s variability. More variability in your auto-generated tests would have given you tests that you may not have thought of.

High Variability settings

5) Variability has been set to High by keeping slider to the Right. Variability Decay is Kept low by keeping slider to the Left.


Then Vitaq will bring into play a high level of Variability at the beginning of a Vitaq AI Test Automation run. For each new seed run, Vitaq will gradually reduce (decay) that amount of variability. This setting might not achieve your user journey sequence targets as quickly. But it does mean you will still get valid choices. This is because you have drawn your Test Activity as connected Test Actions to next allowable actions.

Medium Variability settings

6) Variability has been set to Medium by keeping slider in the middle. Variability Decay is set to Medium by keeping slider to the middle.

Then Vitaq will provide medium amount of variability. This is a good compromise setting to go through rigorous user journey testing with some exploratory variability testing.

The Relationship to the amount of Variability and the rate at which Vitaq will decrease that Variability on each run (by setting the Variability Decay) is a key aspect for controlling Vitaq AI. It helps you keep a focus on achieving the defined test goals for achieving user journeys but still allow the automation to find edge test cases.

Vitaq makes its choice of next test action by either deploying its Machine Learning AI Algorithm or its underlying Variability algorithm. By setting the Variability to high and the Variability Decay to low means the choice will be largely taken by the Variability Algorithms. So on each run this will slowly switch over to the AI Machine learning choices. Which is always driven by achieving the QA coverage goals defined in the targets.

Achieving 100% QA coverage for edge test cases

By Setting the Variability to low you are asking Vitaq to use its AI much more than the variability algorithms. The resulting Test Automation run will execute test scenarios that are closely following the defined user sequences in a directed way.

One of the useful aspects of Vitaq is it will do things that test developers don’t think about. If you allow more variability you will get more tests that may create more conditions in your software under test. This something that a test developer wouldn’t have thought about. That is what makes Vitaq a powerful bug finder.