基于模型的测试,即 Model-Based-Testing,简称 MBT。
MBT,是自动化测试的一个分支。它是将测试用例的设计依托于被测系统的模型,并基于该模型自动生成测试用例的技术。其中,这个被测系统的模型表示了被测系统行为的预期,也可以说是代表了我们对被测系统的预期。
MBT 的基本原理
MBT 的基本原理是通过建立被测系统的设计模型,然后结合不同的算法和策略来遍历该模型,以此生成测试用例的设计。
开发者首先根据产品需求或者说明来构建模型,然后结合测试对象生成测试用例,测试用例针对测试对象执行完之后,生成测试报告比对测试结果。
接下来,我以简单的登录系统为例,和你说明如何建模。
当用户访问网站时,网站需要识别用户是否已经登录:
-
如果已经是登录状态,则让用户进入,结束这一分支;
-
如果用户还没有登录,那么页面需要返回登录框给用户。用户在登录框输入用户名和密码后,由后台服务验证用户名和密码是否正确,如果通过验证,则用户登录成功,结束分支;否则,返回错误信息,并再次返回登录框供用户登录。根据这个逻辑,我们可以建模如下:
常用模型简介
常用的模型主要有限状态机、状态图,以及 UML 三种。有限状态机和状态图比较适合于用状态或者事件驱动的系统,而 UML 比较适合于靠业务流程驱动的系统。
MBT 工具简介
BPM-X、fMBT、GraphWalker、GSL、JSXM、MaTeLo、MBT Suite
MBT 的优势
MBT 的劣势
来源于 极客时间 茹炳晟 软件测试52讲