四步测试设计法

四步测试设计法:

  1. 建模确定模块或功能的类型
  2. 设计基础用例:不同模型采用不同分析方法,设计基础用例
  3. 补充测试数据:为基础用例补充测试数据
  4. 扩展:根据经验、其它类似产品历史缺陷、客诉补充用例

 

建模:将模块或测试点划分已以下四类中的一种或组合类

流程类:将功能点分成一些步骤,会因为不同的输入产生不同的处理。

参数类:测试点包含的是参数,参数的个数是有限的,系统对不同参数值有不同的处理

数据类:测试点主要包含数据,如用户名、IP地址配置合法校验等;数据的取值是范围,系统对合法的数据作出的处理相同

组合类:将上述三类可以组合在一起的,为组合类

实际应用中,流程类会结合参数或数据类进行设计。

 

流程类的流程图画法:

  1. 画出主要步骤

 

  1. 确定每个步骤的输入
  2. 区别判断和过程
  3. 画出完整流程图

 

 

 

流程类使用路径分析法进行覆盖,如:覆盖类型:语句覆盖、分支覆盖、全覆盖、线性无关覆盖。

  1. 语句覆盖:保证每条语句最少被执行一次;(过程、判断即语句)

 

 

  1. 分支覆盖(判定覆盖):每个判定的每种结果最少执行一次;

 

  1. 全覆盖100%覆盖所有可能的路径。采用排列组合算法,得出全路径

一共有三个判断,所以一共有2的三次方条路,则八条路。

 

 

 

 

 

 

 

 

 

  1. 最小线性无关覆盖:保证流程中的每个路径片段最少执行一次。

保证流程中的每个路径片段最少执行一次。

最小线性无关覆盖:(三等式+算法)

三个等式计算流程图的路径数:(三等式等效,计算结果应该相同)

等式1:边数-节点数+2

等式2:判定数+1

等式3:区域数+1

遇到判断若已执行,则执行,继续下一个判断;

直到遇到判断未执行,则优先执行,后续判断全部执行

区域的概念:被判定过程完全包围起来的最小一片区域。

 

3+1=4

四种覆盖算法总结:

覆盖强度:语句覆盖<条件覆盖<最小线性无关覆盖<全覆盖

可根据功能的重要等级选择使用哪种覆盖;

新需求流程图分析完后,可采用最小线性无关覆盖;

特别重要的功能,再具体分析,是否采用全覆盖。

  1. 通过流程图写出基本测试用例

 

路径序号

路径符号

路径描述

简单描述,进行拆分(基础用例)

1

A-b-e-h-i

客户成功输入账号密码和成功验证身份,登陆成功

客户成功输入账号密码,点击登陆,成功进入验证界面,手机号格式输入正确,验证码输入正确,成功登录

2

A-c-d-a-b-e-h-i

客户输错一次账号和密码,成功验证身份,登陆成功

客户输入错误的账号密码,显示重新输入,输入正确的账号和密码后进入验证界面,手机格式和验证码输入正确即登陆成功

 

对于数据类:等价类分析表和边界值分析法

数据类特点

 1:数据的取值是一个范围,通常不能用遍历的方式来测试覆盖。

 2:系统对合法/不合法数据分别作出的相同的处理。

对数据类的测试方法:适合类型:

1:设计需求规格用例

2:对流程类分析得到的测试点,设计用例的输入数据

 

步骤:

1:列出等价类分析表

2:使用边界值来为等价类分析表确定测试数据;

3:将等价类组合到不同测试点;

4:其他扩展补充。

 

具体步骤:

步骤一:列出等价类分析表

对输入值按照测试效果进行划分,测试效果相同的测试数据归为一类。

1)有效等价类

产品规格合理的、有意义的输入数据构成的集合。

2)无效等价类

不合理、无效的数据集合。

 

等价类划分原则:

1:无冗余性:划分的子集互不相交;

2:完备性:各子集合并为整个集合。

等价类划分方法:

1)若规定了取值范围或个数,可分为一个有效等价类、2个无效等价类;

2)规定了输入数据必须遵守的规则,可确立一个有效等价类和多个无效等价类。

 

步骤二:使用边界值来为等价类分析表确定测试数据

边界值:条件参数在输入边界的取值取完边界值,再取一个有效中间值测试

其余无效项不用再划分边界值,直接使用无效等价类为测试数据

 

步骤三:部分测试点的等价类相同,则可将等价类分配到不同测试点

  例如:

  测试点1:使用串口修改admin账号密码;

  测试点2:使用telnet修改admin账号密码;

   2个测试点的密码需求规格相同:密码长度6-32,且必须同时包含大小写字母和数字

将上步骤分析的等价类,分配到这2个测试点

 

步骤四:根据等价类分析表,整理出用例

    也可将这些用例合成2个,各等价类数据作为步骤

 

数据类总结

1)确定等价类时,需与开发讨论,同一类测试数据的处理是否相同;

2)有些等价类可直接作为用例数据,不需再取边界值;

     如:密码只包含大写字母、小写字母

3)有效等价类取完边界值,可再选取一个中间值

     如:VLAN规格[14094],有效等价类取值140942000

4)多个测试点的等价类相同,则将数据分配到不同测试点,避免用例冗余

      如:上页中不同方式修改账号密码。

5)某功能点包含多项数据类时,测某项无效类时,另一项取有效类。

如:密码限制有长度、字符类型。测长度无效类时,字符类型取有效类

 

参数类特点:

1参数值个数有限,可以通过遍历的方式来测试覆盖。

2:系统对不同的参数值作出不同的处理。

 

参数类适合:

功能点的多个参数之间存在相互关系,需要对参数进行组合分析。

 

分析方法:输入-输出表

分析步骤:

1:列出输入-输出表

2100%覆盖输入-输出表

3:其他扩展补充

 

具体步骤:

步骤一:

(1)确定参数和参数值

(2)确定约束条件

      1:若客户端与服务器密钥不一致,则认证失败。

   2:若客户端与服务器认证失败,则不进行后续用户认证。

   3:若用户与客户端为端口认证,则参考端口已通过用户数,已有用户认证通过,后面用户不需与服务器认证。

(3)将所有参数组合列出来,根据约束条件,删除重复项

(4)将表格中的重复项去掉后,得出最终的输入输出表

步骤二:覆盖输入-输出表得出测试用例 

 

参数类总结:

1)适合产品对各参数处理不同且相互之间有约束关系

2)得出正确的约束条件,需要掌握内部实现/协议规定

3)参数类用例得出后,设计用例数据时,又可结合数据类方法;

  如:客户端与服务器密钥配置,可使用等价类和边界值设计数据。

 

 

总结

参数类和数据类测试模型是有融合部分的。

数据类是针对某一个窗口的数据输入的。

参数类是看几个窗口输入的参数的相互关系的。

posted @ 2020-12-23 21:08  爱晒太阳的一斗  阅读(369)  评论(0)    收藏  举报