一种测试方法、装置及服务器制造方法及图纸

技术编号:15541655 阅读:135 留言:0更新日期:2017-06-05 10:57
本发明专利技术实施例公开一种测试方法、装置及服务器,用于解决针对功能测试的代码覆盖率处于盲区的问题,该方法包括:将被测试的代码进行编译,以生成用于代码覆盖率分析的可执行文件;将该可执行文件部署在测试环境中;在该测试环境中执行用于功能测试的测试用例,测试用例模拟客户端生成针对该测试环境的数据请求,且该测试环境响应测试用例的数据请求;根据该可执行文件确定测试用例执行后的代码覆盖率结果;对代码覆盖率结果进行分析输出代码覆盖率报告。实施本发明专利技术实施例,可以确定针对功能测试的代码覆盖率。

Testing method, device and server

The embodiment of the invention discloses a testing method, device and server, used to solve the function testing of code coverage in the blind area, the method includes: the tested code, to generate code coverage of the executable file; the executable file is deployed in the test environment; implementation test cases for functional test in the test environment, test case generation based on the test environment to simulate client data requests, and the test environment response test case data request; according to the executable file to determine the test cases after the implementation of the code coverage results; the code coverage results output code coverage report. Embodiments of the present invention can determine code coverage for functional tests.

【技术实现步骤摘要】
一种测试方法、装置及服务器
本专利技术涉及计算机
,尤其涉及一种测试方法、装置及服务器。
技术介绍
服务端是为客户端服务的,服务的内容包括向客户端提供资源、保存客户端数据等。由于服务端业务比较复杂、功能逻辑较多、版本迭代较快,因此,为了保证业务功能逻辑需要进行功能测试。代码覆盖(codecoverage)是软件测试中的一种度量,用于描述程式中源代码被测试的比例和程度。其中,源代码被测试的比例称为代码覆盖率。目前,可以通过开发人员编写单元测试用例来评估代码覆盖率,但是针对功能测试的代码覆盖率还处于盲区,因此,针对功能测试的代码覆盖率已成为一个亟待解决的技术问题。
技术实现思路
本专利技术实施例公开了一种测试方法、装置及服务器,用于解决针对功能测试的代码覆盖率处于盲区的问题。本专利技术实施例第一方面公开一种测试方法,包括:将被测试的代码进行编译,以生成用于代码覆盖率分析的可执行文件;将所述可执行文件部署在测试环境中;在所述测试环境中执行用于功能测试的测试用例,所述测试用例模拟客户端生成针对所述测试环境的数据请求,且所述测试环境响应所述测试用例的数据请求;根据所述可执行文件确定所述测试用例执行后的代码覆盖率结果;对所述代码覆盖率结果进行分析输出代码覆盖率报告。在一个实施例中,所述将被测试的代码进行编译,以生成用于代码覆盖率分析的可执行文件,包括:设置编译参数,根据所述编译参数生成二进制可执行文件,所述二进制可执行文件在执行过程中对代码进行标识用于代码覆盖率分析。在一个实施例中,所述在所述测试环境中执行用于功能测试的测试用例,包括:将所述可执行文件和用于功能测试的测试用例提交给代码覆盖率工具;所述对所述代码覆盖率结果进行分析输出代码覆盖率报告,包括:使所述代码覆盖率工具根据所述代码覆盖率结果生成代码覆盖率报告。在一个实施例中,所述使所述代码覆盖率工具根据所述代码覆盖率结果生成代码覆盖率报告,包括:使所述代码覆盖率工具对比分析所述代码覆盖率结果中的数据和所述可执行文件中的代码,以得到代码覆盖率的统计数据,并根据所述代码覆盖率的统计数据生成代码覆盖率报告。在一个实施例中,所述代码覆盖率的统计数据包括函数覆盖率和/或行覆盖率。在一个实施例中,所述方法还包括:根据所述代码覆盖率报告生成可视化文件。本专利技术实施例第二方面公开一种测试装置,包括:编译单元,用于将被测试的代码进行编译,以生成用于代码覆盖率分析的可执行文件;部署单元,用于将所述编译单元编译生成的可执行文件部署在测试环境中;执行单元,用于在所述部署单元部署的测试环境中执行用于功能测试的测试用例,所述测试用例模拟客户端生成针对所述测试环境的数据请求,且所述测试环境响应所述测试用例的数据请求;确定单元,用于根据所述编译单元编译生成的可执行文件确定所述执行单元执行的测试用例执行后的代码覆盖率结果;输出单元,用于对所述确定单元确定的代码覆盖率结果进行分析输出代码覆盖率报告。在一个实施例中,所述编译单元,具体用于设置编译参数,根据所述编译参数生成二进制可执行文件,所述二进制可执行文件在执行过程中对代码进行标识用于代码覆盖率分析。在一个实施例中,所述执行单元,具体用于将所述可执行文件和用于功能测试的测试用例提交给代码覆盖率工具;所述输出单元,具体用于使所述代码覆盖率工具根据所述代码覆盖率结果生成代码覆盖率报告。在一个实施例中,所述输出单元使所述代码覆盖率工具根据所述代码覆盖率结果生成代码覆盖率报告包括:使所述代码覆盖率工具对比分析所述代码覆盖率结果中的数据和所述可执行文件中的代码,以得到代码覆盖率的统计数据,并根据所述代码覆盖率的统计数据生成代码覆盖率报告。在一个实施例中,所述代码覆盖率的统计数据包括函数覆盖率和/或行覆盖率。在一个实施例中,所述装置还包括:生成单元,用于根据所述输出单元输出的代码覆盖率报告生成可视化文件。本专利技术实施例第三方面公开一种服务器,包括处理器、存储器、通信接口和总线;所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;所述存储器存储可执行程序;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行一种测试方法;其中,所述测试方法包括:将被测试的代码进行编译,以生成用于代码覆盖率分析的可执行文件;将所述可执行文件部署在测试环境中;在所述测试环境中执行用于功能测试的测试用例,所述测试用例模拟客户端生成针对所述测试环境的数据请求,且所述测试环境响应所述测试用例的数据请求;根据所述可执行文件确定所述测试用例执行后的代码覆盖率结果;对所述代码覆盖率结果进行分析输出代码覆盖率报告。本专利技术实施例中,将被测试的代码进行编译以生成用于代码覆盖率分析的可执行文件,将可执行文件部署在测试环境中,在测试环境中执行用于功能测试的测试用例,根据可执行文件确定测试用例执行后的代码覆盖率结果,并对代码覆盖率结果进行分析输出代码覆盖率报告,可见,可以通过用于功能测试的测试用例确定功能测试的代码覆盖率,因此,可以确定针对功能测试的代码覆盖率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例公开的一种测试方法的流程示意图;图2是本专利技术实施例公开的另一种测试方法的流程示意图;图3是本专利技术实施例公开的一种测试装置的结构示意图;图4是本专利技术实施例公开的另一种测试装置的结构示意图;图5是本专利技术实施例公开的一种服务器的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种测试方法、装置及服务器,用于解决针对功能测试的代码覆盖率处于盲区的问题。以下分别进行详细说明。为了更好地理解本专利技术实施例公开的一种测试方法及装置,下面先对本专利技术实施例使用的基本概念进行描述。Gcov是Linux下GCC自带的一个C/C++代码覆盖率分析工具。Lcov是Gcov的图形化前端工具,用于收集Gcov数据多个源文件,并创建超文本标记语言(HypertextMarkedLanguage,HTML)含覆盖信息注释的源代码页。请参阅图1,图1是本专利技术实施例公开的一种测试方法的流程示意图。如图1所示,该测试方法可以包括以下步骤。101、将被测试的代码进行编译,以生成用于代码覆盖率分析的可执行文件。本实施例中,当需要确定针对功能测试的代码覆盖率时,可以将被测试的代码进行编译,以生成用于代码覆盖率分析的可执行文件,即设置编译参数,并根据编译参数生成二进制可执行文件,也即在组件编译中添加用于标识代码编译参数,并打包带有gcov信息的bin文件,还即获取用于标识代码的编译参数,生成包括编译参数的gcov信息,将gcov信息打包为bin文件。其中,可以通过函数-fprofile-arcs和-ftest-coverage添本文档来自技高网...
一种测试方法、装置及服务器

【技术保护点】
一种测试方法,其特征在于,包括:将被测试的代码进行编译,以生成用于代码覆盖率分析的可执行文件;将所述可执行文件部署在测试环境中;在所述测试环境中执行用于功能测试的测试用例,所述测试用例模拟客户端生成针对所述测试环境的数据请求,且所述测试环境响应所述测试用例的数据请求;根据所述可执行文件确定所述测试用例执行后的代码覆盖率结果;对所述代码覆盖率结果进行分析输出代码覆盖率报告。

【技术特征摘要】
1.一种测试方法,其特征在于,包括:将被测试的代码进行编译,以生成用于代码覆盖率分析的可执行文件;将所述可执行文件部署在测试环境中;在所述测试环境中执行用于功能测试的测试用例,所述测试用例模拟客户端生成针对所述测试环境的数据请求,且所述测试环境响应所述测试用例的数据请求;根据所述可执行文件确定所述测试用例执行后的代码覆盖率结果;对所述代码覆盖率结果进行分析输出代码覆盖率报告。2.根据权利要求1所述的方法,其特征在于,所述将被测试的代码进行编译,以生成用于代码覆盖率分析的可执行文件,包括:设置编译参数,根据所述编译参数生成二进制可执行文件,所述二进制可执行文件在执行过程中对代码进行标识用于代码覆盖率分析。3.根据权利要求1所述的方法,其特征在于,所述在所述测试环境中执行用于功能测试的测试用例,包括:将所述可执行文件和用于功能测试的测试用例提交给代码覆盖率工具;所述对所述代码覆盖率结果进行分析输出代码覆盖率报告,包括:使所述代码覆盖率工具根据所述代码覆盖率结果生成代码覆盖率报告。4.根据权利要求3所述的方法,其特征在于,所述使所述代码覆盖率工具根据所述代码覆盖率结果生成代码覆盖率报告,包括:使所述代码覆盖率工具对比分析所述代码覆盖率结果中的数据和所述可执行文件中的代码,以得到代码覆盖率的统计数据,并根据所述代码覆盖率的统计数据生成代码覆盖率报告。5.根据权利要求4所述的方法,其特征在于,所述代码覆盖率的统计数据包括函数覆盖率和/或行覆盖率。6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:根据所述代码覆盖率报告生成可视化文件。7.一种测试装置,其特征在于,包括:编译单元,用于将被测试的代码进行编译,以生成用于代码覆盖率分析...

【专利技术属性】
技术研发人员:刘小梅赵园园崔晗
申请(专利权)人:北京金山安全软件有限公司
类型:发明
国别省市:北京,11

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

1