[发明专利]一种基于模型检测的前台系统设计与验证方法有效
| 申请号: | 201910438229.6 | 申请日: | 2019-05-24 |
| 公开(公告)号: | CN110286882B | 公开(公告)日: | 2021-03-09 |
| 发明(设计)人: | 张亚鹏;李岳檑;乌尼日其其格;吴继芳;张思卿;吕江花;马世龙;李小平 | 申请(专利权)人: | 北京航空航天大学 |
| 主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/38;G06F11/36 |
| 代理公司: | 青岛致嘉知识产权代理事务所(普通合伙) 37236 | 代理人: | 单虎 |
| 地址: | 100191*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 模型 检测 前台 系统 设计 验证 方法 | ||
1.一种基于模型检测的前台系统设计与验证方法,基于计算机实现的测试框架,其特征在于,测试框架包括模型生成模块、测试用例生成模块、界面模型自动机和检测自动机,执行如下步骤:
步骤一,模型生成模块根据前台系统的设计需求,获取前台系统中所包含的界面以及界面包含的元素,建立界面模型,生成状态转移图;
将前台系统包含的界面作为节点,建立界面模型,界面分为基本界面和复合界面,复合界面由基本界面组合而成,基本界面中包含菜单和界面元素,菜单和菜单项也作为节点,用有向边表示节点间包含关系或者跳转关系;将一个界面或者由界面、菜单和菜单项组成的三元组作为一个状态,依据节点间跳转关系生成状态转移图;
所建立的界面模型中包括四种节点,如下:
基本界面baseui,定义为baseui::=(uiname,menu,element+)形式的三元组,其中uiname表示基本界面的名称,menu表示基本界面所包含的菜单,element+表示基本界面所包含的界面元素,有一个或多个;
复合界面complexui,定义为complexui::=∪baseui,其中符号“∪”表示进行界面叠加操作;
界面ui,定义为ui::=∪(ui)|baseui,其中符号“|”表示或者;界面是一个基本界面或一个复合界面;
菜单menu,定义为menu::=(name,menuitems+)形式的二元组,其中name表示菜单的名称,menuitems+表示菜单所包含的菜单项,有一个或多个;
菜单项menuitem,定义为menuitem::=(itemname,api+),其中itemname表示菜单项的名称,api表示菜单项提供的功能接口,有一个或多个;
四种节点存在的关系包括3种包含关系和1种跳转关系,依次是:复合界面包含基本界面ComplexUI2Parts,基本界面包含菜单UI2Menu,菜单包含菜单项Menu2MenuItems,菜单项触发跳转MenuItem2UI;
所述的步骤一中,对前台系统建立的界面模型表示为五元组(Sui,SM,SL,SC,ui0),其中,Sui表示界面的集合;SM表示菜单的集合;SL表示界面跳转的集合,该集合中的每一个元素为一个跳转关系;SC表示包含关系的集合,该集合中的每一个元素为一个包含关系;ui0∈Sui表示起始界面;生成的状态转移图表示为(S,S0,E,RS,E,F)形式的五元组,其中,S是状态的有限集合;S0∈S是初始状态;E是事件的有限集合;RS,E是有限的状态转移规则集,状态转移R(si,sj)=si,e,sj表示状态si经过事件e转移到状态sj,si,sj∈S,e∈E,如果存在si,e,sj∈RS,E,则表示状态转移R(si,sj)成立;F是终止状态集合,
步骤二,测试用例生成模块遍历界面模型,自动批量生成对前台系统测试的检测用例集;一个检测用例是一个界面跳转序列;
所述的步骤二中,采用检测用例自动生成算法生成检测用例,包括:将界面模型自动转换为XML文件,对XML文件中的所有界面节点采用广度优先遍历方法进行遍历,以菜单项或者界面叶子节点作为路径终点,生成格式为(complexui,baseui,menu,menuitem)或者(complexui,baseui)的路径,再遍历跳转关系,为路径补全api以及跳转界面,生成检测用例,检测用例表示为(ui,menu,menuItem,api,ui);
步骤三,界面模型自动机对检测用例集中的每一个检测用例,通过触发界面上的菜单或者菜单项来调用相应的api转到下个界面,遍历检测用例中的状态得到状态表和状态转移表;状态表中记录检测用例的所有状态,状态转移表中记录检测用例中的所有状态转移规则;
步骤四,将根据系统设计要求设计好的状态及状态转移图作为检测用例正确性验证的规约,状态转移自动机将输入的检测用例的状态及状态转移规则,与所述的规约相互比对,进行正确性验证,当验证不通过时,输出验证不通过的位置及相应的验证记录,验证不通过的位置就是设计错误的位置;
所述的步骤四中,将一条检测用例是否符合规约的判断过程进行模块化,形成基本检查算法,利用基本检查算法判断的过程是:设输入检测用例(ui1,menu,menuitem,api,ui2),首先进行状态的验证,令s=(ui1,menu,menuitem),验证状态s是否属于规约中的状态转移图中已存在的状态S,如果验证不通过则输出左不匹配,若验证通过则表示检测用例的窗口组成s是符合需求的;然后遍历规约中的状态转移图的状态转移规则,找到所有符合初始状态为s,事件为api的转移规则集合U,遍历判断集合U中后置状态的起始节点是否均为ui2,如果全部通过则检测用例通过检测,否则输出右不匹配;当左不匹配或右不匹配时,表示检测用例验证不通过,此时根据检测用例的状态转移路径定位设计错误的位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910438229.6/1.html,转载请声明来源钻瓜专利网。





