软件测试小白学习笔记 二

黑盒测试

将程序看成一个不透明的黑盒子,在看不到程序内部逻辑结构和内部特性的情况下(就是不看代码什么的),依据需求规格说明书中有关功能的输入、输出说明,在程序的接口测试程序,以检查程序的功能是否符合它的功能需求。
黑盒测试又称功能测试、数据驱动测试、基于需求规格说明书的测试。

测试用例

通过设计少量的、具有代表性的测试用例,在最短的时间以较少的人力、资源投入,发现尽可能多的软件缺陷。
测试用例三要素:测试输入、执行条件、预期结果。

黑盒测试方法

等价类划分法

将所有可能的输入数据划分成若干个等价类,同一个等价类中的所有数据地位平等,可以在每个等价类中任意选取一个代表性的数据作为测试用例。
等价类的划分按照输入的值可以划分为有效等价类(合理有效、有意义的输入)和无效等价类(无效的、无意义的输入),二者具有完全不同的系统内部处理机制。
有效等价类验证是否实现预期功能和性能。
无效等价类验证对象的容错性,以及对无效数据的识别和反馈。

  • 输入条件规定了取值范围或个数,可以划分1个有效等价类和2个无效等价类。如规定密码长度为6位,则有效等价类为密码长度为6位,无效等价类为密码长度大于6位和小于6位。
  • 输入数据是n个值,则n个有效输入,1个无效输入。如有效输入为助教、讲师、副教授、教授,则无效输入为:非其中的任何一个。
  • 输入数据遵循某些规则,则有多个有效输入和多个无效输入(从不同角度违反规则)。如输入数据规定为以字母或下划线开头的字符串,则有效输入为以字母开头的字符串和以下划线开头的字符串,无效输入为以数字开头的字符串和以标点符号开头的字符串(非下划线和字母开头都可)。
    等价类划分法存在一个缺点,即没有考虑到多个输入数据不同组合的情况。
    示例:
    以商城的注册模块为例,依据各测试项写出测试点,然后划分出有效等价类和无效等价类,并编号。
测试项测试点有效等价类编号无效等价类编号
用户名组成要求字母、数字、下划线(1)特殊字符(9)
格式要求字母开头(2)数字开头(10)
下划线开头(11)
长度要求[6,18](3)[0,6)(12)
>18(13)
是否已注册未注册(4)已注册(14)
密码组成要求字母、数字或下划线(5)特殊字符(15)
长度要求[6,16](6)[0,6)(16)
>16(17)
确认密码一致性与密码一致(7)与密码不一致(18)
验证码是否正确正确(8)不正确(19)
依据上图可以得出一个覆盖(1)-(8)的有效等价类测试用例,如下。
测试输入预期结果实际结果覆盖的等价类
用户名:vae_0514
密码:860514_vaevae
确认密码:860514_vaevae
验证码正确
注册成功注册成功(1)至(8)
同时,每一个无效等价类都应对应设计一个测试用例进行覆盖,如(10),用户名以数字开头。
测试输入预期结果实际结果覆盖的等价类
用户名:05_vae14
密码:860514_vaevae
确认密码:860514_vaevae
验证码正确
注册失败注册失败(10)

边界值分析法

很多错误都发生在输入与输出的边界。
边界的条件类型 有:

数字字符位置质量尺寸空间
最大/最小首位/末位上/下最高/最低最短/最长空/满
  1. 规定取值范围,则选取边界以及边界附近的值,一般为边界值-1、边界值、边界值+1。
    在这里插入图片描述
  2. 规定值的个数:最大个数、最小个数、比最大大一个、比最小小一个。
    在这里插入图片描述
    由上可在等价分析的基础上识别边界点,追加测试用例。如,在上例用户名长度要求中,可选取的有效等价类的边界值为6,7,17,18,追加这四个测试用例,可选取的无效等价类的边界值为0,5,19。具体变化如下图:
测试项测试点有效等价类边界编号无效等价类边界编号
用户名组成要求字母、数字、下划线(1)特殊字符(15)
格式要求字母开头(2)数字开头(16)
下划线开头(17)
长度要求[6,18]6(3)[0,6)0(18)
7(4)5(19)
17(5)>1819(20)
18(6)
是否已注册未注册(7)已注册(21)
密码组成要求字母、数字或下划线(8)特殊字符(22)
长度要求[6,16]6(9)[0,6)0(23)
7(10)5(24)
15(11)>1617(25)
16(12)
确认密码一致性与密码一致(13)与密码不一致(26)
验证码是否正确正确(14)不正确(27)
对一个边界值进行测试时,其他测试点均选择可靠数据。 边界值分析法作为等价类分析法的补充,其测试用例更具有代表性,发现错误的能力更强。

因果图分析法

基本概念

  1. 在因果图中,如果用C表示原因,用E表示结果,则有:

在这里插入图片描述
C出现,E产生。
在这里插入图片描述
C出现,E不产生。
在这里插入图片描述
C1或C2出现,E产生;C1与C2都不出现,E不产生。
在这里插入图片描述
C1与C2都出现,E产生。
2. 约束:
在这里插入图片描述
E约束中,C1与C2是互斥的,例如C1代表5元纸币,C2代表10元纸币,E则代表投币口,则一次只能投一种。
在这里插入图片描述
I约束中,C1与C2是包含的关系,例如I代表支付手段,C1代表手机扫码支付,C2代表现金支付,则表示I至少支持这两种中 一种支付方式。
在这里插入图片描述
O约束可用普通会员与VIP类比C1与C2,O则代表用户。
在这里插入图片描述
R约束代表要求,如C1代表购物金额超过300元,C2代表优惠30,即C1与C2的关系为购物金额超过300元则优惠30元。
在这里插入图片描述
M约束中,若C1代表电器数码类产品,C2代表满300元优惠30元,则依据上图中的关系可表述为:电器数码类产品不参与满300优惠30的活动。
因果分析法中设计测试用例的步骤

  1. 分析被测对象的需求规格说明书,列出所有的原因、结果(原因即输入条件,结果即输出条件),编号,画因果分析图(因居左,果居右);
  2. 分析原因与原因之间、结果与结果之间的约束关系;
  3. 分析原因与结果之间的关系,用因果关系符号表示;
  4. 因果图转换成判定表;
  5. 判定表每一列设计一个测试用例。
    因果关系图比较繁乱,这里暂时 不介绍了,留待后期补充。若有想要了解的,可以通过知到去学习网课,我也是总结该课上的笔记,整理发表。

判定表法

举个栗子:
用户登录模块:

条件桩条件条目
正确的用户名00001111
正确的密码00110011
正确的验证码01010101
动作桩动作条目
用户名或密码错误
验证码错误
进入系统

利用判定表可以推断出需求规格本身的逻辑性,反向验证需求的正确性。
缺点:当输入项过多时,测试用例以2^n次方增加。

正交实验法

**特性:**均衡分散(各有序数对出现次数一样)、整齐可比(各数字出现次数一样)。
正交表二维数字表格(L行数(水平数因子数))
L:正交表
行数:测试用例个数
因子数:列数,测试用例变量的最大个数
水平数:测试用例中每个变量可能取值的个数,为0~水平数-1。
栗子:7因子 2水平 8行 表示为 L827,意即8行7列,变量个数为2,即因子数为0~1
步骤

  1. 构造因子状态表
  2. 选择合适的正交表
  3. 映射,构造测试用例
  4. 根据经验添加测试用例
    选择正交表:水平数>=max(水平数)
    因素数>=(因素1+因素2+····)且行数最少
    举个栗子:
    因子状态表:
因子ABC
状态X1Y1Z1
X2Y2Z2

正交表L423

000
011
101
110

测试用例:

1X1Y1Z1
2X1Y2Z2
3X2Y1Z2
4X2Y2Z1

正交表链接:
http://support.sas.com/teshsup/technote/ts723_Designs.txt

场景法

基本流: 用例无任何差错的情况下从用例开始到结束的最简单的路径。
备选流: 出现缺陷或故障时所流经的路径。
利用流程图来确定场景:

场景基本流备选流
场景1:一件商品订购成功1,2,3,4,5,6,7,8,9,10
场景2:登录账号错误1,2,3,41
场景3:登录密码错误1,2,3,42
场景4:用户未注册1,2,3,43
场景5:支付失败1,2,3,4,5,6,7,84

用场景矩阵管理测试用例:

编号场景登录账号登录密码支付方式预期结果
场景1一件商品订购成功ValidValidValid成功购物
场景2登录账号错误Invalid--提示账户不存在,返回基本流5
场景3登录密码错误ValidInvalid-提示密码错误,返回基本流5
场景4用户未注册---用户完成注册,返回基本流5
场景5支付失败ValidValidInvalid提示支付失败,返回基本流8
为每一个场景设计测试用例,包括:前置条件、用例描述、预期结果。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值