单元测试方法、装置、设备、存储介质和产品制造方法及图纸

技术编号:38390762 阅读:9 留言:0更新日期:2023-08-05 17:43
本公开涉及一种单元测试方法、装置及设备。该单元测试方法包括:若监控到目标程序代码的至少一个容器被创建,复制所述容器中的容器实例并存储到每个容器对应的容器副本中,所述容器实例是目标程序代码的一部分;向单元测试平台发送测试用例请求,以请求用于对容器实例进行单元测试的测试用例;接收单元测试平台发送的用于对所述容器实例进行单元测试的测试用例,并基于所述测试用例对所述容器副本中的容器实例进行单元测试。本公开实施例提供的技术方案,能够实现测试人员对目标程序代码进行单元测试。行单元测试。行单元测试。

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


[0001]本公开涉及软件测试
,尤其涉及一种单元测试方法、装置、设备、存储介质和产品。

技术介绍

[0002]单元测试是所有软件测试环节中最底层的一类测试,在单元测试中能够实现100%的代码覆盖率;另外,单元测试也可以有效防止在软件开发后期因bug过多而失控,因此对软件进行单元测试具有较高的性价比。现有技术中的单元测试通常由研发人员执行,由研发人员执行单元测试时,可以利用代码读写权限,直接在工程代码中进行测试代码的编写,但研发人员通常没有很好的测试思想,且没有充分的时间来完成单元测试,因此,现有技术中存在给测试人员提供一种方便、高效的单元测试方案的需求。

技术实现思路

[0003]为了解决上述技术问题,本公开提供了一种单元测试方法、装置、设备、存储介质和产品。
[0004]第一方面,本公开提供了一种单元测试方法,应用于虚拟机中,包括:
[0005]若监控到目标程序代码的至少一个容器被创建,复制所述容器中的容器实例并存储到每个容器对应的容器副本中,所述容器实例是目标程序代码的一部分;
[0006]向单元测试平台发送测试用例请求,以请求用于对所述容器实例进行单元测试的测试用例,所述测试用例存储于单元测试平台中;
[0007]接收单元测试平台发送的用于对所述容器实例进行单元测试的测试用例,并基于所述测试用例对所述容器副本中的容器实例进行单元测试。
[0008]第二方面,本公开还提供了一种单元测试装置,包括:
[0009]容器实例复制模块,用于若监控到目标程序代码的至少一个容器被创建,复制所述容器中的容器实例并存储到每个容器对应的容器副本中,所述容器实例是所述目标程序代码的一部分;
[0010]请求发送模块,用于向单元测试平台发送测试用例请求,以请求用于对容器实例进行单元测试的测试用例,所述测试用例存储于单元测试平台中;
[0011]单元测试模块,用于接收单元测试平台发送的用于对所述容器实例进行单元测试的测试用例,并基于所述测试用例对所述容器副本中的容器实例进行单元测试。
[0012]第三方面,本公开还提供了一种电子设备,包括:存储器和处理器,
[0013]所述存储器用于存储所述处理器可执行指令;
[0014]所述处理器用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述任一种单元测试方法。
[0015]第四方面,本公开还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行以实现上述任一种单元测试方法。
[0016]第五方面,本公开实施例还提供了一种计算机程序产品,所述计算机程序产品用于执行上述任一种单元测试方法。
[0017]本公开实施例提供的技术方案,通过虚拟机和单元测试平台配合,在单元测试平台中预先存储对目标程序代码的容器实例进行单元测试的测试用例,然后监控到目标程序代码的至少一个容器被创建,复制所述容器中的容器实例并存储到每个容器对应的容器副本中,并向单元测试平台发送测试用例请求,以请求用于对容器实例进行单元测试的测试用例,最后在接收到单元测试平台发送的测试用例后,基于测试用例对容器副本中的容器实例进行单元测试,从而为测试人员提供了一种方便、高效的单元测试方案。
附图说明
[0018]结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
[0019]图1为本公开实施例提供的一种应用场景的系统架构图;
[0020]图2为本公开实施例提供的一种单元测试方法的流程示意图;
[0021]图3为本公开实施例提供的另一种单元测试方法的流程示意图;
[0022]图4为本公开实施例提供的再一种单元测试方法的流程示意图;
[0023]图5为本公开实施例提供的一种单元测试装置的结构示意图;
[0024]图6为本公开实施例提供的另一种单元测试装置的结构示意图;
[0025]图7为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
[0026]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0027]应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0028]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0029]需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0030]需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0031]如现有技术中所记载的,目前有需要给测试人员提供一种方便、高效的单元测试方案,本公开实施例中提供了一种单元测试的技术方案,能够使得测试人员可以参与到软
件程序代码的单元测试中,从而可以与研发人员一起提高单元测试覆盖率,提升工程代码面向可测性编程,并可以尽早发现软件程序代码的bug,避免后续发现bug而带来的测试成本和修复成本放大。本公开实施例提供的技术方案,其中一方面是在虚拟机中进行改进,在虚拟机中能够将目标程序代码中待测试的容器实例复制到容器副本中,然后向单元测试平台发送测试用例请求,以请求对上述的容器实例进行单元测试的测试用例,然后在单元测试平台反馈测试用例后,即可以在虚拟机上进行单元测试;其中,单元测试平台是本公开实例提供的技术方案的另外一个方面的改进,在单元测试平台上可以维护已经编写好的,能够对容器实例进行测试的测试用例。由此可见,本公开实施例提供的技术方案,能够实现测试人员在单元测试平台上进行测试用例的编写、维护和管理,并在需要时向虚拟机发送测试用例,在虚拟机中是通过将容器实例复制到容器副本中,而不是直接针对目标程序代码进行单元测试,从而实现了无侵入式的单元测试;对于研发人员而言,其也可以通过单元测试平台,直接进行测试用例的编写,然后利用上述的单元测试方案进行单元测试,也可以是直接在程序代码中添加测试用例,从而实现单本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种单元测试方法,应用于虚拟机中,包括:若监控到目标程序代码的至少一个容器被创建,复制所述容器中的容器实例并存储到每个容器对应的容器副本中,所述容器实例是目标程序代码的一部分;向单元测试平台发送测试用例请求,以请求用于对所述容器实例进行单元测试的测试用例,所述测试用例存储于单元测试平台中;接收单元测试平台发送的用于对所述容器实例进行单元测试的测试用例,并基于所述测试用例对所述容器副本中的容器实例进行单元测试。2.根据权利要求1所述的方法,其中,所述监控到目标程序代码的至少一个容器被创建,包括:在目标程序代码中的premain函数执行时,对目标程序代码的容器进行监控,以监控到至少一个容器被创建,所述premain函数为对所述目标程序代码进行字节码增强得到。3.根据权利要求1所述的方法,其中,所述向单元测试平台发送测试用例请求,包括:获取每个所述容器副本中存储的容器实例标识;向单元测试平台发送所述测试用例请求,所述测试用例请求中包括所述容器实例标识;所述接收到的单元测试平台发送的测试用例为单元测试平台根据所述容器实例标识确定。4.根据权利要求3所述的方法,其中,所述向单元测试平台发送测试用例请求,包括:获取所述目标程序代码的至少两个类加载器标识,所述至少两个类加载器标识为对所述目标程序代码进行字节码增强得到;向单元测试平台发送所述测试用例请求,所述测试用例请求中包括所述至少两个类加载器标识。5.根据权利要求4所述的方法,其中,所述接收单元测试平台发送的用于对所述容器实例进行单元测试的测试用例,包括:接收单元测试平台发送的用于对所述容器实例进行单元测试的测试用例和类加载器标识;所述基于所述测试用例对所述容器副本中的容器实例进行单元测试,包括:基于所述测试用例和所述类加载器标识对所述容器副本中的容器实例进行单元测试。6.根据权利要求5所述的方法,其中,所述测试用例包括所述单元测试的入参,所述入参包括基础类型值和实体类型值,所述实体类型值为序列化字符串。7.根据...

【专利技术属性】
技术研发人员:李军辉
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1