[发明专利]单元测试覆盖率生成方法、装置、可读存储介质及设备有效
申请号: | 201710930604.X | 申请日: | 2017-10-09 |
公开(公告)号: | CN107678967B | 公开(公告)日: | 2020-02-07 |
发明(设计)人: | 尹成;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 11570 北京众达德权知识产权代理有限公司 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分包处理 预设 覆盖率 分包 覆盖率数据 单元测试 业务逻辑 可读存储介质 软件测试技术 测试覆盖率 覆盖率测试 均方根误差 测试代码 循环执行 数据集 预测 复用 细化 输出 | ||
本发明涉及软件测试技术领域,尤其涉及单元测试覆盖率生成方法、装置、可读存储介质及设备,包括:S1:基于业务逻辑对单元测试过程中的复用测试代码块进行分包处理;S2:基于分包处理后得到的各个分包的数据,计算预测覆盖率数据集误差为第一误差;S3:分别对分包处理后得到的各个分包进行覆盖率测试,计算得到测试覆盖率数据集误差为第二误差;S4:判断第一误差和第二误差的均方根误差的差值绝对值是否大于预设覆盖率标准值;若小于等于预设覆盖率标准值,则对预测覆盖率数据集进行输出,若大于预设覆盖率标准值,则依次提高业务逻辑的细化程度对分包处理后得到的各个分包进行再分包处理,循环执行S2‑S4直至差值绝对值小于或等于预设覆盖率标准值。
技术领域
本发明涉及软件测试技术领域,尤其涉及单元测试覆盖率生成方法、装置、可读存储介质及设备。
背景技术
在应用程序开发过程中,单元测试是程序正式提交给测试人员进行大规模功能测试前的一个重要且必要的环节。单元测试是指对程序中最小可测试单元进行逻辑检查和验证,其中,单元就是规定的最小的被测功能模块。
在安卓(Android)应用的开发过程中,单元测试分为:Java虚拟机单元测试(JVMTest)和设备测试(Instrumentation Test)。其中,对于JVM Test而言,一般通过运行由纯Java代码编写的测试桩(Test Case)实现,无需依赖其他组件,由于代码运行于JVM虚拟机上,因此测试速度较快;对于Instrumentation Test而言,由于这类测试需要依赖Android系统提供的组件,因此需要在真机或者模拟器上部署运行,并需要进行预编译,因此测试速度较慢。
而无论是采用上述的JVM Test还是Instrumentation Test,单元测试中存在一项重要数据指标,即覆盖率(Code Coverage,CC),覆盖率为单元测试所执行的代码与原代码的比值,覆盖率越高,所执行的代码量越大,测试的质量就越高,代码的健壮性则越好。
在Android应用开发中,对于组件化和功能模块的解耦,在单元测试时常常会重复使用同一代码块,从而组件化和模块解耦的代码复用率高。然而,若按照现有的覆盖率生成方法,被复用的代码块会被直接纳入到覆盖率的计算中,从而导致覆盖率的基数过大,致使计算得到的覆盖率不准确,存在较大误差。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的单元测试覆盖率生成方法、装置、可读存储介质及设备。
本发明实施例提供一种单元测试覆盖率生成方法,所述方法包括:
S1:基于业务逻辑对单元测试过程中的复用测试代码块进行分包处理;
S2:基于分包处理后得到的各个分包的数据,计算预测覆盖率数据集误差为第一误差;
S3:分别对分包处理后得到的各个分包进行覆盖率测试,并计算得到测试覆盖率数据集误差为第二误差;
S4:判断所述第一误差和所述第二误差的均方根误差的差值绝对值是否大于预设覆盖率标准值;
若所述差值绝对值小于或等于所述预设覆盖率标准值,则对所述预测覆盖率数据集进行输出,若所述差值绝对值大于所述预设覆盖率标准值,则依次提高所述业务逻辑的细化程度对分包处理后得到的各个分包进行再分包处理,并循环执行S2-S4直至所述差值绝对值小于或等于所述预设覆盖率标准值。
优选的,采用以下公式计算得到所述第一误差:
Y P=t1x[第一分包别名]+t2x[第二分包别名]+…+tnx[第n分包别名]+E
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710930604.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基准电路及芯片
- 下一篇:显示装置的驱动方法及显示装置