Robert V. Binder

Open Source Tools for Model-Based Testing

A neon OPEN sign glowing red in the window of a restaurantI discussed the following inventory of open source and free model-based testing tools in a recent QUEST panel session.  

After checking each tool, it is clear there’s wide variation in maturity, stability, and provisioning.  I see five groups

  • Binaries: an installable available without source code.
  • Fielded: a codebase that has an active user community using the tool for non-research work, at arms-length with the developers.
  • Club: a codebase that has a small user community using it for non-research work.
  • Beta: a codebase that has been recently released and has limited use.
  • Development: a codebase that is incomplete or used primarily by its developers.

Almost all of the following is from provider’s web sites – YMMV. The “Stack” column indicates the source code language and/or run-time environment(s); “*nix” indicates a tool written to run on most Linux/Unix variants. See end for a revision list.

Binaries

ToolDescriptionStackLicense
JUMBL 5.0 The Java Usage Model Builder Library (JUMBL) supports automated, model-based, statistical testing of systems. Includes command-line and GUI interfaces. Java. Provided as Jar file (byte code). Windows and *nix.University of Tennesse
Spec Explorer 3.5A Visual Studio add-in with support for modeling software behavior, graphical visualization of model explorations, and model checking. Users write model programs in C# and define usage scenarios. The model programs can use a built-in combinational (e.g. pairwise) data generation feature. Generates ready to run test code from model programs. NModel was a prototype.C#, Visual Studio. Windows. Microsoft Visual Studio 2010 Power Tools
Torx 3.10.5k 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, maybe Windows+CygwinApache 2.0
Uppaal TRON 1.5 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, arrays, etc.) *nix, maybe Windows+CygwinUppaal license. Non-commercial use only.

Fielded Codebases

ToolDescriptionStackLicense
NModel 1.0.21029.0A 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. Microsoft Open Source License
TopCased 5.1Model-driven development and testing environment for critical hw/sw embedded systems; Uses formal methods, SysML, UML, OCL. Java/EclipseEclipse Public

Club Codebases

ToolDescriptionStackLicense
Graphwalker 2.5.16Generates 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.JavaMIT
IFX Omega 2.0A compiler/simulator/model-checker for a rich subset of UML 2.2, SysML 1.1, 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. Java/EclipseNot Specified
ModelJunit 2.0Adds model-based testing to Junit. Models are written as Java classes. Uses the annotations feature of Java 5.0. Automatically generates Junit test suites from these models.Java, JDK 1.6 or higher.GPL

Beta Codebases

ToolDescriptionStackLicense
ATS4 AppModel Supports app specification, model based testing, and test script generation. Simple interface to manage complex models. Developed at Nokia for handheld testing.JavaBSD
AutoFocus 0.3.0Supports modeling and analyzing the structure and behavior of distributed, reactive, and timed computer-based systems.Java/EclipseApache 2.0
Fastest 1.3.6Generates tests from models expressed in the Z notation, following the Test Template Framework proposed by Phil Stocks and David Carrington. Supports unit testing.Java, JDK 1.6 or higher.GPL
GUITAR 1.0 Automatically extracts structure and widget APIs from Java Foundation Classes (JFC) and web GUIs. Generates an Event-Flow Graph (test model), generates test cases from the model, evaluates tests with built-in oracle. JavaNone specified
JTorx 1.10.0Generates tests to check that the ioco testing relation holds between a labelled transition system expressed in Aldebaran or GraphML and an IUT. Derived from Torx. JavaBSD
MISTA 1.0Uses 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 engine JUnit, NUnit, Selenium IDE1, or Robot Framework. Several test generation strategies are supported. JavaNone specified
TEMA 3.2.1A prototype tool and methodology for online test generation for smartphone GUI testing. Based on the GUI keywords/action word testing strategy. JavaMIT

Development Codebases

ToolDescriptionStackLicense
Graphwalker 2.5.16Generates 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.JavaMIT
IFX Omega 2.0A compiler/simulator/model-checker for a rich subset of UML 2.2, SysML 1.1, 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. Java/EclipseNot Specified
ModelJunit 2.0Adds model-based testing to Junit. Models are written as Java classes. Uses the annotations feature of Java 5.0. Automatically generates Junit test suites from these models.Java, JDK 1.6 or higher.GPL
OSMO Tester 2.1.1Open 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. JavaLPGL
Parteg 1.3.3 Partition Test Generator: generates tests meeting control flow-based coverage criteria (e.g., MC/DC) and boundary-based coverage criteria. Java EclipseEclipse Public

 

Revision History

DateAction
31 May 2012Added Fastest.
25 April 2012Formatting, clarifications.
20 April 2012Added GUITAR.
15 April 2012Initial release.

The WordPress plugin WebSimon generated the above tables — easy to use, looks great.



8 Comments


  1. That is an interesting list. Thanks for compiling it! What about the GUITAR model based GUI testing framework?

    http://sourceforge.net/apps/mediawiki/guitar/index.php?title=GUITAR_Home_Page

    • Robert V. Binder

      I will add it. I’ve been following GUITAR research for quite awhile and I’m glad to see that it has finally been released.

  2. Thanks for compiling the list. You may also add Fastest. It’s available from http://www.fceia.unr.edu.ar/~mcristia/index-en.html. Fastest is a MBT tool for the Z notation. Regards.

  3. Which of the tools given above under ‘Binaries’ category used for Black box testing?

    • All of them. A “binary” here refers to a tool that is released as an executable only file – the source code is not public.

  4. Hi,

    Did you already saw the DTM tool? For more information, please visit http://www.dtmtool.com.

    Cheers,
    Silvio

    • Hi Silvio

      Thanks for the suggestion. DTM looks interesting, especially in the way you’ve oriented it for Agile development.

      However, it doesn’t seem like it qualifies as open source.

Trackbacks

  1. Open Source MBT · Model-Based Testing Community

Leave a Reply