Git Product home page Git Product logo

mbt-bundle's Introduction

MBT Bundle Build Status Coverage Status

This Bundle provides ability to test your application using Model Based Testing techique.

The major features are:

  1. Allow to test your application even though the application is not implemented yet.
  2. Automatically generate test cases when a task is created.
  3. Automatically execute those test cases to test your application.
  4. Automatically reduce reproduce path when a bug is found.
  5. Automatically report the bug when the reproduce path is reduced.

All you have to do:

  1. Define models to describe your application.
  2. Define subjects to interact with your application.
  3. Create tasks based on your need. e.g.:
    1. Test the whole application to make sure there are no bugs in the application.
    2. Test only models that have a tag to make sure the part of your application is still working while developing a feature.
    3. Test a model to make sure a bug that has been fixed is not regressed.
  4. Manage bugs that has been found. e.g. mark a bug has been fixed.
  5. You don't have to maintains test cases that has been generated automatically, instead, you may need to maintains models and subjects.

Requirements

  • PHP 7.3 / 7.4
  • Symfony 5.0
  • See also the require section of composer.json

Installation

Step 1: Create symfony project

Before testing your application, you need to create new symfony project to use this bundle:

$ composer create-project symfony/skeleton my-project

Step 2: Download the Bundle

Install lastest version of this bundle:

$ composer require tienvx/mbt-bundle "^1.16"

Step 3: Config file storage

In order to save screenshots of bug report, we need to configure file system:

flysystem:
    storages:
        # Name of the storage is matter
        mbt.storage:
            adapter: 'local'
            options:
                directory: '%kernel.project_dir%/var/storage/screenshots'

Step 4: Create models and subjects

Model is the way to describe part your application. Subject is the way to tell this bundle to interact with your application.

Testing

You can run the tests with:

$ php tests/app/bin/console cache:clear # Only if you added new code
$ vendor/bin/phpunit

Validate code with coding standards

$ php-cs-fixer fix --diff --dry-run

Documentation

For the usage guide and reference, see docs

Built With

Contributing

Pull requests are welcome, please send pull requests.

If you found any bug, please report issues.

Please read CODE_OF_CONDUCT.md for details on our code of conduct, and CONTRIBUTING.md for the process for submitting pull requests to us.

Authors

  • Tien Vo - Initial work - tienvx

See also the list of contributors who participated in this project.

License

This package is available under the MIT license.

mbt-bundle's People

Contributors

tienvx avatar

Watchers

James Cloos 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.