一种代码测试监测方法、装置及设备与流程

文档序号:11829441阅读:190来源:国知局
一种代码测试监测方法、装置及设备与流程

本发明涉及计算机技术领域,更具体地,涉及一种代码测试监测方法、装置及设备。



背景技术:

在现有技术中,对于开发出的代码,可以由用户在使用环境中对代码进行测试。由于用户所用的机器,所处的网络,用户的操作习惯,都是有各种各样的情况,所以借助用户来进行代码测试的方法,更具有价值。在测试过程中,需要监测用户测试工作的进行情况。

一种代码测试监测方法为检测用户使用被测代码的时长,当使用时长超过预定时长后,确定已经完成代码测试。该方法的缺陷在于,如果仅启动代码,而没有进行代码测试,仍然可以使使用时长超过预定时长,从而认为用户完成测试。但是,实际上用户没有进行测试。



技术实现要素:

有鉴于此,本发明实施例的目的是提供一种代码测试监测方法、装置及设备,用以更加准确地监测代码的测试情况。

为了达到上述目的,本发明实施例采用以下技术方案:

根据本发明实施例的第一方面,提供一种代码测试监测方法,包括以下步骤:

执行被测试代码进行测试,所述被测试代码中包括通过覆盖率插桩操作插入的探针;

当所述被测试代码中包括的探针被执行时,获得所述探针的执行结果;

根据所述探针的执行结果生成测试结果文件,将所述测试结果文件发送 给服务器,所述服务器用于根据所述测试结果文件确定测试覆盖率;

当检测到请求退出测试的操作时,向所述服务器发送完成测试请求,接收服务器的回复信息,根据所述回复信息中指示判断是否提醒继续进行测试;

其中,在所述服务器判定测试覆盖率小于预设覆盖率阈值时,所述回复信息中指示为继续进行测试。

在一实施例中,所述当检测到请求退出测试的操作时,向服务器发送完成测试请求,接收服务器的回复信息之后,所述方法还包括:

根据所述回复信息中指示判断是否允许完成测试;

其中,在所述服务器判定测试覆盖率不小于预设覆盖率阈值时,所述回复信息中指示为允许完成测试。

在一实施例中,所述根据所述探针的执行结果生成测试结果文件,将所述测试结果文件发送给服务器,包括:

使用定时器,当定时时间到达时,根据所述探针的执行结果生成测试结果文件,将所述测试结果文件发送给服务器。

在一实施例中,所述根据所述探针的执行结果生成测试结果文件,将所述测试结果文件发送给服务器,包括:

当检测到请求退出测试的操作时,根据所述探针的执行结果生成测试结果文件,将所述测试结果文件发送给服务器。

根据本发明实施例的第二方面,提供一种代码测试监测方法,用于服务器,包括以下步骤:

根据接收的测试结果文件确定测试覆盖率,所述测试结果文件为被测代码中所包括的通过覆盖率插桩操作插入的探针被执行后,根据执行结果生成的文件;

当接收到完成测试请求时,判断测试覆盖率是否小于预设覆盖率阈值;

当测试覆盖率小于预设覆盖率阈值时,回复包括继续进行测试的指示的 回复信息。

在一实施例中,所述方法还包括:当测试覆盖率不小于预设覆盖率阈值时,回复包括允许完成测试的指示的回复信息。

根据本发明实施例的第三方面,提供一种代码测试监测装置,包括:

执行模块,用于执行被测试代码进行测试,所述被测试代码中包括通过覆盖率插桩操作插入的探针;

获得模块,用于当所述被测试代码中包括的探针被执行时,获得所述探针的执行结果;

生成模块,用于根据所述探针的执行结果生成测试结果文件,将所述测试结果文件发送给服务器,所述服务器用于根据所述测试结果文件确定测试覆盖率;

提醒模块,用于当检测到请求退出测试的操作时,向所述服务器发送完成测试请求,接收服务器的回复信息,根据所述回复信息中指示判断是否提醒继续进行测试;

其中,在所述服务器判定测试覆盖率小于预设覆盖率阈值时,所述回复信息中指示为继续进行测试。

在一实施例中,所述装置还包括:

允许模块,用于当检测到请求退出测试的操作时,向服务器发送完成测试请求,接收服务器的回复信息之后,根据所述回复信息中指示判断是否允许完成测试;

其中,在所述服务器判定测试覆盖率不小于预设覆盖率阈值时,所述回复信息中指示为允许完成测试。

在一实施例中,所述生成模块,用于使用定时器,当定时时间到达时,根据所述探针的执行结果生成测试结果文件,将所述测试结果文件发送给服务器。

在一实施例中,所述生成模块,用于当检测到请求退出测试的操作时, 根据所述探针的执行结果生成测试结果文件,将所述测试结果文件发送给服务器。

根据本发明实施例的第四方面,提供一种代码测试监测装置,用于服务器,包括:

确定模块,用于根据接收的测试结果文件确定测试覆盖率,所述测试结果文件为被测代码中所包括的通过覆盖率插桩操作插入的探针被执行后,根据执行结果生成的文件;

判断模块,用于当接收到完成测试请求时,判断测试覆盖率是否小于预设覆盖率阈值;

回复模块,用于当测试覆盖率小于预设覆盖率阈值时,回复包括继续进行测试的指示的回复信息。

在一实施例中,所述回复模块,还用于当测试覆盖率不小于预设覆盖率阈值时,回复包括允许完成测试的指示的回复信息。

根据本发明实施例的第五方面,提供一种设备,所述设备包括第三方面中任一实施例所述的代码测试监测装置。

根据本发明实施例的第六方面,提供一种设备,所述设备包括第四方面中任一实施例所述的代码测试监测装置。

本发明实施例提供的技术包括以下有益效果:

本发明实施例提供的技术方案,执行被测试代码进行测试,被测试代码中包括通过覆盖率插桩操作插入的探针;当被测试代码中包括的探针被执行时,获得探针的执行结果;根据探针的执行结果生成测试结果文件,将测试结果文件发送给服务器,服务器用于根据测试结果文件确定测试覆盖率;当检测到请求退出测试的操作时,向服务器发送完成测试请求,接收服务器的回复信息,根据回复信息中指示判断是否提醒继续进行测试;其中,在服务器判定测试覆盖率小于预设覆盖率阈值时,回复信息中指示为继续进行测试。如此,利用探针确定代码的测试情况,能够更加准确地监测代码的测试情况; 并且,根据探针的执行结果自动生成测试结果文件,根据测试结果确定测试覆盖率,根据测试覆盖率确定是否继续进行测试,无需用户进行额外操作,减轻用户测试负担,便于用户进行测试。

本发明实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其它优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明实施例的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明实施例的限制。在附图中:

图1是本发明一实施例提供的代码测试监测方法的流程图;

图2是本发明实施例一提供的代码测试监测方法的流程图;

图3是本发明一实施例提供的代码测试监测方法的流程图;

图4是本发明一实施例提供的代码测试监测装置的结构图;

图5是本发明另一实施例提供的代码测试监测装置的结构图;

图6是本发明一实施例提供的代码测试监测装置的结构图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明实施例,并不用于限定本发明实施例。

图1是本发明一实施例提供的代码测试监测方法的流程图。如图1所示,该方法包括如下步骤S101-S104。

在步骤S101中,执行被测试代码进行测试。

其中,被测试代码中包括通过覆盖率插桩操作插入的探针。

举例而言,EMMA(艾玛,Java代码覆盖率统计工具)和GCOV(C或C++或object-C代码覆盖率测试工具)均可以进行插桩操作插入探针。对于开发出的代码,使用上述工具插入探针,将通过覆盖率插桩操作插入探针的代码作为被测试代码,执行该被测试代码进行测试。

在步骤S102中,当被测试代码中包括的探针被执行时,获得探针的执行结果。

在步骤S103中,根据探针的执行结果生成测试结果文件,将测试结果文件发送给服务器。

其中,服务器用于根据测试结果文件确定测试覆盖率。

举例而言,开发出生成模块,由生成模块执行步骤S103中操作,将生成模块打包,例如打包为SDK(软件开发工具包),在打包时加入待测试的代码中,进而编译出可以生成并发送测试结果文件的被测试代码。

在一实施例中,上述根据探针的执行结果生成测试结果文件,将测试结果文件发送给服务器可包括:使用定时器,当定时时间到达时,根据探针的执行结果生成测试结果文件,将测试结果文件发送给服务器。

举例而言,由开发的生成模块执行上述操作,即使用定时器,当定时时间到达时,根据探针的执行结果生成测试结果文件,将测试结果文件发送给服务器。将生成模块和定时器加入待测试的代码中,进而编译出可以定时生成并发送测试结果文件的被测试代码。

在一实施例中,上述根据探针的执行结果生成测试结果文件,将测试结果文件发送给服务器可包括:当检测到请求退出测试的操作时,根据探针的执行结果生成测试结果文件,将测试结果文件发送给服务器。

举例而言,由开发的生成模块执行上述操作,即当检测到请求退出测试的操作时,根据探针的执行结果生成测试结果文件,将测试结果文件发送给服务器。将生成模块加入待测试的代码中,进而编译出可以当检测到请求退出测 试的操作时,生成并发送测试结果文件的被测试代码。

本发明中方法也可包括:使用定时器,当定时时间到达时,根据探针的执行结果生成测试结果文件,将测试结果文件发送给服务器;并且检测到请求退出测试的操作时,根据探针的执行结果生成测试结果文件,将测试结果文件发送给服务器。

服务器接收的测试结果文件后,根据测试结果文件确定测试覆盖率,并保存该测试覆盖率。

在步骤S104中,当检测到请求退出测试的操作时,向服务器发送完成测试请求,接收服务器的回复信息,根据回复信息中指示判断是否提醒继续进行测试。

其中,在服务器判定测试覆盖率小于预设覆盖率阈值时,回复信息中指示为继续进行测试。

举例而言,当检测到请求退出测试的操作时,向服务器发送完成测试请求。服务器判定测试覆盖率小于预设覆盖率阈值后,发送包含继续进行测试指示的回复信息。根据回复信息中包含继续进行测试的指示,提醒继续进行测试。

在一实施例中,上述当检测到请求退出测试的操作时,向服务器发送完成测试请求,接收服务器的回复信息之后,上述方法还可包括:根据回复信息中指示判断是否允许完成测试。

其中,在服务器判定测试覆盖率不小于预设覆盖率阈值时,回复信息中指示为允许完成测试。

举例而言,当检测到请求退出测试的操作时,向服务器发送完成测试请求。服务器判定测试覆盖率不小于预设覆盖率阈值后,发送包含允许完成测试指示的回复信息。根据回复信息中包含允许完成测试的指示,允许完成测试,进而退出测试。

本发明实施例提供的技术包括以下有益效果:利用探针确定代码的测试情况,能够更加准确地监测代码的测试情况;并且,根据探针的执行结果自动生 成测试结果文件,根据测试结果确定测试覆盖率,根据测试覆盖率确定是否继续进行测试,无需用户进行额外操作,减轻用户测试负担,便于用户进行测试。

实施例一

图2是本发明实施例一提供的代码测试监测方法的流程图,该方法用于进行代码测试的客户端,如图2所示,实施例中方法包括如下步骤:

步骤S201,执行被测试代码进行测试。

其中,被测试代码中包括通过覆盖率插桩操作插入的探针。

生成被测试代码的过程包括:在待测试代码通过覆盖率插桩操作插入探针,例如,对于安卓系统中的java语言代码使用EMMA进行插桩,对于IOS(苹果操作系统)中C/C++/Object-C语言代码使用GCOV进行插桩;将生成模块和定时器加入待测试代码中,例如,将生成模块打包为SDK,在打包时加入待测试的代码中;对待测试代码进而编译,生成被测试代码。

如此,无需改变源代码便可以实现代码测试监控。

步骤S202,当被测试代码中包括的探针被执行时,获得探针的执行结果。

步骤S203,使用定时器,当定时时间到达时,根据探针的执行结果生成测试结果文件,将测试结果文件发送给服务器。

服务器用于根据测试结果文件确定测试覆盖率并进行保存。

步骤S204,当检测到请求退出测试的操作时,根据探针的执行结果生成测试结果文件,将测试结果文件发送给服务器,并向服务器发送完成测试请求。

例如,当用户点击退出按键时,检测到请求退出测试的操作,根据探针的执行结果生成测试结果文件,将测试结果文件发送给服务器,并向服务器发送完成测试请求。服务器根据接收的测试结果文件确定测试覆盖率,将测试覆盖率与预设覆盖率阈值比较,当测试覆盖率小于预设覆盖率阈值时,回复包括继续进行测试的指示的回复信息中;当测试覆盖率不小于预设覆盖率阈值时,回复包括允许完成测试的指示的回复信息。

步骤S205,接收服务器的回复信息,根据回复信息中指示判断是否提醒继 续进行测试,以及判断是否允许完成测试。

当测试覆盖率小于预设覆盖率阈值时,根据回复信息中指示,提醒继续进行测试;当测试覆盖率不小于预设覆盖率阈值时,根据回复信息中指示,允许完成测试,进而允许用户退出测试。

本发明实施例提供的技术包括以下有益效果:利用探针确定代码的测试情况,能够更加准确地监测代码的测试情况;并且,根据探针的执行结果自动生成测试结果文件,根据测试结果确定测试覆盖率,根据测试覆盖率确定是否继续进行测试,无需用户进行额外操作,减轻用户测试负担,便于用户进行测试。

图3是本发明一实施例提供的代码测试监测方法的流程图,该方法用于服务器,如图3所示,包括如下步骤:

步骤S301,根据接收的测试结果文件确定测试覆盖率。

其中,测试结果文件为被测代码中所包括的通过覆盖率插桩操作插入的探针被执行后,根据执行结果生成的文件。

步骤S302,当接收到完成测试请求时,判断测试覆盖率是否小于预设覆盖率阈值。

步骤S303,当测试覆盖率小于预设覆盖率阈值时,回复包括继续进行测试的指示的回复信息。

在一实施例中,上述方法还可包括:当测试覆盖率不小于预设覆盖率阈值时,回复包括允许完成测试的指示的回复信息。

举例而言,服务器接收测试结果文件,根据接收的测试结果文件确定测试覆盖率;将测试覆盖率与预设覆盖率阈值比较,当测试覆盖率小于预设覆盖率阈值时,回复包括继续进行测试的指示的回复信息;当测试覆盖率不小于预设覆盖率阈值时,回复包括允许完成测试的指示的回复信息。

本发明实施例提供的技术包括以下有益效果:利用探针确定代码的测试情况,能够更加准确地监测代码的测试情况;将测试覆盖率与预设覆盖率阈值比较,根据比较指示是否提醒继续进行测试。

图4为本发明一实施例提供的代码测试检测装置的结构图,如图4所示,该代码测试监测装置包括:

执行模块41,用于执行被测试代码进行测试,所述被测试代码中包括通过覆盖率插桩操作插入的探针;

获得模块42,用于当被测试代码中包括的探针被执行时,获得探针的执行结果;

生成模块43,用于根据探针的执行结果生成测试结果文件,将测试结果文件发送给服务器,服务器用于根据测试结果文件确定测试覆盖率;

提醒模块44,用于当检测到请求退出测试的操作时,向服务器发送完成测试请求,接收服务器的回复信息,根据回复信息中指示判断是否提醒继续进行测试;

其中,在服务器判定测试覆盖率小于预设覆盖率阈值时,回复信息中指示为继续进行测试。

在一实施例中,如图5所示,装置还包括:

允许模块51,用于当检测到请求退出测试的操作时,向服务器发送完成测试请求,接收服务器的回复信息之后,根据回复信息中指示判断是否允许完成测试;

其中,在服务器判定测试覆盖率不小于预设覆盖率阈值时,回复信息中指示为允许完成测试。

在一实施例中,生成模块,用于使用定时器,当定时时间到达时,根据探针的执行结果生成测试结果文件,将测试结果文件发送给服务器。

在一实施例中,生成模块,用于当检测到请求退出测试的操作时,根据探针的执行结果生成测试结果文件,将测试结果文件发送给服务器。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本发明实施例还提供了一种设备,该设备包括上述任一实施例所述的代 码测试监测装置。

图6为本发明一实施例提供的代码测试检测装置的结构图,该装置用于服务器,如图6所示,该代码测试监测装置包括:

确定模块61,用于根据接收的测试结果文件确定测试覆盖率,测试结果文件为被测代码中所包括的通过覆盖率插桩操作插入的探针被执行后,根据执行结果生成的文件;

判断模块62,用于当接收到完成测试请求时,判断测试覆盖率是否小于预设覆盖率阈值;

回复模块63,用于当测试覆盖率小于预设覆盖率阈值时,回复包括继续进行测试的指示的回复信息。

在一实施例中,回复模块,还用于当测试覆盖率不小于预设覆盖率阈值时,回复包括允许完成测试的指示的回复信息。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本发明实施例还提供了一种设备,该设备包括上述任一实施例所述的代码测试监测装置。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算 机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在上述实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行上述无线网络切换方法,

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1