System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 应用程序测试方法、设备、存储介质和程序产品技术_技高网

应用程序测试方法、设备、存储介质和程序产品技术

技术编号:43027307 阅读:8 留言:0更新日期:2024-10-18 17:27
本发明专利技术实施例提供一种应用程序测试方法、设备、存储介质和程序产品。该方法包括:获取多个测试用例;在第一版本的应用程序源代码中执行多个测试用例,以确定多个测试用例的代码行覆盖信息;响应于对第一版本的应用程序源代码的变更操作,确定变更操作对应的多行代码;根据多个测试用例的代码行覆盖信息、预设的多个测试用例之间的依赖关系和多行代码,确定待执行的目标测试用例,以在变更后的第二版本的应用程序源代码中执行目标测试用例。本方案在应用程序源代码发生变更时,无需采用多个测试用例重新对变更后源代码再次进行测试,测试效率较高。

【技术实现步骤摘要】

本专利技术涉及软件测试,尤其涉及一种应用程序测试方法、设备、存储介质和程序产品


技术介绍

1、持续集成(continuous integration,简称ci)/持续交付(continuous delivery,简称cd),是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。在现在的应用开发模式中,经常需要多个开发人员协同开发一个应用程序,一般地,多个开发人员各自编写自己负责的功能模块或者某些开发人员共同负责同一功能模块的开发。从而,通过版本控制系统可以将各个开发人员的代码集成到共享存储库中,每个开发人员可以根据需求的不同创建对应的分支,在完成需求后,每个开发人员提交合并,将各自开发的分支代码集成到一起,合并到主分支。ci可以帮助开发人员更加方便地将代码更改合并到主分支,一旦开发人员将改动的代码合并到主分支,系统就会通过自动构建应用,并运行测试用例来验证这些更改,确保这些更改没有对应用造成破坏。在应用程序的开发过程中,经常会涉及到版本的迭代,即代码的变更。在ci/cd开发模式下,用户对应用程序源代码的变更操作可以通过拉取请求(pull request,简称pr)的方式实现。ci 在完成了构建、测试这些自动化流程后,cd可以自动把已验证的代码从开发环境部署到企业的生成环境中。

2、目前,测试人员会预先准备出多个测试用例以用于对开发的应用程序进行测试。而且,当变更了应用程序源代码中的部分代码后,仍旧采用这些测试用例重新对变更后源代码再次进行测试,测试效率低。


技术实现思路</p>

1、本专利技术实施例提供一种应用程序测试方法、设备、存储介质和程序产品,可以在应用程序源代码发生变更时,仅需要采用与变更行为影响的代码行相关的测试用例对变更后源代码进行测试,测试效率较高。

2、第一方面,本专利技术实施例提供一种应用程序测试方法,所述方法包括:

3、获取在第一版本的应用程序源代码中执行多个测试用例后得到的所述多个测试用例的代码行覆盖信息;

4、响应于对当前版本的应用程序源代码的变更操作,确定相对于所述第一版本的应用程序源代码,所述变更操作对应的多行代码;

5、根据所述多个测试用例的代码行覆盖信息、预设的所述多个测试用例之间的依赖关系和所述多行代码,确定待执行的目标测试用例,以在变更后的第二版本的应用程序源代码中执行所述目标测试用例。

6、第二方面,本专利技术实施例提供一种应用程序测试装置,所述装置包括:

7、获取模块,用于获取在第一版本的应用程序源代码中执行多个测试用例后得到的所述多个测试用例的代码行覆盖信息;

8、响应模块,用于响应于对当前版本的应用程序源代码的变更操作,确定相对于所述第一版本的应用程序源代码,所述变更操作对应的多行代码;

9、确定模块,用于根据所述多个测试用例的代码行覆盖信息、预设的所述多个测试用例之间的依赖关系和所述多行代码,确定待执行的目标测试用例,以在变更后的第二版本的应用程序源代码中执行所述目标测试用例。

10、第三方面,本专利技术实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如第一方面所述的应用程序测试方法。

11、第四方面,本专利技术实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如第一方面所述的应用程序测试方法。

12、第五方面,本专利技术实施例提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器执行如第一方面所述的应用程序测试方法。

13、本专利技术实施例提供的应用程序测试方法,通过获取在第一版本的应用程序源代码中执行多个测试用例后得到的多个测试用例的代码行覆盖信息,可以确定测试用例与代码行的对应关系。之后,响应于对当前版本的应用程序源代码的变更操作,可以确定相对于第一版本的应用程序源代码,变更操作对应的多行代码,即变更操作的影响结果:变更后的第二版本的应用程序源代码与第一版本的应用程序源代码相比这多行代码不同。之后,根据不同测试用例之间的依赖关系、测试用例与代码行之间的对应关系,可以从多个测试用例中确定出与这多行代码相关的目标测试用例,则后续直接在变更后的第二版本的应用程序源代码中执行该目标测试用例即可,无需采用上述全部多个测试用例重新对变更后源代码再次进行测试,提高了测试效率。

本文档来自技高网...

【技术保护点】

1.一种应用程序测试方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述当前版本为所述第一版本或不同于所述第一版本的另一版本。

3.根据权利要求1所述的方法,其特征在于,所述根据所述多个测试用例的代码行覆盖信息、所述多个测试用例之间的依赖关系和所述多行代码,确定待执行的目标测试用例,包括:

4.根据权利要求3所述的方法,其特征在于,所述根据所述有向无环图和所述多行代码,确定待执行的目标测试用例,包括:

5.根据权利要求3所述的方法,其特征在于,所述第一版本的应用程序源代码中包括多个功能模块各自对应的代码,所述变更操作包括:新增功能模块的操作,对应地,所述多行代码包括:所述新增功能模块的代码;

6.根据权利要求5所述的方法,其特征在于,所述根据所述有向无环图和所述多行代码,确定待执行的目标测试用例,包括:

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:

8.根据权利要求1-7中任一项所述的方法,其特征在于,所述获取在第一版本的应用程序源代码中执行多个测试用例后得到的所述多个测试用例的代码行覆盖信息:

9.一种电子设备,其特征在于,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至8中任一项所述的应用程序测试方法。

10.一种非暂时性机器可读存储介质,其特征在于,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至8中任一项所述的应用程序测试方法。

11.一种计算机程序产品,其特征在于,包括:计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器执行如权利要求1至8中任一项所述的应用程序测试方法。

...

【技术特征摘要】

1.一种应用程序测试方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述当前版本为所述第一版本或不同于所述第一版本的另一版本。

3.根据权利要求1所述的方法,其特征在于,所述根据所述多个测试用例的代码行覆盖信息、所述多个测试用例之间的依赖关系和所述多行代码,确定待执行的目标测试用例,包括:

4.根据权利要求3所述的方法,其特征在于,所述根据所述有向无环图和所述多行代码,确定待执行的目标测试用例,包括:

5.根据权利要求3所述的方法,其特征在于,所述第一版本的应用程序源代码中包括多个功能模块各自对应的代码,所述变更操作包括:新增功能模块的操作,对应地,所述多行代码包括:所述新增功能模块的代码;

6.根据权利要求5所述的方法,其特征在于,所述根据所述有向无环图和所述多行代码,确定待执行的目标测试用例,包括:

7.根据权...

【专利技术属性】
技术研发人员:单凯伦张永超石晓海马涛
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

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

1