| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 阿里软件测试工程师强烈推荐—免费开源神器,赋能精准测试 -> 正文阅读 |
|
[开发测试]阿里软件测试工程师强烈推荐—免费开源神器,赋能精准测试 |
? 如何衡量测试结果的充分性、有效性和可信度,需要测试人员不断探索和实践。作为一种客观的度量,代码覆盖率在单元测试中被广泛使用,但在系统测试中却很少使用。这时候JaCoCo派上了用场。将代码覆盖率统计应用到功能测试中,用JaCoCo的代码覆盖率报告验证测试工作是否充分有效。 ? 一、什么是 JaCoCo JaCoCo 是一个免费、开源 Java 代码覆盖率工具。 二、什么是代码覆盖率覆盖率是用来衡量测试代码对功能代码的测试情况,通过统计测试代中对功能代码中行、分支、类等模拟场景数量,来量化说明测试的充分度。代码覆盖率 = 代码的覆盖程度,一种度量方式。 简单来说,覆盖率:运行了一个测试用例,执行了项目代码中的哪些模块、文件、类、方法和行。 其中,行覆盖率是最细的粒度,其他覆盖率可以从行覆盖率计算出来。 1. 行覆盖当至少一个指令被指定源码行执行时,该源码行被认为已执行。 2. 类覆盖当一个类至少有一个方法已执行,则该类被认为已执行,包括构造函数和静态初始化方法。 3. 方法覆盖当方法中至少有一个指令被执行,该方法被认为已执行,包括构造函数和静态初始化方法。 4. 分支覆盖if 和 switch 语句算作分支覆盖率,这个指标计算一个方法中的分支总数,并决定已执行和未执行的分支的数量。 5. 指令覆盖指令覆盖最小单元是 Java 字节码指令,指令覆盖率提供了代码是否被执行的信息,它为执行/未执行代码提供了大量的信息。 6. 圈复杂度在(线性)组合中,计算在一个方法里面所有可能路径的最小数目。可以作为度量单元测试是否完全覆盖所有场景的一个依据。 三、代码覆盖率意义分析未覆盖部分的代码,反推测试设计是否充分,没有覆盖到的代码是否存在测试设计盲点。 四、覆盖率的误区若代码如下:
覆盖两个分支只需 i == 101 和 i == 1 ,但对于找到 i == -2 没有作用。 所以:
五、JaCoCo 原理JaCoCo 使用插桩的方式来记录覆盖率数据,是通过一个 probe 探针来注入。 1. on-the-fly 模式
2. offline 模式
3.on-the-fly 和 offline 对比on-the-fly 更方便简单,无需提前插桩,无需考虑 classpath 设置问题。
评论区说说 今天的小知识学会了吗? 是不是非常实用呢~ 需要资料的就在文末留言111吧 |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 4:35:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |