黑盒测试设计--判定表法
作者:互联网
一. 方法简介
1.定义:判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。
2.判定表的优点
能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用判定表能够设计出完整的测试用例集合。
在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。判定表很适合于处理这类问题。
3、判定表有几个要素:
1)条件桩(Condition Stub):列出了问题得所有条件。通常认为列出的条件的次序无关紧要。
2)动作桩(Action Stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。
3)条件项(Condition Entry):列出针对它左列条件的取值。在所有可能情况下的真假值。
4)动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。
4、规则及规则合并
1)规则:任何一个条件组合的特定取值及其相应要执行的操作称为规则。在判定表中贯穿条件项和动作项的一列就是一条规则。显然,判定表中列出多少组条件取值,也就有多少条规则,既条件项和动作项有多少列。
2)化简:就是规则合并有两条或多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系。
5、判定表设计法举例:
书籍阅读指南中有以下建议:
如果觉得疲倦并且对书的内容感兴趣,不糊涂的话,回到本章重读
如果觉得疲倦并且对书的内容感兴趣,但糊涂的话,继续读下去
如果不觉得疲倦并且对书的内容感兴趣,但糊涂的话,回到本章重读
如果觉得疲倦并且对书的内容不感兴趣,但不糊涂,跳到下一章去阅读
如果觉得疲倦并且对书的内容不感兴趣,但糊涂的话,请停止阅读,休息
不疲倦,对书的内容感兴趣,书中的内容不糊涂,继续读下去
不疲倦,不感兴趣,书中内容糊涂,跳到下一章去读
不疲倦,不感兴趣,书中内容不糊涂,跳到下一章去读
s1:根据需求将条件桩、条件项、动作桩、动作项分别列出来
s2:根据化简规则对判定表进行化简:
只要觉得疲惫,那么其他两项就不再考虑,直接休息,所以上图1~4可以简化合并成一条
不疲惫且感兴趣时,无论是否糊涂,都直接休息,简化以后的测试用例如下:
|
1 |
2 |
3 |
4 |
|
问 题 |
你觉得疲倦吗? |
- |
- |
Y |
N |
你对内容感兴趣吗? |
Y |
Y |
N |
N |
|
书中内容使你胡涂吗? |
Y |
N |
- |
- |
|
建 议 |
请回到本章开头重读 |
x |
|
|
|
继续读下去 |
|
X |
|
|
|
跳到下一章去读 |
|
|
|
x |
|
停止阅读,请休息 |
|
|
x |
|
6、判定表的优点和缺点
I. 优点:它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。
II. 缺点:不能表达重复执行的动作,例如循环结构。
合并存在漏测的风险。一个显然易见的原因是,虽然某个输入条件在输出接口上是无关的,但是在软件设计上,内部针对这个条件走了不同的程序分支(因分析内部业务流程而定);输入和输出的逻辑关系,明确用判定表,不是很明了用因果图然后使用判定表。
7、适合使用判定表设计测试用例的条件:
①规格说明以判定表形式给出,或很容易转换成判定表。
②条件的排列顺序不会也不影响执行哪些操作。
③规则的排列顺序不会也不影响执行哪些操作。
④每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。
⑤如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要。
这5个必要条件的目的是为了使操作的执行完全依赖于条件的组合。其实对于某些不满足这几条的判定表,同样可以借以设计测试用例,只不过尚需增加其它的测试用例罢了。
标签:黑盒,规则,对书,判定,条件,操作,表法,糊涂 来源: https://www.cnblogs.com/andr/p/10777077.html