# 测试用例设计方法

测试用例的定义

测试用例是为了特定的目的而设计的一组测试输入、执行条件和预期的结果,以便测试是否满足某个特定需求。通过大量的测试用例来检验软件的运行效果,他是指导测试工作进行的依据。

下面我们介绍几种常用的黑盒测试方法

等价类划分法

定义:等价类划分是一种重要的、常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可。它将不能穷举的测试过程进行合理分类,从而保证测试用例具有完整性和代表性

有效等价类验证系统功能,无效等价类验证错误处理能力
作用:在有限的测试资源的情况下,用少量有代表的数据得到比较好的测试效果。

缺陷:边界值的动态性。

步骤:

1、先确定有效和无效等价类

2、有效等价类就是题目条件

3、无效等价类先划分与条件相反的情况,再找到特殊情况。

设计测试用例

根据已列出的等价类表可确定测试用例,具体过程如下:

1、首先为等价类表中的每一个等价类分别规定一个唯一的编号

2、设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。重复这个步骤,直到所有的有效等价类均被测试用例所覆盖

3、设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。重复这一步骤,直到所有的无效等价类均被测试用例所覆盖。

划分等价类的原则

1、如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类

2、如果输入条件规定了输入值的集合,或者是规定了”必须如何“的条件,这时可确立一个有效等价类和一个无效等价类

3、如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类

4、如果规定了输入数据的一组值,而且程序要对每一个输入值分别进行处理,这时可为每一个输入值确立一个有效等价类,它是所有不允许的输入值的集合

5、如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)

6、如果规定了输入数据为整型,则可以划分出正整数、零和负整数等三个有效类

7、如果程序的处理对象是表格,则应该使用空表,以及含一项或多项的表。

举例:

我们以 QQ 为例,当客户在 QQ 号码要求是6-10位的整数,我们该怎么进行测试?

根据等价类划分,我们划分出有效等价类和无效等价类:

边界值分析法

边界值分析法就是对输入或输出的边界值进行测试的一种常用的黑盒测试方法。

为什么要有边界值分析法?

大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。
通常情况下,软件测试所包含的边界检验有几种类型:
数字、字符、位置、质量、大小、速度、方位、尺寸、空间等
相应地,以上类型的边界值应该在:
最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最长、空/满等情况下。
采用边界值分析测试的基本思想是:故障往往出现在输入变量的边界值附近。
因此,边界值分析法利用输入变量的最小值(min)、略大于最小值(min+)、输入值域内的任意值(nom)、略小于最大值(max-)和最大值(max)来设计测试用例

用边界值分析设计测试用例应遵循的原则

1、如果输入条件规定了取值范围,则应对该范围的边界内附近,恰好在边界和在边界外附近(无效等价类)设计测试用例
如:规定金额输入框输入范围为0~100,应对 -1、0 、1、99、100、101 设计相应的测试用例
2、如果输入条件规定了数据的个数,则应对最少个数,最多个数,比最少个数少1,比最大个数多1等情况设计测试用例
如:输入文件有1~255个记录,则应分别设计0,1,255,256个记录的输入文件的测试用例
3、针对规格说明中的每个输出条件使用前面的1和2原则。
如:计算折扣量,最低折扣为0元,最高为1000元,则要设计使它们恰好产生0元或1000元的结果,以及负值或稍大于1000元的结果(如果可能的话)
4、如果程序规格说明中提到的输入或输出域是个有序的集合(如顺序文件,线性表等)。应选有序集的第一个和最后一个元素作为测试用例

举例:输入的两个参数值必须大于0同时小于100的整数,计算和

If Val(Test1.Test) >= 0 Or Val(Test1.Test) <=100 ThenMsgBox("输入的参数值必须大于0同时小于100")Test1.SetFocus
ElseIf Val(Test2.Test) > =0 or val (Test2.Test) <= 100 thenMsgBox("输入的参数值必须大于0同时小于100")Test2.SetFocus
ElseTest3.Test = Val(Test1.Test) + Val(Test2.Test)
End If

如何解决这类问题
1、找到测试数据的边界点,也就是有效等价类和无效等价类的边界点,对边界点数据专门进行测试。
2、一般情况下,需要对边界值(0和100)以及边界值两边的数(-1和1以及101和99)分别进行测试。
因此我们可以设计测试用例:

而我们仔细看一下:

程序员在边界条件设置错误:把>写成了>=,把<写成了<=,所以我们可以得出预期结果与实际结果不符合的结论。
所以:有效数据和无效数据的分界点,往往作为程序员编写程序的判断点,是程序员容易犯错误的地方,也是测试人员重点测试的内容。

边界值和等价类的区别:

1、边界值分析不是从等价类中随便挑一个作为代表,而是选一个或几个特定值,使这个等价类的每个边界都作为测试的目标。
2、边界值分析不仅要考虑输入条件,而且要考虑输出条件(输出等价类)。
一般联合使用等价类划分和边界值分析两种方法。

软件测试方法 -- 等价类边界值相关推荐

  1. 软件测试 边界值分析法,[转] 软件测试方法_边界值分析法

    目录: ①边界值分析法的介绍和概念 ②边界值分析法的原理和思想 ③单缺陷假设和多缺陷假设 ④边界值测试数据类型 ⑤内部边界值分析 ⑥各类边界值测试介绍 ⑦基于边界值分析方法选择测试用例的原则 ⑧边界值 ...

  2. 软件测试方法——等价类划分法详解

    目录 1.等价类划分法的介绍和概念 2.等价类的类型划分 3.等价类测试用例的类别 3.1弱一般等价类 3.2弱健壮等价类 3.3强一般等价类 3.4强健壮等价类 4.等价类划分的原则 4.1按照区间 ...

  3. 软件测试用例等价类边界值,做软件测试,测的是一个论坛,请问怎么设计论坛的测试用例呢?要求用到等价类 边界值 决策表中至少两个...

    匿名用户 1级 2016-01-22 回答 1. 登陆 ① 用户名和密码都符合要求(格式上的要求) ② 用户名和密码都不符合要求(格式上的要求) ③ 用户名符合要求,密码不符合要求(格式上的要求) ④ ...

  4. 软件测试方法等价类划分案例,等价类划分法进行测试

    <等价类划分法进行测试>由会员分享,可在线阅读,更多相关<等价类划分法进行测试(3页珍藏版)>请在人人文库网上搜索. 1.实验项目名称黑盒测试-1实验目的及要求掌握黑盒测试的方 ...

  5. 《软件测试方法和技术》 读书笔记

    <软件测试方法和技术> 读书笔记 2014-07-17 第一章 引论   1.3 什么是软件测试   1.4 软件测试与软件开发的关系 第二章 软件测试基本概念   2.1 软件缺陷   ...

  6. 第3章 软件测试方法--基于输入域的测试方法(等价类、边界值)

    文章目录 3.2 基于输入域的测试方法 3.2.1 等价类测试方法 3.2.2 边界值分析方法(BVA – Boundary Value Analysis) 3.2 基于输入域的测试方法 3.2.1 ...

  7. 软件测试方法划分等价类,软件测试基础-软件测试方法之等价类划分.ppt

    软件测试基础-软件测试方法之等价类划分 知识回顾 - 软件测试方法 从是否执行被测程序来划分? 从是否针对系统内部结构来划分? 知识回顾 - 黑盒测试设计用例的方法 集合 什么是集合? 如:一箱苹果 ...

  8. 软件测试方法大全,49种测试方法,你知道几个?

    β测试_Beta测试 β测试,英文是Beta testing.又称Beta测试,用户验收测试(UAT). β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试.开发者通常不在测试现场,Be ...

  9. 软件测试方法和测试策略

    测试方法 软件测试有很多方法,如 等价类 边界值 语句覆盖 条件覆盖 路径覆盖 场景法 等等.当你掌握和了解这些方法之后,运用到实际项目中,就需要制定测试策略,在测试项目中什么时间.什么任务,什么目标 ...

最新文章

  1. 为什么 Python 没有 main 函数?
  2. cp 与 find结合用
  3. [转]SVN更新的时候前面字母的意思(U、G、A、R、C)
  4. linux-centerOs6.8安装nginx与配置
  5. 结构体定义容易混淆的地方
  6. 浅谈MySQL数据库中的锁与事务
  7. 福利来袭,送你105例C语言实战
  8. 如果张东升是个程序员,你还有机会吗?
  9. Ansible Tower 入门 1 - 配置主机清单和访问凭证
  10. android 7相机拍照功能介绍,android7 相机拍照流程
  11. Eureka的元数据
  12. 【数智化案例展】深农集团——守护深圳“菜篮子”,腾讯安全携手深农集团保供稳价格...
  13. java实现开根号的运算
  14. 自己做的一个漫画下载器
  15. DDR3内存频率标识对应
  16. 健身为什么要吃肌酸!肌酸四大作用
  17. Chrome 93 版本新特性 Chrome 93 版本发行说明
  18. Simulink开环控制都不稳----记录一次还没有解决的问题
  19. 一篇会改变身处职场的你思维的一篇文章
  20. 【渝粤题库】陕西师范大学201581 汉英翻译

热门文章

  1. 拦不住灰犀牛,芯片短缺即将扭转,小型公司风险骤增!
  2. Chrome和Edge浏览器驱动的下载和使用
  3. 九宫问题(八数码问题)的解法
  4. 青岛科技大学c语言试题,青岛科技大学6套C语言模拟题
  5. java计算机毕业设计框架的企业机械设备智能管理系统的设计与实现源码+数据库+lw文档+系统
  6. php计算多少个月前,PHP怎么计算两个日期相差几个月
  7. mysql 2019错误_2019-6-18 MySQL常见错误大全(陆续更新)
  8. 【shell实战】使用shell实现一个进度条
  9. 基于CNN卷积神经网络的人脸识别
  10. Java匿名对象的使用