一种测试方法技术

技术编号:39809793 阅读:13 留言:0更新日期:2023-12-22 02:44
本申请实施例公开了一种测试方法

【技术实现步骤摘要】
一种测试方法、装置、设备、存储介质及产品


[0001]本申请涉及计算机
,具体涉及一种测试方法

一种测试装置

一种计算机设备

一种计算机可读存储介质及一种测试产品


技术介绍

[0002]随着科技研究的进步,计算机技术飞速发展

软件开发是计算机技术中不可或缺的一部分

在软件开发的过程中,为了保证软件质量,软件开发人员通常会对开发的软件进行测试,软件测试过程可以包括单元测试

集成测试等

实践发现,在软件测试过程中,被测试单元所依赖的组件难以在测试环境中进行模拟或替代,如何在软件测试过程中对依赖组件执行的代码段进行测试,成为目前研究的热门问题


技术实现思路

[0003]本申请实施例提供了一种测试方法

装置

设备

计算机可读存储介质及产品,能够对依赖组件执行的代码段进行测试

[0004]一方面,本申请实施例提供了一种测试方法,包括:
[0005]获取待测试单元的测试数据,测试数据包括目标代码段,目标代码段所指示的操作依赖
N
个组件执行,每个组件为一个可独立运行的软件单元,
N
为正整数;
[0006]获取加载有
N
个组件的
N
个容器,
N
个容器与
Nr/>个组件一一对应,任一个容器用于为该容器对应的组件提供独立的运行环境;
[0007]调用
N
个容器中的组件执行目标代码段所指示的操作,得到目标代码段的执行结果;执行结果用于得到待测试单元的测试结果

[0008]一方面,本申请实施例提供了一种测试装置,该测试装置包括:
[0009]获取单元,用于获取待测试单元的测试数据,测试数据包括目标代码段,目标代码段所指示的操作依赖
N
个组件执行,每个组件为一个可独立运行的软件单元,
N
为正整数;
[0010]以及用于获取加载有
N
个组件的
N
个容器,
N
个容器与
N
个组件一一对应,任一个容器用于为该容器对应的组件提供独立的运行环境;
[0011]处理单元,用于调用
N
个容器中的组件执行目标代码段所指示的操作,得到目标代码段的执行结果;执行结果用于得到待测试单元的测试结果

[0012]在一种实施方式中,处理单元用于,获取加载有
N
个组件的
N
个容器,具体用于:
[0013]获取待测试单元的配置文件,配置文件包括与
N
个组件相关联的参数;
[0014]通过与
N
个组件相关联的参数,生成目标文件;目标文件定义了与
N
个组件对应的
N
个容器;
[0015]运行目标文件,得到加载有
N
个组件的
N
个容器

[0016]在一种实施方式中,目标文件包括第一指令和第二指令;第一指令用于获取
N
个组件的镜像文件,第二指令用于启动
N
个容器加载相应的镜像文件;处理单元用于,运行目标文件,得到加载有
N
个组件的
N
个容器,具体用于:
[0017]通过执行第一指令,得到
N
个组件的镜像文件;
[0018]通过执行第二指令,得到加载有
N
个组件的
N
个容器

[0019]在一种实施方式中,处理单元用于,通过执行第一指令,得到
N
个组件的镜像文件,具体用于:
[0020]响应于第一指令被执行,检测本地缓存区中是否存在第
i
个组件的镜像文件,
i
为小于等于
N
的正整数;
[0021]若本地缓存区中存在第
i
个组件的镜像文件,则从本地缓存区中获取第
i
个组件的镜像文件;
[0022]若本地缓存区中不存在第
i
个组件的镜像文件,则从镜像仓库中下载第
i
个组件的镜像文件

[0023]在一种实施方式中,
N
个组件的镜像文件和
N
个容器通过容器服务进行管理;处理单元用于,通过执行第二指令,得到加载有
N
个组件的
N
个容器,具体用于:
[0024]通过第二指令,调用容器服务的应用程序接口,以使容器服务启动
N
个容器加载相应的镜像文件,得到加载有
N
个组件的
N
个容器

[0025]在一种实施方式中,
N
个组件均为数据库组件,与
N
个组件相关联的参数包括:待测试单元在测试过程中需要访问的数据库的标识;处理单元用于,通过与
N
个组件相关联的参数,生成目标文件,具体用于:
[0026]基于待测试单元在测试过程中需要访问的数据库的标识,以及数据库与数据库组件间的关联关系,确定执行目标代码段所需依赖的
N
个数据库组件;
[0027]按照数据库组件与容器的对应关系,生成
N
个数据库组件对应的
N
个容器的容器配置信息;
[0028]对容器配置信息进行打包,得到目标文件

[0029]在一种实施方式中,测试数据还包括测试用例;处理单元用于,调用
N
个容器中的组件执行目标代码段所指示的操作,得到目标代码段的执行结果,具体用于:
[0030]基于测试用例和目标代码段,创建
N
个组件的组件实例;
[0031]通过组件实例调用
N
个容器中的组件执行目标代码段所指示的操作,得到目标代码段的执行结果

[0032]在一种实施方式中,
N
个组件的组件实例缓存于软件开发工具包中;处理单元还用于:
[0033]当检测到测试用例完成测试,从软件开发工具包清除
N
个组件的组件实例

[0034]在一种实施方式中,
N
个容器通过软件开发工具包进行管理;处理单元还用于:
[0035]响应于待测试单元测试完成,通过软件开发工具包清除
N
个容器

[0036]在一种实施方式中,
N
个组件均为数据库组件,目标代码段所指示的操作本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种测试方法,其特征在于,所述方法包括:获取待测试单元的测试数据,所述测试数据包括目标代码段,所述目标代码段所指示的操作依赖
N
个组件执行,每个组件为一个可独立运行的软件单元,
N
为正整数;获取加载有所述
N
个组件的
N
个容器,所述
N
个容器与所述
N
个组件一一对应,任一个容器用于为该容器对应的组件提供独立的运行环境;调用所述
N
个容器中的组件执行所述目标代码段所指示的操作,得到所述目标代码段的执行结果;所述执行结果用于得到所述待测试单元的测试结果
。2.
如权利要求1所述的方法,其特征在于,所述获取加载有所述
N
个组件的
N
个容器,包括:获取所述待测试单元的配置文件,所述配置文件包括与所述
N
个组件相关联的参数;通过与所述
N
个组件相关联的参数,生成目标文件;所述目标文件定义了与所述
N
个组件对应的
N
个容器;运行所述目标文件,得到加载有所述
N
个组件的
N
个容器
。3.
如权利要求2所述的方法,其特征在于,所述目标文件包括第一指令和第二指令;所述第一指令用于获取所述
N
个组件的镜像文件,所述第二指令用于启动所述
N
个容器加载相应的镜像文件;所述运行所述目标文件,得到加载有所述
N
个组件的
N
个容器,包括:通过执行所述第一指令,得到所述
N
个组件的镜像文件;通过执行所述第二指令,得到加载有所述
N
个组件的
N
个容器
。4.
如权利要求3所述的方法,其特征在于,所述通过执行所述第一指令,得到所述
N
个组件的镜像文件,包括:响应于所述第一指令被执行,检测本地缓存区中是否存在第
i
个组件的镜像文件,
i
为小于等于
N
的正整数;若所述本地缓存区中存在所述第
i
个组件的镜像文件,则从所述本地缓存区中获取所述第
i
个组件的镜像文件;若所述本地缓存区中不存在所述第
i
个组件的镜像文件,则从镜像仓库中下载所述第
i
个组件的镜像文件
。5.
如权利要求3所述的方法,其特征在于,所述
N
个组件的镜像文件和所述
N
个容器通过容器服务进行管理;所述通过执行所述第二指令,得到加载有所述
N
个组件的
N
个容器,包括:通过所述第二指令,调用所述容器服务的应用程序接口,以使所述容器服务启动所述
N
个容器加载相应的镜像文件,得到加载有所述
N
个组件的
N
个容器
。6.
如权利要求2所述的方法,其特征在于,所述
N
个组件均为数据库组件,与所述
N
个组件相关联的参数包括:所述待测试单元在测试过程中需要访问的数据库的标识;所述通过与所述
N
个组件相关联的参数,生成目标文件,包括:基于所述待测试单元在测试过程中需要访问的数据库的标识,以及数据库与数据库组件间的关联关系,确定执行所述目标代码段所需依赖的
N<...

【专利技术属性】
技术研发人员:向以珍
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1