基于扩展状态机模型的Web服务测试用例生成方法及系统技术方案

技术编号:15437159 阅读:59 留言:0更新日期:2017-05-25 19:20
本发明专利技术提供一种基于扩展状态机模型的Web服务测试用例生成方法及系统,方法包括:从Web服务接口获取Web服务描述语言的接口文档WSDL,并根据接口文档WSDL构建初始的扩展状态机模型EFSM;根据接口文档WSDL中的控制变量将初始的EFSM模型的状态进行合并及删除处理,并根据合并及删除的处理过程生成状态迁移路径;根据路径可行性度量方法来识别状态迁移路径中不可行路径,将不可行路径删除后得到改善后的EFSM模型;根据正则表达式将改善后的EFSM模型的可行路径进行遍历,生成Web服务的抽象测试用例集。本发明专利技术能够去除原EFSM模型中数据流和控制流的相互影响导致存在不可行测试路径,得到改善后的扩展状态机模型EFSM,因此减少不必要的测试工作,提高测试用例生成效率。

Method and system for generating Web service test case based on extended state machine model

The invention provides a method and system, Web service test case generation method based on extended state machine model: access to Web services description language WSDL interface documentation from the Web service interface, and according to the extended EFSM state machine model WSDL to build the initial document interface; according to the control variables in the WSDL of the document will be the initial EFSM model the state of the merge and delete processing, and according to the process of merger and delete the generated state migration path; according to the feasibility of the path metrics methods to detect state migration path infeasible path, EFSM path model will not be removed after improved; according to the regular expression will be a feasible path EFSM model improved by ergodic, abstract test case generation Web service set. The invention can remove the original EFSM interaction control and data flow model leads to infeasible path testing, EFSM extended state machine model is improved, thus reducing unnecessary testing work, improve the efficiency of test case generation.

【技术实现步骤摘要】
基于扩展状态机模型的Web服务测试用例生成方法及系统
本专利技术主要涉及Web服务测试领域,具体涉及一种基于扩展状态机模型的Web服务测试用例生成方法及系统。
技术介绍
Web服务是一个软件系统,被设计来支持网络上机器之间的可互操作的交互,它有一个清晰的、机器可读的、通用的标准描述(WSDL),其它系统以该描述中说明的方式与它交互,具体使用SOAP消息以及其它Web相关标准,具有完全开放、松散耦合、标准协议规范和高度可集成能力等特征。目前Web服务已广泛应用与通信、金融、地理信息、电子商务、电子政务、手持设备等领域,成为当前和未来网络分布式应用的主流软件开发技术。而由于Web服务技术规范的复杂行、应用部署的网络分布性和各种各样的运行时行为特征等特点,使得传统的软件测试技术已不能完全满足其测试工作的要求。除此之外,Web服务提供了一种机器对机器的通讯机制,其软件测试策略主要基于服务接口进行设计和实现,与传统需要大量人工干预的测试方法不同,难以通过手工测试方式完成,需要采用自动化的测试方法。传统的软件测试是由测试小组和开发人员共同负责软件的测试工作,并且拥有软件的源代码,可建立丰富的测试模型,而Web服务测试需要服务提供者、服务中介和服务请求者共同参与到测试过程,没有服务的代码,有限的测试模型。传统软件的测试是集中的多个阶段的测试,而Web服务测试是分布式的、远程的多阶段测试。因此需要不同于传统软件测试的Web服务测试。软件模型是对软件结构和行为的抽象,生成测试用例需要先将被测软件转换成某种模型,它是对被测软件的精确描述,便于对软件进行理解和实现,这种技术被成为基于模型的测试。目前已用到测试中的模型有UML模型、Markov链模型、Petri网模型、FSM模型以及EFSM模型等,本专利技术主要是基于EFSM模型的Web服务测试。Web服务不同与纯粹的软件代码,它没有代码提供,要想对它进行测试及测试用例的生成,需要首先把Web服务构建成一个具体的系统模型,然后需要对模型进行相应的搜索或遍历,生成有效的模型路径序列,即就构成了抽象的测试用例。在基于模型的选择上,选用EFSM模型的主要原因有两点:第一,EFSM模型提供了丰富的变量、谓词守卫、状态声明及后置赋值条件等,能有效且丰富的表达状态之间的交互关系和系统模型的整体服务行为,并提供了有效的守卫条件判定和赋值行为操作。第二,EFSM模型能很好的由WSDL文档相关元素信息构建出来,而Web服务正好是对外只提供一个接口,通过此接口可以获取WSDL文档。但是在基于WSDL文档构建EFSM模型时会存在一个问题,即是EFSM模型中会存在一些不可行路径。如果不对这些路径进行分析去除,就会在这些不可行路径时无法生成测试用例。
技术实现思路
本专利技术所要解决的技术问题针对现有技术的不足,提供一种基于扩展状态机模型的Web服务测试用例生成方法和系统。本专利技术解决上述技术问题的技术方案如下:一种基于扩展状态机模型的Web服务测试用例生成方法,包括如下步骤:步骤A:从Web服务接口获取Web服务描述语言的接口文档WSDL,并根据接口文档WSDL构建初始的扩展状态机模型EFSM;步骤B:根据接口文档WSDL中的控制变量将初始的扩展状态机模型EFSM的状态进行合并及删除处理,并根据合并及删除的处理过程生成状态迁移路径;步骤C:根据路径可行性度量方法来识别所述状态迁移路径中不可行路径,将不可行路径删除后得到改善后的扩展状态机模型EFSM;步骤D:根据正则表达式将改善后的扩展状态机模型EFSM的可行路径进行遍历,生成Web服务的抽象测试用例集。本专利技术的有益效果是:能够去除原扩展状态机模型EFSM中数据流和控制流的相互影响导致存在不可行测试路径,得到改善后的扩展状态机模型EFSM,因此减少不必要的测试工作,提高测试用例生成效率。在上述技术方案的基础上,本专利技术还可以做如下改进。进一步,所述步骤A包括:步骤A1:从Web服务接口获取Web服务描述语言的接口文档WSDL;步骤A2:从接口文档WSDL中提取操作信息、前置条件信息和后置条件信息,并将前置条件信息和后置条件信息中的变量划分为控制变量和数据变量;步骤A3:根据操作信息、控制变量和数据变量构建初始的扩展状态机模型EFSM,所述初始扩展状态机模型EFSM包括数值不同的控制变量。EFSM模型通过环境交互从初始状态移动到另一个状态。EFSM模型是由一个六元组M=(S,s1,I,O,V,T)构成,其中S是一个有限状态集合,s1∈S是模型的初始状态,I是输入集合,O是输出结合,V是内部变量的有限集合,T是状态迁移的有限集合。集合T的每个迁移t有一个6元组T=(Si,Sj,at,ot,Pt,At)构成,其中Si是迁移t的起始状态,Sj是迁移t的终止状态,at∈I是输入符,ot∈O是输出符,Pt是对当前变量值的谓词判定条件,At是输出或赋值等一系列操作语句。Pt和At在部分文献中也分别被称作守卫(guard)和行为(action)。进一步,所述步骤B包括:步骤B1:根据接口文档WSDL中的控制变量将初始的扩展状态机模型EFSM的状态进行合并,如果初始的扩展状态机模型EFSM的状态属于同一控制变量控制下的状态,则执行状态合并操作,否则不合并;步骤B2:根据接口文档WSDL中的控制变量将初始的扩展状态机模型EFSM的状态进行删除,如果初始的扩展状态机模型EFSM的状态属于小于0的控制变量控制下的状态或者属于前后谓词的控制变量控制下的状态,则删除该状态,否则不删除;步骤B3:根据合并和删除的处理过程生成状态迁移路径。采用上述进一步方案的有益效果是:能够通过控制变量合并一些重复的状态,并通过控制变量删除一些不符合实际要求的状态,减少对路径的生成。进一步,所述步骤C包括:步骤C1:根据路径可行性度量方法将生成的状态迁移路径进行可行性路径分析,将可行状态迁移路径TP用长度为n的连续迁移序列t:t1,t2,...,tn来表示;步骤C2:根据生成状态迁移路径时形成的守卫判别式guard对连续迁移序列t中进行分析,所述守卫判别式guard表示为egope’,其中e和e’为迁移路径中的控制变量表达式,gop为关系运算符,输入的控制变量表达式满足使其能够按顺序遍历可行状态迁移路径TP中的每个迁移ti时,其中1≤i≤n,n为路径的长度,将不可行路径删除,得到满足守卫判别式guard的状态迁移路径;所述运算符包括<,>,=,≠,≤,≥。步骤C3:根据生成状态迁移路径时形成的行为判别式action对连续迁移序列t中进行分析,所述行为判别式action表示为v:=e,其中v为数据变量,e为迁移路径中的控制变量表达式,输入的控制变量表达式满足使其能够按顺序遍历可行状态迁移路径TP中的每个迁移ti时,其中1≤i≤n,n为路径的长度,得到满足行为判别式action的状态迁移路径;步骤C4:将不满足守卫判别式guard的不可行状态迁移路径或行为判别式action的不可行状态迁移路径删除,得到改善后的扩展状态机模型EFSM。采用上述进一步方案的有益效果是:通过守卫(guard)和行为(action)来识别不可行状态迁移路径,极大的减少测试用例,提高测试效率。进一步,所述步骤D包括:步本文档来自技高网
...
基于扩展状态机模型的Web服务测试用例生成方法及系统

【技术保护点】
一种基于扩展状态机模型的Web服务测试用例生成方法,其特征在于,包括如下步骤:步骤A:从Web服务接口获取Web服务描述语言的接口文档WSDL,并根据接口文档WSDL构建初始的扩展状态机模型EFSM;步骤B:根据接口文档WSDL中的控制变量将初始的扩展状态机模型EFSM的状态进行合并及删除处理,并根据合并及删除的处理过程生成状态迁移路径;步骤C:根据路径可行性度量方法来识别所述状态迁移路径中不可行路径,将不可行路径删除后得到改善后的扩展状态机模型EFSM;步骤D:根据正则表达式将改善后的扩展状态机模型EFSM的可行路径进行遍历,生成Web服务的抽象测试用例集。

【技术特征摘要】
1.一种基于扩展状态机模型的Web服务测试用例生成方法,其特征在于,包括如下步骤:步骤A:从Web服务接口获取Web服务描述语言的接口文档WSDL,并根据接口文档WSDL构建初始的扩展状态机模型EFSM;步骤B:根据接口文档WSDL中的控制变量将初始的扩展状态机模型EFSM的状态进行合并及删除处理,并根据合并及删除的处理过程生成状态迁移路径;步骤C:根据路径可行性度量方法来识别所述状态迁移路径中不可行路径,将不可行路径删除后得到改善后的扩展状态机模型EFSM;步骤D:根据正则表达式将改善后的扩展状态机模型EFSM的可行路径进行遍历,生成Web服务的抽象测试用例集。2.根据权利要求1所述的扩展状态机模型的Web服务测试用例生成方法,其特征在于,所述步骤A包括:步骤A1:从Web服务接口获取Web服务描述语言的接口文档WSDL;步骤A2:从接口文档WSDL中提取操作信息、前置条件信息和后置条件信息,并将前置条件信息和后置条件信息中的变量划分为控制变量和数据变量;步骤A3:根据操作信息、控制变量和数据变量构建初始的扩展状态机模型EFSM。3.根据权利要求1所述的基于扩展状态机模型的Web服务测试用例生成方法,其特征在于,所述步骤B包括:步骤B1:根据接口文档WSDL中的控制变量将初始的扩展状态机模型EFSM的状态进行合并,如果初始的扩展状态机模型EFSM的状态属于同一控制变量控制下的状态,则执行状态合并操作,否则不合并;步骤B2:根据接口文档WSDL中的控制变量将初始的扩展状态机模型EFSM的状态进行删除,如果初始的扩展状态机模型EFSM的状态属于小于0的控制变量控制下的状态或者属于前后谓词的控制变量控制下的状态,则删除该状态,否则不删除;步骤B3:根据合并和删除的处理过程生成状态迁移路径。4.根据权利要求1所述的基于扩展状态机模型的Web服务测试用例生成方法,其特征在于,所述步骤C包括:步骤C1:根据路径可行性度量方法将生成的状态迁移路径进行可行性路径分析,将可行状态迁移路径TP用长度为n的连续迁移序列t:t1,t2,...,tn来表示;步骤C2:根据生成状态迁移路径时形成的守卫判别式guard对连续迁移序列t中进行分析,所述守卫判别式guard表示为egope’,其中e和e’为迁移路径中的控制变量表达式,gop为关系运算符,输入的控制变量表达式满足使其能够按顺序遍历可行状态迁移路径TP中的每个迁移ti时,其中1≤i≤n,n为路径的长度,得到满足守卫判别式guard的状态迁移路径;步骤C3:根据生成状态迁移路径时形成的行为判别式action对连续迁移序列t中进行分析,所述行为判别式action表示为v:=e,其中v为数据变量,e为迁移路径中的控制变量表达式,输入的控制变量表达式满足使其能够按顺序遍历可行状态迁移路径TP中的每个迁移ti时,其中1≤i≤n,n为路径的长度,得到满足行为判别式action的状态迁移路径;步骤C4:将不满足守卫判别式guard的不可行状态迁移路径或行为判别式action的不可行状态迁移路径删除,得到改善后的扩展状态机模型EFSM。5.根据权利要求1-4任一项所述的基于扩展状态机模型的Web服务测试用例生成方法,其特征在于,所述步骤D包括:步骤D1:根据FSM有限状态机正则表达式用操作符对改善后的扩展状态机模型EFSM进行表示,得到用于表示改善后的扩展状态机模型EFSM的正则表达式序列;步骤D2:根据状态覆盖标准对所述正则表达式序列进行遍历,生成Web服务的抽象测试用例集TS1,所述抽象测试用例集TS1使改善后的扩展状态机模型EFSM中的每一个状态至少被访问一次;步骤D3:根据迁移覆盖标准对正则表达式序列进行遍历,生成Web服务的抽象测试用例集TS2,所述抽象测试用例集TS2使改善后的扩展状态机模型EFSM中的每一条可行状态迁移路径至少被访问一次。6.一种基于扩展状态机模型的Web服务测试用例生成系统,其特征在于,包括:模型构建模块,用于从Web...

【专利技术属性】
技术研发人员:常亮张申古天龙徐周波张舜尧祝曼丽
申请(专利权)人:桂林电子科技大学
类型:发明
国别省市:广西,45

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

1