论文部分内容阅读
REST接口技术在互联网Web应用和网络管理领域中已经逐渐成为主流接口实现技术,并且国际标准化组织也在制定基于REST技术的相关标准,致力于让REST成为主流接口技术。而一致性测试是保证REST接口能够正常工作的必不可少的一个环节,一致性测试中测试用例的设计是其中的重要环节,也是需要重点考虑的主要内容。但是,在实际的接口测试工作中,往往需要测试人员手工定义或编写测试用例,这种方式对测试人员的要求较高且设计的测试用例存在一定的盲目性。并且,大多数的测试用例中测试数据的生成仅考虑了语法因素,很少涉及语义信息,因此,这也给后续人工修改测试数据带来了很多工作量。为了提高REST接口一致性测试的测试效率,本文设计了一种REST接口一致性测试的测试用例形式化定义方法,并且考虑了网络管理领域中类模型之间还存在着一定的语义关系,提出了支持语义的测试用例的生成方法。测试人员只需要提供REST接口文档和语义关系文件,即可按照本文方法生成支持语义的测试用例。本文首先分析了 REST接口文档的组成,总结出了 REST接口文档的形式化定义,并在REST接口文档中添加了自定义属性以辅助测试用例的生成,给出了继承、包含、关联等关系的形式化定义;除此之外,还完成了语义关键词的形式化定义,通过使用语义关键词可以更好地生成符合要求的测试数据。然后,本文对通用测试用例的组成进行分析,完成了 REST接口一致性测试的测试用例形式化定义。在支持语义的测试用例自动生成阶段,本文首先分析了测试数据的生成,设计了参数值区间的精简及约束规则,通过使用基于IPO算法进行改进的IPOSRIC算法生成测试数据集。并且为避免测试数据集过大,本文还设计了抽样方案。在构建语义关系实例树时,使用该测试数据集填充语义关系实例树的数据,在生成测试用例的数据时通过扫描该语义关系实例树进行填充。通过使用设计好的测试用例模板,解析该模板并填充数据从而自动生成测试用例,可减少测试人员自定义测试用例所花费的时间开销。支持语义的测试数据能够更好地生成符合REST接口一致性测试需求的测试用例。综上所述,本文设计的REST接口一致性测试用例的形式化定义和自动生成方法,通过形式化定义REST接口文档以及接口文档中的类模型之间的语义关系,使用ANTLR工具对REST接口文件和语义关系文件进行解析,进而实现支持语义的REST接口测试用例的自动生成,从而提高测试效率,提高测试用例的质量。