第三章黑盒测试与用例设计---边界值分析法
黑盒测试方法——边界值分析(转)
⿊盒测试⽅法——边界值分析(转)功能测试边界测试\越界测试技术详述1)边界条件边界条件是指软件计划的操作界限所在的边缘条件。
如果软件测试问题包含确定的边界,那么数据类型可能是:数值速度字符地址位置尺⼨数量同时,考虑这些类型的下述特征:第⼀个/最后⼀个最⼩值/最⼤值开始/完成超过/在内空/满最短/最长最慢/最快最早/最迟最⼤/最⼩最⾼/最低相邻/最远2)越界测试通常是简单加1或者很⼩的数(对于最⼤值)和减少1或者很⼩的数(对于最⼩值)。
例如:第⼀个减1/最后⼀个加1开始减1/完成加1空了再减/满了再加慢上加慢/快上加快最⼤数加1/最⼩数减1最⼩值减1/最⼤值加1刚好超过/刚好在内短了再短/长了再长早了更早/晚了更晚最⾼加1/最低减1另外⼀些该注意的输⼊:默认,空⽩,空值,零值和⽆;⾮法,错误,不正确和垃圾数据边界值例⼦:1)对16-bit的整数⽽⾔32767和-32768是边界2)屏幕上光标在最左上、最右下位置3)报表的第⼀⾏和最后⼀⾏4)数组元素的第⼀个和最后⼀个5)循环的第0次、第1次和倒数第2次、最后⼀次。
⼩结:1输⼊条件对取值范围作了限定,以边界内部以及超出边界的值作为测试⽤例。
如输⼊范围为0~50,那么-1,0,1,49,50,51 2如果对取值的个数进⾏了限定,那么以最⼤个数,最⼩个数,⽐最⼤个数⼩1或⼤1,⽐最⼩个数⼩1或⼤1作为测试⽤例3对于输出条件,同样可以1,2条提到的原则来进⾏测试⽤例的设计。
4输⼊是⼀个有序集合,选取第⼀个和最后⼀个元素作为测试⽤例5考虑软件内部隐含的边界值情况,如2的乘⽅,ASCII码。
第3章(2)黑盒测试方法2-边界值分析法
问题:NextDate函数 Logo
•
NextDate函数包含三个变量
month、day和year,函数的输出为输入 日期后一天的日期。 要求输入变量 month、day和year均为整数值,并且满 足下列条件:
•
条件1 1≤ month ≤12
•
条件2 1≤ day ≤31
•
条件3 1912≤ year
≤2050
NextDate函数的边界值分析测试用例
Logo
测试用例 month day year
Test1 Test2 Test3 Test4 Test5 Test6 Test7
Logo
边界值分析法概要
• 边界值分析法就是 对输入或输出的边界值 进行测试的一种黑盒测试方法。通常边界 值分析法是作为对等价类划分法的补充, 这种情况下,其测试用例来自等价类的边 界。
Logo
为什么使用边界值分析法?
黑盒测试用例设计方法之等价类和边界值
⿊盒测试⽤例设计⽅法之等价类和边界值⼀、等价类划分等价类划分是⼀种重要的、常⽤的⿊盒测试⽅法,不需要考虑程序的内部结构,只需要考虑程序的输⼊规格即可。
它将不能穷举的测试过程进⾏合理分类,从⽽保证设计出来的测试⽤例具有完整性和代表性。
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如果程序某功能适合⾃动测试,可以采⽤⾃动化测试及随机测试。
什么是⿊盒测试以及优缺点?定义:⿊盒测试把测试对象看做⼀个⿊盒⼦,不⽤考虑程序内部结构和内部特性,依据程序需求规格说明书,检查程序功能是否符合功能说明。
优缺点:优:1功能性测试与软件如何实现⽆关,如果实现发⽣变化,功能性测试仍然可⽤;2测试⽤例编写与软件开发同时进⾏,节省软件开发时间3通过软件的⽤例可⽤设计出⼤部分功能性测试⽤例缺:1测试⽤例数量⼤2测试⽤例可能产⽣很多冗余3功能性测试的覆盖范围不可能达到100%⿊盒测试⽤例设计⽅法?答:1等价类划分法(有意义,合理的输⼊数据组成集合检查是否符合产品需求;⽆意义,不合理的输⼊数据组成的集合推测不符合需求的地⽅)、2边界值分析法(输⼊的边界值进⾏测试)、3因果图法(分析和表达多逻辑条件下执⾏不同操作)、4状态图法(和产品需求反着来,⽐如要求输⼊数字,就输⼊字母,要求输⼊正数,就输⼊负数等)、5场景法(利⽤图解法分析输⼊的各种组合情况,即输⼊多个条件的各种组合及输出情况之间的相互制约关系)、6正交试验法(⽐如要进⾏18次测试,最终选择具有代表性的9次进⾏试验)7其他测试⽅法有:错误推测法、通过测试与失败测试、随机测试边界值划分法:考虑的边界数据类型如数值、速度、字符、地址、位置、尺⼨、数量;以及考虑条件的等价区间:默认、空⽩、空值、零值和⽆。
还要考虑:⾮法、错误、不正确和垃圾数据。
还要测试:程序的状态及切换。
次边界条件:。
黑盒测试用例设计方法
黑盒测试用例设计方法
黑盒测试是一种基于功能需求进行测试的方法,测试人员只能看到程序的输入和输出,不能了解其内部的实现细节。
下面列举了几种常见的黑盒测试用例设计方法:
1. 等价类划分:将输入和输出的可能值划分为一些等价类,从每个等价类中选择一个测试用例进行测试。
这种方法可以有效地减少测试用例数量,同时覆盖各种不同的输入情况。
2. 边界值分析:在等价类的基础上,选择边界值进行测试。
边界值通常是最小或最大的合法值,以及小于或大于边界值的非法值。
测试这些边界值情况可以检测程序对边界条件的处理能力。
3. 错误推测:根据经验和直觉,预测程序中可能出现的错误,并设计测试用例来验证这些错误情况的处理能力。
例如,输入无效数据、缺失输入或重复输入等错误情况。
4. 决策表测试:将程序的输入和输出关系以决策表的形式列出,根据决策表设计对应的测试用例,确保测试覆盖所有的条件和动作。
5. 因果图测试:将程序中的输入、输出和各种条件之间的因果关系以因果图的方式表示,从因果图中选择测试用例进行测试,以覆盖各个因果路径。
6. 正交测试:将程序的输入条件按照不同的组合方式进行测试,以确定不同组合条件对程序的影响。
正交测试可以有效缩短测试用例的数量,并提高测试的覆盖率。
这些方法可以结合使用,根据具体的测试需求选择合适的方法来设计测试用例。
通过综合运用这些方法,可以提高黑盒测试的效率和有效性。
黑盒测试技术2-边界值分析法
如何选取测试数据?
• 1)如果输入条件规定了值的范围 则应取刚达到这个范围的边界的值,以及刚刚超
越这个范围边界的值作为测试输入数据。
➢ 例如,程序的规格说明中规定:“重量在10公斤 至50公斤范围内的邮件,其邮费计算公式 为……”。
➢测试数据应取10及50,还应取10.01, 49.99, 9.99及50.01等。
边界点
边界是指相对于输入等价类和输出等价类而言, 稍高于、稍低于其边界值的一些特定情况。
边界点分为上点、内点和离点。
边界值分析法
➢ 上点:就是边界上的点,不管它是开区间还是闭区间, 就是说,如果该点是封闭的,那上点就在域范围内, 如果该点是开放的,那上点就在域范围外;
➢ 内点:就是在域范围内的任意一个点; ➢ 离点:就是离上点最近的一个点,如果边界是封闭的,
的值作为测试输入数据。
取10及50,还应取
10.01,49.99,9.99及50.01等。
则用最大个数,最小个数,比最小 一个输入文件应包括1~255个记录,
个数少一,比最大个数多一的数 则测试数据可取1和255,还应取0
作为测试数据。
及256等。
某程序的规格说明要求计算出"每
同原则1)
月保险金扣除额为0至1165.25元", 其测试用例可取0.00及1165.24、
2. 选取测试数据 选取正好等于、刚刚大于或刚刚小于边界的值作为 测试数据,而不是选取等价类中的典型值或任意值。
3. 导出测试用例 根据选取的每一个测试数据,依次导出测试用例。重量在10公斤至50公斤 范围内的邮件,其邮费计算公式为……”。
➢ 测试数据应取10及50,还应取10.01, 49.99, 9.99
边界值分析报告法+场景法
黑盒测试-边界值分析法和场景法边界值分析法:实验1:某选课系统中规定每门课程的选修人数在[20,60]之间,小于20人不开设该门选修课,大于60人不接受后面的选课要求。
结合黑盒测试方法中等价类划分和边界值方法设计测试案例,并给出相应测试用例。
参考答案测试设计⏹输入变量:选课人数⏹测试输入⏹选择当选课人数分别为19,20,21, 59,60和61等几个边界点⏹再加上一个正常值点40实验 2:编写一个程序,输入某雇员的工作时间(以小时计)和每小时的工资数,计算并输出他的工资。
具体如下:✓若雇员周工作小时小于40小时(0,40),则按原小时工资0.7来计算薪水。
✓若雇员周工作小时等于40小时,则按原小时工资计算薪水。
✓若雇员周工作小时介于40到50((40,50))小时的,超过40的部分按照原小时工资的1.5倍来计算薪水。
✓若雇员周工作小时超过50小时([50,60)),则超过50的部分按原小时工资的3倍来计算薪水。
✓超出60小时或小于0小时,提示输入有误,重新输入。
结合黑盒测试方法中等价类划分和边界值方法设计测试案例,并给出测试用例和相应的测试结果。
参考答案程序参考答案:#include <stdio.h>void main(){float h;float g;float sum;sum=0.0;printf("请输入小时工资和工作小时数:"); scanf("%f",&h);scanf("%f",&g);if(h>0 && h<40)sum=0.7*h*g;else if (h>=40 && h<50)sum=40*g+(h-40)*1.5*g;else if(h>=50 && h<=60)sum=40*g+10*1.5*g+(h-50)*3*g;printf("%f",sum);}场景分析法实验 1 :下面是某高校选课系统的用例图,其“选课”用例的事件流描述如下:基本流:登录,选择课程,获取课程信息,选课,提交选课请求,显示选课结果。
黑盒测试的设计方法
黑盒测试的设计方法黑盒测试是一种测试方法,旨在测试软件系统的功能和用户需求是否符合预期。
与白盒测试相比,黑盒测试专注于测试系统的外部行为,而不关心系统的内部实现细节。
在黑盒测试中,测试人员没有访问系统源代码的权限,只能基于软件规约和需求文档进行测试。
为了设计有效的黑盒测试用例,以下是几种常用的黑盒测试设计方法:1. 等价类划分法:等价类划分法是黑盒测试中最常用的设计方法之一。
它将输入域划分为多个等价类,每个等价类代表一组具有相同功能或行为的输入。
通过选择其中的一个或几个测试用例进行测试,可以有效地覆盖输入域的多个情况。
例如,对于一个要求输入年龄的系统,可以将年龄划分为负数、0-17岁、18-60岁和大于60岁等等等价类。
2. 边界值分析法:边界值分析法是一种特殊的等价类划分方法,它关注输入域的边界条件。
根据输入域的边界条件设计测试用例,可以更好地发现潜在的问题。
例如,对于一个要求输入1-100之间的数字的系统,边界值分析法会测试输入1和100,以确保系统在边界条件下的正常工作。
3. 因果图法:因果图法是一种图形化的设计方法,通过对系统的功能和用户需求进行建模,以便更好地理解系统的逻辑关系。
通过使用因果图,测试人员可以发现功能之间的依赖关系,从而设计测试用例。
因果图法通常用于复杂系统,可以帮助测试人员更好地理解和覆盖系统的功能。
4. 判定表法:判定表法是一种以规则和条件为基础的测试设计方法。
在判定表中,规则和条件被列举出来,并使用真值表来确定特定条件下的期望结果。
通过设计测试用例来测试不同条件的组合,可以有效地发现系统的问题。
判定表法特别适用于决策较多的系统,可以帮助测试人员设计高效的测试用例。
5. 错误推测法:错误推测法是一种基于经验的测试设计方法。
测试人员根据以往的经验和知识,推测系统中可能存在的问题,并设计测试用例来验证这些问题。
错误推测法是一种质量保证团队经常使用的方法,可以帮助捕获一些开发团队容易忽略的问题。
第三章黑盒测试与用例设计---边界值分析法
范围或值
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-7)。
根据边界值分析的原则,我们可以确定输入为1和7的情况,分别代表一周的第一天和最后一天。
进一步地,我们还可以选择其他的特殊情况作为输入,比如零和负数。
第三章 黑盒测试-边界值分析[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. 场景测试设计方法:通过分析用户的常用操作场景,设计测试用例来覆盖不同的场景。
场景测试设计方法重点在于测试不同的操作流程和系统交互。
通过以上方法的组合应用,可以设计出全面且有效的黑盒测试用例,以揭示系统中可能存在的问题和潜在缺陷。
黑盒测试方法——边界值法
边界值分析也是一种黑盒测试方法,适度等价类分析方法的一种补充,由长期的测试工作经验得知,大量的错误是发生在输入或输出的边界上。因此针对各种边界情况设计测试用例,可以查出更多的错误。
选择测试用例的原则:
一、如果输入条件规定了值的范围,则应该取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据;
二、如果输入条件规定了值的个数,则用最大个数、最小个数、比最大个数多1格、比最小个数少1个的数做为测试数据;
三、根据规格说明的每一个输出条件,使用规则一;
四、根据规格说明的每一个输出条件,使用规则二;
五、如果程序的规格说明给出的输入域或输出域是有序集合(如有序表、顺序文件等),则应选取集合的第一个和最后一个元素作为测试用例;
0 < R <= 100, R <= P <= 100, RR = 49
0 < R <= 100, R <= P <= 100, RR = 10
0 < R <= 100, R <= P <= 100, RR = 9
0 < R <= 100, R <= P <= 100, RR = 5
0 < R <= 100, R <= P <= 100, RR = 4
12. 货品价格 = 99, 付款金额 = 100
13. 货品价格 = 100, 付款金额 = 100
基本掌握边界值测试方法的设计原则,使用边界值测试方法能设计出简单的案例的测试用例。
5’
3’
42’
35’
5’
六、如果程序用了一个内部结构,应该选取这个内部数据结构的边界值作为测试用例;
第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 ;
实验2、黑盒测试:边界值分析法及测试用例设计
49
9
T12
85
75
10
1
T13
80
71
9
5
T14
95
90
5
1
T15
55
51
4
4
T16
60
60
0
0
3执行测试,填写软件缺陷报告(软件缺陷报告格式同实验1)。
测试模块:
找零钱计算模块
开发者:
赵永标
测试员:
李超
测试日期:
2011年4月28日
软件缺陷列表
缺陷ID
缺陷详细信息
BUG1
付款为-1,总价为50时,预期为超出范围,但输出为50的张数为:-1;10的张数为0;5的张数为:0;1的张数为:-1;总张数为:-2
2运用健壮性边界条件法设计测试用例,得到测试用例表(测试用例表格式同实验1)。
付款
总价
余额
预期输出
T1
-1
50
超出范围
T2
0
50
不可能
T3
100
50
50
1
T50
-1
超出范围
T6
50
0
50
1
T7
50
100
不可能
T8
50
101
超出范围
T9
50
51
不可能
T10
60
59
1
1
T11
72
BUG2
付款为100,总价为50时,预期为:1,但输出为50的张数为:0;10的张数为0,5的张数为:0;1的张数为:0;总张数为:0
BUG3
付款为50,总价为-1时,预期为超出范围,但输出为50的张数为:1;10的张数为0;5的张数为:0;1的张数为:1;总张数为:2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5. 循环的第 0 次、第 1 次和倒数第 2 次、最后一次
边界值分析
• 边界值分析使用与等价类划分法相同的划分,只是边界值 分析假定错误更多地存在于划分的边界上,因此在等价类 的边界上以及两侧的情况设计测试用例。
• 例:测试计算平方根的函数 ——输入:实数 ——输出:实数 ——规格说明:当输入一个0或比0大的数的时候,返回其 正平方根;当输入一个小于0的数时,显示错误信息“平方 根非法-输入值小于0”并返回0。
边界值分析法测试用例(续)
• 例1:有两个输入变量x1(a≤x1≤b)和x2(c≤x2≤d)的程序F的 边界值分析测试用例如下: { <x1nom,x2min>, <x1nom,x2min+>, <x1nom,x2nom>, <x1nom,x2max>, <x1nom,x2max->, <x1min,x2nom>, <x1min+,x2nom>, <x1max,x2nom>, <x1max-,x2nom> }
范围或值
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
假设某软件的数据输入域要求输入5位的数据 值,可以使用10000作为最小值、99999作为 最大值;然后使用刚好小于5位和大于5位的 数值来作为边界条件。
小于空余 空间一点/ 例如在用U盘存储数据时,使用比剩余磁盘空 空间 大于满空 间大一点(几KB)的文件作为边界条件。 间一点
内部边界值分析
• 在多数情况下,边界值条件是基于应用程序的功能设计而 需要考虑的因素,可以从软件的规格说明或常识中得到, 也是最终用户可以很容易发现问题的。然而,在测试用例 设计过程中,某些边界值条件是不需要呈现给用户的,或 者说用户是很难注意到的,但同时确实属于检验范畴内的 边界条件,称为内部边界值条件或子边界值条件。 • 内部边界值条件主要有下面几种: 小结: 数值的边界值检验
软件 测试 技术
Te s t i n g
AND Developing
软件测试过程与测试模型
广东岭南职业技术学院
3.5 边界值分析法
3.5.1 边界值分析法概要
3.5.2 边界值分析法测试用例 3.5.3 边界值分析法测试举例
3.5.1 边界值分析法概要
• 边界值分析法就是对输入或输出的边界值进行测试的一种 黑盒测试方法。通常边界值分析法是作为对等价类划分法 的补充,这种情况下,其测试用例来自等价类的边界。 • 为什么使用边界值分析法? 无数的测试实践表明,大量的故障往往发生在输入定义域 或输出值域的边界上,而不是在其内部。因此,针对各种 边界情况设计测试用例,通常会取得很好的测试效果。 例如,在申请空间时“少算了”的程序,当实际使用空间没 有达到最大值时这个错误无法表现出来;循环结构经常出 现<和<=的使用错误等。
3.5.2 边界值分析法测试用例
• 例: 1、要求输入的范围是200~999 边界值取刚达到和刚超出这个范围的值。即 对于边界200,取199、200;对于边界999 ,取999和1000 2、要求输入的字符串是4~16位 边界值分别取3位、4位、16位、17位字符串 。
边界值分析法测试的实例
• 实例2 保险公司计算保费费率的程序 某保险公司的人寿保险的保费计算方式为: 投保额×保险费率 其中,保险费率依点数不同而有别,10点及10点以上保险 费率为0.6%,10点以下保险费率为0.1%;而点数又是由 投保人的年龄、性别、婚姻状况和抚养人数来决定,具体 规则如下:
x2 c d a
b
x1
练习:请为例2中的函数f(x,y)写出相应的健壮性测试用例。
3.5.3 边界值分析法测试举例
实例1 三角形问题的边界值分析测试用例 在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。 在此,我们将三角形每边边长的取范围值设值为[1, 100] 。 说明:如果程序规格说明中没有显式地给出边界值,则可以在设计测试用例前 先设定取值的下限值和上限值。
选择测试用例的原则
规则(1) 如果输入条件规定了值的范围,则应取刚达到这个范围
的边界值以及刚刚超过这个范围边界的值作为测试输入数据。 规则(2) 如果输入条件规定了值的个数,则用最大个数、最小个 数和比最大个数多1个、比最小个数少1个的数作为测试数据。 根据程序规格说明的每个输出条件,使用原则 (1)。 根据程序规格说明的每个输出条件,使用原则 (2) 。 如果程序的规格说明给出的输入域或输出域是有序集合(如有 序表、顺序文件等),则应选取集合中的第一个和最后一个元 素作为测试用例。 如果程序中使用了一个内部数据结构,则应当选择这个内部数 据结构的边界上的值作为测试用例。 分析程序规格说明,找出其它可能的边界条件。
测试用例
实例2 NextDate函数的边界值分析测试用例 在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为 1≤month≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。
测试用例
测试用例
Test 1 Test2 Test3 Test4 Test5 Test6 Test7 Test8 Test9 Test10 Test11 Test12 Test13
边界值呢?
• 1、9、10、11、19、20、21、29、30、 31 • 你还有补充吗?
3.5.2 边界值分析法深入剖析
• 采用边界值分析测试的基本思想是:故障往往出现在输入 变量的边界值附近。 ——因此,边界值分析法利用输入变量的最小值(min)、 略大于最小值(min+)、输入值域内的任意值(nom)、略小 于最大值(max-)和最大值(max)来设计测试用例。 • 边界值分析法是基于可靠性理论中称为“单故障”的假设, 即有两个或两个以上故障同时出现而导致软件失效的情况 很少,也就是说,软件失效基本上是由单故障引起的。 ——因此,在边界值分析法中获取测试用例的方法是: (1) 每次保留程序中一个变量,让其余的变量取正常值,被保 留的变量依次取min、min+、nom、max-和max。 (2) 对程序中的每个变量重复 (1) 。
x2 c
d a b x1
边界值分析法测试用例(续)
• 例2:有二元函数f(x,y),其中x∈[1,12],y∈[1,31]。 则采用边界值分析法设计的测试用例是: { <1,15>, <2,15>, <11,15>, <12,15>, <6,15>, <6,1>, <6,2>, <6,30>, <6,31> } 推论:对于一个含有n个变量的程序,采用边界值分析法测 试程序会产生4n+1个测试用例。 • 练习:有函数f(x,y,x),其中x∈[1900,2100],y∈[1,12], z∈[1,31]的。请写出该函数采用边界值分析法设计的测试 用例。 { <2000,6,1>, <2000,6,2>, <2000,6,30>, <2000,6,31>, <2000,1,15>, <2000,2,15>, <2000,11,15>, <2000,12,15>, <1900,6,15>, <1901,6,15>, <2099,6,15>, <2100,6,15>, <2000,6,15> }
在实际的测试用例设计中,需要将基本的软件设计要求和程序定义的要求结 字符的边界值检验 合起来,即结合基本边界值条件和内部边界值条件来设计有效的测试用例。 其它边界值检验
数值的边界值检验
• 计算机是基于二进制进行工作的,因此,软件的任何数值 运算都有一定的范围限制。
计算机数值运算的范围
项
位(bit) 字节(byte)
习题
找零钱最佳组合
假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100 元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货 币张数最少)。 假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5 元(N5)、1元(N1) 四种。 请结合等价类划分法和边界值分析法为上述程序设计 出相应的测试用例。
年龄
20~39 40~59 6点 4点 其它 2点Βιβλιοθήκη 性别M 5点 F 3点
婚姻
已婚 3点 未婚 5点
抚养人数
1人扣0.5点 最多扣3点 (四舍五入取整)
边界值在哪里?
• 凡是遇到和数字有关的基本都需要考虑边 界值 • 1,年龄 • 2,抚养人数 • 3,点数
再来一个实例分析
• • • •
买5件:5*5 买15件 买25件 买50件
a
60 60 60 50 50 60 60 50 50 1 2 99 100
b
60 60 60 50 50 1 2 99 100 60 60 50 50
c
1 2 60 99 100 60 60 50 50 60 60 50 50