I was fortunate to have the opportunity at my new job to work on an innovation project of my own choosing for the past week.
I decided to try to my hand at model-based testing again. In my previous job I was doing software build and deployment engineering for several years, and agile team leadership. In my current job I have been doing more test automation in Ruby with tools like Cucumber. But writing test cases by hand takes a long time.
Back in 2008 I posted a comment on this blog about mbt.tigris.org, an MBT tool written in Java. The tool still exists, and was renamed GraphWalker, and numerous enhancements have been made to it over the years.
I created a Docker container to run GraphWalker as a rest service, and a JSON models to represent one of our testing components. Then I created a Ruby command line program to load the JSON model into GraphWalker and generate test inputs through the REST API. Finally I created a Ruby program with method names matching the element names in the JSON model. It runs and generates tests at the same time, very fast, and works great.
I really enjoy model-based testing. Whenever I do it there is a part of my brain that lights up with excitement. On some level I know this is how things should be done.
I will be giving a demo of the project next week. I hope to convey some part of the excitement I have been experiencing this past week. I hope that it will turn some heads.
UPDATE:
The demo went very well. I made some enhancements to the tool in the days that followed. Several people gave me feedback about the tool and how innovative it was.
No comments:
Post a Comment