一种对含有特殊转换过程的非通用有限状态机进行改造的方法技术

技术编号:11369914 阅读:72 留言:0更新日期:2015-04-30 01:11
本发明专利技术公开了一种对含有特殊转换过程的非通用有限状态机进行改造的方法,属于系统测试领域,具体涉及一种对非通用有限状态机中的特殊转换过程进行改造的方法。针对非通用FSM中的特殊转换,本发明专利技术提出一种FSM模型改造方法,将非通用FSM模型转换为通用FSM模型。此外,通过构建一组表示非通用FSM特点的特征图元,实现非通用有限状态机的XML文件存储化。本发明专利技术通过对非通用FSM进行改造,使得具有特殊转换过程的非通用FSM也可适用于测试用例生成方案,扩充了有限状态机在软件测试各阶段中的适用范围。此外,构建了表示非通用FSM的特征图元及其数据结构,实现了非通用FSM的XML存储方式。

【技术实现步骤摘要】
一种对含有特殊转换过程的非通用有限状态机进行改造的方法
本专利技术属于系统测试领域,具体涉及一种对非通用有限状态机中的特殊转换过程进行改造的方法。
技术介绍
软件测试目的是发现全部软件错误,在典型软件开发过程中,软件测试主要分为单元测试、集成测试、系统测试、回归测试四个阶段。由于测试工作具有庞大的工作量,占据了大量的资源,为了降低成本提升效率,人们提出了基于模型的自动化测试方式。该方式能够自动的从系统的设计规范得到测试方案,使用测试方案检验系统实现与设计规范是否等价,在一定程度上实现自动化,降低了测试成本。有限状态机(FSM,FiniteStateMachine)模型是一种数学模型,该模型分为Moore机和Mealy机,本专利技术中提到的状态机均为Mealy机。FSM模型是由一个六元组(Q,X,Y,q_0,δ,O)组成的,其中:Q,是有穷的状态集合;X,是有穷的输入集合;Y,是有穷的输出集合;q_0∈Q,是FSM模型的初始状态;δ:Q×X→Q,是状态转换函数;O:Q×X→O,是输出函数。在本专利中对符合上述定义的FSM称为通用FSM,对不符合定义的FSM称为非通用FSM。在软件测试过程中,通过采用FSM模型进行建模,可以精确刻画各阶段的软件系统行为。但由于FSM模型在描述大型系统时会出现不便,人们又提出了分层有限状态机(HFSM,HierarchicalFiniteStateMachine)模型。HFSM允许将FSM模型中的单个状态作为一个FSM,在此状态内可添加其他状态或FSM,从而实现分层模式。在实际测试过程中,大部分被测对象是具有特殊转换过程的非通用FSM,而目前的测试方案生成方法只适用于通用FSM模型,严重影响了FSM的适用范围,因而本专利技术设计了一种将含有特殊转换过程的非通用FSM转化为通用FSM的方法。此外,由于现阶段对非通用FSM的具体表现特征尚未做出定义,缺少可绘制FSM模型并同时生成测试方案的系统,本专利中同时解决了以上问题。
技术实现思路
本专利技术针对非通用FSM中的特殊转换,提出一种FSM模型改造方法,将非通用FSM模型转换为通用FSM模型。通过构建一组表示非通用FSM特点的特征图元,实现非通用有限状态机的XML文件存储化。为实现上述目的,本专利的技术实现方案包括如下步骤:步骤(1)构建非通用FSM特征图元及数据结构具有特殊转换过程的非通用FSM是由状态、普通转换、特殊转换、子状态机组成的,在本专利中构建的特征图元及数据结构如下:描述转换过程的转换线图元,其数据结构中含有唯一性图元ID、表示图元类别的标记符、转换激发条件、转换激发结果、所连接头节点和尾节点的图元ID、所属特殊转换类别;表示状态的状态图元,其数据结构中含有唯一性图元ID、表示图元类别的标记符、状态名称;包含状态及转换线的子状态机图元,表示HFSM中的子状态机。其数据结构中含有唯一性图元ID、表示图元类别的标记符、子状态机名称;步骤(2)使用特征图元表示被测对象的执行流程,标记特殊转换过程步骤(2.1)以状态图元表示被测对象执行过程中的运行状态;以转换线图元表示在被测对象不同状态之间的跳转方向,以及执行跳转所需的激发条件和激发结果;以子状态机图元表示被测对象中含有的模块和子流程;步骤(2.2)在转换线图元上标记被测对象中含有的并行转换。标记过程为首先选中所有转换线图元,之后将头节点尾节点相同的转换线划分为同一组。如果该组转换线所属的头节点只在该组内所有转换线全部执行完毕之后,才可以跳转到下一状态,就将该组内的所有转换线图元标记为并行转换;步骤(2.3)在转换线图元上标记被测对象中含有的次序转换。标记过程为逐一选中所有状态,获取以所选状态作为头节点的所有转换线,如果这些转换线有先后执行顺序,就标记这些转换线为次序转换;步骤(2.4)在转换线图元上标记被测对象中含有的约束转换。标记过程为逐一选中所有状态,获取以所选状态作为尾节点的所有转换线,之后遍历这些转换线;如经过该转换线到达所选状态后,必须按照特定路径进行跳转,就将这条转换线标记为约束输入,将表示特定路径的转换线标记为约束输出;步骤(3)对具有特殊转换过程的非通用有限状态机进行改造步骤(3.1)对并行转换过程进行改造。改造方式是在并行转换的头结点、尾节点之间新建n-1个虚拟节点(n为并行转换条数),把并行转换依次利用虚拟节点连接,并更改并行转换的头尾节点;步骤(3.2)对次序转换进行改造。首先按照次序转换优先级对转换进行排序,并在按序排列后的前后两条转换之间添加1个虚拟节点,总共添加n-1个,其中n为次序转换条数;之后复制1个次序转换头结点,将优先级最低的次序转换的尾节点改为复制的头结点,至此完成次序转换的通用化;步骤(3.3)对约束转换过程进行改造,首先复制处于约束输入、约束输出之间的状态,复制的次数为到达该状态的约束输入条数;将每个约束输入的尾节点更改为复制的新状态中的任意一个,并更改约束输出的头结点为复制的新状态中的任意一个;最后在原状态处删除约束输出;步骤(4)定义5个XML标签,在XML标签的文本位置中存储如下内容:标签1文本内容:按照转换线图元ID的大小顺序,存储所有转换线的激发条件,单个激发条件的文本长度小于100个字符;标签2文本内容:按照转换线图元ID的大小顺序,存储所有转换线的激发结果,单个激发结果的文本长度小于100个字符;标签3文本内容:按照转换线图元ID的大小顺序,存储每个转换线图元的头节点ID、尾节点ID、激发条件、激发结果;标签4文本内容:所有状态图元名称,单个状态图元名的文本长度小于10个字符;标签5文本内容:所有子状态机图元名称,单个子状态机图元名的文本长度小于10个字符;至此完成有限状态机信息XML存储化。最后,对改造后的非通用FSM进行边遍历,覆盖所有执行路径,得到测试方案。本专利技术与现有技术相比,具有以下明显的优势和有益效果:本专利技术通过对非通用FSM进行改造,使得具有特殊转换过程的非通用FSM也可适用于测试用例生成方案,扩充了有限状态机在软件测试各阶段中的适用范围。此外,构建了表示非通用FSM的特征图元及其数据结构,实现了非通用FSM的XML存储方式。附图说明图1实施例中web登陆及用户名修改的测试流程执行图;图2符号化表示的含有特殊转换过程的非通用FSM图;图3改造后的通用FSM;图4实施过程的完整执行流程。具体实施方式下面将结合本专利技术实施例中的示意图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置不限制本专利技术的范围。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。对于相关领域普通技术人员已知的技术、方法和系统可能不作详细讨论,但在适当情况下,所述技术、方法和系统应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。通过使用本专利本文档来自技高网
...
一种对含有特殊转换过程的非通用有限状态机进行改造的方法

【技术保护点】
一种对含有特殊转换过程的非通用有限状态机进行改造的方法,其特征在于包括如下步骤:步骤(1)构建非通用FSM特征图元及数据结构具有特殊转换过程的非通用FSM是由状态、普通转换、特殊转换、子状态机组成的,在本专利中构建的特征图元及数据结构如下:描述转换过程的转换线图元,其数据结构中含有唯一性图元ID、表示图元类别的标记符、转换激发条件、转换激发结果、所连接头节点和尾节点的图元ID、所属特殊转换类别;表示状态的状态图元,其数据结构中含有唯一性图元ID、表示图元类别的标记符、状态名称;包含状态及转换线的子状态机图元,表示HFSM中的子状态机,其数据结构中含有唯一性图元ID、表示图元类别的标记符、子状态机名称;步骤(2)使用特征图元表示被测对象的执行流程,标记特殊转换过程步骤(2.1)以状态图元表示被测对象执行过程中的运行状态;以转换线图元表示在被测对象不同状态之间的跳转方向,以及执行跳转所需的激发条件和激发结果;以子状态机图元表示被测对象中含有的模块和子流程;步骤(2.2)在转换线图元上标记被测对象中含有的并行转换;标记过程为首先选中所有转换线图元,之后将头节点尾节点相同的转换线划分为同一组;如果该组转换线所属的头节点只在该组内所有转换线全部执行完毕之后,才可以跳转到下一状态,就将该组内的所有转换线图元标记为并行转换;步骤(2.3)在转换线图元上标记被测对象中含有的次序转换;标记过程为逐一选中所有状态,获取以所选状态作为头节点的所有转换线,如果这些转换线有先后执行顺序,就标记这些转换线为次序转换;步骤(2.4)在转换线图元上标记被测对象中含有的约束转换;标记过程为逐一选中所有状态,获取以所选状态作为尾节点的所有转换线,之后遍历这些转换线;如经过该转换线到达所选状态后,必须按照特定路径进行跳转,就将这条转换线标记为约束输入,将表示特定路径的转换线标记为约束输出;步骤(3)对具有特殊转换过程的非通用有限状态机进行改造步骤(3.1)对并行转换过程进行改造;改造方式是在并行转换的头结点、尾节点之间新建n‑1个虚拟节点(n为并行转换条数),把并行转换依次利用虚拟节点连接,并更改并行转换的头尾节点;步骤(3.2)对次序转换进行改造;首先按照次序转换优先级对转换进行排序,并在按序排列后的前后两条转换之间添加1个虚拟节点,总共添加n‑1个,其中n为次序转换条数;之后复制1个次序转换头结点,将优先级最低的次序转换的尾节点改为复制的头结点,至此完成次序转换的通用化;步骤(3.3)对约束转换过程进行改造,首先复制处于约束输入、约束输出之间的状态,复制的次数为到达该状态的约束输入条数;将每个约束输入的尾节点更改为复制的新状态中的任意一个,并更改约束输出的头结点为复制的新状态中的任意一个;最后在原状态处删除约束输出;步骤(4)定义5个XML标签,在XML标签的文本位置中存储如下内容:标签1文本内容:按照转换线图元ID的大小顺序,存储所有转换线的激发条件,单个激发条件的文本长度小于100个字符;标签2文本内容:按照转换线图元ID的大小顺序,存储所有转换线的激发结果,单个激发结果的文本长度小于100个字符;标签3文本内容:按照转换线图元ID的大小顺序,存储每个转换线图元的头节点ID、尾节点ID、激发条件、激发结果;标签4文本内容:所有状态图元名称,单个状态图元名的文本长度小于10个字符;标签5文本内容:所有子状态机图元名称,单个子状态机图元名的文本长度小于10个字符;至此完成有限状态机信息XML存储化;最后,对改造后的非通用FSM进行边遍历,覆盖所有执行路径,得到测试方案。...

【技术特征摘要】
1.一种对含有特殊转换过程的非通用有限状态机进行改造的方法,其特征在于包括如下步骤:步骤(1)构建非通用FSM特征图元及数据结构具有特殊转换过程的非通用FSM是由状态、普通转换、特殊转换、子状态机组成的,构建的特征图元及数据结构如下:描述转换过程的转换线图元,其数据结构中含有唯一性图元ID、表示图元类别的标记符、转换激发条件、转换激发结果、所连接头节点和尾节点的图元ID、所属特殊转换类别;表示状态的状态图元,其数据结构中含有唯一性图元ID、表示图元类别的标记符、状态名称;包含状态及转换线的子状态机图元,表示FSM中的子状态机,其数据结构中含有唯一性图元ID、表示图元类别的标记符、子状态机名称;步骤(2)使用特征图元表示被测对象的执行流程,标记特殊转换过程步骤(2.1)以状态图元表示被测对象执行过程中的运行状态;以转换线图元表示在被测对象不同状态之间的跳转方向,以及执行跳转所需的激发条件和激发结果;以子状态机图元表示被测对象中含有的模块和子流程;步骤(2.2)在转换线图元上标记被测对象中含有的并行转换;标记过程为首先选中所有转换线图元,之后将头节点尾节点相同的转换线划分为同一组;如果该组转换线所属的头节点只在该组内所有转换线全部执行完毕之后,才可以跳转到下一状态,就将该组内的所有转换线图元标记为并行转换;步骤(2.3)在转换线图元上标记被测对象中含有的次序转换;标记过程为逐一选中所有状态,获取以所选状态作为头节点的所有转换线,如果这些转换线有先后执行顺序,就标记这些转换线为次序转换;步骤(2.4)在转换线图元上标记被测对象中含有的约束转换;标记过程为逐一选中所有状态,获取以所选状态作为尾节点的所有转换线,之后遍历这些转换线;如经过该转换线到达所选状态后,必须按照特定路...

【专利技术属性】
技术研发人员:张建标杨宇泽崔玲刘红宇艾蓉
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1