1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 软件测试 黑盒白盒测试方法总结

软件测试 黑盒白盒测试方法总结

时间:2019-05-04 14:51:13

相关推荐

软件测试 黑盒白盒测试方法总结

白盒测试-语句覆盖

设计测试用例,让程序的每个可执行的语句都执行一次。在分支处通过不同的用例,让分支的有执行的方向都执行过都执行过。这里需要注意,是让语句去执行,下图中之所以说1-2-4是完全语句覆盖,是因为在分支3和5是没有语句的,走这两个分支没有语句执行,所以并不算语句覆盖。

白盒测试-判定覆盖(分支覆盖)

设计测试用例,让每个判断分支的位置,正确和错误都经历过一次,或者说分支的每个方向都经历过一遍

判定覆盖的选择比较简单,可以设计用例,让所有的分支都走正确的分支,再设计测试用例让所有分支都走错误的分支。只要满足所有分支的所有选择都经历过至少一次即可。

白盒测试-条件覆盖

针对于判定条件是复合条件的情况,比如A&&B这个判定条件,当A不成立B成立时复合后为不成立,A成立B不成立复合后也为不成立,但这两个情况在条件覆盖时并不相同。条件覆盖是让复合条件的每个子条件都经历过至少一次

白盒测试-判定条件覆盖

这种方法是判定覆盖和条件覆盖的交集,通过设计测试用例,让所有的条件执行一次而且所有的判断的子条件也要执行一次。简便方法是让所有的取值条件都成立做一条测试用例,再让所有的取值条件都不成立做一条测试用例,这样就可以同时满足判定覆盖也同时满足条件覆盖。

白盒测试-条件组合测试

通过设计测试用例,使得每个判断中每个条件的所有可能组合至少出现一次。可以将每个判断条件的取值分开写,再设计用例进行组合。还是用A&&B的例子,可能的所有组合为A成立B成立,A不成立B成立,A成立B不成立,A不成立B不成立,设计用例让这四个情况都经历过一次就称为条件组合测试。

白盒测试-路径覆盖

设计测试用例,来覆盖程序中的所有可能的执行路径。所谓执行路径,就是在分支的情况下,让分支的组合都经历过一次,这种方法很可能产生的测试特别麻烦,所以一般不用。比如如果有两个分支,分别记作A和B,共有四个路径,A成立B成立,A不成立B成立,A成立B不成立,A不成立B不成立,需要让这四个组合都经历一遍。

白盒测试-基本路径测试

由于路径覆盖可能会相当麻烦的原因,采用简化版的基本路径测试,即采用条件组合和路径覆盖组合的方式设计测试用例。基本路径测试并不是测试所有路径的组合,仅仅保证每条基本路径被执行一次。这种方法很像判定覆盖,区别在于,判定覆盖在最少情况下,只需要两个测试用例即可满足(全成立和全不成立),但是基本路径测试不行,测试用例数最小为圈复杂度的值,即分支点数+1,简单来说就是if-else的数目加一,找测试用例时先根据代码画出流图,根据流图,从头开始写,每次反转最前面的分支的选择,最后即可得出所有的基本路径,再根据这个基本路径确定测试用例。

如图所示,分至点为1,2,6三个点,所以基本路径有四条。第一个分支处如果选择左侧方向,得到的是路径1,反转后走向右侧方向,再到2的分支,同样道理先走左侧即6,一直同理走下去会得到路径4,再反转最前面的分支2,得到的是路径2,再反转分支6,得到的是路径3。这样就得到了四条用于基本路径测试的基本路径,再根据不同路径的条件设计测试用例即可。

白盒测试-总结

语句覆盖是让程序的所有语句都能执行一次

判定覆盖是让程序中每个分支的不同方向都经历过一次

条件覆盖是让每个分支的判断条件中的每个子条件都经历过一遍

判定条件覆盖是条件覆盖的进一步,在条件判断的基础上还要满足判定覆盖

条件组合测试是让所有分支的子条件的可能组合都经历过一遍

路径覆盖时让程序执行的可能路径都走一遍,类似于判定覆盖和语句覆盖的结合

基本路径测试是路径覆盖的简化版,让所有的基本路径经历过一遍即可

黑盒测试-等价类划分法

等价类划分法就是解决如何选择适当的数据子集来代表整个数据集的问题,通过降低测试的数目去实现“合理的”覆盖,覆盖了更多的可能数据,以发现更多的软件缺陷。即对于同一类的测试用例选择一个即可,不需要过多的同类测试,而是要尽可能满足多个测试类别的覆盖。测试过程主要是两步:分类和抽象。分类时要将输入域按照相同的特性划分为一类,而抽象则是用实例来表现自己上一步抽象出的类,即先划分类之后给类写测试用例。

黑盒测试-边界值分析法

边界值分析法就是在某个输入输入变量范围的边界上,验证系统功能是否正常运行的测试方法。这个测试主要是测试在边界情况的结果是否符合设计,设计的关键在于找到边界,在边界上稍作修改。

黑盒测试-错误推测法

错误推测法是基于经验和直觉推测程序中所有可能存在的各种情况,从而有针对性的设计,列出测试用例的方法。错误推测法基于这样一个思想,在某处发现了缺陷,则可能隐藏更多的缺陷。在实际操作中列出所有可能出现的错误和容易发现错误的地方,然后语句测试者经验做出选择。

Ps:程序员来根据直觉测试某个位置

黑盒测试-因果图法与判定表

因果图法借助图形,着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出结果,这就是“果“。因果图是一种形式化的图形语言,由自然写成的规范转换而成,这种形式化的语言实际上一种简化记号表示数组逻辑图,不仅能发现输入输出中的错误,还能指出程序规范中的不完成性和二义性。因果图方法最终生成的就是判断表,它适合于检查程序输入条件的各种组合情况。使用因果图,更像是用图形画出整个代码的逻辑结构,利用逻辑结构去设计测试用例。

黑盒测试-功能图法

功能图法是用功能图形式化地表示程序的功能说明,并机械地生成功能图的测试用例,可以看作黑盒测试和白盒测试的结合。功能图模型由状态迁移图和逻辑功能模型构成。状态迁移图用状态和迁移来描述:一个状态指出数据输入的位置,而迁移则指明状态的改变,同时要依靠判定表或因果图表示的逻辑功能。

根据状态迁移图画出状态迁移树:

黑盒测试-总结

在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试人员进行直接测试,检查系统功能是否按照需求规格说明书的规定正常使用、是否能适当的接收输入数据而输出正确的结果等,检查相应的文档是否采用了正确的模板、是否满足规范需求。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。