I promised to provide a list of open source and free model-based testing tools in a QUEST panel session, and have updated this list a few times since. There is wide variation in maturity, stability, and provisioning.
Nearly all of following information is from provider’s web sites – YMMV. The Environment column indicates the source code language and/or run-time environment(s); “*nix” indicates a tool written to run on most Linux/Unix variants. Open source licenses vary widely, click here for an overview.
If you note any errors or omissions, please post a comment and I will revise accordingly. A revision history follows the last table.
Runtime binaries (executable files) or installation media without source code.
|The Java Usage Model Builder Library (JUMBL) supports automated model-based statistical testing of systems. Includes command-line and GUI interfaces. Limited availability.||Java||Univ of Tennesse|
|A Visual Studio add-in that generates test suites from C# model programs; provides visualization and modeling features.||Windows, Visual Studio 2012||Microsoft|
|Supports conformance testing of reactive software; checks the correct behaviour of a real implementation during its execution based on its formal specification. Can execute a Torx specification as SUT.||*nix, Windows with Cygwin||Apache 2.0|
|An integrated tool environment for modeling validation and verification of real-time systems modeled as networks of timed automata extended with data types (bounded integers). Non-commercial use only.||*nix||Not specified|
Tools with an active user community using the tool for non-research work; developers are at arms-length with the users.
|A model-based testing and analysis framework. User writes model programs in C#. NModel generates tests from your model program in advance or on-the-fly as the test run executes. Users may add custom test generation strategies in C# to achieve any coverage criteria. SUT not limited to Windows.;C#. Requires .NET, but not Visual Studio. Precursor to Spec Explorer; lacks many features (e.g., Cord Files) supported in Spec Explorer.||
|Microsoft Open Source License|
|Model-driven development and testing environment for critical hw/sw embedded systems. Supports formal methods, SysML, UML, and OCL. Part of a suite of open source tools for embedded system development.||
Tools whose codebase has a small user community using it for non-research work.
|Generates offline and online test sequences from state machines modeled with GraphML — no UML to learn. User selects any of seven built-in coverage (stopping) criteria for test generation. Tool may be integrated with a Java test harness or called with SOAP as web service from the developer’s server. Use of graphics to represent models limits scalability.||Java||MIT|
|A compiler/simulator/model-checker for a rich subset of UML diagrams. based on the VERIMAG IF model checker. May be used to validate and verify asynchronous timed system models with complex dynamics. Uses rigorous semantics suited for critical real-time embedded systems.||
|Models are written as Java classes which directly interact with a Java SUT or adapter. Uses the annotations feature of Java 5.0. Processes models to generate calls to the SUT and evaluate response (no Junit code is produced.)||Java, JDK 1.6 or higher||GPL|
|The fMBT (Free Model-based Testing) tool is suitable for testing anything from individual C++ classes to GUI applications, mobile devices, and distributed systems as well as different platforms. fMBT provides a model editor, test generator, adapters for testing through various interfaces, and tools for analyzing logs.||*nix||LGPL|
Tools whose codebase has been recently released and has limited use.
|ATS4 AppModel||Model app specification, model based testing, and test script generation. Simple interface to manage complex models. Developed at Nokia for mobile device testing.||Java||BSD|
|Supports modeling and analyzing the structure and behavior of distributed reactive and timed computer-based systems.||Java/Eclipse||Apache 2.0|
|Generates tests from models expressed in the Z notation following the Test Template Framework proposed by Phil Stocks and David Carrington. Supports unit testing.||Java||Not Specified|
|Generates tests to check that the ioco testing relation holds between an IUT and a labeled transition system model expressed in Aldeberan or GraphML. Derived from Torx.||Java||BSD|
|Parses GUI framework code and monitors controlled execution of a GUI to extract structure and API calls. Generates an Event-Flow Graph (test model) from this model. Generates executable test suites from the model.||
|Uses lightweight high-level Petri nets as a visual modeling notation. Test models can be animated and verified. Generates executable test code fom a test model in Java, C, C++, C#, VB, or HTML and/or test engines JUnit, NUnit, Selenium.||Java||Not Specified|
|A prototype tool and methodology for online test generation for smartphone GUI testing. Based on the GUI keywords/action word testing strategy.||
Tools whose codebase is incomplete or used primarily by its developers.
|A model based software test utility using genetic algorithms to generate test oracles.||Java||Not Specified|
|Extensions to NModel (see above) enabling model-based testing of systems implemented in Java or other languages. More …||Java||Apache 2.0|
|Open Source Modelling Objects (OSMO) includes tools and libraries to model software behaviour with extended state machines in Java for online/offline test generation and non-deterministic online models.||Java||LPGL|
|Partition Test Generator: generates tests meeting control flow-based coverage criteria (e.g. MC/DC) and boundary-based coverage criteria.||Java Eclipse||Eclipse Public|
|20 Jan 2014||Reformatted, verified all links and versions|
|26 Sep 2013||Added fMBT|
|31 May 2012||Added Fastest|
|25 April 2012||Formatting and clarifications|
|20 April 2012||Added GUITAR|
|15 April 2012||First posting|