Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here


Free Model Based tool

Subscribe to updates I use fMBT

Statistics on fMBT

Number of watchers on Github 69
Number of open issues 5
Average time to close an issue 13 days
Main language Python
Average time to merge a PR 1 day
Open pull requests 1+
Closed pull requests 8+
Last commit almost 2 years ago
Repo Created over 7 years ago
Repo Last Updated over 1 year ago
Size 9.12 MB
Organization / Authorintel
Page Updated
Do you use fMBT? Leave a review!
View open issues (5)
View fMBT activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating fMBT for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

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 make 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

  1. Run the first test:

fmbt -l first.log helloworld.conf

  1. See what it executed:

fmbt-log first.log


doc/aal_python.txt AAL/Python language reference documentation.

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


examples/filesystemtest Test a filesystem: mkdir, rmdir, access.

examples/c++-unittest Test a C++ class.

examples/javascript-unittest Test a JavaScript API in a browser.

examples/python-unittest 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.

test/git-HEAD/ Run tests against the latest commit in the current git branch.

fMBT open issues Ask a question     (View All Issues)
  • over 4 years OS X build
fMBT open pull requests (View All Pulls)
  • add ruby support
fMBT list of languages used
Other projects in Python