软件测试词典

首页

A

验收测试 可访问性测试 主动测试 实际结果 临时测试 老化测试 敏捷测试 全对测试 Alpha 测试 API 测试 Arc 弧测试 异常测试 断言测试 审计测试 自动化软件测试

B

向后兼容性测试 基线工件 基础路径测试 基础测试集 调试 行为测试 基准测试 Beta 测试 大爆炸测试 二进制可移植性测试 黑盒测试 自下而上测试 边界测试 分支测试 广度测试 Bug测试 构建验证 业务流程 业务需求

C

能力成熟度模型 捕获/重放工具 因果图 代码覆盖率 代码冻结 代码检查 代码审查 代码演练 基于代码的测试 代码驱动测试 无代码测试 比较测试 兼容性测试 合规性测试 并发性测试 条件覆盖测试 配置测试 一致性测试 上下文驱动测试 控制流路径 转换测试 正确性 覆盖项目 循环复杂度

D

数据完整性测试 数据驱动测试 数据流测试 数据库测试 调试 决策覆盖测试 缺陷 缺陷记录和跟踪 缺陷生命周期 Delta 发布 依赖性测试 深度测试 破坏性测试 开发环境 文档测试 域测试 耐久性测试 动态测试

E

模拟器 端到端测试 耐久性测试 准入标准 等价分区测试 错误 错误猜测 错误植入 详尽测试 退出标准 预期结果 探索性测试

F

故障转移测试 失败 故障 故障注入测试 可行路径 功能测试 功能分解 功能要求 功能测试 模糊测试 前端测试

G

玻璃盒测试 全球化测试 Gorilla 测试 灰盒测试 GUI 测试

H

测试工具 启发式测试 混合集成测试

I

实施测试 增量测试 独立测试 不可行路径 检查 安装/卸载测试 集成测试 接口测试 国际化测试 系统间测试 互操作性测试 隔离测试 问题

K

关键字驱动测试 关键绩效指标 已知问题

L

LCSAJ 测试 负载生成器 负载测试 本地化测试 逻辑覆盖率测试 循环测试

M

可维护性 手动测试 大型机测试 基于模型的测试 修改条件测试 模块化驱动测试 猴子测试 突变测试

N

负面测试 非功能性测试 非破坏性测试

O

操作测试 正交阵列测试

P

配对测试 成对测试 并行测试 部分测试自动化 被动测试 路径测试 同行评审 渗透测试 性能测试 试点测试 可移植性测试 积极测试 后置条件 前提条件 预测结果 优先级 流程周期测试 渐进式测试 原型测试

Q

质量保证 质量控制 质量管理

R

随机测试 恢复测试 回归测试 候选版本 发布说明 可靠性测试 需求测试 基于需求的测试 需求可追溯性矩阵 结果 重新测试 Review 审查 风险测试 风险管理 根本原因

S

安全性测试 健全性测试 可扩展性测试 场景测试 时间表 Scrum 测试 脚本 安全测试 模拟 冒烟测试 浸泡测试 峰值测试 软件需求规范 稳定性测试 状态转换 静态测试 统计测试 存储测试 压力测试 结构测试 结构化演练 存根 符号执行 语法测试 系统集成测试 系统测试 被测系统

T

技术评审 测试方法 测试自动化 测试基础 测试平台 测试用例 测试用例设计技术 测试套件 测试完成标准 测试完成报告 测试完成矩阵 测试数据 测试数据管理 测试驱动开发 测试驱动程序 测试环境 测试执行 测试管理 测试成熟度模型 测试计划 测试步骤 测试策略 测试工具 线程测试 自上而下的集成测试 全面质量管理 可追溯性

U

单元测试 无法访问的代码 可用性测试 用例测试 用户验收测试 用户界面测试

V

V 模型 验证测试 验证测试 虚拟用户 容量测试 漏洞测试

W

Web 应用程序测试 白盒测试 工作流测试

有用的资源

有用的资源 讨论


软件测试 - 代码覆盖率

软件测试是软件开发生命周期 (SDLC) 的一部分。它对确保软件的质量有很大的贡献。测试细分为各种类型的测试,如单元测试、系统测试、集成测试和验收测试,这些测试可以增加代码和测试覆盖率。

什么是代码覆盖率?

代码覆盖率是指白盒测试方法,用于测量软件所基于的代码的测试程度。这有助于交付高质量的软件并量化其验证程度。

不仅是测试人员,开发人员也同样有责任向客户提供高质量的软件。通过参考质量,软件的每个方面,包括性能、可维护性、可靠性、可用性、安全性等,都需要考虑。代码覆盖率由以下公式 − 确定

代码覆盖率 = (执行的行数)/
(为完整软件编写的行数)* 100

代码覆盖率标准

有多个代码覆盖率标准。它们列在 − 下方

块或语句的覆盖率

它确定从软件的完整代码中成功执行的语句或块的数量。块或语句的覆盖率可以使用以下公式 − 来测量

语句覆盖率 = (执行的语句数)/
(总语句数)* 100

分支或决策的覆盖率

它确定了从软件的完整代码中成功执行的决策或分支结构的数量。 分支或决策的覆盖率可以使用以下公式 − 来测量

分支覆盖率 = (获得的决策或分支结果数)/
(软件代码中的总决策或分支结果数)* 100

函数的覆盖率

它确定了从软件的完整代码中调用并执行至少一次的函数的数量。函数的覆盖率可以使用以下公式 − 来测量。

函数覆盖率 = (调用的函数数)/(总函数数)* 100

条件覆盖率

它确定条件语句中执行的布尔条件的数量。条件的覆盖率可以使用以下公式 − 来测量。

条件覆盖率 = (执行的操作数数)/(总操作数数)* 100

代码覆盖率的优势

代码覆盖率的优势如下 −

  • 代码覆盖率是为了确保交付的产品具有最佳质量和性能。
  • 代码覆盖率有助于衡量代码的测试和执行程度。
  • 代码覆盖率有助于维护开发的软件代码。
  • 代码覆盖率通过识别死代码、无用代码、坏代码等来帮助代码重构。
  • 代码覆盖率除了新的测试用例外,还提供指导,以提高代码覆盖率。
  • 代码覆盖率有助于创建更有效的测试用例。
  • 代码覆盖率可检测未被发现的缺陷。

代码覆盖率的缺点

代码覆盖率的缺点如下 −

  • 代码覆盖率有时无法覆盖软件的每一行代码。
  • 代码覆盖率无法确认所有功能和软件的功能已经得到验证。
  • 对于某些场景,需要更多输入或数据组合来覆盖测试用例。
  • 开发人员需要精通单元测试用例创建,以接触软件代码的每个场景。

为什么要进行代码覆盖?

代码覆盖通常由开发人员在单元测试时完成。由于开发人员自己为他们开发的代码创建测试,因此他们可以以更好的方式对其进行测量。他们决定是否需要在单元测试级别添加更多测试。

随着越来越多的功能添加到软件中,需要重新访问、更新和添加单元测试。同时,无论产品开发得有多大,都必须遵循标准。代码覆盖率可以检查整个开发过程中包含的代码质量。

代码覆盖率指标的良好测量意味着未检测到错误的概率较低。设置阈值代码覆盖率值,以确定所交付的软件是否适合部署在生产环境中。

代码覆盖率和测试覆盖率之间的差异

代码覆盖率和测试覆盖率之间的差异列于下方 −

执行测试覆盖率的唯一目的是验证所开发的代码是否按预期工作。但执行代码覆盖率是为了量化测试过程中成功执行的代码行总数。

测试覆盖率主要用于测试驱动的开发方法。

测试覆盖率在 SDLC 的初始阶段采用,重点是检查基本功能是否已正确实现。但是,随着我们进入 SDLC 的后期阶段,复杂性增加,通常采用代码覆盖率来验证代码的每个角落是否都经过了测试。

根据测试要求和采用的策略,代码或测试覆盖率的选择因项目而异。但是,根据项目需求平衡地使用测试覆盖率和代码覆盖率指标有助于从两者中获得最佳收益。

不同的代码覆盖率工具

下面列出了不同的代码覆盖率工具 −

Sr.No 工具名称和说明
1

Cobertura

这是一款免费使用的代码覆盖率工具。它分析测试套件运行时执行了哪些代码行,哪些代码行没有执行,并通过检测代码库来估计测试覆盖率。

2

Clover

Clover 还通过仅执行覆盖自上次构建以来已更改的应用程序代码的测试来缩短测试时间。

3

DevPartner

开发人员可以使用 DevPartner 检查 Java 代码的代码质量和复杂性。

4

Emma

EMMA 提供类、方法、行和基本块级别的覆盖率,以及在聚合源文件、类和方法级别。

5

Kalistick

Kalistick 是一个第三方应用程序,可从多个角度检查代码。

6

CoView 和 CoAnt

Coding Software 是一种代码覆盖率工具,可用于度量、模拟对象创建、代码可测试性以及路径和分支覆盖率等。

7

Bullseye for C++

BulseyeCoverage 是一种 C++ 和 C 代码覆盖率工具。

8

Sonar

Sonar 是一个开源代码覆盖工具,有助于代码质量管理

结论

至此,我们对软件测试代码覆盖率教程的全面介绍就到此结束。我们首先描述了软件测试中的代码覆盖率是什么、软件测试中的代码覆盖率标准是什么、软件测试中的代码覆盖率的优点和缺点是什么、为什么要进行代码覆盖、代码覆盖率和测试覆盖率之间的区别是什么,以及不同的代码覆盖率工具有哪些。

这使您具备了软件测试代码覆盖率的深入知识。明智的做法是继续练习您学到的知识并探索与软件测试相关的其他知识,以加深您的理解并拓展您的视野。