首页 > 编程知识 正文

白盒测试最强的逻辑覆盖(白盒测试是基于覆盖的测试)

时间:2023-05-04 22:15:48 阅读:67151 作者:616

白盒测试主要检查程序的内部结构、逻辑、循环和路径。 常用的测试用例设计方法如下。

逻辑展望:以程序的内部逻辑结构为基础,分为语句展望、判定展望、条件展望、判定-条件展望、条件组合展望等。

语句封面:

语句覆盖法的基本思想是设计几个测试用例,运行被测试程序,使程序中每个可执行语句至少运行一次

如果是顺序结构,就是让测试从头到尾运行

如果存在分支、条件和循环,则必须使用以下方法执行足够的测试以覆盖所有语句

【优点】:不用细分各判定式,就可以从源代码中直观地得到测试用例。

【缺点】:该测试方法只针对程序逻辑中明确存在的语句,因此不能对隐藏条件进行测试。 多分支的逻辑运算不能全面考虑。 语句覆盖是最弱的逻辑覆盖。

判定掩饰

设计一些用例,运行受测程序,使程序中每个判断的真和假分支至少经历一次。 即,判断为满足了真伪的值。 因为一个判定往往表示程序的一个分支,所以判定盖也称为分支盖。

【优势】:判定盖比语句盖具有更强的测试能力。 同样,判定盖也具有与语句盖同样的简单性,不用针对每个判定进行细分就能够得到测试用例。

【缺点】:判断语句往往由多个逻辑条件组合而成,如果只判断最终的整体结果,而忽视每个条件的取值方法,必然会忽略部分测试路径。 判断覆盖还是弱逻辑覆盖。

用条件涵盖

设计几个测试用例,运行被检查程序后,在每个判断中至少满足一次每个条件的可能值。

这涵盖了判定m的n个分支和判定n的y个分支。

【优势】:对条件判断情况的测试增加,测试路径增加。

【缺点】:条件涵盖不一定包括判定涵盖。 例如,刚才设计的用例不复盖判断m的y分支和判断n的n分支。 条件涵盖只是确保每个条件至少为真一次,而不考虑所有判定结果。

判定条件涵盖

判定-条件涵盖是判定和条件涵盖的设计方法的交集,即设计足够的测试用例以使得所有判定条件的条件可能取值执行至少一次,同时所有判定的可能结果至少执行一次。

判定-根据条件覆盖的要求,我们设计的测试用例必须满足以下条件。

1 .所有条件至少可取一次值;

2 .所有判断的可能结果至少执行一次。

【优势】:可同时满足判定、条件两个覆盖标准。

【缺点】:判定/条件涵盖标准的缺点是没有考虑条件的组合。

条件覆盖

设计足够的测试用例,以确保程序中确定的所有可能的条件值组合至少出现一次。

与条件覆盖的区别在于,不仅仅要求每个条件给出“真”和“假”两个结果,而是要求至少给出一次这些结果的所有可能组合。

根据条件组合涵盖的基本思路,前面的例子将每个判断中的所有条件组合起来,设计成组合条件如表所示,但我们设计的测试用例中包含所有组合条件。

【优势】:条件组合覆盖标准满足判定覆盖、条件覆盖和判定/条件覆盖标准。

【缺点】:线性地增加了测试用例的数量。

路径盖

设计所有测试用例,以覆盖程序中所有可能的执行路径。

【优势】:该测试方法可以对程序进行全面测试,覆盖面比前面五种更广。

【缺点】:需要设计大量复杂的测试用例,使工作量呈指数级增长,并不一定涵盖所有条件的组合。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。