软件测试技术三之黑盒测试
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
两个无效等价类为 x≤10和x≥100。
例2:输入学生成绩,范围是0到100
16
相关知识—等价类
划分原则
(2)按照数值划分
在规定了一组输入数据(假设包括 n个输入值),并且程 序要对每一个输入值分别进行处理的情况下,可确定 n 个 有效等价类(每个值确定一个有效等价类)和一个无效等 价类(所有不允许的输入值的集合)。 例1:程序输入x取值于一个固定的枚举类型{1, 3, 7, 15},且程序中对这4个数值分别进行了处理,
❖ 如果month, day和year中任何一个条件失效,则NextDate 都会产生一个输出,指明相应的变量超出了取值范围。例如, “无效输入日期。”
40
相关知识--边界值方法
1
2
3
任知任 务识务 陈准实 述备施
4
5
任项 务目 拓实 展训
41
相关知识--边界值方法
边界值测试的相关概念,通过 “NextDate”函数问题,介绍了如何使用边 界值方法设计测试用例,包括边界条件,次边 界条件,边界值健壮性测试,边界值分析的局 限性。
▪ 输入1个字符和255个字符(合法区间),也 可以加入254个字符作为合法测试。
▪ 输入0个字符和256个字符作为非法区间。
46
相关知识--边界值方法
可能的边界
❖ 如果程序读写软盘 ❖ 尝试:
▪ 保存一个尺寸极小,甚至只有一项的文件。 ▪ 然后保存一个很大的——刚好在软盘容量限
制之内的文件。 ▪ 保存空文件。 ▪ 保存尺寸大于软盘容量的文件。
❖ 如果a、b和c满足Con1、Con2和Con3,则输出下列 4种情况之一:
▪ 如果不满足条件Con4、Con5和Con6中的一 个,则程序输出为“非三角形”。
▪ 如果三条边相等,则程序输出为“等边三角 形”。
▪ 如果恰好有两条边相等,则程序输出为“等腰 三角形”。
▪ 如果三条边都不相等,则程序输出为“一般三
例1:程序输入条件为取值为奇数的整数x 则 有效等价类为 x的值为奇数的整数 无效等价类为 x的值不为奇数的整数。
例2:输入为标识符
18
相关知识—等价类
划分原则
(4)按照限制条件或规则划分
在规定了输入数据必须遵守的规则或限制条件的情况 下,可确定一个有效等价类(符合规则)和若干个无 效等价类(从不同角度违反规则)。 例:程序输入条件为以字符‘a’开头、长度为8的字 符串,并且字符串不包含‘a’~ ‘z’之外的其它字符。
则有效等价类为 x=1、x=3、 x=7、x=15, 无效等价类为 x≠1,3,7,15的值的集合。 例2:输入条件说明学历可为:专科、本科、硕士、博士四 种之一。
17
相关知识—等价类
划分原则
(3)按照数值集合划分
在输入条件规定了输入值的集合或规定了“必须如何” 的条件下,可以确定一个有效等价类和一个无效等价 类(该集合有效值之外)。
13
相关知识—等价类
等价类测试
等价类测试的假设:
❖ 测试某等价类的代表值,就等效于对这个等价类中 其他值的测试。
等价类测试的思想:
❖ 把全部的输入数据划分成若干个等价类,在每一个 等价类中取一个数据来进行测试。
14
相关知识—等价类
等价类测试
❖ 有效等价类
检验正常功能
——是指对软件规格说明而言,是有意义的、合 理的输入数据所组成的集合。
26
相关知识—等价类
强健壮等价类测试 “健壮”表示不仅考虑有效等价类还要考虑无效等价 类,“强”表示测试用例需覆盖两个输入的所有等价 类的可能组合。
27
相关知识—等价类
等价类设计测试用例的步骤 1. 划分等价类,形成等价类表,为每一个等价类规
定一个唯一的编号。 2. 设计一个新的测试用例,使它能够尽量覆盖尚未
以一个有两个输入变量x1和x2的程序F为例, 说明上述的四种等价类测试。 假设,F的输入变量x1和x2的边界以及边界 内的区间为
▪a ≤ x1 ≤ d,区间为[a, b),[b, c),[c, d] ▪e ≤ x2 ≤ g,区间为[e, f), [f, g]
22
相关知识—等价类
等价类测试的分类
变量x1和x2的等价类分别为:
覆盖的有效等价类。重复这个步骤,直到所有的 有效等价类均被测试用例所覆盖。 3. 设计一个新的测试用例,使它仅覆盖一个尚未覆 盖的无效等价类。重复这一步骤,直到所有的无 效等价类均被测试用例所覆盖。
28
相关知识—等价类
保费计算问题的等价类测试 ❖ 某保险公司的人寿保险的保费计算方式为:投保额
×保险费率 ❖ 其中,保险费率依点数不同而有别,10点及10点
测试。 ❖ 如果输入数据以离散值区间或集合的形式定义,则
等价类测试是合适的,当然也适用于变量值越界会 造成故障的系统。
39
相关知识—等价类
1.对NextDate函数进行等价类测试与分析
❖ NextDate函数是一个有3个变量month(月份)、year(日 期)和year(年)的函数。输出为输入日期后一天的日期。例如, 如果输入为1998年6月18日,则NextDate函数的输出为 1998年6月19日。要求输入变量month, day和year都是整 数值,并且满足以下条件: ▪ Con1 1≤month≤12 ▪ Con2 1≤day≤31 ▪ Con3 1800≤year≤2050
《软件测试技术》
网上书店测试之黑盒测试
任
主讲教师:柳均
回顾与预习
基础知识
软件工程与软件测试、软件质量保证、测试模型、分类、原则、流程
测试技术
测试方法和技术(白盒、黑盒) 测试过程(单元、集成、系统、验收、回归)
Junit
测试进阶
测试项目管理(用例管理、缺陷管理)
自动化测试 2
相关知识—黑盒测试
❖ 理解黑盒测试的概念 ❖ 掌握等价类、边界值、 决策表、因果图、正交试验
❖ 将所有的实数(输入域x)进行划分, 可以分成:正实数、0 和 负实数。我 们选定+1.4444代表正实数,2.345代表负实数。
等价类方法可令测试事半功倍。
12
相关知识—等价类
等价类定义
等价类是输入/出域的某个子集合,而所有的 等价类的并集是整个输入域。在子集合中,各 个输入数据对于揭露程序中的错误是等效的。
36
相关知识—等价类
输出域等价类划分测试用例
37
相关知识—等价类
健壮性测试用例
38
相关知识—等价类
等价类测试指导方针 ❖ 使用等价类划分测试时,应注意以下几点: ❖ 如果实现的语言是强类型语言(无效值会引起运行
时出错),则没有必要使用健壮等价类测试。 ❖ 如果错误输入检查非常重要,则应进行健壮等价类
4 5
6
78
5
相关知识--等价类方法
1
2
3
任知任 务识务 陈准实 述备施
4
5
任项 务目 拓实 展训
6
相关知识Байду номын сангаас黑盒测试
本任务介绍了黑盒测试的流程,等价类的基本概 念。通过三角形问题,介绍了如何使用等价类方法设计 测试用例,包括等价类的划分方法,有效等价类、无效 等价类,等价类测试的分类,等价类测试的指导方针等。
以上保险费率为0.6%,10点以下保险费率为 0.1%;而点数又是由 投保人的年龄、性别、婚姻 状况和抚养人数来决定,具体规则如表 所示:
29
相关知识—等价类
保费计算问题的等价类测试
❖ 分析程序规格说明中给出和隐含的对输入条 件的要求。 ▪ 年龄:一位或两位非零整数,值的有效范 围为1~99 ▪ 性别:一位英文字符,只能取值‘M’ 或’F’ ▪ 婚姻:字符,只能取值‘已婚’或‘未婚’ ▪ 抚养人数:空白或一位非零整数(1~9) ▪ 点数 :一位或两位非零整数,值的范围 为1~99
19
相关知识—等价类
划分原则
(5)细分等价类
在确知已划分的等价类中各元素在程序中的处理方式 不同的情况下,则应再将该等价类进一步划分为更 小的等价类,并建立等价类表。
20
相关知识—等价类
等价类测试的分类
在有多个输入的情形
从对等价类的 覆盖程度
从是否对无效 数据进行检测
21
相关知识—等价类
等价类测试的分类
考虑它们之间的组合情况。
24
相关知识—等价类
强一般等价类测试 “一般”表示只考虑有效等价类,“强”表示测试用 例需覆盖两个输入的所有有效等价类的可能组合。
25
相关知识—等价类
弱健壮等价类测试 “健壮”表示不仅考虑有效等价类还要考虑无效等价 类,“弱”表示测试用例只需覆盖两个输入的所有等 价类即可,无需考虑它们之间的组合情况。
42
相关知识--边界值方法
知识点列表
❖ 边界值测试的相关概 念
❖ 边界值设计测试用例 的方法
43
相关知识--边界值方法
问题引入
❖ 当循环条件本应当判断“<"”时,却错写成了 “≤”;
❖ 三角形问题中,在作三角形判断时,要输入三 角形的3条边长a、b和c。我们知道:当满足 a+b>c、a+c>b及b+c>a时才能构成三角 形。但如果把3个不等式中的任何一个大于号 “>”错写成大于等于号“≥”,那就无法构成 三角形了。
47
相关知识--边界值方法
可能的边界
❖ 如果程序允许在一张纸上打印多个页面 ❖ 尝试:
▪ 只打印一页 ▪ 打印允许的最多页面 ▪ 打印0页 ▪ 多于所允许的页面(如果可能的话)
❖ x1的有效等价类: [a, b),[b, c),[c, d] ❖ x1的无效等价类: (-∞, a),(d , +∞) ❖ x2的有效等价类: [e, f), [f, g]
❖ x2的无效等价类: (-∞, e),(g , +∞)
23
相关知识—等价类
弱一般等价类测试 “一般”表示只考虑有效等价类,“弱”表示测试用 例只需覆盖两个输入的所有的有效等价类即可,无需
30
相关知识—等价类
等价类表
31
相关知识—等价类
测试用例
32
相关知识—等价类
输出域等价类测试
❖ 使用等价类划分方法必须仔细分析程序规范说 明。在三角形问题中,输入条件须满足3个要 求: ▪ 整数。 ▪ 3个数。 ▪ 取值在1~100之间。
❖ 仔细分析三角形问题,其无效输入就是分别不 满足以上3个方面。因此,可以将这3个要求作 为3个有效等价类,从而得出其等价类表
7
相关知识—黑盒测试
❖ 三角形问题描述 ▪ 输入3个整数a、b和c分别作为三角形的3条 边,要求a、b 和c必须满足以下条件:
▪ 程序输出是由这3条边构成的三角形类型:等 边三角形、等腰三角形、一般三角形或非三 角形。
8
相关知识—黑盒测试
❖ 如果输入值不满足这些条件中的任何一个,程序给出相 应的信息。例如,“边c的取值不在允许取值的范围内” 等。
角形”。
9
相关知识—黑盒测试
知识点列表
❖ 黑盒测试 ❖ 等价类划分 ❖ 等价类设计测试用例
的方法
10
相关知识—黑盒测试
流程
需求说明
产生
验证 测试结果
输出
测试用例 输入
11
相关知识—黑盒测试
思考
完备,无冗余
❖ 设计测试用例实现一个对(0≤x≤100) 的实数进行开平方运算 y = sqrt(x) 的程序的测试。
法 ❖ 理解黑盒测试方法运用的
综合策略
3
相关知识--黑盒测试
待测系统说明
❖ 三角形问题、NextDate问题、佣金问题、自 动饮料机
❖ 网上订餐系统 系统的主要功能 ▪ 人员管理:注册,修改 ▪ 菜品管理:增加,修改 ▪ 登录,订餐,查询
4
相关知识—黑盒测试
待测系统界面
网上订餐系统界面
1 2 3
44
相关知识--边界值方法
基本原理
❖ 错误更可能出现在输入变量的极值附近。 ❖ 无数的测试实践表明,大量的故障往往发生在
输入定义域或输出值域的边界上,而不是在其 内部。因此,针对各种边界情况设计测试用例, 通常会取得很好的测试效果。
45
相关知识--边界值方法
可能的边界
❖ 如果文本输入域允许输入1-255个字符。 ❖ 尝试:
33
相关知识—等价类
等价类表
Test1=(3, 4,5)
便可覆盖 有效等价 类1~3。
34
相关知识—等价类
健壮性测试用例
35
相关知识—等价类
输出域等价类划分测试
❖ 三角形问题有4种可能输出:等边三角形、 等腰三角形,一般三角形和非三角形。利用 这些信息可确定下列输出(值域)等价类。 ▪ R1 = { 边为a,b,c的等边三角形 } ▪ R2 = { 边为a,b,c的等腰三角形 } ▪ R3 = { 边为a,b,c的一般三角形 } ▪ R4 = { 边为a,b,c不能组成三角形 }
❖ 无效等价类
检验异常处理
——是指对软件规格说明而言,是无意义的、不
合理的输入数据所构成的集合。
15
相关知识—等价类
划分原则
(1)按照区间划分
在输入条件规定了取值范围或值的个数的情况下,可 以确定一个有效等价类和两个无效等价类。
例1:程序输入条件为小于100大于10的整数x
有效等价类为
10<x<100