软件测试——测试用例

目录

1.测试用例的基本要素

2.测试用例的设计方法

2.1基于需求的设计方法(Requirements-Based Testing,RBT)

2.2等价类划分法

2.3边界分析法                                  

2.4因果图

2.5正交排列

2.6场景设计法

2.7错误猜测法


1.测试用例的基本要素

  • 测试点表达清晰、无歧义
  • 用例的可操作性强(性能测试 并发)--->采用性能测试工具,模拟虚拟用户操作
  • 一个测试用例对应一个预期结果
  • 可维护性好
  • 对需求覆盖率高
  • 暴露程序Bug的能力强

2.测试用例的设计方法

黑盒测试设计方法:等价类、边界值、因果法、正交设计法、场景法、错误猜测法

2.1基于需求的设计方法(Requirements-Based Testing,RBT)

首先验证需求的合理性和正确性,使测试专注于质量问题产生的根源(需求),重点关注:

  • 验证需求是否正确、完整、无二义性,并且逻辑一致。根据需求提炼功能点
  • 从“黑盒”的角度,设计出充分且必要的测试集,保证设计和代码完全符合需求。

2.2等价类划分法

依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,若通过,则认为所代表的等价类测试通过实现少用例,多覆盖,解决不能穷举测试的问题。
有效等价类:对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验证程序是否满足功能和性能需求。只考虑输入域的分类
无效等价类:根据需求说明书,不满足需求的集合。   

2.3边界分析法                                  

对输入或输出的边界值进行测试的一种黑盒测试方法。是对等价类划分法的补充,测试用例来自等价类划分法的边界。

  • 上点:边界上的点(正好等于边界值)
  • 离点:距离上点最近的点
  • 内点:范围内的点

如:

闭区间:[20,30],上点:20,30,离点:19、31,

开区间:(20,30),上点:20,30,离点:21、29,

半开半闭:(20,30],上点:20,30,离点:21、31

半开半闭:[20,30),上点:20,30,离点:19、29

对于闭区间:上点是有效数据,离点是无效数据

对于开区间:上点无效,离点有效

不管是开和闭区间,内点都是有效数据

等价类和边界值法一般是一起进行测试用例的设计​​​​​​

2.4因果图

简化的逻辑图,表明程序输入条件(原因)和输出动作(结果)之间的相互关系。适用于分析程序输入条件的各种组合(等、与、或、非),以及输入输出之间的依赖关系。

软件测试——测试用例_第1张图片

因果图法设计测试用例的步骤:

  • (1)分析所有可能的输入和可能的输出。
  • (2)找出输入与输出之间的对应关系。
  • (3)画出因果图。
  • (4)把因果图转换成判定表。若有3个条件,输出有2个取值,所以表的列数为2x2x2=8
  • (5)把判定表对应到每一个测试用例。

例1:

假设业务单据的处理规则为:“淘宝618活动,提单已提交,订单合计金额大于300元或有红包,则进优惠”。

Y为真 N为假 1 2 3 4 5 6 7 8
输入 金额>300 Y Y N N Y Y N N
有红包 Y N Y N Y N Y N
订单已提交 Y Y Y Y N N N N
中间条件 Y Y Y N Y Y Y N
输出 优惠 Y Y Y N N N N N
不优惠 N N N Y Y Y Y Y

得到测试用例:

(1)订单已提交,订单金额大于300元,则优惠。
(2)订单已提交,订单金额小于等于300元,无红包,不优惠
(3)订单已提交,有红包,则优惠。
(4)订单已提交,订单金额大于300元,有红包,则优惠。
(5)订单未提交,不优惠。
(6)订单未提交,不优惠
(7)订单未提交,不优惠。
(8)订单未提交,不优惠。

例2:

软件测试——测试用例_第2张图片根据因果图画判定表:

输入 中间结果 输出
2 1.5 可乐 雪碧 红茶 m1 m2 0.5 可乐 雪碧 红茶
1 0 0 0 0 1 0 1 0 0 0
1 0 1 0 0 1 1 1 1 0 0
1 0 0 1 0 1 1 1 0 1 0
1 0 0 0 1 1 1 1 0 0 1
1 0 0 1 1 1 1 1
1 0 1 1 1 1 1 1
0 1 1 0 0 1 1 0 1 0 0
0 1 0 1 0 1 1 0 0 1 0
0 1 0 0 1 1 1 0 0 0 1

软件测试——测试用例_第3张图片

2.5正交排列

正交法的目的是为了减少用例数目。基于正交表的、高效率、快速、经济的试验。研究多因素(变量)多水平(变量的取值)的测试用例设计方法,适用于输入数据或输入数据组合量很大的场合。

正交表的构成:

 行 =(水平数-1)*因素数+1; 列 = 因素数

  • 行数(Runs):即试验的次数,用N代表。 
  • 因素数(Factors):正交表中列的个数,用C代表。
  • 水平数(Levels):任何单个因素能够取得的值的最大个数。用T代表。 

正交表的表示形式: L=行数(水平数*因素数)      L=N(TC)

正交表的性质:

  • 每一列中各数字出现的次数都一样多
  • 任何两列所构成的各有序数对出现的次数都一样多  

正交法设计测试用例的步骤:

  • 1、有哪些因素(变量)
  • 2、每个因素有哪几个水平(变量的取值)
  • 3、选择一个合适的正交表
  • 4、把变量的值映射到表中
  • 5、把每一行的各因素水平的组合作为一个测试用例
  • 6、加上你认为可疑且没有在表中出现的用例组合

例题:以注册为例

1、因素:姓名、邮箱、密码、确认密码、验证码
2、水平:填写、不填写

列 = 因素 = 5

行 = (水平数-1)*因素数+1 = 6

注意正交表内每一行数据不能一样(测试用例不能重复)!!!

软件测试——测试用例_第4张图片

案例:字符属性测试程序

窗体中有多个控件(字体、字符样式、颜色、字号),每个控件有多个取值

字体:仿宋,楷体、华文彩云

字符样式:粗体·、斜体、下划线

颜色:红色、绿色、蓝色

字号:20号、30号、40号

得到正交表:

软件测试——测试用例_第5张图片

2.6场景设计法

把各个孤立的功能点按照一定的策略组合起来,形成一个应用场景
典型的应用:用业务流把各个孤立的功能点串起来

找出场景中的每一个功能点,根据每一个功能点正常和异常的情况设计测试用例

例1:

当当网购书流程:

登陆——查找书籍——放入购物车——结算(生成订单)——支付

2.7错误猜测法

是经验丰富的测试人员喜欢使用的一种测试方法。有针对性地设计测试用例。梳理出产品以往哪些地方容易出现问题,问题越多的地方,潜在的bug也就越多。

2.8测试用例的粒度和评价

粒度:指测试用例编写的详细程度。

最简单的测试用例:是测试的纲要,仅指出要测试的内容,如探索性测试中的测试设计,仅会指出需要测试产品的哪些要素、需要达到的质量目标、需要使用的测试方法等。

 复杂的测试用例:会指定输入的每项数据,期待的结果及检验的方法, 具体到界面元素的操作步骤,指定测试的方法和工具等。带来效率问题和维护成本问题

你可能感兴趣的:(软件测试,测试用例,1024程序员节)