黑盒测试

测试用例选择

  1. 为每一个等价类规定一个唯一编号;
  2. 设计一个新的测试用例,使其尽可能多地覆盖 尚未被覆盖的有效等价类,重复这一步,直到 所有的有效等价类都被覆盖为止;
  3. 设计一个新的测试用例,使其仅覆盖一个尚未 被覆盖的无效等价类,重复这一步,直到所有 的无效等价类都被覆盖为止

image-20220309134921110

分类

是否是三角形的三条边

等价类

A>0

B>0

c>0

A+B>C

B+C>A

A+C>B

非等价类

A<=0

B<=0

C<=0

A+B<=C

是否等腰

等价类

A=B

B=C

C=A

非等价类

A!=B!=C

是否等边
等价类

A=B=C

非等价类

A!=B

B!=C

C!=A

边界值分析法(单缺陷假设)

比最大值稍微小一点,比最小值稍微大一点

image-20220309140314690

健壮性测试:(再多两个点)

比最大值稍微大一点,比最小值稍微小一点

image-20220309140305899

最坏情况测试:

多变量取极值的情况

image-20220309140255646

健壮最坏情况测试

最坏情况取超边界情况

image-20220309140405550

错误推测法

根据经验推测

简单有效,但系统性差,是其他的补充

判定表法

判定表是一种用来表示和分析复杂逻辑关系的工具,最适 合描述在多个逻辑条件取值的组合所构成的复杂情况下, 分别要执行哪些不同的动作。

条件桩(Condition Stub):列出了问题的所有条件。通常认为列出的条件的次序无关紧要。

动作桩(Action Stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。

条件项(Condition Entry):列出针对它所列条件的取值,在所有可能情况下的真假值。

动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作

例子

“……对于功率大于50马力的机器,并且维修记录不全或已运行 10年以上的机器,应给予优先的维修处理……

(1)列出所有的条件桩和动作桩

– 条件桩 C1:功率大于50马力吗? C2:维修记录不全吗? C3:运行超过10年吗?

– 动作桩 A1:进行优先处理 A2:做其他处理

(2)确定规则个数

– 输入条件个数:3

– 每个条件的取值:“是”或“否”

– 规则个数:222 =8

image-20220309143736908

image-20220309143751694

因果图法

从用自然语言书写的程序规格说明 的描述中找出因(输入条件)和果(输出或程序状态的改 变),通过因果图转换为判定表

基本步骤

  1. 分析软件规格说明描述中,哪些是原因(即输入条件或输入 条件的等价类),哪些是结果(即输出条件),并给每个原因和 结果赋予一个标识符。

  2. 分析软件规格说明描述中的语义,找出原因与结果之间,原 因与原因之间对应的关系,根据这些关系,画出因果图

  3. 由于语法或环境限制,有些原因与原因之间,结果与结果之 间的组合情况不可能出现。为表明这些特殊情况,在因果图上用 一些记号标明约束或限制条件

  4. 把因果图转换成判定表。

  5. 把判定表的每一列拿出来作为依据,设计测试用例

图形符号

image-20220311152714975

image-20220311152824009

Author

YSH

Posted on

2022-03-11

Updated on

2022-10-12

Licensed under