第3章(2)黑盒测试方法2-边界值分析法
- 格式:ppt
- 大小:529.50 KB
- 文档页数:37
⿊盒测试⽤例设计⽅法之等价类和边界值⼀、等价类划分等价类划分是⼀种重要的、常⽤的⿊盒测试⽅法,不需要考虑程序的内部结构,只需要考虑程序的输⼊规格即可。
它将不能穷举的测试过程进⾏合理分类,从⽽保证设计出来的测试⽤例具有完整性和代表性。
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.1 等价类划⽅法1.2 边界值分析⽅法1.3 决策表⽅法1.4 错误推测⽅法1.4 因果图⽅法⼆:详解2.1 等价类划分⽅法定义:是把所有可能的输⼊数据,即程序的输⼊域划分成若⼲部分(⼦集),然后从每⼀个⼦集中选取少数具有代表性的数据作为测试⽤例(⼦集中每个输⼊对发现软件错误都是等效的)。
该⽅法是⼀种重要的,常⽤的⿊盒测试⽤例设计⽅法。
等价类分类:(a) 有效等价类-->指对于软件规格说明来说,是合理的、有意义的输⼊数据构成的集合。
(b) ⽆效等价类-->与有效等价类相反,指对于软件规格说明⽽⾔,没有意义的、不合理的输⼊数据集合。
编写设计测试⽤例的步骤:(1) 根据被测对象的输⼊条件,确定等价类,包括有效等价类和⽆效等价类。
有效等价类:系统可以接受、认可的、正确的业务操作。
⽆效等价类:系统认为是⾮法的,不合理的输⼊。
(2) 将有效等价类、⽆效等价类进⾏编号。
有效等价类取交集,⽆效等价类取并集。
(3) 为每个等价类设计具体测试数据。
注:在实际测试过程中,不管是有效等价类,还是⽆效等价类,系统都要做出响应。
如输⼊合法邮箱名,系统应该能够接受;如输⼊⾮法邮箱名,系统应给予“邮箱名输⼊不合法,请重新输⼊!”等类似的错误提⽰。
案例:新浪邮箱名,其输⼊要求如下:1. 4~16个字符2. ⽀持英⽂⼩写、数字、下划线3. 不⽀持全部为数字或下划线案例解析:输⼊条件有效等价类⽆效等价类输⼊条件有效等价类⽆效等价类⽤户名字符数4~16(1)0(2)、0<个数<4(3)、>16(4)⽤户名组成英⽂⼩写(5)、数字(6)、下划线(7)⾮英⽂⼩写、数字、下划线(8)⽤户名⽀持格式不全为数字(9)、不全为下划线(10)全为数字(11)、全为下划线(12)邮箱名有效输⼊集合: (1) (5) (6) (7) (9) (10) 32jing_qfda ⽆效集合:(2) 邮箱名为空 (3) jby(4) jiangboyang_1987_12_22 (8) 江渤洋 (11) 1234567890 (12) __________最终测试⽤例:序号输⼊及操作说明期望的测试结果132jing_qfda 符合要求2邮件名为空⽤户名字符数不符合要求3jby4jiangboyang_1987_12_225江渤洋⽤户名组成不符合要求6@#%……7FDAY 81234567890⽤户名⽀持格式不符合要求9__________2.2 边界值分析⽅法定义:边界值分析法就是对输⼊或输出的边界值进⾏测试的⼀种⿊盒测试⽅法。
黑盒测试的设计方法黑盒测试是一种测试方法,旨在测试软件系统的功能和用户需求是否符合预期。
与白盒测试相比,黑盒测试专注于测试系统的外部行为,而不关心系统的内部实现细节。
在黑盒测试中,测试人员没有访问系统源代码的权限,只能基于软件规约和需求文档进行测试。
为了设计有效的黑盒测试用例,以下是几种常用的黑盒测试设计方法:1. 等价类划分法:等价类划分法是黑盒测试中最常用的设计方法之一。
它将输入域划分为多个等价类,每个等价类代表一组具有相同功能或行为的输入。
通过选择其中的一个或几个测试用例进行测试,可以有效地覆盖输入域的多个情况。
例如,对于一个要求输入年龄的系统,可以将年龄划分为负数、0-17岁、18-60岁和大于60岁等等等价类。
2. 边界值分析法:边界值分析法是一种特殊的等价类划分方法,它关注输入域的边界条件。
根据输入域的边界条件设计测试用例,可以更好地发现潜在的问题。
例如,对于一个要求输入1-100之间的数字的系统,边界值分析法会测试输入1和100,以确保系统在边界条件下的正常工作。
3. 因果图法:因果图法是一种图形化的设计方法,通过对系统的功能和用户需求进行建模,以便更好地理解系统的逻辑关系。
通过使用因果图,测试人员可以发现功能之间的依赖关系,从而设计测试用例。
因果图法通常用于复杂系统,可以帮助测试人员更好地理解和覆盖系统的功能。
4. 判定表法:判定表法是一种以规则和条件为基础的测试设计方法。
在判定表中,规则和条件被列举出来,并使用真值表来确定特定条件下的期望结果。
通过设计测试用例来测试不同条件的组合,可以有效地发现系统的问题。
判定表法特别适用于决策较多的系统,可以帮助测试人员设计高效的测试用例。
5. 错误推测法:错误推测法是一种基于经验的测试设计方法。
测试人员根据以往的经验和知识,推测系统中可能存在的问题,并设计测试用例来验证这些问题。
错误推测法是一种质量保证团队经常使用的方法,可以帮助捕获一些开发团队容易忽略的问题。
黑盒测试的方法黑盒测试是软件测试中的一种重要方法,它是在不考虑程序内部结构和实现细节的情况下,通过输入和输出来检查软件的功能和性能。
黑盒测试主要关注软件的功能是否符合需求,以及在各种输入条件下是否能产生正确的输出。
在进行黑盒测试时,测试人员需要根据软件的需求规格说明书和功能规格说明书,设计测试用例并进行测试,以验证软件是否符合用户需求。
下面将介绍一些常用的黑盒测试方法。
1. 等价类划分法。
等价类划分法是一种常用的黑盒测试方法,它将输入数据划分为若干个等价类,然后从每个等价类中选择一个代表性的数据进行测试。
这样可以有效地减少测试用例的数量,同时保证覆盖了各种情况。
例如,对于一个要求输入1到100之间的数字的软件,可以将输入数据划分为小于1、1到100之间、大于100这三个等价类,然后分别选择一个代表性的数据进行测试。
2. 边界值分析法。
边界值分析法是在等价类划分法的基础上,对边界值进行重点测试的一种方法。
因为通常情况下,软件在边界处容易出现错误。
例如,对于一个要求输入1到100之间的数字的软件,边界值为1和100,测试人员可以重点测试这两个边界值附近的情况,以确保软件在边界处能够正常工作。
3. 因果图法。
因果图法是一种用于描述软件功能和输入之间因果关系的图形化方法,它能够帮助测试人员理清软件功能之间的关联,从而设计出更加全面的测试用例。
通过因果图法,测试人员可以将软件的功能和输入条件进行组合,找出各种情况下的测试用例,以确保软件能够正常工作。
4. 判定表驱动法。
判定表驱动法是一种将各种输入条件和对应的输出结果进行组合的方法,通过设计判定表来指导测试用例的设计。
判定表中列出了各种输入条件和输出结果的组合情况,测试人员可以根据判定表来设计测试用例,并进行测试。
这种方法能够帮助测试人员全面地覆盖各种情况,确保软件的功能和性能都得到了验证。
总结。
在进行黑盒测试时,测试人员可以根据软件的需求规格说明书和功能规格说明书,选择合适的测试方法,并设计相应的测试用例进行测试。
黑盒测试是一种基于证明功能需求和用户最终需求的测试方法,设计黑盒测试用例的方法有如下8种:等价类划分法。
边界值分析法。
因果图法。
判定表驱动测试。
场景法。
功能图法。
错误推测法。
正交试验设计法。
在实际测试工作中,往往是综合使用各种方法才能有效地提高测试效率和测试覆盖率,这就需要认真掌握这些方法的原理,积累更多的测试经历,以有效地提高测试水平和测试效率。
下面就将主要介绍这8种设计黑盒测试用例的方法。
等价类划分等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据〔有效的和无效的〕划分成假设干个等价类。
然后从每个局部中选取具有代表性的数据当做测试用例进展合理的分类,测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性。
利用这一方法设计测试用例可以不考虑程序的部构造,以需求规格说明书为依据,选择适当的典型子集,认真分析和推敲说明书的各项需求,特别是功能需求,尽可能多地发现错误。
由于等价类是在需求规格说明书的根底上进展划分的,并且等价类划分不仅可以用来确定测试用例中的数据的输入输出的准确取值围,也可以用来准备中间值、状态和与时间相关的数据以及接口参数等,所以等价类可以用在系统测试、集成测试和组件测试中,在有明确的条件和限制的情况下,利用等价类划分技术可以设计出完备的测试用例。
这种方法可以减少设计一些不必要的测试用例,因为这种测试用例一般使用一样的等价类数据,从而使测试对象得到同样的反映行为。
对于等价类我们从以下几个方面讨论它的划分方法。
1、等价类划分等价类可以划分为有效等价类和无效等价类。
〔1〕有效等价类有效等价类指对于程序规格说明来说,是合理的、有意义的输入数据构成的集合。
利用有效等价类可以检验程序是否实现了规格说明预先规定的功能和性能。
有效等价类可以是一个,也可以是多个,根据系统的输入域划分假设干局部,然后从每个局部中选取少数有代表性数据当做数据测试的测试用例,等价类是输入域的集合。
[⿊盒测试⽅法]边界值分析法边界值分析法就是对输⼊或输出的边界值进⾏测试的⼀种⿊盒测试⽅法。
通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试⽤例来⾃等价类的边界。
根据⼤量的测试统计数据,很多错误是发⽣在输⼊或输出范围的边界上,⽽不是发⽣在输⼊/输出范围的中间区域。
因此针对各种边界情况设计测试⽤例,可以查出更多的错误。
边界值分析⽅法边界值分析不是从某等价类中随便挑⼀个典型值或者任意值作为测试数据,⽽是着重测试已划分出的等价类的每个边界,选取正好等于、刚刚⼤于或刚刚⼩于边界的值作为测试数据。
也就是边界值⽅法中常说的边界5点,即上点、内点和离点。
(1)上点:是指边界上的点,如果域的边界是闭区间的,上点就是在域范围内,如果是开区间的话,上点就是在域范围外。
(2)离点:是指离上点最近的点,如果域的边界是是开区间,那么离点就在范围域内,如果是闭区间,那么离点就在域范围外。
(3)内点:域内的任意⼀个点都是内点。
举例说明边界值中上点、离点、内点的取值。
如下:(1)区间为正整数值域[66,88],上点就是66,88,并且都是在域范围内。
内点就是域内得任意点,离点是65,89。
(2)区间为正整数值域(66,88],这种情况上点是66,88,其中⼀个是域内,⼀个是域外,内点就是域内的任意点,离点是:67,89。
(3)区间为正整数值域(66,88),这样的情况上点还是66,88,只是都是在域外,内点还是域内的任意点,离点此时为:67,87。
再做进⼀步说明,如下:(1)上点、离点的确定和这个域的边界是开区间还是闭区间有关,不论边界是开区间还是闭区间,上点和离点总有⼀个在域范围内,⼀个在域范围外。
如边界是开区间,上点在域范围内,离点在域范围外,如果是闭区间,则相反。
(2)上点、离点的选择还和区间的数据类型有关。
如果是整数,可以通过在上点的基础上加1或者减1确定离点。
如果是实数,可以⼈为设置⼀个精度,在这个精度下选择⼀个最靠近的点。
黑盒测试的六种方法黑盒测试是软件测试的一种方法,它不关心内部实现细节,只关注输入和输出之间的关系。
通过针对软件的功能进行测试来验证其是否符合预期的要求。
在黑盒测试中,测试人员不需要了解软件的内部逻辑,只需根据软件的规格说明书或者需求文档来进行测试。
在进行黑盒测试时,有许多不同的方法和技术可以使用。
下面将介绍黑盒测试的六种常见方法:1.等价类划分法(Equivalence Partitioning):等价类划分法是将输入数据划分为多个等价的分组,然后从每个分组中选择代表性的数据进行测试。
这样可以有效地减少测试用例的数量,但又覆盖了所有的可能情况。
2.边界值分析法(Boundary Value Analysis):边界值分析法是一种测试技术,重点关注输入值的边界和临界值,以及边界周围的值。
通过测试边界值和临界值可以发现软件中常见的错误,如越界访问、边界条件错误等。
3.错误推测法(Error Guessing):错误推测法是一种基于经验和直觉的测试方法,测试人员尝试猜测软件中可能存在的错误,并针对这些错误编写测试用例。
这种方法可以帮助测试人员在短时间内发现潜在的问题。
4.状态转换法(State Transition Testing):状态转换法主要用于测试具有状态转换的系统,测试人员根据系统的状态图来设计测试用例。
通过测试系统在不同状态之间的转换是否正确来验证软件的功能是否符合需求。
5.决策表测试法(Decision Table Testing):决策表测试法是一种测试技术,它将系统的所有输入条件和对应的动作列成决策表,然后根据决策表来设计测试用例。
这种方法可以帮助测试人员全面地覆盖系统的所有可能情况。
6.因果图测试法(Cause-Effect Graph Testing):因果图测试法是一种基于因果关系的测试技术,它将系统的输入和输出之间的因果关系转换成因果图,然后根据因果图来设计测试用例。
这种方法可以帮助测试人员发现系统中隐藏的逻辑错误。