一种代码覆盖率的测试方法和装置的制造方法

文档序号:9865395阅读:300来源:国知局
一种代码覆盖率的测试方法和装置的制造方法
【技术领域】
[0001] 本发明设及测试技术领域,特别是设及一种代码覆盖率的测试方法和一种代码覆 盖率的测试装置。
【背景技术】
[0002] 在对应用进行测试时,代码覆盖度是衡量测试的重要指标之一。
[0003] 目前生成代码覆盖度报告的工具,通常集成在专口的测试工具中,运就要求测试 人员对运类测试工具操作熟悉。
[0004] 此外,运个测试工具是将开发和测试集成在一起的,使得开发、测试过程只能由集 中完成。
[0005] 但是,开发人员和测试人员通常情况下是分开的,而开发人员和测试人员对对方 的工作大多是不熟悉的,运就使得在测试工具中进行开发、测试时,往往需要不同的技术人 员进行交叉操作,使得开发、测试较为繁琐,容易出错,效率很低。
[0006] 并且,原生的覆盖度报告中大多是基础的数据,可W看到虽然内容很全面但可读 性不强,技术人员需要通过一系列的转换、分析操作后才可W得出结论,操作繁琐。
[0007] WAmlroid(安卓)为例,现在通过jacoco等测试工具可W生成覆盖度报告。但是, 运类测试工具一般只能集成在Eel ipse或者Android Studio之类的IDE(Integrated Development Environment,集成开发环境)中,通过点击IDE上的相关控件生成报告,运就 必须要求测试人员对运类I呢比较熟悉。
[000引假设在An化oid studio上使用jacoco,需要在An化oid工程的gradle里进行一系 列比较复杂的配置,重新clean(删除原先编译好的相关文件并重新编译)工程,并导出插粧 后的安装包,安装,测试,拷贝需要的文件到指定的路径,最后点击Amlroid Studio上的指 定按钮生成代码覆盖度报告。
[0009] 由于jacoco在An化oid studio中使用方式的固定性,使得上述过程只能由开发独 自完成,容易出错。

【发明内容】

[0010] 鉴于上述问题,提出了本发明W便提供一种克服上述问题或者至少部分地解决上 述问题的一种代码覆盖率的测试方法和相应的一种代码覆盖率的测试装置。
[0011] 依据本发明的一个方面,提供了 一种代码覆盖率的测试方法,包括:
[0012] 输入源代码及基于所述源代码编译的安装包;
[0013] 安装所述安装包,获得待测试的应用;
[0014] 当测试所述应用时,生成代码覆盖率文件;
[0015] 根据所述覆盖率文件和所述源代码生成代码覆盖率报告。
[0016] 可选地,所述源代码及所述安装包输入至设备管理平台;
[0017] 所述安装所述安装包,获得待测试的应用的步骤包括:
[0018] 将所述安装包传输至于所述设备管理平台相连的移动设备,W将所述安装包安装 在所述移动设备中,获得待测试的应用。
[0019] 可选地,所述安装包中插入标识变量;
[0020] 所述当测试所述应用时,生成代码覆盖率文件的步骤包括:
[0021 ]获取所述移动设备的屏幕数据;
[0022] 在所述设备管理平台的页面显示所述屏幕数据;
[0023] 将针对所述屏幕数据的操作数据发送至所述移动设备,W按照所述操作数据对所 述应用进行操作;
[0024] 当对所述应用进行操作时,基于所述标识变量生成代码覆盖率文件。
[0025] 可选地,还包括:
[0026] 读取所述代码覆盖率报告的代码覆盖率信息;
[0027] 根据所述代码覆盖率信息生成代码覆盖率评分。
[0028] 可选地,所述根据所述代码覆盖率信息生成代码覆盖率评分的步骤包括:
[0029] 对所述代码覆盖率信息配置权重;
[0030] 计算配置权重之后的代码覆盖率信息的和,获得代码覆盖率评分。
[0031] 可选地,所述代码覆盖率信息包括如下的一种或多种:
[0032] 指令的覆盖率、分支的覆盖率、圈复杂度的覆盖率、行的覆盖率、方法的覆盖率、类 的覆盖率;
[0033] 所有权重之和为指定的数值。
[0034] 可选地,还包括:
[0035] 在设备管理平台的页面显示所述代码覆盖率报告。
[0036] 根据本发明的另一方面,提供了 一种代码覆盖率的测试装置,包括:
[0037] 源数据输入模块,适于输入源代码及基于所述源代码编译的安装包;
[0038] 安装包安装模块,适于安装所述安装包,获得待测试的应用;
[0039] 代码覆盖率文件生成模块,适于在测试所述应用时,生成代码覆盖率文件;
[0040] 代码覆盖率报告生成模块,适于根据所述覆盖率文件和所述源代码生成代码覆盖 率报告。
[0041 ]可选地,所述源代码及所述安装包输入至设备管理平台;
[0042] 所述安装包安装模块还适于:
[0043] 将所述安装包传输至于所述设备管理平台相连的移动设备,W将所述安装包安装 在所述移动设备中,获得待测试的应用。
[0044] 可选地,所述安装包中插入标识变量;
[0045] 所述代码覆盖率文件生成模块还适于:
[0046] 获取所述移动设备的屏幕数据;
[0047] 在所述设备管理平台的页面显示所述屏幕数据;
[0048] 将针对所述屏幕数据的操作数据发送至所述移动设备,W按照所述操作数据对所 述应用进行操作;
[0049] 当对所述应用进行操作时,基于所述标识变量生成代码覆盖率文件。
[(K)加]可选地,还包括:
[0051] 代码覆盖率信息读取模块,适于读取所述代码覆盖率报告的代码覆盖率信息;
[0052] 代码覆盖率评分生成模块,适于根据所述代码覆盖率信息生成代码覆盖率评分。
[0053] 可选地,所述代码覆盖率评分生成模块还适于:
[0054] 对所述代码覆盖率信息配置权重;
[0055] 计算配置权重之后的代码覆盖率信息的和,获得代码覆盖率评分。
[0056] 可选地,所述代码覆盖率信息包括如下的一种或多种:
[0057] 指令的覆盖率、分支的覆盖率、圈复杂度的覆盖率、行的覆盖率、方法的覆盖率、类 的覆盖率;
[005引所有权重之和为指定的数值。
[0化9] 可选地,还包括:
[0060] 代码覆盖率报告显示模块,适于在设备管理平台的页面显示所述代码覆盖率报 告。
[0061] 本发明实施例安装源代码编译的安装包,获得待测试的应用,在测试时生成代码 覆盖率文件,并结合源代码生成代码覆盖率报告,实现了应用开发和应用测试的独立,避免 了不同的技术人员进行交叉操作,提高了测试的简便性,降低出错的概率,提高了测试的效 率。
[0062] 本发明实施例针对代码覆盖率报告中的代码覆盖率信息生成代码覆盖率评分,增 加代码覆盖率报告的可读性,避免技术人员进行一系列的转换、分析操作,方便将代码覆盖 率评分与设定的阀值比较,从而对低于阀值代码覆盖率评分的测试用例予W告警等后续操 作,进一步提高了操作的简便性。
[0063] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予W实施,并且为了让本发明的上述和其它目的、特征和优点能够 更明显易懂,W下特举本发明的【具体实施方式】。
【附图说明】
[0064] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明 的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0065] 图1示出了根据本发明一个实施例的一种代码覆盖率的测试方法实施例1的步骤 流程图;
[0066] 图2示出了根据本发明一个实施例的一种在设备管理平台进行测试的示例流程 图;
[0067] 图3示出了根据本发明一个实施例的一种设备管理平台的示例图;
[0068] 图4示出了根据本发明一个实施例的一种代码覆盖率报告示例图;
[0069] 图5示出了根据本发明一个实施例的一种代码覆盖率的测试方法实施例2的步骤
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1