第三章黑盒测试与用例设计等价类及边界值作业分析
黑盒测试用例设计方法之等价类和边界值

⿊盒测试⽤例设计⽅法之等价类和边界值⼀、等价类划分等价类划分是⼀种重要的、常⽤的⿊盒测试⽅法,不需要考虑程序的内部结构,只需要考虑程序的输⼊规格即可。
它将不能穷举的测试过程进⾏合理分类,从⽽保证设计出来的测试⽤例具有完整性和代表性。
1、等价类的分类 有效等价类:指符合《需求规格说明书》,输⼊合理的数据集合。
⽆效等价类:指不符合《需求规格说明书》,输⼊不合理的数据集合。
2、等价类思考步骤 (1)先确定有效和⽆效等价类 (2)有效等价类就是题⽬条件(两端的极值(边界值)要判断、中间随意⼀个值也要判断) (3)⽆效等价类先划分与条件相反的情况,再找到特殊情况(中⽂、英⽂、符号、空格、空)3、例题:A、测试QQ账号,账号的要求是 6---10位正整数。
B、⼿机号码1. 某城市的电话号码由三部分组成。
这三部分的名称和内容分别是地区码:空⽩或三位数字;前 缀:⾮’0’或’1’开头的三位数;后 缀:四位数字。
解:第⼀步:划分等价类,包括4个有效等价类,11个⽆效等价类。
第⼆步:确定调试⽤例。
对11个⽆效等价类,要选择11个调试⽤例,如下所⽰:3、等价类分类总结通过上⾯的案例,我们可以总结⼀下,当我们在测试⽂本框的程序可以考虑如下的情况:a:⽂本框要求输⼊的长度b:输⼊的类型c:组成规则d:是否为空e:是否重复---区分⼤⼩写,f:是否去除空格⼆、边界值分析1.什么是边界值分析法?边界条件,是指输⼊和输出等价类中那些恰好处于边界、或超过边界、或在边界⼀下的状态。
边界值分析法也是⼀种常⽤的⿊盒测试⽅法。
特别要注意的是:⼤量的错误是发⽣在输⼊或输出范围的边界上,⽽不是在输⼊范围的内部。
我们先来看⼀个例题,解释⼀下为什么要⽤边界值。
题⽬:输⼊的参数值必须⼤于0同时⼩于100的整数。
接下来我们来看程序员写的⼀段代码:number = int(input("输⼊的参数值必须⼤于0同时⼩于100的整数:"))if 100 >= number >= 18:print("输⼊的数据合法")else:print("输⼊的数据不符合要求")各位思考⼀下,这⾥⾯有什么问题呢。
实验黑盒测试用例设计

实验黑盒测试用例设计黑盒测试是一种软件测试方法,用于测试软件的功能是否按照预期要求进行操作并产生正确的输出结果。
黑盒测试着重于测试软件的功能是否按照规格说明书的要求进行运行,而不关心内部的实现细节。
为了设计有效的黑盒测试用例,以下是一些常见的方法和技巧:1.等价类划分:将输入域划分为若干个等价类,然后选择一个或多个测试用例来覆盖每个等价类。
这可以有效地减少测试用例的数量,并确保对不同类型的输入进行全面测试。
2.边界值分析:测试边界值情况是非常重要的,因为边界值通常比一般值更容易引发错误。
根据输入域的边界值,选择测试用例以测试软件在边界条件下的行为。
3.错误推测:通过了解程序的规格说明书和需求,识别可能的错误类型,并选择测试用例来验证软件的处理能力。
比如,如果一个程序要求输入数字,但实际上可以接受其他类型的输入,那么我们就可以选择测试用例来验证这种错误情况。
4.决策表测试:对于复杂的程序逻辑,使用决策表来设计测试用例是一种非常有效的方法。
决策表定义了输入条件和操作条件之间的关系,使得可以根据不同的组合测试不同的情况。
5.正交实验设计:正交实验设计是一种基于统计原理的测试方法,可以有效地减少测试用例的数量,并提高测试的效率。
通过选择一组互相独立的输入条件和值,生成一组测试用例来覆盖不同的情况。
6.错误处理测试:测试软件的错误处理能力是非常重要的。
选择测试用例来模拟可能的错误情况,如输入错误数据、断开网络连接等,以验证软件的错误处理机制。
7.用户需求测试:黑盒测试的目标是验证软件是否满足用户需求。
因此,重点测试的是功能和用户需求之间的对应关系。
选择测试用例来验证软件是否按照用户需求进行操作,并生成正确的输出结果。
总结起来,黑盒测试用例设计的关键是选取合适的测试方法和技巧,并根据软件的需求和规格说明书选择恰当的测试用例来覆盖不同的情况。
通过充分利用这些方法和技巧,可以设计出一组有效的黑盒测试用例,提高软件的质量和可靠性。
黑盒测试——等价类划分、边界值分析、因果图、状态图、场景、正交试验法

⿊盒测试——等价类划分、边界值分析、因果图、状态图、场景、正交试验法⿊盒测试常⽤测试⽅法的选择:1⾸先采⽤等价类划分法来编写测试⽤例2必要时采⽤边界值分析法进⾏补充测试⽤例3采⽤错误推测法再追加测试⽤例4对照程序逻辑,检查⾃⼰设计出的测试⽤例逻辑覆盖程度,若覆盖不够,则需要再补充其他的测试⽤例5如果程序功能含有输⼊条件的组合情况,应⼀开始就采⽤因果图法6如果程序某功能适合⾃动测试,可以采⽤⾃动化测试及随机测试。
什么是⿊盒测试以及优缺点?定义:⿊盒测试把测试对象看做⼀个⿊盒⼦,不⽤考虑程序内部结构和内部特性,依据程序需求规格说明书,检查程序功能是否符合功能说明。
优缺点:优:1功能性测试与软件如何实现⽆关,如果实现发⽣变化,功能性测试仍然可⽤;2测试⽤例编写与软件开发同时进⾏,节省软件开发时间3通过软件的⽤例可⽤设计出⼤部分功能性测试⽤例缺:1测试⽤例数量⼤2测试⽤例可能产⽣很多冗余3功能性测试的覆盖范围不可能达到100%⿊盒测试⽤例设计⽅法?答:1等价类划分法(有意义,合理的输⼊数据组成集合检查是否符合产品需求;⽆意义,不合理的输⼊数据组成的集合推测不符合需求的地⽅)、2边界值分析法(输⼊的边界值进⾏测试)、3因果图法(分析和表达多逻辑条件下执⾏不同操作)、4状态图法(和产品需求反着来,⽐如要求输⼊数字,就输⼊字母,要求输⼊正数,就输⼊负数等)、5场景法(利⽤图解法分析输⼊的各种组合情况,即输⼊多个条件的各种组合及输出情况之间的相互制约关系)、6正交试验法(⽐如要进⾏18次测试,最终选择具有代表性的9次进⾏试验)7其他测试⽅法有:错误推测法、通过测试与失败测试、随机测试边界值划分法:考虑的边界数据类型如数值、速度、字符、地址、位置、尺⼨、数量;以及考虑条件的等价区间:默认、空⽩、空值、零值和⽆。
还要考虑:⾮法、错误、不正确和垃圾数据。
还要测试:程序的状态及切换。
次边界条件:。
第3章(1) 黑盒测试方法1-等价类划分法

• 举例:划分 加法器程序的等价类,给出 测试用例.程序功能计算两个1~100之间 整数的和
2、如何划分等价类-2 Logo
• 刚才给出的 测试用例 都是整数,如果输 入的是小数、字符怎么办?
2、设计测试用例的基本准则 Logo
• 测试用例的代表性
能够代表并覆盖各种合理的和不合理的、合法 的和非法的、边界的和越界的以及极限的输入数据、 操作和环境设置等。
• 测试结果的可判定性
即测试执行结果的正确性是可判定的,每一个 测试用例都应有相应的期望结果。
• 测试结果的可再现性
即对同样的测试用例,系统的执行结果应当是 相同的。
2、等价类的类型 Logo
• 有效等价类
– 对规格说明而言,有意义、合理的输入数据 所组成的集合;
– 检验程序是否实现了规格说明预先规定的功 能和性能。
• 无效等价类
– 对规格说明而言,无意义的、不合理的输入 数据所组成的集合;
– 检查被测对象的功能和性能的实现是否有不 符合规格说明要求的地方。
3、如何划分等价类-1 Logo
Logo
(3)按照数值集合划分——在输入条件规定 了输入值的集合或规定了“必须如何”的 条件下,可以确定一个有效等价类和一个 无效等价类(该集合有效值之外)。
例:程序输入用户口令的长度必须是4位 的串,可以确定一个邮箱等价类是串的长 度为4,一个无效等价类长度不为4。
Logo
(4)按照限制条件或规则划分——在规定 了输入数据必须遵守的规则或限制条件 的情况下,可确定一个有效等价类(符 合规则)和若干个无效等价类(从不同 角度违反规则)。
第三章黑盒测试与用例设计---边界值分析法

范围或值
0或1 0 ~ 255
字(word) 0~65535(单字)或 0~4294967295(双字)
千(K)
兆(M) 吉(G)
1024
1048576 1073741824
字符的边界值检验
• 在计算机软件中,字符也是很重要的表示元素,其中ASCII 和Unicode是常见的编码方式。下表中列出了一些常用字符 对应的ASCII码值。 字符 空 (null) 空格 (space) 斜杠 ( / ) 0 冒号 ( : ) @ ASCII码值 0 32 47 48 58 64 字符 A a Z z 单引号 ( ‘ ) ASCII码值 65 97 90 122 96
年龄
20~39 40~59 6点 4点 其它 2点
性别
M 5点 F 3点
婚姻
已婚 3点 未婚 5点
抚养人数
1人扣0.5点 最多扣3点 (四舍五入取整)
边界值在哪里?
• 凡是遇到和数字有关的基本都需要考虑边 界值 • 1,年龄 • 2,抚养人• •
买5件:5*5 买15件 买25件 买50件
边界值分析(续)
• 通常情况下,软件测试所包含的边界检验有几种类型: 数字、字符、位置、质量、大小、速度、方位、尺寸、 空间等 • 相应地,以上类型的边界值应该在: 最大/最小、首位/末位、上/下、最快/最慢、最高/最低、 最短/最长、 空/满等情况下
实例分析
举例 —— 利用边界值作为测试数据
项 边界值 测试用例的设计思路 假设一个文本输入区域允许输入1个到255个 起始-1个 字符,输入1个和255个字符作为有效等价类; 字符 字符/结束 输入0个和256个字符作为无效等价类,这几个 +1个字符 数值都属于边界条件值。 数值 最小值-1/ 最大值+1
第三章 黑盒测试

无效等价类
无效等价类是指对程序规格说明, 是不合理或无意义的输入数据所构成的 集合。 利用无效等价类,可以检查程序功 能和性能的实现是 否有不符合规格说 明要求的地方。 对于具体的问题,无效等价类至少应有 一个,也可能有多个。
等价类划分
根据已列出的等价类表,按以下步骤确 定测试用例: 1)为每个等价类规定一个唯一的编号。 2) 设计一个新的测试用例,尽可能多地覆盖 尚未被覆盖的有效等价类,重复这一步,直 到测试用例覆盖了所有的有效等价类。 3) 设计一个新的测试用例,使其覆盖并且只 覆盖一个还没有被覆盖的无效等价类。重复 这一步,直至测试用例覆盖了所有的无效等 价类。
对闰年问题 给予更多的注意
标准等价类测试用例:
测试用例
Test1 Test2 Test3 Test4
Month
4 5 2 4
Day
15 29 30 31
Year
2000 1996 2002 2000
预期输出
4/16/2000 5/30/1996 2/31/2002(不可能的日期) 5/1/2000(不可能的输入日期)
健壮性等价类测试用例
等价类划分测试举例
1. 三角形问题的等价类测试用例
(1)传统等价类划分测试用例设计
在三角形问题中,输入条件要求:
● 整数; ● 三个数; ● 取值在1到100之间
仔细分析三角形问题,可得出其等价类表。
1
三角形问题的等价类
号码 无效等价类 号码
有效等价类
整数
1
一边为非整数 二边为非整数 三边均为非整数
因此,变量x1和x2,的无效值分别为: x1<a,x1>d 无效等价类 和 x2<e,x2>g
测试中的边界值分析和等价类划分

测试中的边界值分析和等价类划分边界值分析和等价类划分是软件测试中常用的两种测试技术,旨在有效地识别和测试系统的边界、边界值和等价类。
本文将分别介绍边界值分析和等价类划分的概念、原则和实施方法,并探讨其在测试中的应用。
一、边界值分析边界值分析是一种测试技术,通过选择接近边界的测试数据来测试程序的边界行为。
其基本原则是边界附近的输入数据更容易引发错误,因此需要更详细和严格的测试。
以下是边界值分析的实施步骤:1. 确定输入和输出的边界:首先确定程序的输入和输出边界,即确定需要测试的数据范围和限制条件。
2. 选择测试数据:根据边界值分析的原则,选择接近边界的测试数据,包括边界本身、边界的上下界以及中间值,以覆盖所有可能的情况。
3. 执行测试用例:使用选定的测试数据执行测试用例,检查程序在边界条件下的行为和输出,验证其是否符合预期。
边界值分析可以帮助测试人员更全面地覆盖系统的边界情况,从而提高测试的有效性和覆盖率。
通过选择接近边界的测试数据,可以发现程序在边界条件下的异常行为和错误,进一步完善系统的功能和稳定性。
二、等价类划分等价类划分是一种测试技术,通过将输入值划分为等价类来降低测试用例的数量,并确保每个等价类都能代表该类输入的所有可能情况。
以下是等价类划分的实施步骤:1. 确定输入条件:首先确定程序的输入条件,并将其划分为若干个等价类。
2. 选择代表性测试数据:从每个等价类中选择一个或多个代表性的测试数据作为测试用例。
3. 执行测试用例:使用选定的测试数据执行测试用例,验证程序在不同等价类条件下的行为和输出。
等价类划分可以帮助测试人员更有效地组织和管理测试用例,通过减少测试用例的数量,节省时间和资源,同时又能保证覆盖所有可能的输入情况。
三、边界值分析和等价类划分的应用边界值分析和等价类划分在软件测试中都具有广泛的应用。
它们能够有效地发现和修复软件系统中的错误和缺陷,提高系统的质量和可靠性。
以下是它们在测试中的常见应用场景:1. 输入验证:在对用户输入进行验证的场景中,边界值分析和等价类划分可以帮助确定有效和无效的输入范围,并根据这些范围选择测试数据。
2.黑盒测试:边界值及测试用例设计

20 15 —20 16 学年第 2 学期软件测试技术课程实验报告学院:计算机科学技术专业:软件工程班级:软件二班姓名:吴德宁学号:041340217任课教师:刘玉宝实验日期:2016年 5 月9 日实验题目实验2、黑盒测试:边界值分析方法及设计测试案例实验目的1、掌握边界值的概念2、掌握边界值分析法的测试用例设计方法。
实验内容1、对于找零钱最佳组合问题运用边界值分析法设计测试用例,并执行测试,撰写实验报告。
实验步骤:假设商品总价为T,顾客付款为P①分析边界值。
分析输入情形:1.T无效:T<=02.T有效:T>0此种情况下考虑P:2_1.P无效:P<T (款不够支付)2_2.P有效:P>=T分析输出情形:考虑输出—找零个数这里是有效数据,关于“找给顾客值最少钱币张数”的有效值50:0/110:0/1/2/3/45 :0/11 :0/1/2/3/4分析规格中每一个决策情形:无效输入(不找零):T<=0(商品总价小于等于0错误)T>0 P<T(付款不够支付)输出相应错误有效输入(找零)T>0 P>T此时考虑的输出(Change=P-T假设计算正确,不考虑这种情况的无效输出)0<=Change<45<= Change <1010<= Change <5050<= ChangeChange:0、1、4、5、9、10、49、50、99②运用健壮性边界条件法设计测试用例,得到测试用例表(测试用例表格式同实验1)。
付款总价余额预期输出T1 -1 50 超出范围T2 0 50 不可能T3 100 50 50 1T4 101 50 超出范围T5 50 -1 超出范围T6 50 0 50 1T7 50 100 不可能T8 50 101 超出范围T9 50 51 不可能T10 60 59 1 1T11 72 23 49 9T12 85 75 10 1T13 80 71 9 5T14 95 90 5 1T15 55 51 4 4T16 60 60 0 0③执行测试,填写软件缺陷报告(软件缺陷报告格式同实验1)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编号 (7) (8) (9) (10) (11) (12) (13)
序号 1 2 3 4 5 6 7 8 9 10
输入参数 012-8725656 0123-8546523 012-84864878 110-6845316 01-5645642 01111-4552135 012-0464534 012-1455544 012-15454 0123-454514542
覆盖等价类 输出结果 ( 1 ) ( 2 ) 2002年1月6日 (3 ) (4 ) 输入错误!请从新输 入! (5 ) 输入错误!请从新输 入! (1)(6) 输入错误!请从新输 入! (1)(7) 输入错误!请从新输 入! ( 1 ) ( 2 ) 输入错误!请从新输 (8 ) 入! ( 1 ) ( 2 ) 输入错误!请从新输 (9 ) 入!
输入条件 地区码
有效等价类 0开头 三位数字串 四位数字串 非0 and 非1开头 七位数字串 八位数字串
编号 (1) (2) (3) (4) (5) (6)
电话号码
无效等价类 非0开头 <三位数字串 >四位数字串 以0开头 以1开头 <七位数字串 >八位数字串 输出参数 输入正确 输入正确 输入正确 输入错误 输入错误 输入错误 输入错误 输入错误 输入错误 输入错误
因果图(续)
• 因果图中的4种基本关系 在因果图的基本符号中,图中的左结点ci表示输入状 态(或称原因),右结点ei表示输出状态(或称结果)。ci 与 ei 取值0或1,0表示某状态不出现,1则表示某状态出 现。
恒等:若 c1 是1,则 e1 也为1,否则 e1 为0。 非:若 c1 是1,则 e1 为0,否则e1为1。 或:若 c1 或 c2 或 c3 是1,则 e1 为1,否则 e1 为0。 与:若 c1 和 c2 都是1,则 e1 为1,否则 e1 为0。
因果图法的简介(续)
• 因果图法是基于这样的一种思想:一些程序的功能可以用 判定表(或称决策表)的形式来表示,并根据输入条件的 组合情况规定相应的操作。 • 因果图法的定义:是一种利用图解法分析输入的各种组合 情况,从而设计测试用例的方法,它适合于检查程序输入 条件的各种组合情况。 • 采用因果图法设计测试用例的步骤: (1)根据程序规格说明书描述,分析并确定因(输入条件) 和果(输出结果或程序状态的改变),画出因果图。 (2)将得到的因果图转换为判定表。 (3)为判定表中每一列所表示的情况设计一个测试用例。
序号 1 2 3 4 5 6 7
输入参数 20000228 9990105 30010312 20120012 20111323 20180300 20560432
输出结果 2000年3月1日 输入错误!请从新输入! 输入错误!请从新输入! 输入错误!请从新输入! 输入错误!请从新输入! 输入错误!请从新输入! 输入错误!请从新输入!
覆盖等价类 (1)(2)(4)(5) (1)(3)(4)(5) (1)(2)(4)(6) (7) (8) (9) (1)(2)(10) (1)(2)(11) (1)(2)(12) (1)(3)(13)
任务二 日期计算
给出某一天(年,月, 日),计算出它的下一天,取值范围为: 年:1000<= year <=3000 月:1<=month <=12 日:1<= day <=31 如 1999年3月4日的下一天是:1999年3月5日 要求: 输入:三个参数(年,月, 日) 输出:如能正确计算,计算出它的下一天, 否则,输出相应的错误信息。 1)使用C语言编写程序实现 2)请结合等价类划分法和边界值分析法设计出相应的测试用例,并依 照测试用例对所编写的程序进行测试。
输入条件 年 月 日
有效等价类 1000<=year<=300 0 1<=month<=12 1<=day<=31
编号 (1 ) (2 ) (3 )
无效等价类 <1000 >3000 <1 >12 <1 >31
编号 (4) (5) (6) (7) (8
输入参数 20020105 9910502 30120515 20120015 20141325 20070400 20010632
因果图法的简介(续)
• 使用因果图法的优点:
(1)考虑到了输入情况的各种组合以及各个输入情况之间 的相互制约关系。 (2)能够帮助测试人员按照一定的步骤,高效率的开发测 试用例。 (3)因果图法是将自然语言规格说明转化成形式语言规格 说明的一种严格的方法,可以指出规格说明存在的不完 整性和二义性。
输入条件 地区码
有效等价类 0开头 三位数字串 四位数字串 非0 and 非1开头 七位数字串 八位数字串
编号 (1) (2) (3) (4) (5) (6)
电话号码
无效等价类 非0开头 <三位数字串 >四位数字串 以0开头 以1开头 <七位数字串 >八位数字串
编号 (7) (8) (9) (10) (11) (12) (13)
上节回顾
• 等价类划分法步骤 • 边界值分析基本知识点
任务一 等价类
需求: 城市的电话号码由两部分组成。这两部分的名称和内容分别是: 1)地区码:以0开头的三位或者四位数字(包括0); 2)电话号码:以非0、非1开头的七位或者八位数字。 假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定 的号码,请使用等价分类法来设计它的测试用例。
3.6 因果图法
3.6.1 因果图法的简介
3.6.2 因果图 3.6.3 因果图法测试举例
3.6.1 因果图法的简介
• 因果图法产生的背景:
等价类划分法和边界值分析方法都是着重考虑输入条 件,但没有考虑输入条件的各种组合、输入条件之间的相 互制约关系。这样虽然各种输入条件可能出错的情况已经 测试到了,但多个输入条件组合起来可能出错的情况却被 忽视了。 如果在测试时必须考虑输入条件的各种组合,则可能 的组合数目将是天文数字,因此必须考虑采用一种适合于 描述多种条件的组合、相应产生多个动作的形式来进行测 试用例的设计,这就需要利用因果图(逻辑模型)。