当前位置:文档之家› 用例设计方法白盒测试优秀课件

用例设计方法白盒测试优秀课件

判定-条件覆盖就是设计足够的测试用例,使得判断中每 个条件的所有可能取值至少执行一次,同时每个判断的所 有可能判断结果至少执行一次,即要求各个判断的所有可 能的条件取值组合至少执行一次。
优点:满足判定覆盖准则和条件覆盖准则,弥补了二者的 不足。
缺点:主要对整个表达式的最终取值进行度量,忽略了表 达式的内部取值。 即只考虑了各种条件的结果,没有考 虑条件的组合情况。
见教材P35例子
语句覆盖率:已执行的可执行语句/程序中可执行语句总 数
缺陷:不是最重要的衡量指标,无法发现循环条件的错误 以及循环次数存在的问题。
判定覆盖
判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的 取真分支和取假分支至少经历一次。又称为分支覆盖。
【优点】 判定覆盖具有比语句覆盖更强的测试能力,而且具有和语句 覆盖一样的简单性,无需细分每个判定就可以得到测试用例。
覆盖率测试是白盒测试的重点,一般可使 用基本路径测试法达到语句覆盖标准;对 于软件的重点模块,应使用多种覆盖率标 准衡量代码的覆盖率;
在不同的测试阶段,测试的侧重点不同: 在单元测试阶段,以代码检查、逻辑覆盖 为主;在集成测试阶段,需要增加静态结 构分析、静态质量度量;在系统测试阶段, 应根据黑盒测试的结果,采取相应的白盒 测试。
用例设计方法白盒 测试
白盒测试方法
A、逻辑覆盖法 B、路径测试法 C、代码检查 D、白盒测试综合策略
A 逻辑覆盖法
◦ 语句覆盖 ◦ 判定覆盖 ◦ 条件覆盖
◦ 判定-条件覆盖 ◦ 条件组合覆盖 ◦ 路径覆盖
语句覆盖
语句覆盖就是设计若干个测试用例,运行被测程序,使得 每一可执行语句至少执行一次。
C、代码检查
代码审查的主要内容包括: (1)编码规范问题 (2)代码结构问题:重复代码、分层不当、耦合紧 (3)实现问题:错误验证、异常处理、线程安全性问
题、安全问题等 (4)测试问题:测试覆盖度、可测试性
代码走查:与代码检查相似,测试人员带来书面的 测试用例,每个测试用例在会议中,在每个人的头 脑中进行逻辑推演,即把测试数据沿着程序的逻辑 结构走一遍,发现错误。
设计大量、复杂的测试用例,使得工作量呈几何级数增长
3.2 基本路径测试(自学) 3.3 循环测试(自学)
C、代码检查
静态测试包括代码检查、静态分析两种途径,由人 工进行。
代码检查包括:桌面检查、代码审查、代码走查和 技术评审等,主要检查代码设计的一致性、代码是 否遵循标准性和可读性、代码逻辑表达的正确性, 以及代码结构的合理性。
D、白盒测试综合策略
在白盒测试中,可以使用各种测试方法的综合测试 如下所示:
◦ 在测试中,应尽量先用工具进行静态结构 分析。
◦ 测试中可采取先静态后动态的组合方式: 先进行静态结构分析、代码检查和静态质 量度量,再进行覆盖率测试。
白盒测试综合策略
利用静态分析的结果作为引导,通过代码 检查和动态测试的方式对静态分析结果进 行进一步的确认,使测试工作更为有效。
条件组合覆盖
条件组合覆盖就是设计足够的测试用例,运行被测程序, 使得每个判断的所有可能的条件取值组合至少执行一次。
优点:是多重条件覆盖,不仅满足判定覆盖、条件覆盖也 满足判定/条件覆盖。
缺点:测试用例过多
路径覆盖
路径测试就是设计足够的测试用例,覆盖程序中所有可能 的路径。
彻底的测试,比前面五种测试方法都覆盖面广
条件覆盖
条件覆盖就是设计若干个测试用例,运行被测程序,使得 程序中每个判断的每个条件的可能取值至少执行一次。
优点:比判定覆盖增加了对符合判定情况的测试,增加了 测试路径。
缺点:测试用例足够多,但不能保证判定覆盖,条件覆盖 只能保证每个条件至少有一次为真,而不能考虑所有的判 定结果。
判定-条件覆盖
【缺点】 往往大部分的判定语句是由多个逻辑条件组合而成(如,判 定语句中包含AND、OR、CASE),若仅仅判断其整个最终结果, 而忽略每个条件的取值情况,必然会遗漏部分测试路径。
例如:
int a,b;
பைடு நூலகம்
if(a || b)
执行语句1
else
执行语句2
要达到这段程序的判断覆盖,我们采用测试用例:1)a = true , b = true ;2)a = flase, b = flase
相关主题