Last week, I was testing a new way of using an existing feature. There was already an existing way of using the same feature and it was already thoroughly tested and automated. We were basically introducing a new execution path for the same feature.

So, this was the problem: I already had tests that executed the feature and verified the feature worked as expected. Now, I wanted to use the same test and same verification, the only difference being the execution of the test.

Solution: Our automation stack includes Execution Behavior Manager (EBM) that supports multiple execution behaviors for any user action and it can choose any behavior at run time. So a test can now be executed via different execution paths by hooking up into the EBM.  This not only reduces the number of tests needed, but also increases the coverage of an existing test by hitting different execution paths each time it is run. How cool is that!