如何使用 C++test 工具满足逻辑覆盖?

如何使用 C++test 工具满足逻辑覆盖?
逻辑覆盖
逻辑覆盖是白盒测试的一种覆盖标准。白盒测试法的覆盖标准有逻辑覆 盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件 覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。
先介绍一下parasoft的C++工具吧:
Parasoft C++test 是美国公司 Parasoft 开发的一款专业白盒测试工具。 C++test 能够使团队开发更好的代码,实施更有效的测试,以及持续地监视实现 其质量目标的过程。使用 C++test 经时间验证的重要最佳实践–例如静态分析, 全面的代码审查,运行时错误检测,集成覆盖率分析的单元测试和组件测试能 够在开发周期的开始阶段,自动地在开发者的桌面上完成。能够通过命令行模 式自动化地执行回归和持续集成测试,为监测和分析质量趋势提供数据。针对 嵌入式和跨平台开发,C++test 可以用在基于宿主环境和目标环境的代码分析和测试流程中。
C++test 覆盖率类型
行覆盖
定义:指出多少源码的可执行行受控制流影响至少一次。如果所有可执行行受到影响至少 一次,将会获得完全的 100% 行覆盖率。
在这里插入图片描述
语句覆盖

定义:表示有多少可执行源代码语句是控制流至少一次能过到达的。如果所有的可执行语句至少到达一次,将获得 100% 语句覆盖率。
在这里插入图片描述
块覆盖

定义:与行覆盖率类似(除了带有块覆盖率的测量代码单元是一个基本块), 表示源码中有多少基本块受到控制流影响至少一次。
在这里插入图片描述
路径覆盖

定义:表明是否一个给定的函数中每条可能的路径随后有控制流。
在这里插入图片描述
判断(分支)覆盖

定义:表明源码中有多少分支控制流通过。当每一个判决在所有的分支点取得 所有可能的结果至少一次时,可获取完整的,100% 覆盖。
在这里插入图片描述
修正的条件/判断覆盖(MC/DC)

定义:MC/DC 与国际技术标准 DO-178B (RTCA) 一致,此标准详细说明了软 件证明的标准,包括实时嵌入式系统,危急任务设施和航空工业的系统。根据 DO -178B 标准必需满足下面三个条件才能获得全部的 (100%) MC/DC 覆盖 率:
a) 每个判断至少有一次已经产生所有可能的结果
b) 判断中的每一个条件至少有一次已经产生所有可能的结果。
c) 判断中每一个条件已经证明独立地影响判断结果。
由于 C++test 认为每一个条件和判断可能只有两个 MC/DC 覆盖率的结果–真或 假 – C++test 只检查上面刚刚列出的第三个选项(c),因为(c)中暗含条件
(a)和(b)。 通过改变一些特殊条件,又固定所有其他可能的条件,来证明这种条件能
够独立地影响判决结果,因此,为了测试某个给定的条件,C++test 在下面这 些地方寻找测试用例:
 测试条件有真和假两种结果
 判断中的其他情况不改变(或者 C/C++ 中的算子逻辑短路)
 判断结果发生改变
因此,为了计算 MD/DC 率,C++test 使用下面的公式:MC/DC = m/n,这 里 m 指独立影响判决结果的布尔条件数,n 指判决中条件的总数。
在这里插入图片描述
简单条件覆盖

定义:指明所有判断条件的结果覆盖率。判断结果的总数等于 2 * n,这里 n 指 判断条件的数目。因此,为了获取 100%的覆盖面,所有的条件必需获得所有可 能的结果。
在这里插入图片描述
函数覆盖

定义:一次执行后源码中有多少函数被至少执行了一次。如果所有的函数都至 少执行了一次,那么覆盖率就可以达到 100% 。

通过以上分析和说明,可以看到作为白盒测试的专业工具 Parasoft C++test
完全支持和满足逻辑覆盖的要求

一、 实验目的 1. 通过实验掌握白盒测试中动态测试的主要方法之一:逻辑覆盖测试; 2. 掌握逻辑覆盖测试的5种主要类型:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖和条件组合覆盖; 3. 理解上述5种逻辑覆盖测试的充分性和相互关系。 二、 实验原理 逻辑覆盖是白盒测试中动态测试的主要方法之一,是以程序内部的逻辑结构为基础的测试技术,是通过对程序逻辑结构的遍历实现程序的覆盖,这种方法要求测试人员对程序的逻辑结构有清楚的了解。 依据覆盖源程序的详细程度,逻辑覆盖主要包括以下几类: 1.语句覆盖:设计若干测试用例,运行被测试程序,使得每一条可执行语句至少执行一次; 2.判断覆盖:设计若干测试用例,运行所测程序,使程序中每个判断的取真分支和取假分支至少执行一次; 3.条件覆盖:设计足够多的测试用例,运行所测程序,使程序中每个判断的每个条件的每个可能取值至少执行一次; 4.判断/条件覆盖:设计足够多的测试用例,运行所测程序,使程序中每个判断的每个条件的每个可能取值至少执行一次,并且每个可能的判断结果也至少执行一次; 5.条件组合覆盖:设计足够多的测试用例,运行所测程序,使程序中每个判断的所有可能的条件取值组合至少执行一次。 三、 主要软件工具 1.VC++6.0; 2.VISIO等绘图软件工具
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值