System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,并且更具体地涉及一种软件精准测试的方法、装置、设备及可读介质。
技术介绍
1、目前软件的需求越来越多,迭代的周期越来越短,而需求修改的内容对测试人员是黑盒子,测试人员无法客观准确的把握测试范围,但是还要保质保量的快速交付。在这种技术现状下,存在以下问题:
2、(1)为了提高覆盖率,可以采用自动化进行全量遍历测试。但是受限于自动化测试的开发成本,主要还是覆盖了主流程,对本次修改点的验证,并不具有针对性;
3、(2)测试人员也可以基于开发告知的修改,识别测试范围,但是这就依赖于开发告知的完整程度,以及开发和测试的经验值;
4、(3)上述测试方法都会造成测试工作量的增加,测试成本和快速交付相互矛盾;
5、(4)采用上述措施后,仍然会因为未识别到、未覆盖到,导致的测试遗漏的问题。
6、目前业界已形成一些精准测试的实现方式,但主要存在如下两类问题:
7、(1)大部分现有的技术是通过识别本次修改与已有用例的关联,推送已有的用例。但实际工作中,新增的需求占大部分,那么就是基于新修改设计新的用例,而不是复用原有的用例。(2)也有技术进行了修改的链路分析,但是软件系统逐渐平台化,生成的交付物很大成分是基于自有平台的元数据,不是原生的代码,所以现有的技术无法复用。
技术实现思路
1、有鉴于此,本专利技术实施例的目的在于提出一种软件精准测试的方法、装置、设备及可读介质,通过使用本专利技术的技术方案,能够提高测试
2、基于上述目的,本专利技术的实施例的一个方面提供了一种软件精准测试的方法,包括以下步骤:
3、识别软件中各个交付物类型的影响链路;
4、基于各个交付物类型的影响链路识别新版本各个交付物类型的修改变化内容;
5、基于识别到的各个交付物类型的修改变化内容识别出修改变化内容影响到的功能操作;
6、基于修改变化内容和影响到的功能操作自动推送相应的测试用例。
7、根据本专利技术的一个实施例,识别软件中各个交付物类型的影响链路包括:
8、识别数据库中数据表与前端功能操作的关联关系;
9、通过对元数据存储表的关联查询对前端元数据影响表单范围进行关系识别;
10、识别后台程序中各个程序、接口的调用关系;
11、识别平台元数据中各个元数据之间的依赖关系。
12、根据本专利技术的一个实施例,识别后台程序中各个程序、接口的调用关系包括:
13、借助java静态扫描技术遍历所有的jar引用的class和method,并形成直接调用关系并存入数据库中;
14、借助java静态扫描技术遍历所有的jar以识别调用的package、class和method,将别识别出来的信息补充到直接调用关系的数据中,并对rpc调用进行特别标记;
15、识别restapi接口的与jar的调用关系;
16、基于直接调用关系和restapi接口与jar的调用关系使用递归调用算法形成递归影响链路;
17、在递归影响链路上补充restapi接口与功能操作的关系。
18、根据本专利技术的一个实施例,识别restapi接口的与jar的调用关系包括:
19、借助java静态扫描技术识别所有restapi接口的基路径的服务;
20、在基路径的服务中识别出关联的子路径的服务,从而形成restapi接口基路径+子路径与后端jar的调用关系;
21、分析restapi接口与前端功能操作的关联。
22、根据本专利技术的一个实施例,识别平台元数据中各个元数据之间的依赖关系包括:
23、识别实体对象、视图对象、外部服务与表单4类元数据之间的直接和间接依赖,并汇总成完整的依赖链路;
24、获取表单元数据中的relativepath,并通过特定的算法转换得到与应用部署路径匹配的key值,将key值更新到与表单关联元数据的关系链路中,并通过key值分析得到元数据与菜单的关系。
25、根据本专利技术的一个实施例,基于各个交付物类型的影响链路识别新版本各个交付物类型的修改变化内容包括:
26、识别数据库中旧版本和新版本数据结构成差异和数据差异;
27、识别新版本对哪些功能菜单进行了修改;
28、识别后台程序中旧版本和新版本的变化的内容,并在前端区分颜色显示,并对接口的变化进行特别标记。
29、根据本专利技术的一个实施例,识别新版本对哪些功能菜单进行了修改包括:
30、对比新旧两个版本静态文件的md5值是否发生变化,并将修改日期、文件大小、以及文本内容进行比较;
31、通过解析新版本交付物的表单描述文件,并与旧版本表单描述文件进行比较,以识别出变化的表单、变化的内容;
32、解析表单关联的数据模型、国际化资源文件元数据的内容,比较新旧两个版本的差异以形成变化内容。
33、本专利技术的实施例的另一个方面,还提供了一种软件精准测试的装置,装置包括:
34、第一模块,第一模块配置为识别软件中各个交付物类型的影响链路;
35、第二模块,第二模块配置为基于各个交付物类型的影响链路识别新版本各个交付物类型的修改变化内容;
36、第三模块,第三模块配置为基于识别到的各个交付物类型的修改变化内容识别出修改变化内容影响到的功能操作;
37、第四模块,第四模块配置为基于修改变化内容和影响到的功能操作自动推送相应的测试用例。
38、本专利技术的实施例的另一个方面,还提供了一种计算机设备,该计算机设备包括:
39、至少一个处理器;
40、以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述任意一项方法的步骤。
41、本专利技术的实施例的另一个方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任意一项方法的步骤。
42、本专利技术具有以下有益技术效果:本专利技术实施例提供的软件精准测试的方法,通过识别软件中各个交付物类型的影响链路;基于各个交付物类型的影响链路识别新版本各个交付物类型的修改变化内容;基于识别到的各个交付物类型的修改变化内容识别出修改变化内容影响到的功能操作;基于修改变化内容和影响到的功能操作自动推送相应的测试用例的技术方案,能够提高测试精准度和测试质量,能够降低质量风险和测试工作量。
本文档来自技高网...【技术保护点】
1.一种软件精准测试的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,识别软件中各个交付物类型的影响链路包括:
3.根据权利要求2所述的方法,其特征在于,识别后台程序中各个程序、接口的调用关系包括:
4.根据权利要求3所述的方法,其特征在于,识别RestAPI接口的与jar的调用关系包括:
5.根据权利要求2所述的方法,其特征在于,识别平台元数据中各个元数据之间的依赖关系包括:
6.根据权利要求1所述的方法,其特征在于,基于各个交付物类型的影响链路识别新版本各个交付物类型的修改变化内容包括:
7.根据权利要求6所述的方法,其特征在于,识别新版本对哪些功能菜单进行了修改包括:
8.一种软件精准测试的装置,其特征在于,所述装置包括:
9.一种计算机设备,其特征在于,包括:
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任意一项所述方法的步骤。
【技术特征摘要】
1.一种软件精准测试的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,识别软件中各个交付物类型的影响链路包括:
3.根据权利要求2所述的方法,其特征在于,识别后台程序中各个程序、接口的调用关系包括:
4.根据权利要求3所述的方法,其特征在于,识别restapi接口的与jar的调用关系包括:
5.根据权利要求2所述的方法,其特征在于,识别平台元数据中各个元数据之间的依赖关系包括:
6.根据权利要...
【专利技术属性】
技术研发人员:赵超,刘威,李明亮,郭松,张磊,刘常春,
申请(专利权)人:浪潮通用软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。