Introduce to MBT Bundle



  1. It's set of tools to help testers test a software
  2. It use Model-Based Testing technique
  3. It's built on top of: Symfony, API Platform, ReactJS


  1. Allow to test early (test specification)
  2. Save test case maintenance cost
  3. Focus on business logic instead of writing test cases (writing workflows instead)
  4. Allow to retest (when a bug is fixed)
  5. Allow to regression test (when a new version of system under test is released)
  6. Allow to exploration test (to find new bugs)
  7. Platform independent (can test UI, REST API, mobile)


  1. Tester create workflow in YAML format
  2. Tester create subject in PHP to interact with system under test
  3. Tester create task to tell MBT Bundle to start testing a workflow
  4. MBT Bundle will use generator to generate test case (and execute it)
  5. When a bug is found, MBT Bundle will use reducer to reduce the reproduce steps
  6. When the reproduce steps of the bug is reduced, MBT Bundle will use reporter to report the bug to the notification system


  1. Tester with programing skill, ony PHP is required


TestingTraditional automationMBT Bundle
Define test casestep by stepworkflow
Maintain test casemore effortless effort
Able to find new bugsnoyes
Reduce bug's reproduce stepsnot availableyes
Report bugdepend on toolyes
Need programming skilldepend on toolyes


MBT Bundle is inspired by these 2 slides: