等价类和边界值方法编写测试用例

测试用例概念:

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

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

测试中你可能会用到的问题?
  • 不知道是否全面测试了所有问题?

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

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、小数——小数点保留位数不满足

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

时间: 2024-08-04 12:00:39

等价类和边界值方法编写测试用例的相关文章

用路径分析法来编写测试用例

熟悉测试理论的人都知道,路径覆盖是白盒测试中一种很重要的方法,广泛应用于单元测试.那么基于路径覆盖的分析方法是不是只能应用于单元测试呢,能不能将其推而广之呢.一般而言,在单元测试中,路径就是指函数代码的某个分支,而实际上如果我们将软件系统的某个流程也看成路径的话,我们将可以尝试着用路径分析的方法来设计测试用例.采用路径分析的方法设计测试用例有两点好处:一是降低了测试用例设计的难度,只要搞清了各种流程,就可以设计出高质量的测试用例来,而不用太多测试方面的经验:二是在测试时间较紧的情况下,可以有的放

等价类划分的方法(续)

针对于上周关于等价类划分的一个测试,这周对上次的实验进行了一个小的变化,就是将一个editbox变成三个,在对其进行等价类划分,以及编写测试用例并进行测试. 一·等价类划分 编号 有效等价类 编号 无效等价类 1 长度1-6 5 长度为0     6 长度大于6 2 数字0-9 7 输入无效字符 3 字母A-Z     4 字母a-z     8 三个editbox输入正确 9 1,2正确3不正确     10 2,3正确1不正确     11 1正确2,3不正确     12 2正确1,3不正

Python之编写测试用例,unittest模块中的TestCase类中的六种断言方法,以及setUp()函数。

unittest是Python自带的标准库中的模块,其中包括: 1.TestCase类 2.TestSuite类 3.TestLoader类 4.TextTestRunner类 5.TextTestResult类 下面是TestCase中的六种断言方法的测试用例. # -*- coding:UTF-8 -*- import unittestclass TestStringMethods(unittest.TestCase): def test_one(self): '''测试两个字符串是否相等'

1.5如何编写测试用例

1.测试用例定义 描述每一个测试点的数据设计和步骤设计叫测试用例 2.重要性 软件测试核心,工作的基本 评估测试结果的基准 保证测试时不遗漏测试的功能点 对系统架构或者业务流程深入了解 方便测试用例评审 3.测试用例组成 3.1.用例编号 如:产品名-测试阶段-测试项-测试子项-xxx 3.2.测试项目:对应一个功能模块 3.3.测试标题:输入内容加结果,标题不能重复 3.4.重要级别:高/中/低 3.5.预置条件:前提条件 3.6.测试输入:需要加工的输入信息,根据具体情况来设计(跟步骤结合起

如何编写测试用例

如何编写测试用例 用例的五个构成元素: 用例标题 前置条件 测试步骤 期望结果 后置条件 下面从这五个元素的角度,去剖析如何编写测试用例 用例标题 用例标题就是测试点名称.用例标题是用来说明这个用例的测试目的的,好的用例标题是别人看完你这个用例标题后就知道你这个用例是测什么的.但并不是标题越详细越好.既然是标题,就要言简意赅,能多简洁就多简洁,但简洁的同时又要能体现你的测试目的.用例的标题最好不要超过30个字,太长会让人看起来很累也很不专业.一般可以遵循这样的公式:主体(可省略) + 动词 +

011-黑盒测试的测试用例常见设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用

黑盒测试的测试用例常见设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用. 1)等价类划分 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 2)边界值分析法 边界值分析方法是

Eclipse中使用Junit编写测试用例

Eclipse自带Junit插件,不用安装就能在项目中编写测试用例,非常方便. 在项目中添加Junit库 在编写测试用例之前,需要先引入Junit.对项目根目录右键,选择Properties,Java Build Path,Libraries,如图: Add Library,选择Junit: 点Next选择Junit版本,然后Finish就完成了引入. 编写测试用例 假设有如下类: package choon.test; public class Calculate { public int A

Android之编写测试用例

测试是软件工程中一个非常重要的环节,而测试用例又可以显著地提高测试的效率和准确性.App测试用例其实就是一段普通的程序代码,通常是带有期望的运行结果的,测试者可以根据最终的运行结果来判断程序是否能正常工作. 我相信大多数的程序员都是不喜欢编写测试用例的,因为这是一件很繁琐的事情.明明运行一下程序,观察运行结果就能知道对与错了,为什么还要通过代码来进行判断呢?确实,如果只是普通的一个小程序,编写测试用例是有些多此一举,但是当你正在维护一个非常庞大的工程时,你就会发现编写测试用例是非常有必要的. 举

编写测试用例

成功是一种观念,致富是一种义务,快乐是一种权力. 本讲内容:测试用例 测试用例通常是带有期望的运行结果的程序代码,测试者可以根据最终的运行结果来判断程序是否正常工作. 一.测试用例的好处 譬如你正在维护一个很庞大的工程,里面有许多的功能,某天,根据需求你对其中一个功能进行修改,几天后,突然有人发现其他功能出现了问题,最终定位出来的原因是你之前修改的那个功能所导致的.所以当项目比较庞大时,一般都应该编写测试用例.如果我们给项目的每一项功能都编写了测试用例,每当修改或新增任何功能之后,就将所有的测试