An Overview of



Learning Objectives

  • High level understanding of MBT development process
  • Differences between state-based model and
    combinatorial model

What is TestOptimal?

TestOptimal is a model-based platform for:

  • test design
  • test automation
  • process automation

What do you mean by


Model is the core to the development process, together with algorihtms, it is used to:

  • generate test cases
  • drive test automation
  • build process automation path
TestOptimal is like a GPS unit and model is the map.

What is a model?

Model is an abstracted notation that describes
the behaviour of the target system.

TestOptimal supports:

  • State-based model - state machine / state diagram
  • Combinatorial model - variable table

State-based Model

Sequencer (algorithm) is used to explore different paths to get a drink (test design) or find a (shortest) path to a specific state to perform action (process automation).

Combinatorial Model

Combinatorial algorithm, e.g. pairwise, is used to generate minimum number of permutations to cover all possible paired combinations.

Iterative Development Process

Each iteration to match a sprint in agile development. New requirements are incorporated into model(s) and test cases are automatically regenerated from the updated model(s).

State Model: Modeling

Use graphical modeling to create the model: create states and transitions using toolbar

State Model

Generate Path

Select a sequencer, run the model, view generated test cases /
test paths in RESULT tab.

State Model

Automation Scripting

In SCRIPT tab enter your automation script (groovy) and use plugins
to interact with target system. BBD freetext style scripting is also supported.

State Model


Re-run model to re-generate test cases and see your automation script driving
target system. If needed, pause and step through your model or run dynamic scripts
to assess model execution and targe system state.

State Model


Review model excution stats, results and detailed test cases in RESULT tab.

Combinatorial Model


Add varialbes and set domain values to test. Use script to auto-calculate expected premium to be used to verify the results.

Combinatorial Model

Generate DataTable

Select an algorigthm, run the model, view generated test cases in DataTable.

Combinatorial Model

Automation Scripting

In SCRIPT tab enter your automation script (groovy) and use plugins
to interact with target system.

Combinatorial Model


In EXECUTE tab, run model to execute your automation script to test
each test case in DataTable. Results can be downloaded in tab delimited file.

Handling of Changes

Changes are handled through adjustment to the models:

  • State model: add/remove states and transitions
  • Combinatorial model: add/remove variables
  • Re-generate test cases and test paths
  • Add necessary automation scripts
  • Re-execute model with automation script to perform testing


TestOptimal is a platform that allows you to perform model-based test design and test/process automation in the same IDE environment.

Additional capabilities include:
  • integration with ALM process
  • repurposing models for load and stress testing
  • tracking KPI of your testing process

Check out more tutorials