版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章黑盒测试第4章黑盒测试4.1边界值测试4.2等价类测试4.3基于判定表的测试4.4因果图4.5其他黑盒测试方法4.6综合案例4.7本章小结第4章黑盒测试第4章黑盒测试4.1常用测试技术常用测试技术黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误:是否有不正确或遗漏了的功能?在接口上,输入能否正确地接受?能否输出正确的结果?是否有数据结构错误或外部信息(例如数据文件)访问错误?性能上是否能够满足要求?是否有初始化或终止性错误?黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错不深入代码细节的测试方法称为黑盒测试。软件测试员充当客户来使用。软件输入输出黑盒测试(Blackboxtesting)也称功能测试或数据驱动测试,它是已知产品所应具有的功能,通过测试来检测每个功能是否都正常使用。黑盒测试—戴上眼罩测试软件这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。不深入代码细节的测试方法称为黑盒测试。软件输入输出黑盒测试(黑盒测试技术概述黑盒测试技术概述黑盒测试过程黑盒测试过程例:测试计算器的功能例:测试计算器的功能黑盒测试的特点黑盒测试的特点黑盒测试的优缺点黑盒测试的优缺点第4章1黑盒测试之边界值测试概要课件黑盒测试的难点黑盒测试的难点测试内点测试外点被测试子域边界值分析法软件边界与悬崖很类似测试内点测试外点被测试边界值分析法软件边界与悬崖很类似 4.1边 界 值 测 试
任何一个程序都可以看做是一个函数,程序的输入构成函数的定义域,程序的输出构成函数的值域。人们从长期的测试工作经验得知,大量的错误是发生在定义域或值域(输出)的边界上,而不是在其内部。对于软件缺陷,有句谚语形容得很恰当,即“缺陷遗漏在角落里,聚集在边界上”。
4.1边 界 值 测 试
任何一个程序都可以看比如,在做三角形计算时,要输入三角形的三个边长A、B和C。这三个数值应当满足A>0、B>0、C>0、A+B>C、A+C>B、B+C>A,才能构成三角形。但如果把六个不等式中的任何一个大于号“>”错写成大于等于号“≥”,那就不能构成三角形。问题常常出现在容易被疏忽的边界附近。类似的例子还有很多,如计数器常常“少记一次”;循环条件应该是“≤”时错误地写成了“<”;数组下标越界(在C语言中数组下标是从零开始,可能错误地认为是从1开始,从而使最后一个元素的下标越界)等。
边界值分析关注的是输入空间的边界,从中标识测试用例。边界值测试背后的基本原理是错误更可能出现在输入变量的极值附近。因此针对各种边界情况设计测试用例,可以查出更多的错误。
比如,在做三角形计算时,要输入三角形的三个边长A、B和C边界值设计原则(1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。例如,如果程序的规格说明中规定:“重量在10公斤至50公斤范围内的邮件,其邮费计算公式为…
…
”。作为测试用例,我们应取10及50,还应取10.01,49.99,9.99及50.01等。边界值设计原则(1)如果输入条件规定了值的范围,则应取刚达(2)如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据。例如,一个输入文件应包括1-255个记录,则测试用例可取1和255,还应取0及256等。(2)如果输入条件规定了值的个数,则用最大个数、最(3)将规则1和2应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。例如,一程序属于情报检索系统,要求每次”最少显示1条、最多显示4条情报摘要”,这时我们应考虑的测试用例包括1和4,还应包括0和5等。再如,一个学生成绩管理系统规定,只能查询95-98级大学生的各科成绩,可以设计测试用例,使得查询范围内的某一届或四届学生的学生成绩,还需设计查询94级、99级学生成绩的测试用例(不合理输出等价类)。(3)将规则1和2应用于输出条件,即设计测试用例使(4)如果程序的规格说明给出的输入域或输出域是有序集合(如顺序文件、线性表等),则应选取集合的第一个元素和最后一个元素作为测试用例。
(5)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
例如,如果程序中定义了一个数组,其元素下标的下界是0,上界是100,那么应选择达到这个数组下标边界的值,如0与100,作为测试用例。(6)分析规格说明,找出其他可能的边界条件。(4)如果程序的规格说明给出的输入域或输出域是有序集合(如顺常见的边界值常见的边界值4.1.1边界条件
边界条件就是一些特殊情况。一般的,在条件C下,软件执行一种操作,对任意小的值σ,条件C+σ或C-σ会执行另外的操作,则C就是一个边界。
在多数情况下,边界条件是基于应用程序的功能设计而需要考虑的因素,可以从软件的规格说明或常识中得到。比如程序要对学生成绩进行处理,要求输入数据的范围是[0,100],则很明显输入条件的边界是0和100。
然而,在测试用例设计过程中,某些边界条件是不需要呈现给用户的,或者说用户是很难注意到的,但同时确实属于检验范畴内的边界条件,称为内部边界条件或次边界条件。
内部边界条件主要有下面几种。
4.1.1边界条件
边界条件就是一些特殊情况。一般的1.数值的边界值
计算机是基于二进制进行工作的,因此,软件的任何数值运算都有一定的范围限制。比如一个字节由8位组成,一个字节所能表达的数值范围是[0,255]。表4-1-1列出了计算机中常用数值的范围。
1.数值的边界值
计算机是基于二进制进行工作的,因此第4章1黑盒测试之边界值测试概要课件2.字符的边界值
在计算机软件中,字符也是很重要的表示元素。其中ASCII和Unicode是常见的编码方式。表4-1-2中列出了一些常用字符对应的ASCII码值。如果要测试文本输入或文本转换的软件,在定义数据区间包含哪些值时,就可以参考ASCII码表,找出隐含的边界条件。
2.字符的边界值
在计算机软件中,字符也是很重要的表第4章1黑盒测试之边界值测试概要课件3.其他边界条件
有一些边界条件容易被人忽略,比如在文本框中不是没有输入正确的信息,而是根本就没有输入任何内容,然后就按“确认”按钮。这种情况常常被遗忘或忽视了,但在实际使用中却时常发生。因此在测试时还需要考虑程序对默认值、空白、空值、零值、无输入等情况的反应。
在进行边界值测试时,如何确定边界条件的取值呢?一般情况下,确定边界值应遵循以下几条原则:
(1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。
3.其他边界条件
有一些边界条件容易被人忽略,比如在(2)如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据。
(3)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试数据。
(4)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据。
(5)分析规格说明,找出其他可能的边界条件。
(2)如果输入条件规定了值的个数,则用最大个数、最小个4.1.2边界值分析
为便于理解,以下讨论涉及两个输入变量x1和x2的函数F。假设x1和x2分别在下列范围内取值:a≤x1≤b;c≤x2≤d。
函数F的输入空间如图4-1-1所示。矩形阴影中的任何一点都是函数F的有效输入。4.1.2边界值分析
为便于理解,以下讨论涉及两个输图4-1-1两个变量函数的输入域
图4-1-1两个变量函数的输入域
边界值分析的基本思想是使用输入变量的最小值、略大于最小值、正常值、略小于最大值和最大值设计测试用例。通常我们用min、min+、nom、max-和max来表示。
当一个函数或程序有两个及两个以上的输入变量时,就需要考虑如何组合各变量的取值。我们可根据可靠性理论中的单缺陷假设和多缺陷假设来考虑。边界值分析的基本思想是使用输入变量的最小值、略大于最小值
单缺陷假设,即被测对象只要在某个输入条件的某个边界出错,则在任何包含改输入条件的某个边界的情况下一定会出错,那么测试时仅覆盖输入条件的单个边界点即可,无需测试多个输入条件取边界测试数据的情况。因此,单缺陷假设的策略是在任何一个测试用例中,有且只能有一个输入条件的取值为边界邻域内的测试数据,其他输入条件应取正常值(一般为相邻边界点之间的中值)。 单缺陷假设,即被测对象只要在某个输入条件的某个边界出错,则
单缺陷假设是指“失效极少是由两个或两个以上的缺陷同时发生引起的”。依据单缺陷假设来设计测试用例,只让一个变量取边界值,其余变量取正常值。多缺陷假设是指“失效是由两个或两个以上缺陷同时作用引起的”。因此依据多缺陷假设来设计测试用例,要求在选取测试用例时同时让多个变量取边界值。单缺陷假设是指“失效极少是由两个或两个以上的缺陷同时发生引
在边界值分析中,用到了单缺陷假设,即选取测试用例时仅仅使得一个变量取极值,其他变量均取正常值。对于有两个输入变量的程序P,其边界值分析的测试用例如下:
{<x1nom,x2min>,<x1nom,x2min+>,<x1nom,x2nom>,<x1nom,x2max->,<x1nom,x2max>,<x1min,x2nom>,<x1min+,x2nom>,<x1max-,x2nom>,<x1max,x2nom>}
对于有两个输入变量的程序P,其边界值分析的测试用例在图中的位置如图4-1-2所示。在边界值分析中,用到了单缺陷假设,即选取测试用例时仅仅使图4-1-2两个变量函数的边界值分析图4-1-2两个变量函数的边界值分析
例如,有一个二元函数f(x,y),要求输入变量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个输入变量的程序,使除一个以外的所有变量取正常值,剩余的一个变量依次取最小值、略大于最小值、正常值、略小于最大值和最大值,并对每个变量重复进行。因此,对于有n个输入变量的程序,边界值分析会产生4n+1个测试用例。例如,有一个二元函数f(x,y),要求输入变量x,y分别
例如,有一个三元函数f(x,y,z),其中x∈[0,100],y∈[1,12],z∈[1,31],对该函数采用边界值分析法设计的测试用例将会得到13个测试用例,根据边界分析的原理,可得到下列测试数据:{<50,6,1>,<50,6,2>,<50,6,30>,<50,6,31>,<50,1,15>,<50,2,15>,<50,11,15>,<50,12,15>,<0,6,15>,<1,6,15>,<99,6,15>,<100,6,15>,<50,6,15>}。
例如,有一个三元函数f(x,y,z),其中x∈[0,举例:三角形问题举例:三角形问题边界值分析优缺点边界值分析优缺点4.1.3健壮性边界测试
健壮性是指在异常情况下,软件还能正常运行的能力。健壮性可衡量软件对于规范要求以外的输入情况的处理能力。所谓健壮的系统,是指对于规范要求以外的输入能够判断出这个输入不符合规范要求,并能有合理的处理方式的系统。软件设计的健壮与否直接反映了分析设计和编码人员的水平。
健壮性边界测试是边界值分析的一种简单扩展。在使用该方法设计测试用例时,既要考虑有效输入,又要考虑无效的输入。除了按照边界值分析方法选取的五个取值(min、min+、nom、max-、max)外,还要选取略小于最小值(min-)和略大于最大值(max+)的取值,以观察输入变量超过边界时程序会有什么表现。对于有两个变量的程序P,其健壮性测试的测试用例如图4-1-3所示。4.1.3健壮性边界测试
健壮性是指在异常情况下,软图4-1-3两个变量函数的健壮性测试用例
图4-1-3两个变量函数的健壮性测试用例对于一个含有n个输入变量的程序,进行健壮性边界测试时,使除一个以外的所有变量取正常值,使剩余的那个变量依次取略小于最小值、最小值、略大于最小值、正常值、略小于最大值、最大值和略大于最大值,并对每个变量重复进行。因此其健壮性测试会产生6n+1个测试用例。
对于一个含有n个输入变量的程序,进行健壮性边界测试时,使例如,有一个二元函数f(x,y),要求输入变量x,y分别满足:x∈[0,100],y∈[1000,3000],对其进行健壮性测试,则需要设计13个测试用例。根据健壮性测试的原理,可以得到下面一组测试数据:{<-1,1500>,<0,1500>,<1,1500>,<50,1500>,<99,1500>,<100,1500>,<101,1500>,<50,999>,<50,1000>,<50,1001>,<50,2999>,<50,3000>,<50,3001>}。
健壮性测试最关心的是预期的输出,而不是输入。健壮性测试的最大价值在于观察处理异常情况,它是检测软件系统容错性的重要手段。
例如,有一个二元函数f(x,y),要求输入变量x,y分别4.1.5案例
1.三角形问题
输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形。如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。要求输入三个整数a、b、c,必须满足以下条件:1≤a≤100;1≤b≤100;1≤c≤100。请用边界值分析法设计测试用例。4.1.5案例
1.三角形问题
输入三个整数a
用边界值分析法设计测试用例,按照下列步骤进行:
1)分析各变量取值
边界值分析的基本思想是使用输入变量的最小值、略大于最小值、正常值、略小于最大值和最大值设计测试用例。因此a、b、c的边界取值是:1、2、50、99、100。
2)测试用例数
有n个变量的程序,其边界值分析会产生4n+1个测试用例。这里有3个变量,因此会产生13个测试用例。
用边界值分析法设计测试用例,按照下列步骤进行:
1)3)设计测试用例
用边界值分析法设计测试用例就是使一个变量取边界值(分别取最小值、略大于最小值、正常值、略小于最大值和最大值),其余变量取正常值,然后对每个变量重复进行。本例用边界值分析法设计的测试用例见表4-1-3。
3)设计测试用例
用边界值分析法设计测试用例就是使第4章1黑盒测试之边界值测试概要课件
2.NextDate函数
程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足条件:1≤month≤12、1≤day≤31,1900≤year≤2050),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上下一天的日期。例如,输入为2005年11月29日,则该程序的输出为2005年11月30日。请用健壮性测试法设计测试用例。
2.NextDate函数
程序有三个输入变量mont
用健壮性测试法设计测试用例,按照下列步骤进行:
1)分析各变量的取值
健壮性测试时,各变量分别取:略小于最小值、最小值、略大于最小值、正常值、略小于最大值、最大值和略大于最大值。
month取-1,1,2,6,11,12,13。
day取-1,1,2,15,30,31,32。
year取1899,1900,1901,1975,2049,2050,2051。
用健壮性测试法设计测试用例,按照下列步骤进行:
1)
2)测试用例数
有n个变量的程序,其边界值分析会产生6n+1个测试用例。这里有3个变量,因此会产生19个测试用例。
3)设计测试用例
设计测试用例见表4-1-4。2)测试用例数
有n个变量的程序,其边界值分析会产第4章1黑盒测试之边界值测试概要课件不难看出,有大量测试用例涉及简单日期计算和无效日期处理,冗余较为严重,其闰月的情况
(2月月末的日期)完全没有测试到,肯定存在漏洞。然而,边界值测试关注的是边界,只能以最少的测试用例保证覆盖所有可能的边界,就不应视作冗余和漏洞,而从特殊值值的角度所观察到的冗余和漏洞在等价类测试和基于决策表的测试中将通过等价划分及相似用例的合并策略来予以避免。不难看出,有大量测试用例涉及简单日期计算和无效日期NextDate函数的复杂性来源于两个方面:一是输入域的复杂性(即输入变量之间逻辑关系的复杂性);二是确定闰年的规则。但是在进行健壮性测试时,没有考虑输入变量之间的逻辑关系,也没有考虑和闰年相关的问题,因此在设计测试用例时存在遗漏问题,比如判断闰年相关的日期:2008.2.29、1999.2.28等。
NextDate函数的复杂性来源于两个方面:一是输第4章1黑盒测试之边界值测试概要课件第4章黑盒测试第4章黑盒测试4.1边界值测试4.2等价类测试4.3基于判定表的测试4.4因果图4.5其他黑盒测试方法4.6综合案例4.7本章小结第4章黑盒测试第4章黑盒测试4.1常用测试技术常用测试技术黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误:是否有不正确或遗漏了的功能?在接口上,输入能否正确地接受?能否输出正确的结果?是否有数据结构错误或外部信息(例如数据文件)访问错误?性能上是否能够满足要求?是否有初始化或终止性错误?黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错不深入代码细节的测试方法称为黑盒测试。软件测试员充当客户来使用。软件输入输出黑盒测试(Blackboxtesting)也称功能测试或数据驱动测试,它是已知产品所应具有的功能,通过测试来检测每个功能是否都正常使用。黑盒测试—戴上眼罩测试软件这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。不深入代码细节的测试方法称为黑盒测试。软件输入输出黑盒测试(黑盒测试技术概述黑盒测试技术概述黑盒测试过程黑盒测试过程例:测试计算器的功能例:测试计算器的功能黑盒测试的特点黑盒测试的特点黑盒测试的优缺点黑盒测试的优缺点第4章1黑盒测试之边界值测试概要课件黑盒测试的难点黑盒测试的难点测试内点测试外点被测试子域边界值分析法软件边界与悬崖很类似测试内点测试外点被测试边界值分析法软件边界与悬崖很类似 4.1边 界 值 测 试
任何一个程序都可以看做是一个函数,程序的输入构成函数的定义域,程序的输出构成函数的值域。人们从长期的测试工作经验得知,大量的错误是发生在定义域或值域(输出)的边界上,而不是在其内部。对于软件缺陷,有句谚语形容得很恰当,即“缺陷遗漏在角落里,聚集在边界上”。
4.1边 界 值 测 试
任何一个程序都可以看比如,在做三角形计算时,要输入三角形的三个边长A、B和C。这三个数值应当满足A>0、B>0、C>0、A+B>C、A+C>B、B+C>A,才能构成三角形。但如果把六个不等式中的任何一个大于号“>”错写成大于等于号“≥”,那就不能构成三角形。问题常常出现在容易被疏忽的边界附近。类似的例子还有很多,如计数器常常“少记一次”;循环条件应该是“≤”时错误地写成了“<”;数组下标越界(在C语言中数组下标是从零开始,可能错误地认为是从1开始,从而使最后一个元素的下标越界)等。
边界值分析关注的是输入空间的边界,从中标识测试用例。边界值测试背后的基本原理是错误更可能出现在输入变量的极值附近。因此针对各种边界情况设计测试用例,可以查出更多的错误。
比如,在做三角形计算时,要输入三角形的三个边长A、B和C边界值设计原则(1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。例如,如果程序的规格说明中规定:“重量在10公斤至50公斤范围内的邮件,其邮费计算公式为…
…
”。作为测试用例,我们应取10及50,还应取10.01,49.99,9.99及50.01等。边界值设计原则(1)如果输入条件规定了值的范围,则应取刚达(2)如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据。例如,一个输入文件应包括1-255个记录,则测试用例可取1和255,还应取0及256等。(2)如果输入条件规定了值的个数,则用最大个数、最(3)将规则1和2应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。例如,一程序属于情报检索系统,要求每次”最少显示1条、最多显示4条情报摘要”,这时我们应考虑的测试用例包括1和4,还应包括0和5等。再如,一个学生成绩管理系统规定,只能查询95-98级大学生的各科成绩,可以设计测试用例,使得查询范围内的某一届或四届学生的学生成绩,还需设计查询94级、99级学生成绩的测试用例(不合理输出等价类)。(3)将规则1和2应用于输出条件,即设计测试用例使(4)如果程序的规格说明给出的输入域或输出域是有序集合(如顺序文件、线性表等),则应选取集合的第一个元素和最后一个元素作为测试用例。
(5)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
例如,如果程序中定义了一个数组,其元素下标的下界是0,上界是100,那么应选择达到这个数组下标边界的值,如0与100,作为测试用例。(6)分析规格说明,找出其他可能的边界条件。(4)如果程序的规格说明给出的输入域或输出域是有序集合(如顺常见的边界值常见的边界值4.1.1边界条件
边界条件就是一些特殊情况。一般的,在条件C下,软件执行一种操作,对任意小的值σ,条件C+σ或C-σ会执行另外的操作,则C就是一个边界。
在多数情况下,边界条件是基于应用程序的功能设计而需要考虑的因素,可以从软件的规格说明或常识中得到。比如程序要对学生成绩进行处理,要求输入数据的范围是[0,100],则很明显输入条件的边界是0和100。
然而,在测试用例设计过程中,某些边界条件是不需要呈现给用户的,或者说用户是很难注意到的,但同时确实属于检验范畴内的边界条件,称为内部边界条件或次边界条件。
内部边界条件主要有下面几种。
4.1.1边界条件
边界条件就是一些特殊情况。一般的1.数值的边界值
计算机是基于二进制进行工作的,因此,软件的任何数值运算都有一定的范围限制。比如一个字节由8位组成,一个字节所能表达的数值范围是[0,255]。表4-1-1列出了计算机中常用数值的范围。
1.数值的边界值
计算机是基于二进制进行工作的,因此第4章1黑盒测试之边界值测试概要课件2.字符的边界值
在计算机软件中,字符也是很重要的表示元素。其中ASCII和Unicode是常见的编码方式。表4-1-2中列出了一些常用字符对应的ASCII码值。如果要测试文本输入或文本转换的软件,在定义数据区间包含哪些值时,就可以参考ASCII码表,找出隐含的边界条件。
2.字符的边界值
在计算机软件中,字符也是很重要的表第4章1黑盒测试之边界值测试概要课件3.其他边界条件
有一些边界条件容易被人忽略,比如在文本框中不是没有输入正确的信息,而是根本就没有输入任何内容,然后就按“确认”按钮。这种情况常常被遗忘或忽视了,但在实际使用中却时常发生。因此在测试时还需要考虑程序对默认值、空白、空值、零值、无输入等情况的反应。
在进行边界值测试时,如何确定边界条件的取值呢?一般情况下,确定边界值应遵循以下几条原则:
(1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。
3.其他边界条件
有一些边界条件容易被人忽略,比如在(2)如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据。
(3)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试数据。
(4)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据。
(5)分析规格说明,找出其他可能的边界条件。
(2)如果输入条件规定了值的个数,则用最大个数、最小个4.1.2边界值分析
为便于理解,以下讨论涉及两个输入变量x1和x2的函数F。假设x1和x2分别在下列范围内取值:a≤x1≤b;c≤x2≤d。
函数F的输入空间如图4-1-1所示。矩形阴影中的任何一点都是函数F的有效输入。4.1.2边界值分析
为便于理解,以下讨论涉及两个输图4-1-1两个变量函数的输入域
图4-1-1两个变量函数的输入域
边界值分析的基本思想是使用输入变量的最小值、略大于最小值、正常值、略小于最大值和最大值设计测试用例。通常我们用min、min+、nom、max-和max来表示。
当一个函数或程序有两个及两个以上的输入变量时,就需要考虑如何组合各变量的取值。我们可根据可靠性理论中的单缺陷假设和多缺陷假设来考虑。边界值分析的基本思想是使用输入变量的最小值、略大于最小值
单缺陷假设,即被测对象只要在某个输入条件的某个边界出错,则在任何包含改输入条件的某个边界的情况下一定会出错,那么测试时仅覆盖输入条件的单个边界点即可,无需测试多个输入条件取边界测试数据的情况。因此,单缺陷假设的策略是在任何一个测试用例中,有且只能有一个输入条件的取值为边界邻域内的测试数据,其他输入条件应取正常值(一般为相邻边界点之间的中值)。 单缺陷假设,即被测对象只要在某个输入条件的某个边界出错,则
单缺陷假设是指“失效极少是由两个或两个以上的缺陷同时发生引起的”。依据单缺陷假设来设计测试用例,只让一个变量取边界值,其余变量取正常值。多缺陷假设是指“失效是由两个或两个以上缺陷同时作用引起的”。因此依据多缺陷假设来设计测试用例,要求在选取测试用例时同时让多个变量取边界值。单缺陷假设是指“失效极少是由两个或两个以上的缺陷同时发生引
在边界值分析中,用到了单缺陷假设,即选取测试用例时仅仅使得一个变量取极值,其他变量均取正常值。对于有两个输入变量的程序P,其边界值分析的测试用例如下:
{<x1nom,x2min>,<x1nom,x2min+>,<x1nom,x2nom>,<x1nom,x2max->,<x1nom,x2max>,<x1min,x2nom>,<x1min+,x2nom>,<x1max-,x2nom>,<x1max,x2nom>}
对于有两个输入变量的程序P,其边界值分析的测试用例在图中的位置如图4-1-2所示。在边界值分析中,用到了单缺陷假设,即选取测试用例时仅仅使图4-1-2两个变量函数的边界值分析图4-1-2两个变量函数的边界值分析
例如,有一个二元函数f(x,y),要求输入变量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个输入变量的程序,使除一个以外的所有变量取正常值,剩余的一个变量依次取最小值、略大于最小值、正常值、略小于最大值和最大值,并对每个变量重复进行。因此,对于有n个输入变量的程序,边界值分析会产生4n+1个测试用例。例如,有一个二元函数f(x,y),要求输入变量x,y分别
例如,有一个三元函数f(x,y,z),其中x∈[0,100],y∈[1,12],z∈[1,31],对该函数采用边界值分析法设计的测试用例将会得到13个测试用例,根据边界分析的原理,可得到下列测试数据:{<50,6,1>,<50,6,2>,<50,6,30>,<50,6,31>,<50,1,15>,<50,2,15>,<50,11,15>,<50,12,15>,<0,6,15>,<1,6,15>,<99,6,15>,<100,6,15>,<50,6,15>}。
例如,有一个三元函数f(x,y,z),其中x∈[0,举例:三角形问题举例:三角形问题边界值分析优缺点边界值分析优缺点4.1.3健壮性边界测试
健壮性是指在异常情况下,软件还能正常运行的能力。健壮性可衡量软件对于规范要求以外的输入情况的处理能力。所谓健壮的系统,是指对于规范要求以外的输入能够判断出这个输入不符合规范要求,并能有合理的处理方式的系统。软件设计的健壮与否直接反映了分析设计和编码人员的水平。
健壮性边界测试是边界值分析的一种简单扩展。在使用该方法设计测试用例时,既要考虑有效输入,又要考虑无效的输入。除了按照边界值分析方法选取的五个取值(min、min+、nom、max-、max)外,还要选取略小于最小值(min-)和略大于最大值(max+)的取值,以观察输入变量超过边界时程序会有什么表现。对于有两个变量的程序P,其健壮性测试的测试用例如图4-1-3所示。4.1.3健壮性边界测试
健壮性是指在异常情况下,软图4-1-3两个变量函数的健壮性测试用例
图4-1-3两个变量函数的健壮性测试用例对于一个含有n个输入变量的程序,进行健壮性边界测试时,使除一个以外的所有变量取正常值,使剩余的那个变量依次取略小于最小值、最小值、略大于最小值、正常值、略小于最大值、最大值和略大于最大值,并对每个变量重复进行。因此其健壮性测试会产生6n+1个测试用例。
对于一个含有n个输入变量的程序,进行健壮性边界测试时,使例如,有一个二元函数f(x,y),要求输入变量x,y分别满足:x∈[0,100],y∈[1000,3000],对其进行健壮性测试,则需要设计13个测试用例。根据健壮性测试的原理,可以得到下面一组测试数据:{<-1,1500>,<0,1500>,<1,1500>,<50,1500>,<99,1500>,<100,1500>,<101,1500>,<50,999>,<50,1000>,<50,1001>,<50,2999>,<50,3000>,<50,3001>}。
健壮性测试最关心的是预期的输出,而不是输入。健壮性测试的最大价值在于观察处理异常情况,它是检测软件系统容错性的重要手段。
例如,有一个二元函数f(x,y),要求输入变量x,y分别4.1.5案例
1.三角形问题
输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形。如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新建人形机器人零部件研发制造项目可行性研究报告范文
- 污水处理厂智能清洗方案
- 尾矿库风险辨识管控方案
- 物流交接标准作业程序SOP
- 屋面防水及保温工程施工方案
- 托育服务一日活动设计方案
- 透水路面工程施工组织方案
- 2026年广东专升本计算机基础考试模拟题及答案详解
- 2025年河北省遵化市小学二年级下册道德与法治期末考试试卷带答案详解
- 2026年国考省考试卷模拟题及答案详解
- 剪刀车设备维护周检报告模板
- 数字化课堂教学设计案例模板
- 备战2026年高考语文真题分类汇编(全国):专题10 文言文阅读(解析版)
- 湖南省长沙市长郡集团初中校2025-2026学年七年级上学期11月期中联考语文(含答案)
- 活动礼品提供协议合同
- 工厂部门职责分工及岗位说明
- Unit 2 Helping at home 大单元教学任务单-2025外研版(三起)四年级英语上册
- 2025年中专无人机专业试题及答案
- 物流系统仿真flexsim仿真实验手册
- T-EBA 43007-2024 电子器件微小漏率检测方法
- 小学生芯片课件
评论
0/150
提交评论