Skip to main content

Creating a Test Activity

Introduction#

To make the connection from the Start Test Action (the green circular action) to the login test action, deselect the Add New Action button by clicking on it. It will revert back to a non highlighted and non glow and the Test Activity diagram is now in Test Action flow connection mode, you will see that the cursor will become an arrow head rather than the cross in the Add New Action instantiation mode.

All Test Actions have flow nodes which are visible as white circles. Move your cursor to the green Start (setUp) Test Action, you will see that the white flow node for the connection will highlight in red when you hover over it. Click on the flow node and hold your left mouse button down. Drag your mouse, still holding down the left mouse button, to a flow node on the login test action. There are several flow nodes on each test action and you can connect to each node multiple times if you need. Wait for the flow node to highlight in red before releasing your mouse button (this indicates that you are β€˜over’ a flow node) and you should now see a flow arrow, a black dotted connection arrow from the Start Test Action to the login test action.

The arrow head and the direction of the flow of dashes when selected denotes the direction of test action flow from one action to another. To enable a Test Action to call itself, draw a flow arrow from one flow node to another flow node on the same test action.

Complete the flows as shown below, this creates our shopping app Test Activity.

**TIP** To ensure that the flow arrows are connected to flow nodes on a test action in the test activity, select the test action and move it around, all the flow arrows should move as well. If a flow arrow is not connected then select the arrow by hovering over it, it will turn light blue and show the direction of flow, left click on the blue circle at the arrow head and drag to the flow node on the test activity.

Setting Seeds#

When a Vitaq Test Activity is run the test generator randomly selects the next allowable test action in the test activity diagram, starting from the green Start Test Action. Click on the green Start Test Action to select it. You will notice that the Action Properties tab on the top right-hand side of the Vitaq Test Automation window automatically switches to the Start Test Action properties. The Start Test Actions properties are the seed control fields for Vitaq. By default, the starting seed for the Vitaq intelligent generator is set to 1 . Whenever a different seed value is used, the Vitaq intelligent generator will potentially generate a different path through the test activity diagram. Vitaq is designed to be randomly stable, in other words if the same seed is used it will always produce the same path though the test activity. Seeds can be set as individual numbers, as a range of numbers e.g. β€˜1-100’ or comma separated variable combinations such as β€˜1,50-100,255,278’ where Vitaq will run the Test Activity with a seed value of 1, then seed values of 50, 51 and all seed numbers up to to 100 then seed number 255 and finally 278. You may want to do this because the auto-generated tests that were created by a specific seed may have uncovered a defect in the software under test and once fixed you may want to make sure Vitaq re-creates the same tests to test the fix.

Note

When running in AI mode, i.e. with the Test Activity settings use AI radio button selected, the seeds are automatically handled by Vitaq's machine learning functionality.

Vitaq AI will automatically take control of setting seeds and running with new seeds to help the machine learning algorithms achieve full QA coverage.

Vitaq can also auto-increment the seed value from a starting seed number by clicking on the Auto-increment seed selector. This will increase the seed value by one each time you β€˜run’ your Test Activity.

Weighting selection of next allowable Test Actions#

When operating Vitaq in 'exploratory testing' mode (i.e. without use AI selected in the preferences form or on the command line argument) Vitaq's machine algorithms will direct the selection of next allowable Test Action by the use of weightings on the Test Action links as shown below.

When using Vitaq's AI mode, this 'weighting' is calculated and set automatically by the machine learning algorithm to direct the test action selection to meet the user defined goals of 'user-journey' sequences, actions and data coverage targets.

For example, to direct the selection of the backpack product to be a 50% probability when you run the Test Activity, you set the weight of the return arrow of backpack to 5 and the the weight of arrow going on to the other products to be 1. The weighted probability of selection is then 5/(5+5) for the backpack product Test Action selection and 1/(5+5) for the other product Test Actions to be selected.

Exhaustive Test Actions#

Exhaustive Test Actions are a very powerful feature of Vitaq, they enable users to create a test activity that ensures that next allowable Test Actions connected 'down stream' from the exhaustive test action continue to be called 'exhaustively' until their call limits are hit.

To show the power of exhaustive test actions we are going to modify the Test Activity with a exhaustive products test action to shop for different products 'exhaustively' until the call limits of the next allowable test actions (which we have set to 2 for each product as you can see in the diagram below) are reached or global end action is called.

Click on the products Test Action and in its Actions Properties tab, select the Exhaustive checkbox.

Once the Call Limits are met or a global end action is selected, The Test Activity will stop running as all Test Action calls have been exhausted. You can now β€˜run’ the test activity to see what Test Action sequences you get for a number of different new seeds.

Max Depth#

Customised Max Depth settings on Test Actions are only needed when you have not defined a Call Limit on Test Actions. When you define a test action to be exhaustive, it will 'exhaustively call' Test Actions down the connected Test Activity until you tell it to stop (i.e. when it hits the Call Limit or reaches a Max Depth limit). When you connect ('call') next allowable test actions in a Vitaq test activity recursively (as shown below) you may cause a 'stack overflow' issue. Vitaq places the sequence of previously selected test actions on a 'stack' when the test activity is being 'run'. This 'stack' can get very deep. In extreme situations this may cause the stack to overflow. This may be resolved by increasing the Max Depth size. The default maximum depth is 10,000, which should suffice for most if not all test activity diagrams. The most common test activity that will cause this sort of overflow is a circular test action selection, as show in the example below where Add_an_Expense and Delete will continually (exhaustively) call each other until the test activity is exhausted. When the Max Depth limit is hit for that test action a Vitaq information message will be issued in the Script Output log and that test action with the max depth limit will no longer be 'active' (selectable) in the test activity run.