Introduce to MBT Bundle

What/why/how

What

  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

Why

  1. Allow to test early (test specification)
  2. Save test case maintenance cost
  3. Focus on business logic instead of writing test cases (writing models 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)

How

  1. Tester create model 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 model
  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

Who

  1. Tester with programing skill, ony PHP is required

Compare

TestingTraditional automationMBT Bundle
Define test casestep by stepmodel
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

References

MBT Bundle is inspired by these 2 slides: