欢迎来到天天文库
浏览记录
ID:45994060
大小:3.23 MB
页数:42页
时间:2019-11-20
《基于有穷状态模型的测试生成-副本》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于有穷状态模型的测试生成讲解人:郑腾飞第3章FoundationsofSoftwareTesting3.1软件设计与测试图3-1简化的软件开发过程需求获取测试用例生成模块软件设计编程测试需求分析设计说明测试用例集3.2有穷状态机FSM包括一个有穷状态集合、一个输入集合、一个起始状态以及一个可用状态图定义的转换函数。有穷状态机一个有穷状态机是个六元组(X、Y、Q、q、δ、O),其中:a)X是一个有穷的输入符号集合,又被称作输入字符集。b)Y是一个有穷的输出符号集合,又被称作输出字符集。c)Q是一个有穷的状态集合。d)q∈Q,是初
2、始状态。e)δ:Q×X→Q,是下一状态或状态转换函数。f)O:Q×X→Y,是输出函数。3.2有穷状态机例3.1考虑一个具有3路旋转开关的台灯。当开关被旋转到某位置时,台灯处于OFF状态。顺时针旋转开关到下一个位置,台灯的状态变为ON_DIM,再次顺时针旋转一下开关,台灯的状态变为ON_BRIGHT。最后,再顺时针旋转一下开关,台灯的状态又变回OFF。这个旋转开关充当了输入设备,控制台灯的状态。台灯状态随着开关位置变化而变化的情况可采用如图3-2a所示的状态图进行说明。台灯具有OFF、ON_DIM、ON_BRIGHT这3个状态以及
3、1个输入。注意,尽管从台灯用户的角度看,台灯只能顺时针旋转到下一个位置,但台灯开关有3个不同的位置(刻槽)。这样,“顺时针旋转开关一个刻槽”就是唯一的输入。假设开关可以反时针旋转,那么台灯就有两个输入,一个对应顺时针旋转。台灯的状态任然是3个,但其状态图如图3-2b所示。OFFON_DIMON_BRIGHTOFFON_DIMON_BRIGHTa)开关只能顺时针旋转一个刻槽b)开关可以顺时针或反时针旋转一个刻槽图3-2开关旋转时台灯状态的变换情况Turn_CWTurn_CWTurn_CCW如果一个FSM不将状态转换与任何操作关联在
4、一起,称作Moore机。如果一个FSM将每个状态转换都与操作关联在一起,称作Mealy机。无论是Moore机,还是Mealy机,FSM包括一个有穷状态集合、一个输入集合、一个起始状态以及一个可用状态图定义的转换函数。有穷状态机一个有穷状态机是个六元组(X、Y、Q、q、δ、O),其中:a)X是一个有穷的输入符号集合,又被称作输入字符集。b)Y是一个有穷的输出符号集合,又被称作输出字符集。c)Q是一个有穷的状态集合。d)q∈Q,是初始状态。e)δ:Q×X→Q,是下一状态或状态转换函数。f)O:Q×X→Y,是输出函数。3.2.1用输入
5、序列激活FSM在大多数实际情况下,FSM都是用取自输入字符集的一串输入字符来激活。例如,假设台灯的状态图3-2b所示,其当前状态为ON_BRIGHT,接收到的输入串为r,则r=Turn_CCWTurn_CCWTurn_CW采用图3-2b中的转换函数,很容易验证r使台灯从状态ON_BRIGHT转换到ON_DIM。这个转换可用下面的转换序列表示:δ(ON_BRIGHT,Turn_CCW)=ON_DIMδ(ON_DIM,Turn_CCW)=OFFδ(OFF,Turn_CW)=ON_DIM为简便起见,用符号,表示“长度大于等于的输入串z
6、使FSM从状态转换到”。这样,针对图3-2b所示的状态图,有δ(ON_BRIGHT,r)=ON_DIM。OFFON_DIMON_BRIGHTOFFON_DIMON_BRIGHTa)开关只能顺时针旋转一个刻槽b)开关可以顺时针或反时针旋转一个刻槽图3-2开关旋转时台灯状态的变换情况Turn_CWTurn_CWTurn_CCW3.2.2转换函数和输出函数的表格表示当前状态操作/输出下个状态d*d*INIT(num,d)ADD(num,d)OUT(num)表格可以用来表示转换函数δ和输出函数O。该表格由两个子表组成,左边的子表是输出输
7、出或操作子表,右边的子表是下个状态子表。子表的每一行都用FSM的状态进行标注。输出子表的项表示在给定状态下FSM针对接收到的单个输入应完成的操作;下个状态子表中的项表示自给定状态下FSM针对接收到的单个输入应转换到的状态。例3.3下表说明如何表示DIGDEC机的转换函数和输出函数。3.2.3FSM的特征完全定义的FSM如果M是FSM,从它的每一个状态出发,对每个输入符号都存在一个转换,则称该FSMM是完全定义的。如图3-2a所示。强联通的FSM如果M是FSM,它的每一对状态都存在一个输入串使M从状态转换到,则称该FSMM是强连通
8、的。如图3-2b所示。最小机如果FSMM的状态数量少于或等于其他任何与其等价的FSM,则称M是最小机。OFFON_DIMON_BRIGHTOFFON_DIMON_BRIGHTa)开关只能顺时针旋转一个刻槽b)开关可以顺时针或反时针旋转一个刻槽图3-2开关旋转时台
此文档下载收益归作者所有