【软件测试 复习】 第3章 软件测试基本方法(重中之重,估计占70%分值)

一、总分类

注意这章讲的是方法,不是测试,是黑白盒方法,不是黑白盒测试,黑白盒测试用的是黑白盒方法完成的测试。

还有就是测试不光测试异常值,还要输入正常值,一定要有正常值。

二、基于输入域的方法

注意本方法只关注边界值,不考虑为空,或者要求不能输入数字,你偏输入数字这些情况,只关注给的值的边界,其他的可通过等价类法、正交表法、随机测试进行补充测试

1.边界值分析法

1)穷举法:穷举法测试所有可能的输入组合。

2)典型值法:选取具有代表性的输入进行测试

穷举法和典型值法都是针对所有输入数据而言的,只有跟下面三个加到一块用才会出现“边界”这个限定条件。

3)强边界法:输入范围的边界值及其附近值。

4)弱边界法:仅测试输入范围的边界值,不涉及边界附近的值

5)全边界法:强边界+弱边界。

上面这三个都是针对边界范围来说的,例如(a-1,a+1)是边界值(a,b)的一个边界范围范围。

(6)一般都是采用“典型值法+弱边界法”,这样简单省事,代表性强。

2.例题:第二日问题

先是针对个体输入域,即不考虑条件组合。

(1)边界和测试数据确定:

(2)测试用例设计:

(3)然后针对整体输入域,即考虑组合条件

比如本题月日,实际都和年进行捆绑,但是这里面没有考虑2月的问题,或者说闰年的问题,因为边界测试只管边界,日期上边界就是1-31):

(4)测试分析,检查是否有遗漏。

PS:个体输入域和整体输入域,写哪个都行(看题目要求,没要求都行),其他题同理。

3.例题:酒水销售佣金问题

针对输出域的边界值测试,输出域的边界值测试带来了额外的测试不确定性,不过这题确实难算的,考试应该不考,这里只是举个例子

题目:

月末,各销售员向酒水销售公司上报他所在区域的销售业绩,酒水销售公司根据其销售额计算该销售员的佣金,并作为奖金发放。最终将由佣金计算系统生成月销售报告,对当月售出的白酒、红酒和啤酒总数进行汇总,并计算销售公司的总销售额各销售员的佣金

①其中白酒、红酒和啤酒的单价分别为168元/瓶、 120元/瓶、5元/瓶。

每个销售员,白酒每月的最高供应量为5000瓶,红酒为3000瓶,啤酒为30000瓶;

③各销售员每月至少需售出白酒50瓶,红酒30瓶,啤酒300瓶;

④销售员的佣金计算方法如下(不超出的按上一档):

2万元以下(含):4%;

2万元(不含)~4.5万元(含):1%;

4.5万元以上(不含):0.5%。

答:(1)先写出输入域,下列输入域每个都分别有俩边界点,没写出来。

(2)以提成变化作为边界点。

4.等价类划分法

(1)将输入数据分成若干个等价类,从每个等价类选一个代表性数据为测试用例。

(2)分为有效等价类(合理的数据)和无效等价类(异常的数据)

(3)要求全覆盖(子集并在一块是全集),无冗余(就是子集不相交)

(4)适用于有数据输入的情况;不适用于相互有依赖关系的变量。

(5)强组合方式——完全组合;弱组合方式——仅需让每一个等价类都亮个相即可。

5.例题:第二日问题

下列这俩都是针对个体输入域的。

先演示错误写法,简便但风险极高,因为没有考虑特殊情况,不这样写。

(1)等价类划分(重点,注意每个等价类前面的编号,后续用例中要写上)

(2)无效等价类的测试用例:

(3)有效等价类的测试用例:

然后是正确写法,只针对有效等价类即可写出,同时拥有正确输入和错误输入的用例。

(1)等价类划分(重点,注意每个等价类前面的编号,后续用例中要写上)

(2)有效等价类的测试用例(需要2 * 3 * 5 = 30个测试用例)

再然后演示的是整体输入域

(1)等价类划分(重点,注意每个等价类前面的编号,后续用例中要写上)

(2)有效等价类的测试用例(缩减到了6个

6.例题:酒水销售佣金问题(针对输出域)

(1)等价类划分(重点,注意每个等价类前面的编号,后续用例中要写上)

(2)有效等价类的测试用例:

7.弱一般等价类

8.强一般等价类

9.弱健壮等价类

10.强健壮等价类

8.例题:余额宝(涉及多次执行的问题)

应该不考,闲的话可以看看

余额宝中的零钱不可以直接消费,当需要使用时,可将余额宝的钱提现。余额宝的提现功能有2种方式:

a.快速到账(2小时内):每日最高提现额度为10000元;

b.普通到账:可提取金额为余额宝最大余额,但到账时间会慢一些。

答:(1)设计等价类(错误的示范)

(2)改进等价类(正确的示范)

(3)有效等价类的测试用例(假如现在余额宝中有50000元):

三、习题 

1.等价类划分时,需要满足什么要求以保证测试的完备性和无冗余性?

  • 划分准确

    • 等价类应当准确地反映输入域的特性。每个等价类内的所有值应当在程序中表现出相同的行为。
  • 完整覆盖

    • 所有的输入域都应该被划分到一个或多个等价类中,确保没有遗漏任何可能的输入情况。
  • 相互独立

    • 各等价类之间应当是相互独立的,即一个输入值不应同时属于两个等价类。这可以避免冗余测试用例的产生。
  • 有效与无效等价类

    • 划分出有效等价类和无效等价类。有效等价类包含所有合法的输入值,无效等价类包含所有非法的输入值。测试应当覆盖所有有效和无效等价类。
  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值