This is an old revision of the document!


Sequence Modes (Sequencers)

Sequence Mode is the test case generation algorithm used to generate test cases and test sequences from the model. TestOptimal supports several algorithms ranging from random walk to optimal sequencer and custom test case generation.


Sequencers

TestOptimal supports 7 sequencers to generate test sequences or test cases from the model. All of them can be used for both Online MBT Testing and Offline MBT Testing.

Depending on your testing objective, some sequencers may produce better or more desirable test cases from your model than others. You should experiment with these sequencers for each model to determine which sequencer meets your needs better.


Optimal Sequencer

Optimal Sequencer generates the test sequence with minimal number of steps that covers all of the transitions in the model by applying Chinese Postman Problem.

If used with Mark mode, it will generate test sequence to cover currently marked states and transitions.


Random Sequencer

Random Sequencer generates test path by walking the model randomly. The transitions are selected for traversal based on the assigned weight. The higher the weight, the more often will it be traversed.

This sequencer is very effective for online testing (test automation). It continuously generates test sequence until a stop condition is met. This is typically used for load and stress testing to find defects caused by long running system like memory leak or deadlock situation or simulate production load.


PriorityPath Sequencer

PriorityPath Sequencer generates many short paths (test cases) to cover the transitions with higher weight (higher risk) first.

The default transition weight is 5. It is recommended that high priority transitions be assigned a value at least 10 for small models and much larger value for larger models.

You may increase the sensitivity of the sequencer (how aggressive high priority transitions are chosen first) by increasing the gap of the weight values between high priority transition and the rest of the transitions.


MCase Sequencer

MCase Sequencer generates the shortest test sequence to complete the navigation path described for each MCase. The navigation steps defined in each MCase need not be consecutive, the system will find the shortest path to fill the gap with transitions from the model.


Choosing Right Sequencer

Different sequencer produces test sequence or test cases resulting in different effects on test coverage. You should evaluate them and determine which sequencer is a better choice for each model and test objective. Keep in mind that you may change the sequencer anytime.

For example if your goal is to ensure all transitions are tested, Optimal Sequencer or PriorityPath Sequencer may be the best choice as it produces the least number of test steps to cover the entire model.

If you are looking for testing different variations and paths of the model and expose AUT to long running scenarios, then Random Seqencer may suit your needs better.