Sorry, you need to enable JavaScript to visit this website.


fMBT generates and executes tests automatically. It very quickly finds and tests paths that would never be tested by human test designers. This increases test coverage and cuts down test maintenance efforts, when compared to traditional test automation.

News & Blogs

Debugging Remote Scripts

In this blog post I'll show by example how you can 1. set a "breakpoint" to a Python program, shell script or Makefile, and then 2. get interactive access to the program - even if it runs on a remote host or in a container. The idea is to make the script call home where you want it to stop for debugging. Furthermore, you can make your Python program call home only in case of a...

autodebug report from a crash

Automated debugging of crashes, Valgrind and AddressSanitizer issues

If a program crashes, Valgrind reports an error, or AddressSanitizer instrumentation has found an issue, it's time for debugging. Typically debugging starts by reading source code around reported lines, possibly adding breakpoints and rerunning the program to see variable values. This is time consuming task. fMBT/autodebug is a tool that makes the first step in debugging very simple: just...

fMBT in PyCon Italy 2016

Aniello Barletta gave a talk on model-based testing in PyCon Italy 2016 on April 15th. His talk included fMBT live demo. Feedback was great. Congratulations, Aniello, and thanks for your contributions to the fMBT project! You can find Aniello's slides here.

Testing and understanding concurrency

Concurrency causes complexity. Consider any multiuser system, for instance. Long usecase involving only one user is often easy to understand and test. But take another user who is going through another usecase simultaneously. This introduces many different interleavings of actions that the users can take. Add third user, and the number of different interleavings multiplies again. Any idea how you...