Test Modeller 101 Tutorials - Test Generation
Go back to the index at any time to see more of these Test Modeller 101 Tutorials.

4.1 Generating Test Cases


  1. Understand test coverage and its importance.

  2. Understand Model-Based test generation in Test Modeller.

  3. Learn how to use 'coverage profiles' to generate optimised test cases in Test Modeller.

  4. Create three coverage profiles and generate test cases from the model that you created in lesson 2.3.

In this Test Modeller 101 Tutorial on Generating Test Cases, you'll learn how to maximise coverage in your models and define test coverage to optimise your testing.

The coverage algorithm in Test Modeller creates paths, including valid but also invalid, which also can be controlled through Test Modeller’s coverage metrics to ensure you get the perfect coverage in your test suite. These coverage techniques are set up as profiles which then are set up as low, for maybe a light-touch test, through to medium, high and possibly exhaustive.

For this tutorial, under projects we’re using an invoicing process to generate tests through the Scenarios pane in Test Modeller. Then cycling through the paths each click shows a different variation on the flow through the model.

To further understand how the algorithm determines each path, clicking in the Test Generation tab in the ribbon menu reveals the Coverage button. Clicking this you can see there’s an option to vary the amount of coverage according to the your testing requirements.

A benefits of using coverage profiles is that, where we may struggle to write a complex amount of tests, the algorithm in Test Modeller can more easily determine these probable flows as part of a Test Suite.

That's all for this Test Modeller 101 tutorial, hopefully you now know how coverage helps controls test case generation and how they can be modified to accelerate Test Suite generation.

Back to top

4.2 Browsing Test Cases & Data


  1. Review test cases in Test Modeller.

  2. Download spreadsheets of the static and dynamic test data that you have defined in Test Modeller.

  3. Export your test cases and data to Microsoft Excel.

In this Test Modeller 101 Tutorial on Browsing Test Cases & Data you'll learn how to browse test cases and export them using Test Modeller.

Browsing and viewing detailed information on test cases is relatively simple in Test Modeller once you have built out your model, you can also use built in example models as well.

Open your chosen model and generate the test cases using the generate button in Test Modeller. Once generated, you'll be able to view detailed information about each test case, edit them and review each path taken through your model.

Exporting these test cases to your chosen platform is also super simple with Test Modeller! Hitting the run button will open the export window with a range of options, including automation, test cases, test data management etc.

For this tutorial, we're exporting test cases to Excel however you can also export to Jira, Azure DevOps, Microsoft Word and more! Exporting test cases allows you to share information on your tests, your test steps and data with other team members.

Additionally, you can also preview your model's test data by following the same steps as above, but instead selecting Preview Test Data rather than Export Test Cases in the export window. This will open the test data table where you can find your synthetic test data generated by Test Modeller or any other type of data you used. If you use Test Modeller's Synthetic Test Data capabilities you would see a different set of data each time you check it.

That's all for this Test Modeller 101 tutorial, hopefully you now know how to generate test cases, view their details, view test data and then export these to a range of places.

Back to top

4.3 Negative Testings


  1. Understand the difference between positive and negative testing, and the importance of the latter.

  2. Learn how and when to use Filters and Tags in Test Modeller.

  3. Create advanced coverage profiles to generate all tests, positive tests, and negative tests from the model that you created in lesson 2.3.

In this Test Modeller 101 Tutorial on using modelling to optimise your test cases by always defining Negative Testings alongside positive, happy path outcomes.

Negative Testings will provide scope to widen the amount of scenarios for testing, and this more akin to exploratory testing which model-based test case design in Test Modeller accelerates.  

Setting up a new model you’ll see it used to determine the probable journey a user would take through a process. Once generated, these journeys can be seen as Test Steps which are easily previewed by clicking the cog in the Scenarios pane.

Building out the model with both a happy path but also negative test paths you’ll see use of a conditional block. Placed on the canvas, this helps punctuate a flow from which point valid and invalid paths typically branches off through a linear model.     

As a detailed example, you’ll see the invoicing system model used to demonstrate using coverage to pick up a majority of the scenarios. Decisions around how much to test are effected by factors including the amount of time, complexity required, but also your knowledge of the system under test.  

Finally you’ll see how to search across a model using pre-determined Tag in parallel to setting its coverage profile. That's all for this Test Modeller 101 tutorial, hopefully this shows how negative testing positively impacts on the coverage, which can be modified to narrow or broaden your Scenarios and Test Steps.

Back to top

4.4 Advanced Constraints


  1. Understand when and why to use constraints or "rules".

  2. Overlay constraints onto a UI model, to force specific routes through it in testing.

In this Test Modeller 101 Tutorial on Advanced Constraints, you'll learn how to maximise coverage in your models and define the test coverage for your testing needs.

To understand coverage in Test Modeller, you first must learn how Test Modeller path generation algorithm works. The generation algorithm generates an optimised set of test cases that enables greater coverage for less test cases. The Test Modeller algorithm allows you to maintain the model rather than individual test assets, a crucial benefit of Test Modeller!

Advanced coverage techniques can also be applied to ensure the perfect test suite for you is being generated. This can be done through constraints or tags across your model. Tags and constraints can be used in combination with Test Modeller's coverage algorithm, in order to better define your results or to only generate specific paths that you would like to test, for example positive only paths. These custom coverage profiles can also be saved, so you can switch between them on the fly.

As a detailed example, you could have a car rental system modelled out, and use custom coverage profiles to generate tests. These custom profiles can determine if you only test paths for invalid car licences, paths for a specific car make, paths for electric only vehicles and anything else you could think of.

That's all for this Test Modeller 101 tutorial, hopefully you now know how Test Modeller coverage algorithm works and how you can customise the generation to suite your needs.

Back to top