软构实验知识补充:什么是代码覆盖率

本文介绍了代码覆盖率的基本概念,包括函数、指令、判断和条件覆盖率,以及如何在IntelliJ IDEA中利用Eclemma工具轻松检测覆盖率。通过实例演示了如何在test文件夹下运行测试以获取实时覆盖率报告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习内容:

关于代码覆盖率的相关知识与IDEA检测代码覆盖率的方法。


背景:

今天做软构lab2时需要在Eclipse下面使用Eclemma工具测试所谓的代码覆盖率。我对这个概念产生了一些好奇,于是做了一些调研。


基本概念:

代码覆盖率,也称为测试覆盖率,可衡量自动化测试执行的代码比例。

代码覆盖率工具针对特定的编程语言。 其使用一系列标准衡量覆盖率,包括代码行数、方法或函数、分支和条件。 您可以使用代码覆盖率工具识别代码库尚未被自动化测试覆盖的部分。

监测代码覆盖率指标有助于确保您保持足够的自动化测试水平。 如果代码覆盖率有所下降,则可能表明您没有将自动化测试作为编写新代码的核心要素。

然而,虽然代码覆盖率能够说明测试覆盖了多少代码,但它并不会指示这些测试的有效性或其能否解决所有故障模式。 将代码覆盖率与其他指标相结合,了解自动化测试体系的有效性。

以下列出一些基本的覆盖率准则:

函数覆盖率(Function coverage):有调用到程序中的每一个函数(或副程序)吗?

指令覆盖率(Statement coverage):若用控制流图表示程序,有执行到控制流图中的每一个节点吗?

判断覆盖率(Decision coverage):(和分支覆盖率不同)[5] 若用控制流图表示程序,有执行到控制程图中的每一个边吗?例如控制结构中所有IF指令都有执行到逻辑表达式成立及不成立的情形吗?

条件覆盖率(Condition coverage):也称为谓词覆盖(predicate coverage),每一个逻辑表达式中的每一个条件(无法再分解的逻辑表达式)是否都有执行到成立及不成立的情形吗?条件覆盖率成立不表示判断覆盖率一定成立。

条件/判断覆盖率(Condition/decision coverage):需同时满足判断覆盖率和条件覆盖率。

在我们这个实验中并没有要求手算覆盖率,只需要使用工具判断就好了。


IDEA判断覆盖率:

IDEA测试代码覆盖率特别简单!这里我们只需要在test文件夹下面右键,
run “…” as coverage即可。如下图:
在这里插入图片描述
运行后就会出现右上方的小块显示代码覆盖率!

使用IDEA节省了我们配环境的时间,哈哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值