等价类和边界值方法编写测试用例
Posted eric88
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了等价类和边界值方法编写测试用例相关的知识,希望对你有一定的参考价值。
测试用例概念:
定义:测试用例是为了特殊目的,而主要记录了测试步骤、方法、数据、预期结果的文档,由测试人员在执行测试之前编写。
写用例主要包括:(编号、测试目的、用例描述(步骤、数据)、预期结果)
测试中你可能会用到的问题?
- 不知道是否全面测试了所有问题?
-
- 所有的功能是否全测试到了?
- 每个功能测试的是否全面?
-
- 存在大量冗余测试,影响测试效率。
-
- 有些功能点可能测试多次?
-
- 对新版本的重复测试很难实施。
-
- 每个版本测试的步骤,数据都不一样,随意性很强。
-
- 测试的覆盖率无法衡量。
-
- 最后测试的结果好与坏无法准确的衡量?
-
写测试用例参考什么?
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、小数——小数点保留位数不满足
以上是关于等价类和边界值方法编写测试用例的主要内容,如果未能解决你的问题,请参考以下文章