大家好,又见面了,我是你们的朋友全栈君。
白盒测试方法与黑盒测试方法简析
白盒测试方法的逻辑覆盖法
一、语句覆盖
- 运行测试用例保证被测程序的每一条语句至少执行一次。
二、判定覆盖
- 判定覆盖也称为分支覆盖。
- 运行测试用例保证被测程序的每一个判断的真假分支都至少执行一次。
三、条件覆盖
- 运行测试用例保证被测程序的每一个判断的每个条件的所有可能取值至少执行一次。
四、判定-条件覆盖
- 运行测试用例保证被测程序的每一个判断的每个条件的所有可能取值至少执行一次, 同时每个判断本身所有可能结果也至少执行一次。
五、条件组合覆盖
- 运行测试用例保证被测程序的每一个判断的每个条件各种可能的组合都至少执行一次。
六、路径覆盖
- 路径覆盖:运行测试用例保证被测程序的每一条可能的路径至少执行一次。
七、不同标准覆盖之间的关系
- 判定覆盖、条件覆盖和判定-条件覆盖、条件组合覆盖的关系
针对
a>=0 && b<0
有如下讨论:- 判定覆盖:① a = 1 , b = − 1 a=1,b=-1 a=1,b=−1 ;② a = 1 , b = 1 a=1,b=1 a=1,b=1 。
- 条件覆盖:① a = 1 , b = 1 a=1,b=1 a=1,b=1 ;② a = − 1 , b = − 1 a=-1,b=-1 a=−1,b=−1 。
- 判定-条件覆盖:① a = 1 , b = − 1 a=1,b=-1 a=1,b=−1 ;② a = − 1 , b = 1 a=-1,b=1 a=−1,b=1 。
- 条件组合覆盖:① a = 1 , b = − 1 a=1,b=-1 a=1,b=−1 ;② a = − 1 , b = 1 a=-1,b=1 a=−1,b=1 ; ③ a = 1 , b = 1 a=1,b=1 a=1,b=1 ;④ a = − 1 , b = − 1 a=-1,b=-1 a=−1,b=−1 。
- 实现路径覆盖的测试用例集一定实现了语句覆盖、判定覆盖。
- 实现判定覆盖的测试用例集一定实现了语句覆盖。
黑盒测试
一、黑盒测试的基本概念
- 黑盒测试也称功能测试,通过测试来检测每个功能是否都能正常使用。
- 测试中把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试。
- 只检查程序功能是否按照需求规格说明书的规定正常使用, 程序是否能适当地接收输入数据而产生正确的输出信息。
- 黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
二、等价类划分
- 等价类划分法是一种黑盒测试的技术。
- 不考虑程序的内部结构,把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
三、边界值分析法
- 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
- 通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
- 设计测试用例时候,边界值分析法是用得最多的一种黑盒测试方法。
四、因果图法
- 适合于检查程序输入条件的各种组合情况。
- 如果在测试时必须考虑输入条件的各种组合,可能的组合数将是天文数字。 因此必须考虑使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例,这就需要利用因果图。
- 因果图方法根据输出对输入的依赖关系设计测试用例。
五、功能图法
六、错误推测法
- 凭经验或直觉推测可能的错误,列出程序中可能有的错误和容易发生错误的特殊情况,选择测试用例的测试方法。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/189084.html原文链接:https://javaforall.cn