System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,特别涉及一种应用程序的测试方法、装置、设备、存储介质及程序产品。
技术介绍
1、为了提高应用程序的运行稳定性,在应用程序的开发过程中,通常需要对应用程序进行测试,以确定应用程序的运行稳定性以及是否符合预期效果。为了提高测试效率以及测试质量,通常通过自动化测试脚本对应用程序的程序代码进行自动化测试。
2、而对于大型项目来说,随着项目开发过程中产品需求的不断增加,应用程序变得越来越复杂,导致每次均需要占用大量的服务器资源来完成对应用程序的自动化测试,且所需要的测试时间也越来越多,使得应用程序的测试效率较低。
技术实现思路
1、本申请提供了一种应用程序的测试方法、装置、设备、存储介质及程序产品,可以提高应用程序的测试效率。所述技术方案如下:
2、一方面,提供了一种应用程序的测试方法,所述方法包括:
3、接收目标应用程序的代码变更提交请求,所述代码变更提交请求携带当前提交的至少一个源码文件;
4、基于所述至少一个源码文件以及历史提交的所述目标应用程序的历史源码文件,确定所述至少一个源码文件中相较于所述历史源码文件发生变更的目标方法的标识以及所述目标方法所属的活动组件的标识;
5、基于所述目标方法的标识和所述目标方法所属的活动组件的标识,获取所述目标方法对应的测试用例;
6、基于所述目标方法对应的测试用例,通过自动化测试脚本对所述目标应用程序进行测试。
7、可选地,所述基于所述至少一个源码文
8、基于所述至少一个源码文件和所述历史源码文件,构建所述目标应用程序的应用安装包;
9、基于所述应用安装包确定调用关系链,所述调用关系链用于指示所述目标应用程序中各个方法之间的调用关系以及每个方法所属的活动组件;
10、基于所述至少一个源码文件以及所述历史源码文件,确定所述至少一个源码文件中相较于所述历史源码文件发生变更的目标方法的标识;
11、基于所述调用关系链以及所述目标方法的标识,确定所述目标方法所属的活动组件的标识。
12、可选地,所述基于所述至少一个源码文件以及所述历史源码文件,确定所述至少一个源码文件中相较于所述历史源码文件发生变更的目标方法的标识,包括:
13、从所述历史源码文件中选择第一源码文件对应的第二源码文件,所述第一源码文件是指所述至少一个源码文件中相较于所述历史源码文件发生变更的任意一个源码文件,所述第二源码文件是指所述历史源码文件中最近一次提交的、所述第一源码文件对应的变更前的源码文件;
14、基于所述第一源码文件确定第一程序结构接口文件,基于所述第二源码文件确定第二程序结构接口文件,所述第一程序结构接口文件用于指示所述第一源码文件中的各个方法,所述第二程序结构接口文件用于指示所述第二源码文件中的各个方法;
15、基于所述第一程序结构接口文件和所述第二程序结构接口文件,确定所述第一源码文件中发生变更的目标方法。
16、可选地,所述基于所述目标方法的标识和所述目标方法所属的活动组件的标识,获取所述目标方法对应的测试用例,包括:
17、若所述目标方法为本次更改的方法,则基于所述目标方法的标识和所述目标方法所属的活动组件的标识,通过映射关系表确定所述目标方法对应的测试用例标识,所述映射关系表用于指示方法标识、活动组件标识与测试用例标识之间的对应关系;
18、基于所述目标方法对应的测试用例标识,从测试用例数据库中获取所述目标方法对应的测试用例,所述测试用例数据库包括每个活动组件中的各个方法对应的测试用例,不同的方法对应不同的测试用例。
19、可选地,所述方法还包括:
20、若所述目标方法为本次新增的方法,则显示提示信息,所述提示信息用于提示测试人员编写所述目标方法对应的测试用例;
21、获取所述测试人员为所述目标方法编写的测试用例。
22、可选地,所述方法还包括:
23、获取所述目标方法对应的测试用例的标识;
24、将所述目标方法的标识、所述目标方法所属的活动组件的标识以及所述目标方法对应的测试用例标识存储至所述映射关系表,并将所述目标方法对应的测试用例存储至所述测试用例数据库。
25、另一方面,提供了一种应用程序的测试装置,所述装置包括:
26、接收模块,用于接收目标应用程序的代码变更提交请求,所述代码变更提交请求携带当前提交的至少一个源码文件;
27、变更确定模块,用于基于所述至少一个源码文件以及历史提交的所述目标应用程序的历史源码文件,确定所述至少一个源码文件中相较于所述历史源码文件发生变更的目标方法的标识以及所述目标方法所属的活动组件的标识;
28、测试用例获取模块,用于基于所述目标方法的标识和所述目标方法所属的活动组件的标识,获取所述目标方法对应的测试用例;
29、测试模块,用于基于所述目标方法对应的测试用例,通过自动化测试脚本对所述目标应用程序进行测试。
30、可选地,所述变更确定模块,具体包括:
31、应用安装包构建子模块,用于基于所述至少一个源码文件和所述历史源码文件,构建所述目标应用程序的应用安装包;
32、调用关系链确定子模块,用于基于所述应用安装包确定调用关系链,所述调用关系链用于指示所述目标应用程序中各个方法之间的调用关系以及每个方法所属的活动组件;
33、目标方法确定子模块,用于基于所述至少一个源码文件以及所述历史源码文件,确定所述至少一个源码文件中相较于所述历史源码文件发生变更的目标方法的标识;
34、活动组件确定子模块,用于基于所述调用关系链以及所述目标方法的标识,确定所述目标方法所属的活动组件的标识。
35、可选地,所述目标方法确定子模块,具体用于:
36、从所述历史源码文件中选择第一源码文件对应的第二源码文件,所述第一源码文件是指所述至少一个源码文件中相较于所述历史源码文件发生变更的任意一个源码文件,所述第二源码文件是指所述历史源码文件中最近一次提交的、所述第一源码文件对应的变更前的源码文件;
37、基于所述第一源码文件确定第一程序结构接口文件,基于所述第二源码文件确定第二程序结构接口文件,所述第一程序结构接口文件用于指示所述第一源码文件中的各个方法,所述第二程序结构接口文件用于指示所述第二源码文件中的各个方法;
38、基于所述第一程序结构接口文件和所述第二程序结构接口文件,确定所述第一源码文件中发生变更的目标方法。
39、可选地,所述测试用例获取模块,具体用于:
40、若所述目标方法为本次更改的方法,则基于所述目标方法的标识和所本文档来自技高网...
【技术保护点】
1.一种应用程序的测试方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述基于所述至少一个源码文件以及历史提交的所述目标应用程序的历史源码文件,确定所述至少一个源码文件中相较于所述历史源码文件发生变更的目标方法的标识以及所述目标方法所属的活动组件的标识,包括:
3.如权利要求2所述的方法,其特征在于,所述基于所述至少一个源码文件以及所述历史源码文件,确定所述至少一个源码文件中相较于所述历史源码文件发生变更的目标方法的标识,包括:
4.如权利要求1-3任一项所述的方法,其特征在于,所述基于所述目标方法的标识和所述目标方法所属的活动组件的标识,获取所述目标方法对应的测试用例,包括:
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
7.一种应用程序的测试装置,其特征在于,所述装置包括:
8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器用于存放计算机程序,所述处理器用于执行所述存储器上
9.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的方法的步骤。
10.一种包含指令的计算机程序产品,其特征在于,当所述指令在计算机上运行时,使得计算机执行上述权利要求1-6任一项所述的方法的步骤。
...【技术特征摘要】
1.一种应用程序的测试方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述基于所述至少一个源码文件以及历史提交的所述目标应用程序的历史源码文件,确定所述至少一个源码文件中相较于所述历史源码文件发生变更的目标方法的标识以及所述目标方法所属的活动组件的标识,包括:
3.如权利要求2所述的方法,其特征在于,所述基于所述至少一个源码文件以及所述历史源码文件,确定所述至少一个源码文件中相较于所述历史源码文件发生变更的目标方法的标识,包括:
4.如权利要求1-3任一项所述的方法,其特征在于,所述基于所述目标方法的标识和所述目标方法所属的活动组件的标识,获取所述目标方法对应的测试用例,包括:
5.如权利要求4所述的...
【专利技术属性】
技术研发人员:李思涵,郭同刚,杨晓梅,陈建聪,路茜,
申请(专利权)人:奇瑞汽车股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。