测试用例及几种常见设计方法

一、测试用例的定义

测试用例即在测试执行之前,由测试人员编写的指导测试过程的重要文档,主要包括:用例编号,测试目的,测试步骤(用例描述)、预期结果。

测试用例的标准:让其他测试人员按照测试用例执行测试,能够执行出来。

测试用例的评审:互评互审、测试组开评审会、有用户参加的评审会。
测试用例的用途:
      (1)版本的重复测试会很方便,可以快速正确的进行
      (2)防止遗漏
      (3)提高测试效率
      (4)监督测试过程
      (5)评估结果
      (6)缩短测试周期:版本更新或者升级时,只需修改少部分的测试用例,可以资源复用

编写用例的注意事项:
    (1)在编写用例之前应该先确认好用例编号的命名规则,文档、附件的命名规则以及存储,提交的位置。
    (2)测试用例编写完成是有评审过程的。
      互评互审、测试组评审、甲方的参加的评审会
    (3)基本要求:
        1条用例先写好(标准:别人按照你写的测试步骤能够顺利执行)
        高标准的要求:
        能够分析,形成完善的测试思路(方案),实现更好的测试覆盖率和更少的缺陷遗漏

二、测试用例的七种设计方法

编写测试用例可以参考:需求文档、被测系统、开发设计文档、与开发&产品&客户等进行沟通。

等价类划分法、边界值法、因果图法、判定表法、正交排列法、测试大纲法、场景法

  • 等价类划分法

应用场合:有数据输入的地方

测试思想:每个数据范围测试效果是等价的,所以每个范围是一个等价类,然后从每个范围内抽取数据进行测试,这些测试结果代表这一类数据的测试结果。

有效等价类:有意义、合理的输入数据集合--用来测试功能是否正确实现

无效等价类:无意义、不合理的输入数据集合--用来测试程序是否有强大的异常处理能力(程序的健壮性)

**案例**

被测程序:加法器

被测对象:两个加数文本框

步骤:

1.分析需求,根据需求划分等价类

需求:输入数为-99~99之间的整数,不能为空

有效等价类:

             -99~99之间的整数

无效等价类:

             >99的整数

             <-99的整数

             非整数

             输入为空

2.细化等价类

有效等价类:

             -99~(-1)之间的负整数

              0~99之间的正整数

无效等价类:

             >99的整数

             <-99的整数

             非整数(小数、字母、汉字、特殊字符)

             输入为空

3.编写测试用例

从每个等价类范围中至少挑选一个代表数据进行测试

测试用例
用例编号 测试目的 测试步骤 预期结果 实际结果
加法器_j01 第一个加数取-99~(-1)之间的负整数,第二个加数正确取值,检查是否可以正确计算

1.输入第一个加数-60

2.输入第二个数34

3.点击计算按钮

在结果文本框中显示:26 通过测试
加法器_j02 第一个加数取0~99之间的正整数,第二个加数正确取值,检查是否可以正确计算

1.输入第一个加数30

2.输入第二个数34

3.点击计算按钮

在结果文本框中显示:64 通过测试
加法器_j03 第一个加数取>99的正整数,第二个加数正确取值,检查是否可以正确计算

1.输入第一个加数100

2.输入第二个数34

3.点击计算按钮

1.弹出错误提示框,提示“第一个加数应为 -99~99之间的整数”

2.关闭提示框,程序继续运行(光标位于第一个加数的文本框,并清空或选蓝)

测试失败,光标定位于第一个文本框,没有清空或选蓝

 

案例中的问题:
     1、在测试有效等价类时,当测试对象为多个控件时,会出现测试用例冗余(重复)的问题--优化用例可以解决
     2、当测试无效等价类时,没有考虑多个控件都为无效的情况--强化用例解决

  • 边界值法

应用场合:有数据输入的地方

测试思想:实际的开发过程中,数据范围的边界是最容易产生BUG 的地方,为了保证测试质量,我们通常加强边界测试,所以就有了边界值这样的测试方法。

**案例**

被测程序:加法器

被测对象:两个加数文本框

步骤:

1.分析需求,根据需求找出边界值点和次边界值点

需求:输入数为-99~99之间的整数,不能为空

边界值点:

             最大值99

             最小值-99

次边界值点:

             有效最小次边界-98

             无效最小次边界-100

             有效最大次边界98

             有效最大次边界100

2.编写测试用例

**案例-----等价类划分法+边界值法的综合使用**

信息注册(控件包括姓名和年龄、注册)

1.分析需求,分别将姓名、年龄的等价类和边界值进行分析,填入数据分析表

 

2.根据数据分析结果编写测试用例

注意事项:

1、有效数据(有效等价类+有效边界值)
    问题产生:如果单个控件的有效数据单独测试,会产生用例冗余(重复)的问题
    如何解决—优化用例

              就是一条用例中尽可能多的将多个控件的1个有效数据组合起来测试(简单来说:就是多个控件的有效数据组合起来                      测)
      效果:用例数减少,测试质量不变,测试效率提高

2、无效数据(无效等价类+无效边界)
    首先:要每个控件的无效数据单独测试(1条用例只测1个控件的1个无效数据),不能开始就无效数据组合,为了避免“屏                 蔽现象”
    “屏蔽现象”—前面控件的错误提示出现后,后面控件的错误提示就不弹出了
    最后:适当的做强化测试
      1)多个控件的无效数据组合测试(就是多个控件都是错误数据的情况,例如:姓名,年龄都为空)
      2)1个控件将多个无效数据组合起来测试(例如:年龄既超范围又是小数又有汉字又有符号 ,95.5(岁))
                  无效数据的组合强化测试,适当去做即可(可以根据时间调整),不需要所有无效数据组合都测。常常测试:                              1)经常使用的组合(例如:都为空)2)在使用中容易出错的组合(例如:54.5岁)
       小数类型,等价类+边界值测试时的注意事项:
       有效等价类:除了有效的小数外,有效的整数也需要测(小数中默认包含了整数,除非需求中明确的说:小数中                                                 不包含整数)
       无效等价类:
          A)小数类型—非小数(非数):字母、汉字、特殊字符
          B)小数位数—超出小数的有效位数(例如:最多两位,那么>2位就是无效等价类)
      3)边界值
        A)小数的次边界与边界之间的相差单位是与精确度相关的,例如:精确到小数点后2位,那么相差单位就是                                       0.01
            例如:最小值是:1.00那么次边界就是 0.99 和1.01
        B)要考虑小数位数的边界问题。例如:小数位数最大值:小数点后2位
          那么次边界是:小数点后1位和小数点后3位

总结:
  有效等价类:比较容易找,一般在需求中可以直接找到。数量较少。所以有效等价类测试也称为正向测试或者通过测试
  无效等价类:一般数量较多,也被称为“反向测试”或“失败测试”
  无效等价类的考虑因素:
    说明:
      不能为空:为空
      不能重复:重复
      不能包含**:包含**
    类型
      整数:非整数(小数,字母,汉字,特殊字符)
      小数:非小数(非数:字母,汉字,特殊字符)
      字符:如果没有特殊说明不需要细分。字符包含(字母,数字0-9,特殊字符,汉字)
    范围
      --超出范围的情况
      数字范围:比最小值小,比最大值大
      字符串长度:不在正确的长度范围的就是无效的

  • 因果图法

因果图:用画图的方式表达输入条件和输出结果之间的关系。

应用场合:界面中有多个控件,控件之间有组合或者限制关系,不同的控件组合就会输出不同的结果。为了弄清楚输入组合能产生出怎样的输出结果,可以使用因果图法或者判定表法。

测试思想:一般适合测试组合比较少的情况。

因(原因):输入条件

果(结果):输出结果

**案例**

被测程序:加法器

被测对象:两个加数文本框

步骤:

1.分析需求,找出所有的输入条件

2.找出所有的输出结果,将因和果填入判定表中

3.找出条件之间的组合和限制关系

4.明确不同的输入组合会产生什么对应的输出结果,画因果图,填写判定表(实际工作中可以只写判定表,省略因果图)

*******一般图形符合(表示因和果的关系):恒等、与、或、非

恒等和非对应1个输入条件;

与和或对应多个输入条件;

恒等 a=1 b=1;a=0 b=0

非 a=1 b=0 ;a=0 b=1

与 全1则1,有0则0

或 全0为0,有1为1

********限制关系图形符合:互斥(E)、唯一(O)、包含(I)、要求(R)、屏蔽(M)

互斥和唯一为单选,互斥可以不选,唯一必须

包含为多选,不能不选

要求:当a=1,要求b=1,当a=0,b不要求

屏蔽:当a=1,b=0;当a=0,b无所谓

  • 判定表法

 

  • 正交排列法

 

  • 测试大纲法

 

  • 场景法

 

 

 

https://www.cnblogs.com/KalosOwen/p/8244770.html

https://www.cnblogs.com/WuYeqian/p/6836243.html

http://www.51testing.com/html/30/n-3719130.html

你可能感兴趣的:(原创)