Free Model Based tool
Python C++ C Shell GAP HTML Other
Latest commit ad4ff2f Oct 21, 2017
Failed to load latest commit information.
debian Version 0.39 Oct 21, 2017
doc doc: Added AAL/Python examples with Python embedded in names Jan 10, 2017
docker Windows: fixed building Windows installer Mar 8, 2016
examples syntax update for python conf Jun 9, 2015
m4 xrules parser built into fmbt_cparsers shared library with a C API Nov 7, 2011
man doc: LSTSs are state spaces (no finite state machines) Feb 5, 2014
misc AAL/Python: added aal-mode.el for emacs users Jan 22, 2014
packaging Version 0.39 Oct 21, 2017
pythonshare Version 0.39 Oct 21, 2017
src C++11 requires a space between literal and string macro Aug 9, 2016
test tests: even slower and more reliable interactive mode test Jun 14, 2016
utils pycosh: grep prints filename if ambiguous Oct 13, 2017
.gitignore gitignore update Jun 14, 2013
.gitmodules Windows installer: add necessary dirs to PATH Oct 28, 2014
AUTHORS files Oct 25, 2011 android support for both "mm" and "ndk-build" Dec 30, 2011
COPYING files Oct 25, 2011
HACKING cleanup Oct 25, 2011
KNOWN_ISSUES KNOWN_ISSUES: VNC problems documented May 14, 2014 fmbt-debug: support debugging on Windows Nov 26, 2014
README README: added Fedora 64 directories to PYTHONPATH Apr 29, 2015
README-windows.txt Windows installer: documented using the docker script Nov 11, 2015 use sh instead of bash Nov 21, 2014
bogus bogus commit to trigger build Nov 7, 2012 windows installer builder: updated tesseract download url Oct 7, 2016 Version 0.39 Oct 21, 2017
exec_wrapper.c Windows: fix glib assertion in exec wrapper Nov 21, 2014 v0.1.2 Aug 29, 2012
fmbt.ico Windows: added a script for building the installer Oct 28, 2014 Version 0.39 Oct 21, 2017
license.rtf windows build fix Oct 16, 2014


The fMBT (free Model-Based Testing) tool automatically generates and
executes tests. It is suitable for testing anything from individual
C++ classes to GUI applications and distributed systems containing a
range of different devices. fMBT provides a model editor, test
generator, adapters for various purposes and tools for analysing logs.

Building & installing

Quick start for Debian/Ubuntu users:

    sudo apt-get install build-essential libglib2.0-dev libboost-regex-dev libedit-dev libmagickcore-dev python-dev python-pexpect python-dbus python-gobject gawk libtool autoconf automake debhelper libboost-dev flex libpng12-0 libxml2-dev graphviz imagemagick gnuplot python-pyside tesseract-ocr

Quick start for Fedora users:

    yum install  glibc-devel glib2-devel boost-devel libedit-devel gcc-c++ pexpect dbus-python libtool dh-autoreconf flex libpng12 libxml2-devel graphviz ImageMagick ImageMagick-devel gnuplot python-devel python-pyside tesseract

Quick start for Arch users (assuming base and base-devel to be installed):

    pacman -S libedit imagemagick libxml2 boost python2 python gnuplot graphviz gts leptonica tesseract tesseract-data python-pexpect python-dbus boost libtool flex imagemagick python2-pexpect python2-pyside python-pyside-common python2-shiboken

    You will also need X (xorg-server) in order to use fmbt-editor and

./ # run only if you cloned sources from git
./configure  # add parameter PYTHON=python2 when building on Arch Linux
sudo make install

Known issue with Fedora and Arch Linux: By default "make install"
installs Python libraries into directories that are not in the default
PYTHONPATH. Add them to the path:
    export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages:/usr/local/lib64/python2.7/site-packages

Windows users:

fMBT is being ported to Windows, but the work is not ready yet. See
README-windows.txt for current status and instructions.

Getting started

1. Create a model and a test configuration:

   fmbt-editor helloworld.aal helloworld.conf

2. Run the first test:

   fmbt -l first.log helloworld.conf

3. See what it executed:

   fmbt-log first.log


        AAL/Python language reference documentation.

        Test configuration reference documentation.
        GUI testing interfaces for Android,
        Tizen, VNC, Windows and X11.


        Test a filesystem: mkdir, rmdir, access.

        Test a C++ class.

        Test a JavaScript API in a browser.

        Test a Python class.
        Test MPlayer's pause, continue, next song, prev song, add
        song, and reset playlist.
        Test the phone application on Android: make calls, put calls
        on hold, swap calls, hang up calls from the phone application
        and homescreen menu.

fMBT self-tests

make check
        Run tests against the source tree as it is.

        Run tests against the latest commit in the current git branch.