软件测试覆盖率分析(测试粒度最细)-表达式(expressions)和决策结构

颗粒可视为测量单元。当我们说我们的软件被测试了50%,或者测试覆盖率是50%,这到底是什麽意思,因为软件有10个用例,50个场景,500个测试案例,10,000行代码,或者200,000个表达式?50% 的测试覆盖率可能指 5 个使用案例(十分之一)测试,但 5 个测试使用案例涵盖 10 种情况、30 个测试案例、8,000 行和 120,000 个表达式。

使用案例从使用者(参与者)的角度记录功能要求,通常包括主要的成功场景(又名基本或阳光日流量)和扩展场景(又名扩展、特殊、替代或雨天流)(如果有)。
https://ithelp.ithome.com.tw/upload/images/20210614/20132160UKZfOb2jzi.png
-从用例序列生成测试用例(图片来源:MJ Escalona

可根据使用案例场景开发测试方案,并由一个或多个测试案例支援。测试案例涵盖一个或多个通常跨越原始程序码行的软件功能。

一行代码可以容纳一个或多个计算机语言表达式和语句。例如,下图中的第一行有两个语句。
https://ithelp.ithome.com.tw/upload/images/20210614/20132160GpCPTaSy0C.jpg
-表达式和语句

参考
. 用例目标、场景和流程
. 源代码行
. 第5章–决策结构
. 为什麽测试覆盖率是软件测试的重要组成部分?
. 代码覆盖率
. 代码覆盖率分析
. 表达式与语句
. 表达式与语句(视频)

资料来源: Wentz Wu QOTD-20210329


<<:  Anaconda 环境建立、删除、备份与还原

>>:  C# Web API 502 Bad GateWay 问题排解

视觉化KBARS(1)

昨天完成ticks资料的视觉化之後, 我们下一个目标是k线图的实现, 具体会用到下面的工具, 一样是...

Day32 ATT&CK for ICS - Inhibit Response Function(4)

T0838 Modify Alarm Settings 攻击者修改设备的警告功能设定(如直接停止警告...

110/16 - 整合Android 6到Android 11

都把权限写完了,该来做个小整理,这次我们整合Android 6到Android 11,没有Andro...

[Day27] 监视股价 - Watcher

找到股价站上 20 周线只是第一步,不是一站上就会开始飙升,我还会搭配价位突破「箱型区间」,这个突破...

【设计+切版30天实作】|Day17 - Bootstrap的环境建立

大纲 要切版前当然是要先来建立环境,所以我们下一篇再来做客制化!那环境要怎麽建立?其实还蛮简单的!只...