测试结果生成方法和装置与流程

文档序号:14897493发布日期:2018-07-08 09:06阅读:242来源:国知局

本发明涉及软件测试技术领域,特别是涉及一种测试结果生成方法和装置。



背景技术:

随着计算机技术的发展,具有各种功能的软件被开发,在软件开发过程中,往往需要对软件进行测试,在软件测试通过后才能投入应用。在软件开发过程中,需要不断的对软件的代码进行变更以对软件进行升级,在每次软件升级后,都需要对变更后的软件代码进行测试。

每次对变更后的软件代码进行测试时,不能够了解变更代码的具体测试情况。在测试出现异常时,需要人工查找变更代码的具体测试情况。人工查找会耗费较多的时间,这样使得在测试过程中对变更代码的监测较为困难,导致对变更代码的监测效率低下。



技术实现要素:

基于此,有必要针对测试过程中变更代码的监测效率低下的问题,提供一种测试结果的生成方法和装置。

一种测试结果生成方法,所述方法包括:

获取测试结果生成指令;

提取所述测试结果生成指令中的软件标识;

根据提取到的软件标识获取测试监测信息和代码变更信息,测试监测信息为对所述软件标识对应的被测试的软件代码进行监测得到;

根据所述代码变更信息在所述测试监测信息中查找变更代码的测试监测信息;

根据查找到的测试监测信息生成所述变更代码的测试结果。

在其中一个实施例中,所述根据提取到的软件标识获取测试监测信息和代码变更信息,包括:

根据所述软件标识生成测试监测信息的获取请求;

将所述获取请求发送至监测服务器;

接收所述监测服务器根据所述获取指令中的软件标识查找到的测试监测信息;

根据所述软件标识在代码数据库中查找代码变更信息。

在其中一个实施例中,所述根据所述代码变更信息在所述测试监测信息中查找变更代码的测试监测信息,包括:

提取所述代码变更信息中的变更代码段标识;

确定所述变更代码段标识对应的位置范围信息;

根据所述位置范围信息在所述测试监测信息中提取匹配的测试监测信息。

在其中一个实施例中,所述根据查找到的测试监测信息生成变更代码的测试结果,包括:

根据查找到的测试监测信息统计各变更代码段标识的代码总行数和代码执行行数;

根据统计的代码总行数和代码执行行数计算各变更代码段标识对应的测试覆盖率。

在其中一个实施例中,所述根据查找到的测试监测信息生成变更代码的测试结果之后,还包括:

将所述测试结果与所述软件标识对应存储;

接收终端发送的测试结果获取请求;

提取所述测试结果获取请求中的软件标识,根据提取到的标识查找测试结果,将查找到的测试结果返回至所述终端;

获取所述终端根据返回的测试结果生成的测试用例修改指令;

提取所述测试用例修改指令中变更代码段对应的测试用例标识,根据提取到的测试用例标识查找测试用例,将查找到的测试用例返回至所述终端。

上述测试结果的生成方法,获取携带有软件标识的测试结果生成指令,测试结果生成指令用于生成软件标识对应的软件中变更代码的测试结果,提取结果生成指令中的软件标识,获取软件标识对应的测试监测信息和代码变更信息,根据代码变更信息在测试监测信息中查找变更代码的测试监测信息,根据查找到的测试监测信息生成变更代码的测试结果。这样,无需人工查找变更代码的具体测试情况,节省了查找时间,通过生成变更代码的测试结果提高了对变更代码的监测效率。

一种测试结果生成装置,所述装置包括:

指令获取模块,用于获取测试结果生成指令;

标识提取模块,用于提取所述测试结果生成指令中的软件标识;

信息获取模块,用于根据提取到的软件标识获取测试监测信息和代码变更信息,测试监测信息为对所述软件标识对应的被测试的软件代码进行监测得到;

信息查找模块,用于根据所述代码变更信息在所述测试监测信息中查找变更代码的测试监测信息;

结果生成模块,用于根据查找到的测试监测信息生成所述变更代码的测试结果。

在其中一个实施例中,所述信息获取模块包括:

获取请求生成模块,用于根据所述软件标识生成测试监测信息的获取请求;

获取请求发送模块,用于将所述获取请求发送至监测服务器;

监测信息接收模块,用于接收所述监测服务器根据所述获取指令中的软件标识查找到的测试监测信息;

变更信息查找模块,用于根据所述软件标识在代码数据库中查找代码变更信息。

在其中一个实施例中,所述信息查找模块包括:

代码标识提取模块,用于提取所述代码变更信息中的变更代码段标识;

位置范围确定模块,用于确定所述变更代码段标识对应的位置范围信息;

监测信息提取模块,用于根据所述位置范围信息在所述测试监测信息中提取匹配的测试监测信息。

在其中一个实施例中,所述结果生成模块包括:

行数统计模块,用于根据查找到的测试监测信息统计各变更代码段标识的代码总行数和代码执行行数;

覆盖率计算模块,用于根据统计的代码总行数和代码执行行数计算各变更代码段标识对应的测试覆盖率。

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

测试结果存储模块,用于将所述测试结果与所述软件标识对应存储;

获取请求接收模块,用于接收终端发送的测试结果获取请求;

测试结果查找模块,用于提取所述测试结果获取请求中的软件标识,根据提取到的标识查找测试结果,将查找到的测试结果返回至所述终端;

修改指令获取模块,用于获取所述终端根据返回的测试结果生成的测试用例修改指令;

测试用例查找模块,用于提取所述测试用例修改指令中变更代码段对应的测试用例标识,根据提取到的测试用例标识查找测试用例,将查找到的测试用例返回至所述终端。

上述测试结果的生成装置,获取携带有软件标识的测试结果生成指令,测试结果生成指令用于生成软件标识对应的软件中变更代码的测试结果,提取结果生成指令中的软件标识,获取软件标识对应的测试监测信息和代码变更信息,根据代码变更信息在测试监测信息中查找变更代码的测试监测信息,根据查找到的测试监测信息生成变更代码的测试结果。这样,无需人工查找变更代码的具体测试情况,节省了查找时间,通过生成变更代码的测试结果提高了对变更代码的监测效率。

附图说明

图1为一个实施例中测试结果生成系统的应用环境图;

图2为一个实施例中测试结果生成方法的流程示意图;

图3为一个实施例中查找变更代码段标识对应的测试监测信息的步骤的流程示意图;

图4为一个实施例中根据测试用例修改指令查找测试用例的步骤的流程示意图;

图5为一个实施例中测试结果生成装置的结构框图;

图6为一个实施例中信息获取模块的结构框图;

图7为一个实施例中信息查找模块的结构框图;

图8为一个实施例中结果生成模块的结构框图;

图9为另一个实施例中测试结果生成装置的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为一个实施例中测试结果生成系统,测试结果生成系统中包括终端110、测试服务器120和监测服务器130,测试服务器120通过网络与终端110和监测服务器130相连接。其中,终端110、测试服务器120和监测服务器130具体可以是多个。终端110具体可以是笔记本电脑、平板电脑、智能手机和个人数据助理中的至少一种。

如图2所示,在一个实施例中,提供一种测试结果的生成方法,本实施例以该方法具体应用在图1测试结果生成系统中的测试服务器120上来举例说明,测试服务器120上运行有测试结果的生成程序,测试结果的生成程序用于实施测试结果的生成方法。该方法具体包括以下步骤:

s202,获取携带有软件标识的测试结果生成指令。

具体地,测试服务器120在对软件标识对应的被测试的软件代码进行测试时,提取软件代码对应的软件标识,根据软件标识生成测试结果生成指令。测试结果生成指令为用于生成软件代码中变更代码的测试结果,变更代码为软件代码中经过更改的代码。

在一个实施例中,测试服务器120在对软件标识对应的软件代码开始或结束测试时,根据软件代码对应的软件标识生成测试结果生成指令。

s204,提取测试结果生成指令中的软件标识。

具体地,测试结果生成指令中包括软件代码对应的软件标识。测试服务器120在获取到测试结果生成指令后,对测试结果生成指令进行解析,提取测试结果生成指令中的软件标识。

s206,根据提取到的软件标识获取测试监测信息和代码变更信息,测试监测信息为对软件标识对应的被测试的软件代码进行监测得到。

其中,测试监测信息具体为在对软件代码进行测试的过程中,对软件代码的测试情况进行监测得到的信息。测试监测信息具体可以包括测试过程已执行的代码的位置信息和未执行的代码的位置信息。

具体地,测试服务器120在获取到测试结果生成指令后,对测试结果生成指令进行解析,提取测试结果生成指令中的软件标识。在存储测试监测信息中查找与软件标识对应的测试监测信息。

进一步地,测试服务器120在代码数据库中查找与软件标识对应的代码变更信息。其中,代码数据库中存储着软件标识对应的软件代码和软件标识对应的代码变更信息,代码变更信息具体可以包括软件代码中的代码更改位置,还可以包括代码变更内容、代码变更时间和软件标识中的至少一种。软件标识具体可以是软件名称和版本号中的至少一种。

在一个实施例中,s206具体包括以下内容:根据软件标识生成测试监测信息的获取指令;将获取指令发送至监测服务器;接收监测服务器根据获取指令中的软件标识查找到的测试监测信息;根据软件标识在代码数据库中查找代码变更信息。

具体地,监测服务器130检测到测试服务器120中触发的测试事件时,获测试事件对应的软件代码的软件标识。监测服务器130在存储的测试监测信息中查找是否存在与该软件代码对应的测试监测信息,若存在,删除与该软件代码对应的测试监测信息,对该软件标识对应的软件代码的测试情况进行监测重新获得测试监测信息,将获得到测试监测信息与该软件代码对应存储;若不存在,直接对该软件标识对应的软件代码的测试情况进行监测获得测试监测信息。

测试服务服务120根据测试结果生成指令中的软件标识生成用于获取测试监测信息的获取请求,将获取请求发送至监测服务器130。监测服务器130在接收到获取请求后,提取获取请求中的软件标识,在存储的测试监测信息中查找与软件标识对应的测试监测信息,将查找到的测试监测信息返回至测试服务器120。测试服务器120的代码数据库中存储着代码变更信息,测试服务器120在代码数据库中查找与软件代码对应的代码变更信息。

s208,根据代码变更信息在测试监测信息中查找变更代码的测试监测信息。

具体地,测试服务器120在提取到代码变更信息后,从代码变更信息中提取变更代码的位置信息,在测试监测信息中查找与变更代码的位置信息匹配的测试监测信息。变更代码的位置信息具体可以是变更代码在软件代码中的行号或行号范围,行号范围包括变更代码的开始行号和结束行号。

s210,根据查找到的测试监测信息生成变更代码的测试结果。

具体地,在查找到的测试监测信息,测试服务器120从查找到的测试监测信息中提取测试异常的变更代码在软件代码中的位置信息,根据测试异常的变更代码所在软件代码中的位置信息与软件标识对应存储生成变更代码的测试结果。

在一个实施例中,s210具体包括以下内容:根据查找到的测试监测信息统计各变更代码段标识的代码总行数和代码执行行数;根据统计的代码总行数和代码执行行数计算各变更代码段标识对应的测试覆盖率。

具体地,查找到的测试监测信息中存储着各变更代码段标识对应的未执行代码所在的行号和已执行代码所在的行号。统计各变更代码段标识的代码执行的行数和代码未执行的行数,将代码未执行的行数和代码已执行的行数相加得到代码总行数,用未执行的行数除以代码总行数得到测试覆盖率,将得到的测试覆盖率与各变更代码段标识对应存储得到各变更代码段的测试覆盖率。测试覆盖率用于表示已执行代码占软件代码的比例,可以表示代码测试的完全程度。

本实施例中,获取携带有软件标识的测试结果生成指令,测试结果生成指令用于生成软件标识对应的软件中变更代码的测试结果,提取结果生成指令中的软件标识,获取软件标识对应的测试监测信息和代码变更信息,根据代码变更信息在测试监测信息中查找变更代码的测试监测信息,根据查找到的测试监测信息生成变更代码的测试结果。这样,无需人工查找变更代码的具体测试情况,节省了查找时间,通过生成变更代码的测试结果提高了对变更代码的监测效率。

如图3所示,在一个实施例中,s208具体包括查找变更代码段标识对应的测试监测信息的步骤,该步骤具体包括以下内容:

s302,提取代码变更信息中的变更代码段标识。

具体地,代码变更信息中存储着变更代码段标识,变更代码段标识为变更代码所属代码段的标识,变更代码段标识具体可以是函数名称。测试服务器120从代码变更信息中提取变更代码段标识。

s304,确定变更代码段标识对应的位置范围信息。

具体地,测试服务器120中存储着位置范围信息与代码段标识的对应关系表,在提取到代码变更信息中的变更代码段标识后,在对应关系表中查找与该变更代码段标识匹配的代码段标识,提取匹配的代码段标识对应的位置范围信息。位置范围信息具体可以是代码段标识对应的代码在软件代码中的开始行号和结束行号。

s306,根据位置范围信息在测试监测信息中提取匹配的测试监测信息。

具体地,测试服务器120根据位置范围信息在测试监测信息中查找属于位置范围信息的位置信息,在查找到位置信息后,从测试监测信息中提取查找到的位置信息匹配的测试监测信息。

本实施例中,从代码变更信息中提取变更代码段标识,确定代码段标识对应的位置范围信息,根据位置范围信息在测试监测信息中准确提取变更代码段中代码的测试监测信息,确保变更代码段测试监测信息的准确性。

如图4所示,在一个实施例中,s210之后具体还包括根据测试用例修改指令查找测试用例的步骤,该步骤具体包括以下内容:

s402,将测试结果与软件标识对应存储。

具体地,测试服务器120或监测服务器130在生成变更代码的测试结果后,将测试结果与变更代码对应的软件标识对应存储。

s404,接收终端发送的测试结果获取请求。

具体地,在测试服务器120或监测服务器130对软件代码中变更代码的测试结果存储后,终端110向测试服务器120或监测服务器130发送用于获取测试结果的测试结果获取请求,测试结果获取请求中携带有软件标识。

s406,提取测试结果获取请求中的软件标识,根据提取到的标识查找测试结果,将查找到的测试结果返回至终端。

具体地,在测试服务器120中存储着代码段标识与测试用例标识的对应关系表,在测试服务器120查找到变更代码的测试监测信息后,提取测试监测信息中变更代码段标识,在该对应关系表中查找与提取到变更代码段标识匹配的代码段标识,并从对应关系表中查找匹配的代码段标识对应的测试用例标识,将测试用例标识添加到变更代码的测试监测信息中生成测试结果。测试服务器120或监测服务器130在接收到测试结果获取请求后,提取测试结果获取请求中的软件标识,在存储的测试结果中查找与软件标识对应的测试结果,测试结果为变更代码的测试结果,将查找到的测试结果发送至终端110。

s408,获取终端根据返回的测试结果生成的测试用例修改指令。

具体地,终端110接收到测试结果后,对测试结果进行解析,提取测试结果中的变更代码段标识对应的测试用例标识。在提取到测试用例标识中选取需要调试的测试用例对应的测试用例标识,根据选取到的测试用例标识生成测试用例修改指令,将生成的测试用例修改指令发送至测试服务器120。

s410,提取测试用例修改指令中变更代码段对应的测试用例标识,根据提取到的测试用例标识查找测试用例,将查找到的测试用例返回至终端。

具体地,测试服务器120在接收到测试用例修改指令后,提取测试用例修改指令中的测试用例标识,根据测试用例标识在存储的测试用例中查找匹配的测试用例,将查找到的测试用例返回至终端110,并显示在终端110的编辑页面中。终端110在编辑页面中可以对测试用例进行修改,在修改完成后将修改后的测试页面发送至测试服务器120进行存储。测试服务器120定期获取终端110的编辑页面中的测试用例,对修改后的测试用例进行存储。

本实施例中,终端可以查找变更代码的测试结果,根据测试结果中变更代码相关的测试用例所对应的测试用例标识查找测试用例,根据测试结果对查找到的测试用例进行修改,从而提高变更代码的测试效率。

如图5所示,在一个实施例中,提供一种测试结果生成装置500,该装置包括具体包括:指令获取模块502、标识提取模块504、信息获取模块506、信息查找模块508和结果生成模块510。

指令获取模块502,用于获取携带有软件标识的测试结果生成指令。

标识提取模块504,用于提取测试结果生成指令中的软件标识。

信息获取模块506,用于根据提取到的软件标识获取测试监测信息和代码变更信息,测试监测信息为对软件标识对应的被测试的软件代码进行监测得到。

信息查找模块508,用于根据代码变更信息在测试监测信息中查找变更代码的测试监测信息。

结果生成模块510,用于根据查找到的测试监测信息生成变更代码的测试结果。

本实施例中,获取携带有软件标识的测试结果生成指令,测试结果生成指令用于生成软件标识对应的软件中变更代码的测试结果,提取结果生成指令中的软件标识,获取软件标识对应的测试监测信息和代码变更信息,根据代码变更信息在测试监测信息中查找变更代码的测试监测信息,根据查找到的测试监测信息生成变更代码的测试结果。这样,无需人工查找变更代码的具体测试情况,节省了查找时间,通过生成变更代码的测试结果提高了对变更代码的监测效率。

如图6所示,在一个实施例中,信息获取模块506具体包括:获取请求生成模块506a、获取请求发送模块506b、监测信息接收模块506c和变更信息查找模块506d。

获取请求生成模块506a,用于根据软件标识生成测试监测信息的获取请求;

获取请求发送模块506b,用于将获取请求发送至监测服务器;

监测信息接收模块506c,用于接收监测服务器根据获取指令中的软件标识查找到的测试监测信息。

变更信息查找模块506d,用于根据软件标识在代码数据库中查找代码变更信息。

本实施例中,监测服务器对软件代码的测试情况进行监测获取软件代码的测试监测信息,并将测试监控信息存储在监测服务器。从监测服务器中查找测试监控信息,无需重新执行软件代码,节省了重新执行软件代码所耗费的运算资源,提高了资源利用率。

如图7所示,在一个实施例中,信息查找模块508具体包括:代码标识提取模块508a、位置范围确定模块508b和监测信息提取模块508c。

代码标识提取模块508a,用于提取代码变更信息中的变更代码段标识。

位置范围确定模块508b,用于确定变更代码段标识对应的位置范围信息。

监测信息提取模块508c,用于根据位置范围信息在测试监测信息中提取匹配的测试监测信息。

本实施例中,从代码变更信息中提取变更代码段标识,确定代码段标识对应的位置范围信息,根据位置范围信息在测试监测信息中准确提取变更代码段中代码的测试监测信息,确保查找到的变更代码段对应的测试监测信息的准确性。

如图8所示,在一个实施例中,结果生成模块510具体包括:行数统计模块510a和覆盖率计算模块510b。

行数统计模块510a,用于根据查找到的测试监测信息统计各变更代码段标识的代码总行数和代码执行行数。

覆盖率计算模块510b,用于根据统计的代码总行数和代码执行行数计算各变更代码段标识对应的测试覆盖率。

本实施例中,根据查找到的测试监测信息统计各变更代码段标识的代码总行数和代码执行行数,根据统计的代码总行数和代码执行行数计算各变更代码段标识对应的测试覆盖率,通过计算测试覆盖率监测各变更代码段的测试完成情况,提高变更代码段中测试过程中的监测效率。

如图9所示,在一个实施例中,提供一种测试结果生成装置500,该装置具体还包括:测试结果存储模块512、获取请求接收模块514、测试结果发送模块516、修改指令获取模块518和测试用例查找模块520。

测试结果存储模块512,用于将测试结果与软件标识对应存储。

获取请求接收模块514,用于接收终端发送的测试结果获取请求。

测试结果查找模块516,用于提取测试结果获取请求中的软件标识,根据提取到的标识查找测试结果,将查找到的测试结果返回至终端。

修改指令获取模块518,用于获取终端根据返回的测试结果生成的测试用例修改指令。

测试用例查找模块520,用于提取测试用例修改指令中变更代码段对应的测试用例标识,根据提取到的测试用例标识查找测试用例,将查找到的测试用例返回至终端。

本实施例中,终端可以查找变更代码的测试结果,根据测试结果中变更代码相关的测试用例所对应的测试用例标识查找测试用例,根据测试结果对查找到的测试用例进行修改,从而提高变更代码的测试效率。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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