软件测试覆盖率分析ppt,[计算机软件及应用]测试覆盖率.ppt

[计算机软件及应用]测试覆盖率

软件测试概论之测试覆盖率 其它覆盖率 继承上下文覆盖 继承上下文覆盖提供了一个可替代的度量定义,它考虑在每个类的上下文内获得的覆盖率级别。继承上下文定义把基类上下文内例行程序的执行作为独立于继承类上下文内例行程序的执行。同样,它们在考虑继承上下文内例行程序的执行也独立于基类上下文内例行程序的执行。为了获得100%继承上下文覆盖,代码必须在每个适当的上下文内被完全执行。 什么是上下文? 就是环境,在多任务系统中,当一个任务的时间片段结束时,需要保存该任务当前的上下文,也就是运行的环境,以便下次该任务接着继续执行。 其它覆盖率 基于状态的类的覆盖率特点 int better_test_driver() { BoundedStack stack(2); stack.push(3); //push() when empty stack.push(1); //push() when partially-full try { stack.push(9);} //push() when full catch (BoundedStack::overflow) { } //expected to throw stack.pop(); //pop() when full stack.pop(); //pop() when partially-full try { stack.pop();} //pop() when empty catch (BoundedStack::underflow) { } //expected to throw // destructor called implicitly at end of block }; 其它覆盖率 基于状态的上下文覆盖 基于状态的上下文覆盖把一个状态上下文内的一个例行程序的执行认为是独立于另一个状态内相同例行程序的执行。为了达到100%的基于状态的上下文覆盖,例行程序必须在每个适当的上下文(状态)内被执行。 基于状态的上下文覆盖率=(累加每个状态内执行到的方法数)/(状态数×类内方法总数) 其它覆盖率 函数覆盖 有很多测试工具,例如TrueCoverage,PureCoverage等,都提供了函数覆盖的概念,函数覆盖是针对系统或一个子系统的测试的,它表示在该测试中,有哪些函数被测到了,其被测试到的频率有多大,这些函数在系统所有函数中占的比例有多大。函数覆盖是一个比较容易自动化的技术。 函数覆盖=(至少被执行一次的函数数量)/(系统中函数的总数) 缺陷: 有些很大型的函数,只有其中一小部分被执行时,也算作被执行了 * * 学习目标 掌握各种测试覆盖率的含义 能计算各种测试覆盖率 理解覆盖率在白盒测试中所起的作用 课程内容 覆盖率概念 逻辑覆盖率 其它覆盖率 覆盖率概念 覆盖率概念 覆盖率是用来度量测试完整性的一个手段。覆盖率是测试技术有效性的一个度量。 覆盖率=(至少被执行一次的item数)/ item的总数 覆盖率大体可以分为两大类:逻辑覆盖和功能覆盖。 测试用例设计不能一味追求覆盖率,因为测试成本随覆盖率的增加而增加 白盒 黑盒 逻辑覆盖率 逻辑覆盖主要类型 语句覆盖 判定覆盖 条件覆盖 判定—条件覆盖 路径覆盖 逻辑覆盖率 语句覆盖率 语句覆盖(Statement Coverage)的含义是,在测试运行被测程序后,程序中被执行到的可执行语句的比率: 语句覆盖率=(至少被执行一次的语句数量)/(可执行的语句总数) 根据对语句的理解,有两种计算结果: 语句包含所有语句 语句不包括分支语句 一种说法是所有语句; 一种说法是去掉分支语句(如:if-else、switch-case、do-while、for); 还有一种说法是有效语句(声明语句不算) 逻辑覆盖率 语句覆盖率 在测试时,首先设计若干个测试用例,然后运行被测程序,是程序中的每个可执行语句至少执行一次 A=2 B=0………

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值