Model Based Testing with Spec Explorer
This past week I started on a new team. I will be focused 100% on testing tools and automation as part of this new role. One of my first tasks was to learn more about Spec Explorer, a tool from Microsoft for model-based testing.
I have used the model-based testing methodology several times in my QA career, and I excited to try it again. I first learned MBT on a tool called TestMaster by Teradyne which was discontinued over a decade ago. Later, in 2007, I developed my own simple MBT tool in Java which I called Hanno and released to open source on Sourceforge. I had hoped to maintain and improve Hanno but I never found the time.
This time I decided to learn Spec Explorer, a MBT tool from Microsoft that runs inside Visual Studio. Most of our existing test automation code is in .NET so it made sense to try it. I also like the way you can build models in code and Spec Explorer generates the state machines automatically for you. Most model based tools go the other way, building from model to code not the other way around.
Spec Explorer was surprisingly easy to learn. Many of the examples that came with it were overly complex, but I found that by stripping out the parts I did not need I could build a model from the ground up and model a very simple sequence of actions in Coded UI for one of my employer's web applications. Doing that helped to understand how Spec Explorer thinks, or at least how to make it work the way I think for UI testing.
I am looking forward to using Spec Explorer in the coming months, and using it to find some interesting bugs.