测试用例(等价类和边界值方法)

测试用例概念:

 定义:测试用例是为了特殊目的,而主要记录了测试步骤、方法、数据、预期结果的文档,由测试人员在执行测试之前编写。

    写用例主要包括:(编号、测试目的、用例描述(步骤、数据)、预期结果)

测试中你可能会用到的问题?
  • 不知道是否全面测试了所有问题?
      • 所有的功能是否全测试到了?
      • 每个功能测试的是否全面?
  • 存在大量冗余测试,影响测试效率。
      • 有些功能点可能测试多次?
  • 对新版本的重复测试很难实施。
      • 每个版本测试的步骤,数据都不一样,随意性很强。
  • 测试的覆盖率无法衡量。
      • 最后测试的结果好与坏无法准确的衡量?
写测试用例参考什么?

1、文档:需求文档,开发文档,用户手册。

2、参考开发出来的软件或者软件的早期版本。

3、讨论编写。

编写测试用例的方法:

1、等价类划分法

2、边界值法

3、因果图法

4、判定表

5、正交排列法

6、场景法

7、测试大纲法

8、状态转换图

一、等价类划分

等价类划分属于典型的功能测试方法,根据程序对数据的要求,把程序的输入域划分成若干个部分,区分出哪些数据是有效的,哪些数据是无效的。

再从每个部分中选取少数代表性数据作为测试用例,这样,每一类中的代表性数据在测试中的作用都等价于这类中的其他值。

1、应用场合

只要有数据输入的地方,一般就可以使用。

把无限的数据划分范围,从每个范围中只选取少数代表性数据进行测试,进而把穷举测试变为有限测试。

说明:穷举测试理论上讲是最完备的测试,但是不现实,测试用例的方法就是使用最少的数据(成本)达到最大的测试覆盖效果。

2、核心概念

 (1)有效等价类

对程序规格说明有效的、合理的、有意义的输入集合程序接收到有效等价类数据,应该正确计算、执行-----合法数据的集合。

(2)无效等价类

对程序的规格说明无效的、不合理的、无意义的输入集合(例:错误用户名或密码)

程序接收到无效等价类数据,应该给出错误提示,或者根本不允许输入    -------非法数据的集合

 一个好的软件的基本标准:

1、正确的数据可以正确执行

2、异常处理能力:对于所有有意义无意义的非法数据能够处理,保证程序不受破坏(专业将:就是程序的健壮性)

3、使用的步骤:

  首先:明确测试的对象。(初学者每次可以先测试一个控件,在测试该控件的时候,保证其他填写项别出错。)

  确测试对象:第一个数文本框,说明:在测试第一个数的时候,保证第二个数正确

  (1)根据需求,划分有效等价类

                例:

有效等价类 无效等价类
—99~99范围的整数是有效的 非整数无效
<-99的数
>99的数

   (2)细化等价类

     往往依据的不是字面的需求,而是基于对数据存储方式的深入理解以及数据格式的理解

      ①      正负数补码计算不一样,有必要把正数、负数单独测试

          -99—0整数

          0—99整数

      ②非整数可以进一步细分

          小数

          字母

          汉字

          符号

 

  (3)建立等价类表(熟练后直接做该步)

有效等价类

编号

数据要求

1

-99—0整数

2

0—99整数

无效等价类

编号

数据要求

1

<-99

2

>99

3

小数

4

字母

5

汉字

6

符号

7

为空

       说明:进行需求(数据)分析,是最核心的步骤,决定测试的整体质量

  (4)编写用例

    从每个等价类中,至少选择一个数据进行测试

    说明:对于无效等价类,开始的时候最好每次只测试一个,最后再适当考虑无效等价类的组合

总结:

  一个好的软件一般要满足两个标准:

  (1)完成指定的功能——使用有效等价类

  (2)有很强的容错能力(健壮性)——使用无效等价类

二、边界值方法

1、应用场合

  只要有数据输入的地方,一般就可以使用边界值一般情况下等价类和边界值共同使用,形成一套较为完善的方案。

2、如何使用

  找到有效数据和无效数据的分界点(最小值、最大值),对该分界点及其两边的点,单独进行测试

3、说明

  边界值的数据,本质上属于等价类的范畴,但是需要单独进行测试,这种冗余在工程中是必要的。

三、用例的优化

(在测试质量相同的情况下,尽量减少用例数量)

1、不同控件的有效等价类或有效边界值,可以尽可能多的在一条用例中测试——不同控件的有效等价类可以组合——减少用例数量。

  (工作当中时间紧迫:先测边界值<在测核心有效数据<比较重要的异常处理)

2、在一条用例中,开始的时候,只测试一个控件的一个无效等价类或无效边界值——无效等价类开始的时候不能组合——避免屏蔽现象发生

  (前面的错误提示出现后,后面控件的错误提示就不出现了)

  最后再适当考虑不同控件和同一控件的多个无效等价类的组合——验证一下极端情况系统不崩溃!

3、无效等价类的整点考虑 

  1、必填项---测试为空

  2、不允许重复---测试重复

  3、数据要求范围——超出范围   如:年龄:18—60,测试<18,>60

  4、数据有字符个数要求——超出范围  如:姓名:1-20字符,测试<1字符,>20字符

  5、从数据允许的样式考虑——小数、字母、符号、汉字

  6、小数——小数点保留位数不满足

无效等价类处理方式:

  1、允许输入无效等价类数据,后面给出错误提示

  2、允许输入无效等价类数据,但可以自动纠正成正确数据

  3、不允许输入无效等价类数据

原文地址:https://www.cnblogs.com/eric88/p/10726833.html