第三章黑盒测试与用例设计等价类及边界值作业分析
黑盒测试用例设计方法之等价类和边界值
⿊盒测试⽤例设计⽅法之等价类和边界值⼀、等价类划分等价类划分是⼀种重要的、常⽤的⿊盒测试⽅法,不需要考虑程序的内部结构,只需要考虑程序的输⼊规格即可。
它将不能穷举的测试过程进⾏合理分类,从⽽保证设计出来的测试⽤例具有完整性和代表性。
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)。
第3章1黑盒测试方法1等价类划分法
(3)按照数值集合划分——在输入条件规定了输入值的集合或规定了“ 必须如何”的条件下,可以确定一个有效等价类和一个无效等价类( 该集合有效值之外)。
(5)细分等价类——在确知已划分的等价类中 各元素在程序中的处理方式不同的情况下,则 应再将该等价类进一步划分为更小的等价类, 并建立等价类表。
例:程序输入条件为以字符‘a’开头、长度为8 的字符串,并且字符串不包含‘a’~ ‘z’之 外的其它字符,则有效等价类为满足了上述所 有条件的字符串,无效等价类为不以‘a’开 头的字符串、长度不为8的字符串和包含了 ‘a’~ ‘z’之外其它字符的字符串。
小数(4)
非数值
字母(5) 特殊字符(6) 空格(7)
空白(8)
3、等价类划分步骤
(1)先考虑输入数据的类型(合法型和非法型) (2)再考虑数据范围(合法型中的合法区间和非法区间) (3)画出示意图,区分等价类 (4)为每一个等价类编号。 (5)考虑输出,进行补充
4、等价类的划分原则
(1)按照区间划分——在输入条件规定了 取值范围或值的个数的情况下,可以确定 一个有效等价类和两个无效等价类。
练习3:NextDate函数
NextDate函数有三个变量 month,day,year的函数,输出为输 入日期下一天的日期。如:输入为 2007年7月19日,输出为2007年7月 20日。要求三个变量都为整数,且 满足:
条件1:1 ≤month ≤12 条件2:1 ≤day ≤31 条件3:1912 ≤year ≤2050
第三章 黑盒测试-边界值分析[20页]
边界值分析方法选择测试用例原则
2)如果输入条件规定了值的个数,则用最大个数, 最小个数,比最小个数少一,比最大个数多一的数 作为测试数据。 比如,一个输入文件应包括1~255个记录,则测试 用例可取1和255,还应取0及256等。
因此,对于有n个变量的函数采用 健壮性测试需要6n+1个测试用例。
健壮性边界值测试用例
4、边界值分析举例
–(1)三角形问题的边界值分析测试用例 设计
• 边长是整数,下界1,上界100
测试用例
A
B
C
预期结果
T01
60
60
1
等腰三角形
T02
60
60
2
等腰三角形
T03
60
60
60
等边三角形
T04
50
用输入变量的 ➢ 最小值(min)、 ➢ 略大于最小值(min+)、 ➢ 输入值域内的任意值(nom)、 ➢ 略小于最大值(max-)和 ➢ 最大值(max)
来设计测试用例。
边界值分析测试用例 推论:对于有n个变量的函数用边界值分析需要4n+1个测试用例。
边界值分析法是基于可靠性理论中称 为“单故障”的假设,即有两个或两个以 上故障同时出现而导致软件失效的情况很 少,也就是说,软件失效基本上是由单故 障引起的。
测试用例 TC1 TC2 TC3 TC4 TC5 TC6 TC7 TC8 TC9 TC10 TC11 TC12 TC13 TC14 TC15 TC16 TC17 TC18 TC19
x
y
z
1
10
10
2
10
黑盒测试方法设计测试用例
黑盒测试方法设计测试用例
为了设计黑盒测试用例,我们可以采用以下方法:
1. 等价类划分:将输入参数划分为等价类,并为每个等价类设计测试用例。
等价类是指具有相似特性、对系统行为具有相同影响的一组输入值。
例如,对于一个接受数字作为输入的功能,我们可以将输入划分为正数、负数和零三个等价类。
2. 边界值分析:测试输入的边界值和边界值附近的值。
边界值是指在输入范围的最小和最大值,以及比这些值稍微偏离的值。
例如,对于一个要求输入年龄的系统,我们可以测试输入0岁、1岁、99岁以及100岁来检查系统是否正确处理边界情况。
3. 错误推测:基于常见的错误类型和用户的典型操作,设计测试用例。
例如,常见的错误类型包括输入错误、格式错误、权限错误等。
4. 判定表测试设计方法:首先分析功能需求并提取相关条件和动作,然后构建一个判定表,记录每个条件的可能取值和相应的动作。
根据判定表,设计测试用例来覆盖不同的条件和动作的组合。
5. 边界图测试设计方法:根据功能需求,绘制边界图,表示系统的状态和状态转换。
然后根据边界图设计测试用例,覆盖不同的状态和状态转换。
6. 场景测试设计方法:通过分析用户的常用操作场景,设计测试用例来覆盖不同的场景。
场景测试设计方法重点在于测试不同的操作流程和系统交互。
通过以上方法的组合应用,可以设计出全面且有效的黑盒测试用例,以揭示系统中可能存在的问题和潜在缺陷。
[黑盒测试基本方法]之等价类与边界值word精品文档8页
测试用例设计方法之等价类划分与边界值分析1.等价类划分1.1.前言我们知道软件测试是根据软件开发各个阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例运行软件,以发现软件错误的过程。
但在设计测试用例时,往往程序的输入是不可能穷举的。
因此,我们在测试某个程序时就被限制在从所有的输入条件中挑选某个小的子集来设计测试用例。
选择这个子集的前提是必须保证子集是正确的,保证子集尽可能的发现最多的错误,保证子集能代表其他大部分的测试用例,保证子集的数量是最为合理的。
1.2.定义在前言中提到的“子集”,因为他们一个个具有代表性的集合,我们将这个“子集”称为等价类。
等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某个等价类的代表值就等于对这一类其他值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。
等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
1.3.方法应用使用等价类划分方法来做测试,主要分两个步骤:确定等价类,生成测试用例。
1.3.1.确定等价类确定等价类的过程是根据规格说明选取每一个输入条件将其划分为两个或更多的组。
一般将等价类分为两类,有效等价类和无效等价类。
有效等价类代表对程序的有效输入。
无效等价类代表的则是其他任何可能的不正确的输入。
遵循“有效”,“无效”这个两个原则我们可以设计一个等价类表,确定等价类的结果就是生成一个等价类表。
1.3.2.生成测试用例根据第一步的等价类表来生成测试用例,其过程如下:1.为每一个等价类设置一个不同的编号2.编写新的测试用例,尽可能多地覆盖那些尚未被覆盖的有效等价类,直到所有的有效等价类都被测试用例所覆盖。
也就可理解为一个测试用用例可以涵盖多个有效等价类。
习题解答1_v2.0
4
(
13
123
23 233 拒绝(无效) 15
4
45
(2)上述方法设计出的测试用例已经相当完善,无须补充。 8、有一个处理单价为 5 角钱的饮料的自动售货机,相应规格说明如下:
若投入 5 角钱或 1 元钱的硬币,按下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就 送出来。(每次只投入一个硬币,只押下一种饮料的按钮)
15
a.首先为等价类表中的每一 个等价类分别规定一个唯一 的编号。 b.设计一个新的测试用例,使 它能够尽量覆盖尚未覆盖的 有效等价类。重复这个步骤, 直到所有的有效等价类均被 测试用例所覆盖。
@
c.设计一个新的测试用例, 使它仅覆盖一个尚未覆盖的 无效等价类。重复这一步骤, 直到所有的无效等价类均被 测试用例所覆盖。
2060
9
2030 14 5 无法推算
10
[
2 30 无法推算
2000
2、找零钱最佳组合(P47) 假设商店货品价格(R) 都不大于 100 元(且为整数),若顾客付款(P)在 100 元内,现有
一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。 假定此商 店的货币面值只包括:50 元(N50)、10 元(N10)、 5 元(N5)、1 元(N1) 四种。
“……对于功率大于 50 马力的机器或者维修记录不全的或已经运行 10 年以上的 机器应予以优先的维修处理……”。
这里假定“维修记录不全”和“优先维修处理”有严格的定义。 请建立该需求的决策表,并绘制出化简(合并规则)后的决策表。
解答: 根据题目意思,得到本题有三个条件: C1:功率大于 50 马力 C2:维修记录不全 C3:已经运行 10 年以上
第03课 黑盒测试边界值分析ppt课件
防灾科技学院
复习
黑盒测试是将被测软件看作一个打不开的黑盒,主要 根据功能需求设计测试用例,进行测试。
需求分析结束后就可以根据软件规格说明来设计黑盒 测试用例。
黑盒测试与软件具体实现无关,如果软件实现发生了 变化,测试用例仍然可以使用。
常用的黑盒测试方法有等价类划分、边界值分析、因 果图、决策表测试等。
边界值分析法
边界值分析测试
在一个有两个变量x1和x2的程序P中,假设输入变量x1 和x2在下列范围内取值: a≤x1≤b, c≤x2≤d
边界值分析设计测试用例时,若通过使所有变量取正常值,则:
输入变量的最小值(min) 稍大于最小值(min+) 域内任意值(nom) 思考:如果n个 稍小于最大值(max-) 变量的程序, 最大值(max) 边界值分析测 试会有多少个 测试用例?
等价类划分列表如表1所示:
表1 登录系统的等价类划分列表
根据表1设计测试用例如下:
第二章 黑盒测试
2.1 黑盒测试的基本概念 2.2 等价类划分 2.3 边界值分析法 2.4 因果图法 2.5 决策表法 2.6 黑盒测试方法的比较与选择 2.7 黑盒测试工具介绍
(5)
▪ ④ int T12345678;
(6)
⑤ int T12345......80 ;
(7)
多于 80 个字符
⑥ char T$ ;
(10)
⑦ int GOTO ;
(11)
⑧ int 2T ;
(13)
⑨ int PAR ;
(15)
PAP = 2.5 + (3.14*0.8)/6 ;
黑盒测试:边界值分析法及测试用例设计
20 14 — 20 15 学年第 2 学期软件测试技术课程
实验报告
学院:计算机科学技术
专业:软件工程
班级:软件一班
姓名:马文龙
学号: 041240139
任课教师:刘玉宝
实验日期:2015年 4 月 23 日
实验步骤:
1 分析边界值。
2 运用健壮性边界条件法设计测试用例,得到测试用例表(测试用例表格式同实验1)。
3 执行测试,填写软件缺陷报告(软件缺陷报告格式同实验1)。
实验步骤:
通过假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。
假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种。
1.用例编号说明表格式如下:
用例编号N50 N10 N5 N1 找零张数
1 2 0 0 0 0
2 2 0 0 1 Error
3 0 100 0 0 0
4 0 0 20 0 0
5 0 0 0 100 0
6 0 101 0 0 Error。
软件测试-第三章黑盒测试方法
局限性
测试结果的覆盖度不容易度量,测试的潜在风险 较高
5
适用阶段 当被测对象为函数时
完成对函数功能的测试 无需看函数代码,只需了解函数接口和返回值 对应单元测试阶段
当被测对象为功能时
完成对整个软件系统功能和易用性等的测试 无需看各功能点如何编程实现,只需要了解SRS中关
21
3.2 边界值测试
2覆盖所有输入条件的所有边界组合 可测试到所有的边界组合,但不利于缺陷的隔离和
定位
弱边界法
基于单缺陷假设 将调试的思想引入测试,优势在于便于快速隔离和
定位边界缺陷,且大大降低测试用例
全边界法
强边界+弱边界
22
3.2 边界值测试
并遵循独立性假设,即假设各个输入条件之 间相互独立,不产生相互影响,即不具有相 互依赖关系。也就是说,当针对某个输入条 件确定边界点时,不考虑其他输入条件可能 对该输入条件所产生的任何影响。
17
3.2 边界值测试
测试用例设计
测试难点 输入域的确定 边界的确定 边界点附近邻域的设置 测试用例的设计
于输入和输出的规定 对应系统测试,或有用户共同参与的验收测试阶段
6
测试方法的评价
测试用例对被测对象的覆盖率 测试用例的冗余 测试用例的数量 测试用例对缺陷的定位能力 测试用例设计的复杂度
7
黑盒测试类型 边界值测试 等价类划分测试 判定表(输入组合) 因果图测试 基于场景的测试 错误推测测试
确定邻域:即输入/输出域边界附近的邻域范围, 便于及时发现所有潜伏在边界附近的缺陷
设计用例:即从边界及其邻域抽取测试数据,设 计测试用例
黑盒测试——等价类划分法
实验二: 黑盒测试——等价类划分法【实验环境】Windows 10 操作系统,C,C++,C#、Java或Python语言开发环境(IDE)。
【实验类型】设计型【实验目的】1.认识黑盒测试方法中等价类划分测试方法原理2.掌握黑盒测试方法中等价类划分测试方法过程【实验内容】【实验材料】1.三角形问题问题描述:三角形问题接受三个整数,a、b和c作为输入,用作三角形的边。
程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形或非三角形。
作为输入:三角形的三条边必须满足如下条件:C1:1<=a<=100C2:1<=b<=100C3:1<=c<=100C4:a<b+cC5:b<a+cC6:c<a+b2.NextDate函数问题描述:NextDate是一个由三个变量(月份、日期和年份)的函数。
函数返回输入日期后边的那个日期。
作为输入:变量月份、日期和年都具有整数值,满足以下条件。
C1:1<=月份<=12C2:1<=日期<=31C3:1912<=年<=20503.佣金问题问题描述:前亚利桑那洲境内的一位步枪销售商销售密苏里州制造商制造的步枪机(lock)、枪托(stock)和枪管(barrel)。
枪机卖45美元,枪托卖30美元,枪管卖25美元。
销售商每月至少要售出一支完整的步枪,且生产限额是大多数销售商在一个月内可销售70个枪机、80个枪托和90个枪管。
每访问一个镇子后,销售商都给密苏里州步枪制造商发出一份很短的电报,通知几个枪机被售出。
这样步枪制造商就知道当月的销售情况,并计算销售商的佣金如下:不到(含)1000美元的部分为10%;1000(不含)~1800(含)美元的部分为15%;超过1800美元的部分为20%。
佣金程序生成月份销售报告,汇总售出的枪机、枪托和枪管总数,销售商的总销售额以及佣金。
第三章黑盒测试与用例设计等价类及边界值作业分析
因果图法测试举例(续)
(1)分析程序规格说明中的原因和结果:
原因 c1:第一个字符是# c2:第一个字符是* c3:第二个字符是一个数字
结果 e1:给出信息N e2:修改文件 e3:给出信息M
(2)画出因果图(编号为10的中间结点是导出结果的进一步原因): c1 E c2 c3 ~ e1 e2 e3
因果图法的简介(续)
• 使用因果图法的优点:
(1)考虑到了输入情况的各种组合以及各个输入情况之间 的相互制约关系。 (2)能够帮助测试人员按照一定的步骤,高效率的开发测 试用例。 (3)因果图法是将自然语言规格说明转化成形式语言规格 说明的一种严格的方法,可以指出规格说明存在的不完 整性和二义性。
因果图(续)
• 因果图中的约束 在实际问题中输入状态相互之间、输出状态相互之间可 能存在某些依赖关系,称为“约束”。对于输入条件的约束 有E、I、O、R四种约束,对于输出条件的约束只有M约束。 E约束(异):a和b中最多有一个可能为1,即a和b不能同时为 1(但可能多个同时为0)。
I 约束(或):a、b、c中至少有一个必须为1,即 a、b、c不 能同时为0(但可能多个同时为1)。 O约束(唯一):a和b必须有一个且仅有一个为1。 R约束(要求):a是1时,b必须是1,即a为1时,b不能为0。 M约束(强制):若结果a为1,则结果b强制为0。
∨
10
∧
~
因果图法测试举例(续)
(3)将因果图转换成如下所示的决策表: 选项 规则
1 1 1 1
2 1 1 0
3 1 0 1 1
4 1 0 0 0 1 0
√
8 0 0 0 0
√ √
条件: C1 C2 C3 10 动作: e1 e2 e3 不可能 测试用例
- 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 因果图法的简介
• 因果图法产生的背景:
等价类划分法和边界值分析方法都是着重考虑输入条 件,但没有考虑输入条件的各种组合、输入条件之间的相 互制约关系。这样虽然各种输入条件可能出错的情况已经 测试到了,但多个输入条件组合起来可能出错的情况却被 忽视了。 如果在测试时必须考虑输入条件的各种组合,则可能 的组合数目将是天文数字,因此必须考虑采用一种适合于 描述多种条件的组合、相应产生多个动作的形式来进行测 试用例的设计,这就需要利用因果图(逻辑模型)。