The invention presents an automatic test method for distributed large data services, describes the test interface using XML Schema, and puts forward corresponding specifications, which can effectively describe the API of web applications or cloud platforms. By describing the XML of the API, the invention can automatically generate test sequences, test scripts and test data. By the invention, users can automatically construct test sequences and generate test data only by describing the API of web applications or cloud platforms, thus achieving the purpose of automatic testing, greatly reducing the workload of users, improving the efficiency and accuracy of testing, and reducing the cost of testing. At the same time, it can also test web applications or cloud platforms which are difficult to complete by manual testing.
【技术实现步骤摘要】
分布式大数据服务的自动化测试方法
本专利技术涉及分布式大数据服务的自动化测试
,具体为一种分布式大数据服务的自动化测试方法。
技术介绍
互联网以惊人的速度增长,网络应用已经渗透到人们生活的各个方面。目前,云计算平台(如亚马逊,Azure,Oracle和华为)为各种分布式服务(包括基础设施服务、存储服务和数据服务)提供相对稳定的应用编程接口(API)。云计算吸引越来越多的开发人员将其Web应用迁移到云平台。在云概念下,Web应用的发展与传统的中小型单机应用不同,Web应用程序正在成为具有大数据存储、大服务器背景和跨平台的多用户终端(例如PC端,Android端,IOS端和微信端等)的分布式应用程序,为适应不同的用户终端平台,Web应用控制层逐步提供稳定的应用接口API,以实现控制层和后台服务的跨平台。云计算平台或Web应用控制层围绕数据存储和访问展开应用和服务,它们对客户端提供的API多数是以数据服务为中心的,这些API称为数据服务API,例如在一个Web旅游信息系统中,控制层产品服务提供对产品的若干添加、修改、查找和删除的API应用编程接口;在一个提供平台及应用级服务的云计算平台中,网络会议服务提供对会议的若干增加、修改、查找和删除的API应用编程接口。一般而言,每种数据实体的数据服务API可以分为4种类型:添加数据,查找数据,修改数据和删除数据。伴随着云计算平台和Web应用控制层的数据服务API的不但出现和其广泛应用,其大量常规、重复和分布并发测试需求逐步提上日程,例如,云计算平台和Web应用在其集成、维护和演变升级的过程中,其数据服务API并不会 ...
【技术保护点】
1.一种分布式大数据服务的自动化测试方法,其特征在于:包括以下步骤:步骤1:建立基于XML Schema测试接口描述规范的实例;所述测试接口的描述规范通过XML标签对接口信息进行描述,内容包括服务信息标签、操作标签、接口标签、请求标签、响应标签、依赖标签、以及数据标签和数据标签的约束类型标签;描述规范支持的7种数据类型分别为XML Schema支持的3种数据类型:内置数据类型,简单数据类型、复杂数据类型,以及附加的4种数据类型,分别为文件数据类型,图像数据类型,音频数据类型和视频数据类型;步骤2:以步骤1得到的基于XML Schema测试接口描述规范的实例文档作为输入,分别解析每个文档,解析过程中,将描述文档中的信息存储在以下变量中:变量OperaterTypesMap:类型为key‑value集合,key值为服务实例的标识id,value值为服务实例所含的操作标签;该变量用于存储服务的所有操作类型;变量AddInterfaceSetMap、DeleteInterfaceSetMap、UpdateInterfaceSetMap、FindInterfaceSetMap:类型为key‑va ...
【技术特征摘要】
1.一种分布式大数据服务的自动化测试方法,其特征在于:包括以下步骤:步骤1:建立基于XMLSchema测试接口描述规范的实例;所述测试接口的描述规范通过XML标签对接口信息进行描述,内容包括服务信息标签、操作标签、接口标签、请求标签、响应标签、依赖标签、以及数据标签和数据标签的约束类型标签;描述规范支持的7种数据类型分别为XMLSchema支持的3种数据类型:内置数据类型,简单数据类型、复杂数据类型,以及附加的4种数据类型,分别为文件数据类型,图像数据类型,音频数据类型和视频数据类型;步骤2:以步骤1得到的基于XMLSchema测试接口描述规范的实例文档作为输入,分别解析每个文档,解析过程中,将描述文档中的信息存储在以下变量中:变量OperaterTypesMap:类型为key-value集合,key值为服务实例的标识id,value值为服务实例所含的操作标签;该变量用于存储服务的所有操作类型;变量AddInterfaceSetMap、DeleteInterfaceSetMap、UpdateInterfaceSetMap、FindInterfaceSetMap:类型为key-value集合,key值为服务实例的标识id,value值为接口集合;接口集合中元素为:接口标识id、请求数据和响应数据的参数列表;参数列表中的每个参数包含参数类型和参数名称两个属性;该变量用于存储各项操作类型中的具体操作实例;变量ParameterConstrainsMap:类型为key-value集合,key值为服务实例的标识id,value值为接口的约束集合;约束集合中元素为:接口标识id,参数约束列表;参数约束列表包含参数名称和约束条件;该变量用于存储各项具体操作的参数的约束;变量Premises:类型为集合,集合中元素值为当前服务实例的前驱服务的服务标识id;步骤3:自动生成操作测试模式:将步骤2得到的OperaterTypesMap作为输入,根据服务实例的标识id和OperaterTypeMap中的value值,将OperaterTypesMap变量中包含的操作进行组合,得到符合用户使用习惯的正则表达式集合作为服务实例相应的操作测试模式;步骤4:基于操作测试模式自动生成API测试序列和测试脚本:根据步骤3得到的操作测试模式生成实际的操作序列;根据约束规则删除不符合要求的操作序列;所述约束规则为:一个操作序列中,update之前add数量应当大于delete数量,否则删除该操作序列;一个操作序列中,add数量应当大于delete数量,否则删除该操作序列;在确定操作序列后,将操作序列中各操作标签下API接口集合按照操作序列进行排列,得到API测试序列;再将各个API测试序列分别写成测试脚本;步骤5:自动生成测试数据:以步骤4得到的测试脚本和步骤2得到的参数ParameterConstrainsMap作为输入,输出各个接口的测试数据,具体步骤为:步骤5.1:生成静态表,同时根据步骤4得到的测试脚本生成动态表的第1、2列;所述静态表用于枚举各操作类型对应依赖的操作类型;其中find依赖的操作类型为add,update,delete;update依赖的操作类型为add,find;delete依赖的操作类型为add,find,update;所述动态表包括5列,第1列表示该接口在脚本中的顺序位置,第2列表示接口类型,第3列表示测试输入数据中的对象标识及涉及的对象属性,第4列表示该接口的输出,第5列表示该接口的测试预言,记录接口预期输出;步骤5.2:按照测试脚本中的接口顺序对动态表进行迭代,迭代规则如下:步骤a:从第一个接口开始,对接口对应的动态表中数据逐个进行生成,直至所有的数据均生成;判断当前接口Ii的操作类型为add则转步骤b,否则转步骤c;步骤b:当前接口Ii的操作类型为add,根据黑盒测试原则生成测试数据,并为每个数据集生成唯一的密钥,并将其填写在动态表中的第3列中,第4列填写接口标识,第5列为空;完成后转到步骤a,生成下一个接口的数据;步骤c:当前接口Ii的操作类型不是add,则该接口的输入数据依赖之前接口Ij的输入数据,j<i,输入数据依赖规则为:遵循就近原则,优先考虑离当前接口Ii最近的接口Ij;对照静态表判断接口Ij的操作类型是否为接口Ii可依赖的;若不是依赖的,则向前遍历,直至找到可依赖的接口;若是依赖的,比较接口Ii的输入参数与接口Ij的输入参数或返回参数,若接口Ij的输入参数或返回参数能够满足接口Ii输入参数的要求,则为接口Ij与接口Ii建立数据依赖关系,将接口Ij的数据标识填充到接口Ii动态表第3列中,同时将接口Ii实际输出填入接口Ii动态表第4列,预期结果填入接口Ii动态表第5列,完成后转到步骤a,生成下一个接口的数据;若接口Ij的输入参数或返回参数不符合条件,则向前遍历,直至找到下一个依赖的接口;其中,若当前接口Ii的操作类型为delete...
【专利技术属性】
技术研发人员:马春燕,李尚儒,王慧朝,
申请(专利权)人:西北工业大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。