MBT测试实例:做个“机器人”,使其随机、持续的对“web页面”做交互性测试(二)涉及工具
本博文注重的是实例讲解,对于工具的使用说明制作简单介绍,如果需要详细了解工具的,请找对应的官网进行查阅
工具清单:
- PC server一台--用于跑跑graphwalker
- PC 执行机一台--自动化脚本执行
- 待测web对象--测试对象
- 测试框架 robotframework
- yEd Graph Editor--MBT建模工具
- graphwalker--MBT模型遍历工具
前三项比较简单,主要说下后三项工具
yEd Graph Editor
MBT建模工具,也就是画图工具,直接上图吧,这是针对第一节中所说的web页面交互的一个建模,看着好像好恐怖,好多线,仔细观看的话,就发现,其实测试一个web对象,这些还是基本的考虑对象节省不了,
黄色的方框,代表一个测试动作
黑色的线条,代表系统状态的迁移
绿色的方框,代表测试开始工作
我们暂时叫这个图为:“测试建模对象”,后面好统一语言
这些事怎么来的呢,下几章节详细说
graphwalker
有了上面的测试建模对象之后,要做的就是有个工具,能够根据我们的意图,去遍历这个测试建模对象”,这样我们的测试自动化测试才能顺着这个建模的节点,走下去,走下去,按照你的想法走下去,这个工具很简单(如果不做二次开发的话),网址大家可以有兴趣就看看http://graphwalker.github.io/rest-overview/
本例采用的方式是:
java -jar graphwalker-cli-3.4.2.jar --debug all online --service RESTFUL
启动测试建模对象方式启动此工具,然后,在程序中,上传测试建模对象来进行测试
这是个server-clicent程序,启动sever就好了,然后要做的是,让客户端和此服务器交互,实现让此server遍历测试建模对象
测试框架 robotframework
用的极其广泛了,稳定性极好,扩展性极强,使用python几乎是可以无限扩展;当然你要是想使用分布式执行和集中管控,这个还做不到,这玩意也就是个单执行机测试测试框架。如果想要完美集中管控分布执行,最简单的方式是jenkins+robotframe。但是目前的开发方案这个做的真不怎么样,也就是勉用。如果想要好一些的分布式执行方案,还是要自己开发,建议使用python开发。
我们将使用此编个简单脚本,实现和graphwalker server的交互
本案例实现的是,定义了很多关键字,对应测试建模对象中的动作