Giter Club home page Giter Club logo

fmbt's Introduction

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
    fmbt-scripter.

./autogen.sh # 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

2. Run the first test:

   fmbt -l first.log helloworld.conf

3. See what it executed:

   fmbt-log first.log


Documentation
-------------

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

doc/configuration.txt
        Test configuration reference documentation.

https://github.com/01org/fMBT/wiki/GUI-testing
        GUI testing interfaces for Android,
        Tizen, VNC, Windows and X11.


Examples
--------

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.

https://github.com/askervin/fmbt-mplayertest
        Test MPlayer's pause, continue, next song, prev song, add
        song, and reset playlist.

https://github.com/askervin/fmbt-androidtest
        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.sh
        Run tests against the latest commit in the current git branch.

fmbt's People

Contributors

acozzette avatar aleksihakli avatar askervin avatar bart0sh avatar cosminniculae avatar dassio avatar dweineha avatar mlq avatar pablovirolainen avatar rseymour avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.