第3章黑盒测试及其用例PPT讲稿.ppt

上传人:石*** 文档编号:43543911 上传时间:2022-09-17 格式:PPT 页数:118 大小:4.06MB
返回 下载 相关 举报
第3章黑盒测试及其用例PPT讲稿.ppt_第1页
第1页 / 共118页
第3章黑盒测试及其用例PPT讲稿.ppt_第2页
第2页 / 共118页
点击查看更多>>
资源描述

《第3章黑盒测试及其用例PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第3章黑盒测试及其用例PPT讲稿.ppt(118页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第3章黑盒测试及其用例第1页,共118页,编辑于2022年,星期一本章教学目标理论环节理论环节学习理解黑盒测试方法的基本概念学习理解黑盒测试方法的基本概念学习理解黑盒测试的两个典型问题学习理解黑盒测试的两个典型问题学习掌握黑盒测试的等价类划分法学习掌握黑盒测试的等价类划分法学习掌握黑盒测试的边界值分析法学习掌握黑盒测试的边界值分析法学习掌握黑盒测试的因果图测试法和决策表法学习掌握黑盒测试的因果图测试法和决策表法实践环节实践环节通过案例运用学习掌握运用方法解决实际问题的能力通过案例运用学习掌握运用方法解决实际问题的能力运用等价类划分法与边界值分析法进行实际程序测试运用等价类划分法与边界值分析法进

2、行实际程序测试运用因果图测试法与决策表法进行实际程序测试运用因果图测试法与决策表法进行实际程序测试第2页,共118页,编辑于2022年,星期一3.1测试用例设计概述3.1.1测试用例的定义和特征测试用例的定义和特征3.1.2测试用例的基本准则测试用例的基本准则3.1.3设计测试用例的着眼点设计测试用例的着眼点3.1.4测试用例设计书写标准测试用例设计书写标准Return第3页,共118页,编辑于2022年,星期一3.1.1测试用例的定义和特征测试用例的定义:测试用例的定义:(1)测测试试用用例例是是为为特特定定的的目目的的而而设设计计的的一一组组测测试试输输入入、执行条件和预期的结果。执行条件

3、和预期的结果。(2)测试用例是执行的最小实体。)测试用例是执行的最小实体。测试用例的特征:测试用例的特征:(1)最有可能抓住错误的;)最有可能抓住错误的;(2)不是重复的、多余的;)不是重复的、多余的;(3)一组相似测试用例中最有效的;)一组相似测试用例中最有效的;(4)既不是太简单,也不是太复杂。)既不是太简单,也不是太复杂。第4页,共118页,编辑于2022年,星期一3.1.2设计测试用例的基本准则测试用例的代表性测试用例的代表性能够代表并覆盖各种合理的和不合理的、合法的和非法的、能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的输入数据、操作和环境设置等。边界的

4、和越界的以及极限的输入数据、操作和环境设置等。测试结果的可判定性测试结果的可判定性即测试执行结果的正确性是可判定的,每一个测试用例都即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果。应有相应的期望结果。测试结果的可再现性测试结果的可再现性即对同样的测试用例,系统的执行结果应当是相同的。即对同样的测试用例,系统的执行结果应当是相同的。第5页,共118页,编辑于2022年,星期一3.1.3设计测试用例的着眼点根据产品规格,测试基本功能;根据产品规格,测试基本功能;考虑设计一般用户(非专业人员)的使用方案;考虑设计一般用户(非专业人员)的使用方案;考虑设计稀有或特殊的使用方案;考

5、虑设计稀有或特殊的使用方案;与与系系统统其其他他组组成成部部分分的的配配合合(如如上上网网可可能能要要用用到到MODEM,测试中考虑对设备的共享);,测试中考虑对设备的共享);考虑特殊情况(如内存和硬件的冲突等);考虑特殊情况(如内存和硬件的冲突等);设计极端情况(如内存泄漏、破坏性测试等);设计极端情况(如内存泄漏、破坏性测试等);好的测试用例集能花费最小的代价(人力、物力、财好的测试用例集能花费最小的代价(人力、物力、财力、时间)做最好的测试。力、时间)做最好的测试。第6页,共118页,编辑于2022年,星期一3.1.4测试用例设计书写标准在在ANSI/IEEE829-1983标准中列出了

6、和测试设计相关的测试用例编写规范和标准中列出了和测试设计相关的测试用例编写规范和模板。标准模板中主要元素如下:模板。标准模板中主要元素如下:标识符标识符惟一标识每一个测试用例惟一标识每一个测试用例测试项测试项准确的描述所需要测试的项及其特征准确的描述所需要测试的项及其特征测试环境要求测试环境要求表征执行该测试用例需要的测试环境表征执行该测试用例需要的测试环境输入标准输入标准执行测试用例的输入需求(这些输入可能包执行测试用例的输入需求(这些输入可能包括数据、文件或者操作)括数据、文件或者操作)输出标准输出标准按照指定的环境和输入标准得到的期望输出按照指定的环境和输入标准得到的期望输出结果结果测试

7、用例之间的关联测试用例之间的关联标识该测试用例与其它的测试(或标识该测试用例与其它的测试(或其它测试用例)之间的依赖关系其它测试用例)之间的依赖关系第7页,共118页,编辑于2022年,星期一3.2黑盒测试法的概念Return黑盒测试被称为功能测试或数据驱动测试。在测试时,黑盒测试被称为功能测试或数据驱动测试。在测试时,把被测程序视为一个不能打开的黑盒子,在完全不考把被测程序视为一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下进行。虑程序内部结构和内部特性的情况下进行。采用黑盒测试的目的主要是在已知软件产品所应具有的采用黑盒测试的目的主要是在已知软件产品所应具有的功能的基础上,

8、进行:功能的基础上,进行:(1)检查程序功能能否按需求规格说明书的规定正常使用,)检查程序功能能否按需求规格说明书的规定正常使用,测试各个功能是否有遗漏,检测性能等特性要求是否满足。测试各个功能是否有遗漏,检测性能等特性要求是否满足。第8页,共118页,编辑于2022年,星期一3.2黑盒测试法的概念(2)检测人机交互是否错误,检测数据结构或外部数)检测人机交互是否错误,检测数据结构或外部数据库访问是否错误,程序是否能适当地接收输入数据据库访问是否错误,程序是否能适当地接收输入数据而产生正确的输出结果,并保持外部信息(如数据库而产生正确的输出结果,并保持外部信息(如数据库或文件)的完整性。或文件

9、)的完整性。(3)检测程序初始化和终止方面的错误。)检测程序初始化和终止方面的错误。第9页,共118页,编辑于2022年,星期一3.3三角形问题与NextDate函数1、三角形问题、三角形问题输入三个整数输入三个整数a、b、c,分别作为三角形的三条边,现,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及构不腰三角形、一般三角形(特殊的还有直角三角形),以及构不成三角形。成三角形。现在要求输入三个整数现在要求输入三个整数a、b、c,必须满足以下条件:,必须满足以

10、下条件:条件条件11a100条件条件4ab+c条件条件21b100条件条件5ba+c条件条件31c100条件条件6ca+b Return第10页,共118页,编辑于2022年,星期一三角形问题与NextDate函数(续)如果输入值如果输入值a、b、c不满足条件不满足条件1、条件、条件2和条件和条件3,程序给出,程序给出“边的取值超出允许范围边的取值超出允许范围”的信息。的信息。如果输入值如果输入值a、b、c满足条件满足条件1、条件、条件2和条件和条件3,则输出下列四,则输出下列四种情况之一:种情况之一:(1)如果不满足条件)如果不满足条件4、条件、条件5和条件和条件6中的一个,则程序输出为中的

11、一个,则程序输出为“非三角形非三角形”。(2)如果三条边相等,则程序输出为)如果三条边相等,则程序输出为“等边三角形等边三角形”。(3)如果恰好有两条边相等,则程序输出为)如果恰好有两条边相等,则程序输出为“等腰三角形等腰三角形”(4)如果三条边都不相等,则程序输出为)如果三条边都不相等,则程序输出为“一般三角形一般三角形”。结论:三角形问题的复杂之处在于输入与输出之间的关系比较复结论:三角形问题的复杂之处在于输入与输出之间的关系比较复杂。杂。第11页,共118页,编辑于2022年,星期一三角形问题与NextDate函数(续)2、NextDate函数函数NextDate函函数数说说明明另另一一

12、种种复复杂杂的的关关系系,即即输输入入变变量量之之间逻辑关系的复杂性。间逻辑关系的复杂性。NextDate函数包含三个变量函数包含三个变量month、day和和year,函数,函数的输出为输入日期后一天的日期。的输出为输入日期后一天的日期。要求输入变量要求输入变量month、day和和year均为整数值,并且满足下列条件:均为整数值,并且满足下列条件:条件条件11month12条件条件21day31条件条件31912year2050结论:在结论:在NextDate函数中有两种复杂性的输入来源,一是输入域的函数中有两种复杂性的输入来源,一是输入域的复杂性,二是确定闰年的规则并要增加复杂性,二是确

13、定闰年的规则并要增加“额外天额外天”。第12页,共118页,编辑于2022年,星期一3.4等价类划分法3.4.1等价类的划分原则等价类的划分原则3.4.2等价类划分法的测试用例设计等价类划分法的测试用例设计3.4.3常见等价类划分测试形式常见等价类划分测试形式3.4.4使用等价类划分法测试的实例使用等价类划分法测试的实例Return第13页,共118页,编辑于2022年,星期一等价类划分法等价类划分法是一种重要的、常用的黑盒测试方法,它将等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例

14、具有完整性和代表性。测试用例具有完整性和代表性。举例:设计这样的测试用例,来实现一个对所有实数进行举例:设计这样的测试用例,来实现一个对所有实数进行开平方运算(开平方运算(y=sqrt(x))的程序的测试。)的程序的测试。思考方向:思考方向:由于开平方运算只对非负实数有效,这时需要将所有的实由于开平方运算只对非负实数有效,这时需要将所有的实数(输入域数(输入域x)进行划分,可以分成:正实数、)进行划分,可以分成:正实数、0和和负实数。负实数。假设我们选定假设我们选定+1.4444代表正实数,代表正实数,-2.345代表负实数,则为代表负实数,则为该程序设计的测试用例的输入为该程序设计的测试用例

15、的输入为+1.4444、0和和-2.345。第14页,共118页,编辑于2022年,星期一等价类划分法(续)等价类划分法是把所有可能的输入数据,即程序的输入域划等价类划分法是把所有可能的输入数据,即程序的输入域划分为若干部分(子集),然后从每一个子集中选取少数具有分为若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。代表性的数据作为测试用例。所谓等价类是指某个输入域的子集合。所谓等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,它们具有等价特性,即每一类的代表性数据在测试中的作用都等价于这一类中的其它数据。这样,对于表征该类的数据输

16、入将能代表整个子集合的输入。因此,可以合理的假定:测试某等价类的代表值就是等效于对于这一类其它值的测试。第15页,共118页,编辑于2022年,星期一3.4.1等价类的划分原则等价类是输入域的某个子集合,而所有等价类的并集就是整个输等价类是输入域的某个子集合,而所有等价类的并集就是整个输入域。因此,等价类对于测试有两个重要的意义:入域。因此,等价类对于测试有两个重要的意义:完备性完备性整个输入域提供一种形式的完备性整个输入域提供一种形式的完备性无冗余性无冗余性若互不相交则可保证一种形式的无冗余性若互不相交则可保证一种形式的无冗余性如何划分?如何划分?先从程序的规格说明书中找出各个输入条件,先从

17、程序的规格说明书中找出各个输入条件,再为每个输入条件划分两个或多个等价类,形成若干的互不相再为每个输入条件划分两个或多个等价类,形成若干的互不相交的子集。交的子集。采用等价类划分法设计测试用例通常分两步进行:采用等价类划分法设计测试用例通常分两步进行:(1)确定等价类,列出等价类表。确定等价类,列出等价类表。(2)确定测试用例。)确定测试用例。第16页,共118页,编辑于2022年,星期一等价类的划分原则(续)划分等价类可分为两种情况:划分等价类可分为两种情况:(1)有效等价类)有效等价类是指对软件规格说明而言,是有意义的、合理的输入是指对软件规格说明而言,是有意义的、合理的输入数据所组成的集

18、合。利用有效等价类,能够检验程序是否数据所组成的集合。利用有效等价类,能够检验程序是否实现了规格说明中预先规定的功能和性能。实现了规格说明中预先规定的功能和性能。(2)无效等价类)无效等价类是指对软件规格说明而言,是无意义的、不合理的是指对软件规格说明而言,是无意义的、不合理的输入数据所构成的集合。利用无效等价类,可以鉴别程输入数据所构成的集合。利用无效等价类,可以鉴别程序异常处理的情况,检查被测对象的功能和性能的实现序异常处理的情况,检查被测对象的功能和性能的实现是否有不符合规格说明要求的地方。是否有不符合规格说明要求的地方。第17页,共118页,编辑于2022年,星期一等价类的划分原则(续

19、)进行等价类划分的依据:进行等价类划分的依据:(1)按照区间划分)按照区间划分在输入条件规定了取值范围或值的个数的情在输入条件规定了取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。况下,可以确定一个有效等价类和两个无效等价类。例:例:程序输入条件为小于程序输入条件为小于100100大于大于1010的整数的整数x x,则有效等价类为,则有效等价类为1010 x x100100,两个无效等价类为,两个无效等价类为x10 x10和和x100 x100。例:例:程序输入程序输入x取值于一个固定的枚举类型取值于一个固定的枚举类型1,3,7,15,且程序,且程序中对这中对这4个数值分别

20、进行了处理,则有效等价类为个数值分别进行了处理,则有效等价类为x=1、x=3、x=7、x=15,无效等价类为,无效等价类为x1,3,7,15的值的集合。的值的集合。(2)按照数值划分)按照数值划分在规定了一组输入数据(假设包括在规定了一组输入数据(假设包括n个个输输入值),并且程序要对每一个输入值分别进行处理的情况下,可确定入值),并且程序要对每一个输入值分别进行处理的情况下,可确定n个有效等价类(每个值确定一个有效等价类)和一个无效等价类(所有个有效等价类(每个值确定一个有效等价类)和一个无效等价类(所有不允许的输入值的集合)。不允许的输入值的集合)。第18页,共118页,编辑于2022年,

21、星期一等价类的划分原则(续)(3)按照数值集合划分)按照数值集合划分在输入条件规定了输入值的集合或规定了在输入条件规定了输入值的集合或规定了“必必须如何须如何”的条件下,可以确定一个有效等价类和一个无效等价类(该集的条件下,可以确定一个有效等价类和一个无效等价类(该集合有效值之外)。合有效值之外)。例:例:程序输入条件为取值为奇数的整数程序输入条件为取值为奇数的整数x x,则有效等价类为,则有效等价类为x x的值的值为奇数的整数,无效等价类为为奇数的整数,无效等价类为x x的值不为奇数的整数。的值不为奇数的整数。例:例:程序输入条件为以字符程序输入条件为以字符 aa开头、长度为开头、长度为8

22、8的字符串,并且字符的字符串,并且字符串不包含串不包含 azaz之外的其它字符,则有效等价类为满足了上述所之外的其它字符,则有效等价类为满足了上述所有条件的字符串,无效等价类为不以有条件的字符串,无效等价类为不以 aa开头的字符串、长度不为开头的字符串、长度不为8 8的字符串和包含了的字符串和包含了 azaz之外其它字符的字符串。之外其它字符的字符串。(5)细分等价类)细分等价类在确知已划分的等价类中各元素在程序中的处理方在确知已划分的等价类中各元素在程序中的处理方式不同的情况下,则应再将该等价类进一步划分为更小的等价类,并式不同的情况下,则应再将该等价类进一步划分为更小的等价类,并建立等价类

23、表。建立等价类表。(4)按照限制条件或规则划分)按照限制条件或规则划分在规定了输入数据必须遵守的规在规定了输入数据必须遵守的规则或限制条件的情况下,可确定一个有效等价类(符合规则)和若则或限制条件的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。干个无效等价类(从不同角度违反规则)。第19页,共118页,编辑于2022年,星期一3.4.2等价类划分法的测试用例设计在设计测试用例时,应同时考虑有效等价类和无效等价类测试用在设计测试用例时,应同时考虑有效等价类和无效等价类测试用例的设计。例的设计。根据已列出的等价类表可确定测试用例,根据已列出的等价类表可确定测试用

24、例,具体过程如下:具体过程如下:(1)首先为等价类表中的每一个等价类分别规定一个唯一的编号。)首先为等价类表中的每一个等价类分别规定一个唯一的编号。(2)设计一个新的测试用例,使它能够尽量覆盖尚未覆盖)设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。重复这个步骤,直到所有的有效等价类均的有效等价类。重复这个步骤,直到所有的有效等价类均被测试用例所覆盖。被测试用例所覆盖。(3)设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等)设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。重复这一步骤,直到所有的无效等价类均被测试用例所覆价类。重复这一步骤,直到所有的无效等价类均被测试

25、用例所覆盖。盖。第20页,共118页,编辑于2022年,星期一3.4.3常见等价类划分测试形式针对是否对无效数据进行测试,可以将等价类测试分为针对是否对无效数据进行测试,可以将等价类测试分为 标标准等价类测试和健壮等价类测试。准等价类测试和健壮等价类测试。标准等价类测试标准等价类测试不考虑无效数据值,测试用例使用不考虑无效数据值,测试用例使用 每个每个等价类中的一个值。等价类中的一个值。健壮等价类测试健壮等价类测试主要的出发点是考虑了无效等价类。对主要的出发点是考虑了无效等价类。对有效输入,测试用例从每个有效等价类中取一个值;有效输入,测试用例从每个有效等价类中取一个值;对无对无效输入,一个测

26、试用例有一个无效值,其他值均取效输入,一个测试用例有一个无效值,其他值均取 有效值。有效值。健壮等价类测试存在两个问题:健壮等价类测试存在两个问题:(1)需要花费精力定义无效测试用例的期望输出需要花费精力定义无效测试用例的期望输出(2)对)对强类型的语言没有必要考虑无效的输入强类型的语言没有必要考虑无效的输入 第21页,共118页,编辑于2022年,星期一3.4.4使用等价类划分法测试的实例实例实例1三角形问题三角形问题分析:在多数情况下,是从输入域划分等价类的,但并非分析:在多数情况下,是从输入域划分等价类的,但并非不能从被测程序的输出域反过来定义等价类,事实上,这对于不能从被测程序的输出域

27、反过来定义等价类,事实上,这对于三角形问题却是最简单的划分方法。三角形问题却是最简单的划分方法。在三角形问题中,有四在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。利用这些信息能够确定下列输出(值域)等价类。角形。利用这些信息能够确定下列输出(值域)等价类。R1=:边为边为a,b,c的等边三角形的等边三角形R2=:边为边为a,b,c的等腰三角形的等腰三角形R3=:边为边为a,b,c的一般三角形的一般三角形R4=:边为边为a,b,c不能组成三角形不能组成三角形标准等价类测试用例标准等价类测试用例健壮等价类测试用

28、例健壮等价类测试用例第22页,共118页,编辑于2022年,星期一使用等价类划分法测试的实例(续)实例实例2保险公司计算保费费率的程序保险公司计算保费费率的程序某保险公司的人寿保险的保费计算方式为:某保险公司的人寿保险的保费计算方式为:投保额投保额保险费率保险费率其中,保险费率依点数不同而有别,其中,保险费率依点数不同而有别,10点及点及10点以上保险费点以上保险费率为率为0.6%,10点以下保险费率为点以下保险费率为0.1%;而点数又是由;而点数又是由投投保人的年龄、性别、婚姻状况和抚养人数来决定,具体保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下:规则如下:年龄年龄性别性别婚姻婚

29、姻抚养人数抚养人数2039 4059 其它其它 M F 已婚已婚 未婚未婚 1人扣人扣0.5点点 最多扣最多扣3点点(四舍五入取整)(四舍五入取整)6点点 4点点 2点点5点点 3点点 3点点 5点点第25页,共118页,编辑于2022年,星期一计算保费费率的程序(1)分析程序规格说明中给出和隐含的对输入条件的要求,列)分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类)。出等价类表(包括有效等价类和无效等价类)。年龄:一位或两位非零整数,值的有效范围为年龄:一位或两位非零整数,值的有效范围为199性别:一位英文字符,只能取值性别:一位英文字符,只能取值M

30、或或F婚姻:字符,只能取值婚姻:字符,只能取值已婚已婚或或未婚未婚抚养人数:空白或一位非零整数(抚养人数:空白或一位非零整数(19)点数点数:一位或两位非零整数,值的范围为:一位或两位非零整数,值的范围为199(2)根据()根据(1)中的等价类表,设计能覆盖所有等价类的)中的等价类表,设计能覆盖所有等价类的测试测试用例。用例。等价类表等价类表测试用例测试用例第26页,共118页,编辑于2022年,星期一习题NextDate函数函数请使用等价类划分法为请使用等价类划分法为NextDate函数列出输入域函数列出输入域等价类表,并设计相应的测试用例。等价类表,并设计相应的测试用例。第29页,共118

31、页,编辑于2022年,星期一3.5边界值分析法3.5.1边界值分析法概要边界值分析法概要3.5.2边界值分析法测试用例边界值分析法测试用例3.5.3边界值分析法测试举例边界值分析法测试举例第30页,共118页,编辑于2022年,星期一3.5.1边界值分析法概要边边界界值值分分析析法法就就是是对对输输入入或或输输出出的的边边界界值值进进行行测测试试的的一一种种黑黑盒盒测测试试方方法法。通通常常边边界界值值分分析析法法是是作作为为对对等等价价类类划划分分法法的的补补充充,这这种种情情况况下下,其其测测试试用用例例来来自自等等价价类的边界。类的边界。为什么使用边界值分析法?为什么使用边界值分析法?无

32、无数数的的测测试试实实践践表表明明,大大量量的的故故障障往往往往发发生生在在输输入入定定义义域域或或输输出出值值域域的的边边界界上上,而而不不是是在在其其内内部部。因因此此,针针对对各各种种边边界界情情况况设设计计测测试试用用例例,通通常常会会取取得得很很好好的的测试效果。测试效果。第31页,共118页,编辑于2022年,星期一3.5.1边界值分析法概要怎样用边界值分析法设计测试用例?怎样用边界值分析法设计测试用例?(1)首首先先确确定定边边界界情情况况。通通常常输输入入或或输输出出等等价价类类的的边边界就是应该着重测试的边界情况。界就是应该着重测试的边界情况。(2)选选取取正正好好等等于于、

33、刚刚刚刚大大于于或或刚刚刚刚小小于于边边界界的的值值作作为为测试数据,而不是选取等价类中的典型值或任意值。测试数据,而不是选取等价类中的典型值或任意值。第32页,共118页,编辑于2022年,星期一举例常见的边界值对对16-bit的整数而言的整数而言32767和和-32768是边界是边界屏幕上光标在最左上、最右下位置屏幕上光标在最左上、最右下位置报表的第一行和最后一行报表的第一行和最后一行数组元素的第一个和最后一个数组元素的第一个和最后一个循环的第循环的第0次、第次、第1次和倒数第次和倒数第2次、最后一次次、最后一次第33页,共118页,编辑于2022年,星期一边界值分析边界值分析使用与等价类

34、划分法相同的划分,只是边界值分边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。界上以及两侧的情况设计测试用例。例:测试计算平方根的函数例:测试计算平方根的函数输入:实数输入:实数输出:实数输出:实数规格说明:当输入一个规格说明:当输入一个0或比或比0大的数的时候,返回大的数的时候,返回其正平方根;当输入一个小于其正平方根;当输入一个小于0的数时,显示错误信息的数时,显示错误信息“平方根非法平方根非法-输入值小于输入值小于0”并返回并返回0;库函数;库函数P

35、rint-Line可以可以用来输出错误信息。用来输出错误信息。实例分析实例分析第34页,共118页,编辑于2022年,星期一边界值分析(续)通常情况下,软件测试所包含的边界检验有几种类型:通常情况下,软件测试所包含的边界检验有几种类型:数字、字符、位置、质量、大小、速度、方位、尺数字、字符、位置、质量、大小、速度、方位、尺寸、寸、空间等空间等相应地,以上类型的边界值应该在:相应地,以上类型的边界值应该在:最大最大/最小、首位最小、首位/末位、上末位、上/下、最快下、最快/最慢、最高最慢、最高/最低、最低、最短最短/最长、最长、空空/满等情况下满等情况下实例分析实例分析第36页,共118页,编辑

36、于2022年,星期一举例利用边界值作为测试数据项项边界值边界值测试用例的设计思路测试用例的设计思路字符字符起始起始-1个字个字符符/结束结束+1个字符个字符假设一个文本输入区域允许输入假设一个文本输入区域允许输入1个到个到255个个字字符,输入符,输入1个和个和255个字符作为有效等价类;输个字符作为有效等价类;输入入0个和个和256个字符作为无效等价类,这几个数个字符作为无效等价类,这几个数值都属于边界条件值。值都属于边界条件值。数值数值最小值最小值-1/最大值最大值+1假设某软件的数据输入域要求输入假设某软件的数据输入域要求输入5位的数据值,位的数据值,可以使用可以使用10000作为最小值

37、、作为最小值、99999作为最大值;作为最大值;然后使用刚好小于然后使用刚好小于5位和大于位和大于5位的位的数值来作为数值来作为边界条件。边界条件。空间空间小于空余小于空余空间一点空间一点/大于满空大于满空间一点间一点例如在用例如在用U盘存储数据时,使用比剩余磁盘空盘存储数据时,使用比剩余磁盘空间大一点(几间大一点(几KB)的文件作为边界条件。)的文件作为边界条件。第37页,共118页,编辑于2022年,星期一内部边界值分析在多数情况下,边界值条件是基于应用程序的功能设计而在多数情况下,边界值条件是基于应用程序的功能设计而需要考虑的因素,可以从软件的规格说明或常识中得到,需要考虑的因素,可以从

38、软件的规格说明或常识中得到,也是最终用户可以很容易发现问题的。然而,在测试用例也是最终用户可以很容易发现问题的。然而,在测试用例设计过程中,某些边界值条件是不需要呈现给用户的,或设计过程中,某些边界值条件是不需要呈现给用户的,或者说用户是很难注意到的,但同时确实属于检验范畴内的者说用户是很难注意到的,但同时确实属于检验范畴内的边界条件,称为内部边界值条件或子边界值条件。边界条件,称为内部边界值条件或子边界值条件。内部边界值条件主要有下面几种:内部边界值条件主要有下面几种:数值的边界值检验数值的边界值检验字符的边界值检验字符的边界值检验其它边界值检验其它边界值检验n小结:小结:在实际的测试用例设

39、计中,需要将基本的软件设在实际的测试用例设计中,需要将基本的软件设计要求和程序定义的要求结合起来,即结合基本边界计要求和程序定义的要求结合起来,即结合基本边界值条件和内部边界值条件来设计有效的测试用例值条件和内部边界值条件来设计有效的测试用例。第38页,共118页,编辑于2022年,星期一选择测试用例的原则(1)如果输入条件规定了值的范围,则应取刚达到这个范如果输入条件规定了值的范围,则应取刚达到这个范围的边界值以及刚刚超过这个范围边界的值作为测试输围的边界值以及刚刚超过这个范围边界的值作为测试输入数据。入数据。(2)如果输入条件规定了值的个数,则用最大个数、最小个数如果输入条件规定了值的个数

40、,则用最大个数、最小个数和比最大个数多和比最大个数多1个、比最小个数少个、比最小个数少1个的数作为测试数据。个的数作为测试数据。(3)根据程序规格说明的每个输出条件,使用原则根据程序规格说明的每个输出条件,使用原则(1)。(4)根据程序规格说明的每个输出条件,使用原则根据程序规格说明的每个输出条件,使用原则(2)。第41页,共118页,编辑于2022年,星期一选择测试用例的原则(5)如果程序的规格说明给出的输入域或输出域是有序如果程序的规格说明给出的输入域或输出域是有序集合集合 (如有序表、顺序文件等),则应选取集合(如有序表、顺序文件等),则应选取集合中的第一个和中的第一个和 最后一个元素作

41、为测试用例。最后一个元素作为测试用例。(6)如果程序中使用了一个内部数据结构,则应当选择这个如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。内部数据结构的边界上的值作为测试用例。(7)分析程序规格说明,找出其它可能的边界条件。分析程序规格说明,找出其它可能的边界条件。第42页,共118页,编辑于2022年,星期一3.5.2边界值分析法测试用例采用边界值分析测试的基本思想是:故障往往出现在输采用边界值分析测试的基本思想是:故障往往出现在输入变量的边界值附近。入变量的边界值附近。因此,边界值分析法利用输入变量的最小值因此,边界值分析法利用输入变量的最小值(mi

42、n)、略大于最小值略大于最小值(min+)、输入值域内的任意值、输入值域内的任意值(nom)、略、略小于最大值小于最大值(max-)和最大值和最大值(max)来设计测试用例。来设计测试用例。第43页,共118页,编辑于2022年,星期一3.5.2边界值分析法测试用例边界值分析法是基于可靠性理论中称为边界值分析法是基于可靠性理论中称为“单故障单故障”的的假设,即有两个或两个以上故障同时出现而导致软件假设,即有两个或两个以上故障同时出现而导致软件失效的情况很少,也就是说,软件失效基本上是由单失效的情况很少,也就是说,软件失效基本上是由单故障引起的。故障引起的。因此,在边界值分析法中获取测试用例的方

43、法是:因此,在边界值分析法中获取测试用例的方法是:(1)每次保留程序中一个变量,让其余的变量取正常值,每次保留程序中一个变量,让其余的变量取正常值,被保留的变量依次取被保留的变量依次取min、min+、nom、max-和和max。(2)对程序中的每个变量重复对程序中的每个变量重复(1)。第44页,共118页,编辑于2022年,星期一边界值分析法测试用例(续)例例1:有两个输入变量:有两个输入变量x1(ax1b)和和x2(cx2d)的程序的程序F的边的边界值分析测试用例如下:界值分析测试用例如下:,x1x2abcd第45页,共118页,编辑于2022年,星期一边界值分析法测试用例(续)例例2:有

44、二元函数:有二元函数f(x,y),其中,其中x 1,12,y 1,31。则采。则采用边界值分析法设计的测试用例是:用边界值分析法设计的测试用例是:,推论:对于一个含有推论:对于一个含有n个变量的程序,采用边界值分析法测个变量的程序,采用边界值分析法测试程序会产生试程序会产生4n+1个测试用例。个测试用例。第46页,共118页,编辑于2022年,星期一边界值分析法测试用例(续)练习:有函数练习:有函数f(x,y,x),其中,其中x 1900,2100,y 1,12,z 1,31的。请写出该函数采用边界值分析法设计的测试的。请写出该函数采用边界值分析法设计的测试用例。用例。,第47页,共118页,

45、编辑于2022年,星期一健壮性测试健壮性测试是作为边界值分析的一个简单的扩充,它除了对变健壮性测试是作为边界值分析的一个简单的扩充,它除了对变量的量的5个边界值分析取值外,还需要增加一个略大于最大值个边界值分析取值外,还需要增加一个略大于最大值(max+)以及略小于最小值以及略小于最小值(min-)的取值,检查超过极限值的取值,检查超过极限值时系统的情况。因此,对于有时系统的情况。因此,对于有n个变量的函数采用健壮性测试个变量的函数采用健壮性测试需要需要6n+1个测试用例。个测试用例。前面例前面例1中的程序中的程序F的健壮性测试如下图所示:的健壮性测试如下图所示:x1x2abcd练习:练习:请

46、为例2中的函数f(x,y)写出相应的健壮性测试用例。第48页,共118页,编辑于2022年,星期一实例实例1三角形问题的边界值分析测试用例三角形问题的边界值分析测试用例在三角形问题描述中,除了要求边长是整数外,在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。在此,我们将三角形每边没有给出其它的限制条件。在此,我们将三角形每边边长的取范围值设值为边长的取范围值设值为1,100。说明:如果程序规格说明中没有显式地给出边界值,则说明:如果程序规格说明中没有显式地给出边界值,则可以在设计测试用例前先设定取值的下限值和上限值。可以在设计测试用例前先设定取值的下限值和上限值。3.5.3边

47、界值分析法测试举例测试用例测试用例第49页,共118页,编辑于2022年,星期一3.5.3边界值分析法测试举例实例实例2NextDate函数的边界值分析测试用例函数的边界值分析测试用例在在NextDate函数中,隐含规定了变量函数中,隐含规定了变量mouth和变量和变量day的取值范围为的取值范围为1mouth12和和1day31,并设定变量,并设定变量year的取值范围为的取值范围为1912year2050。测试用例测试用例第50页,共118页,编辑于2022年,星期一习题找零钱最佳组合找零钱最佳组合假设商店货品价格假设商店货品价格(R)都不大于都不大于100元(且为整数),若元(且为整数)

48、,若顾客付款顾客付款(P)在在100元内,现有一个程序能在每位顾客付款后元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。给出找零钱的最佳组合(找给顾客货币张数最少)。假定假定此商店的货币面值只包括:此商店的货币面值只包括:50元元(N50)、10元元(N10)、5元元(N5)、1元元(N1)四种。四种。请结合等价类划分法和边界值分析法为上述程序设计请结合等价类划分法和边界值分析法为上述程序设计出相出相应的测试用例。应的测试用例。第53页,共118页,编辑于2022年,星期一3.6因果图法3.6.1因果图法的简介因果图法的简介3.6.2因果图因果图3.6.3因果

49、图法测试举例因果图法测试举例第54页,共118页,编辑于2022年,星期一3.6.1因果图法的简介因果图法产生的背景:因果图法产生的背景:等价类划分法和边界值分析方法都是着重考虑输入条件,但等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。入条件组合起来可能出错的情况却被忽视了。如果在测试时必须考虑输入条件的各种组合,则可能的如果在

50、测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。的设计,这就需要利用因果图(逻辑模型)。第55页,共118页,编辑于2022年,星期一因果图法的简介(续)因因果果图图法法是是基基于于这这样样的的一一种种思思想想:一一些些程程序序的的功功能能可可以以用用判判定定表表(或或称称决决策策表表)的的形形式式来来表表示示,并并根根据据输输入入条条件件的的组组合合情况

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁