基于有限状态机的软件测试方法
作者:网络转载 发布时间:[ 2012/10/17 10:27:26 ] 推荐标签:
之前基于DBT的page-model模式,在页面数量和功能很大的情况下的伸缩性,扩展性都比较的差。
需要更多的mapping来减少工作量,想到了新的测试模式。
在MBT中提到了FSM对于web service测试的优越性
首先在MBT对于web service的测试中,总结了几点主要的优点:
更准确的描述Web 服务之间的动态交互行为。
有利于测试用例的生成和测试结果的分析。
基于FSM的测试用例,有利于自动化的实现。
基于FSM的测试覆盖率准则,有利于Web服务测试的充分性。
定义一个FSM,FSM为一个六元组(S,S0,δ,λ,I,O),其中:
S 为一个有限集合;
S0∈S是起始转台;
δ:S×I×O->S是状态状态函数;
λ: 是输出函数;
I 为输入字符集;
O 为输出字符集;
状态集 Q={q0,q1,q2,q3,a4……}
输入集 I={userinfo, continue_operate, buy, finish}
输出集 O={Verifi_ACC,Invalid_ACC,showinfo,showresults,showboughtlist}
字母表 R={userinfo/Verifi_ACC,userinfo/Invalid_ACC,continue_operate/showinfo,buy/showresults,finish/showboughtlist}
函数表
q0 = userinfo/Verifi_ACC × hasitem -> q1
q0 = userinfo/Verifi_ACC × noitem -> q2
q0 = userinfo/Invalid_ACC × true -> q3
q1 = continue_operate/showinfo × true -> q4
q2 = continue_operate/showinfo × true -> q5
……
这样产生的状态集即为相对应的测试用例。而函数即为相应的逻辑处理,这样对于web service的自动化测试框架资本成型了。
那MBT对于web ui自动化测试是否适用呢?之后Jason会详细地介绍。
当自动化测试如火如荼的时候,测试2.0时代已经悄然来临。
更多的时间是花在自动化测试脚本编写上,还是其他?让自动化更加自动化。之前jason已经介绍了相关的基于有限状态机的测试(MBT)的测试,在工具的实践上留下点memory.
model测试在国外不少公司已经应用起来了。 NModel,JunitModel,PyModel越来越多的语言实现了MBT的理论。
介绍下JunitModel,JunitModel的理论还是基于FSM的机制,对于已知的状态和步骤进行自动化case的生成和执行。
这里我们可以使用HtmlUnit集成JunitModel来实现对于web工作流的测试。
为什么选择HtmlUnit, UI操作的繁琐和高异常性更多的选择内存化自动化测试工具与JunitModel对接。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11