发明名称 一种对含有特殊转换过程的非通用有限状态机进行改造的方法
摘要 本发明公开了一种对含有特殊转换过程的非通用有限状态机进行改造的方法,属于系统测试领域,具体涉及一种对非通用有限状态机中的特殊转换过程进行改造的方法。针对非通用FSM中的特殊转换,本发明提出一种FSM模型改造方法,将非通用FSM模型转换为通用FSM模型。此外,通过构建一组表示非通用FSM特点的特征图元,实现非通用有限状态机的XML文件存储化。本发明通过对非通用FSM进行改造,使得具有特殊转换过程的非通用FSM也可适用于测试用例生成方案,扩充了有限状态机在软件测试各阶段中的适用范围。此外,构建了表示非通用FSM的特征图元及其数据结构,实现了非通用FSM的XML存储方式。
申请公布号 CN104572457A 申请公布日期 2015.04.29
申请号 CN201410842894.9 申请日期 2014.12.30
申请人 北京工业大学 发明人 张建标;杨宇泽;崔玲;刘红宇;艾蓉
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 张慧
主权项 一种对含有特殊转换过程的非通用有限状态机进行改造的方法,其特征在于包括如下步骤:步骤(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进行边遍历,覆盖所有执行路径,得到测试方案。
地址 100124 北京市朝阳区平乐园100号