In conjunction with predicates, which tell you which edge you can explore, and when to stop a path search (a test sequence is a path), this gives a pretty flexible and configurable tool for automatic test generation, as you observed.
So far I preconfigured two search strategies, one which visits all transitions in the graph once, and the second which does the same but up to n visits of the same transition. I am working on more complex strategies (favor some paths over some others following a probability distribution etc.) but that is not a priority as of now.
Smart automated test generation is an exciting topic!
1 comment
[ 2.6 ms ] story [ 15.0 ms ] threadI authored a javascript library which modelizes state machines as a multidigraph, use cartesian products to derive a standard flat graph, and generate test sequences out of it. Cf. https://github.com/brucou/state-transducer#generatetestseque... for the theory, here for the example : https://github.com/brucou/state-transducer#implementation-ex...
In conjunction with predicates, which tell you which edge you can explore, and when to stop a path search (a test sequence is a path), this gives a pretty flexible and configurable tool for automatic test generation, as you observed.
So far I preconfigured two search strategies, one which visits all transitions in the graph once, and the second which does the same but up to n visits of the same transition. I am working on more complex strategies (favor some paths over some others following a probability distribution etc.) but that is not a priority as of now.
Smart automated test generation is an exciting topic!