ppt3黑盒测试及其用例的设计

上传人:cl****1 文档编号:576978847 上传时间:2024-08-20 格式:PPT 页数:81 大小:1.29MB
返回 下载 相关 举报
ppt3黑盒测试及其用例的设计_第1页
第1页 / 共81页
ppt3黑盒测试及其用例的设计_第2页
第2页 / 共81页
ppt3黑盒测试及其用例的设计_第3页
第3页 / 共81页
ppt3黑盒测试及其用例的设计_第4页
第4页 / 共81页
ppt3黑盒测试及其用例的设计_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《ppt3黑盒测试及其用例的设计》由会员分享,可在线阅读,更多相关《ppt3黑盒测试及其用例的设计(81页珍藏版)》请在金锄头文库上搜索。

1、A Free sample background from Slide 1第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计第第3章章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.1 3.1 测试用例设计概述测试用例设计概述3.2 3.2 黑盒测试法的概念黑盒测试法的概念3.3 3.3 三角形问题与三角形问题与NextDateNextDate函数函数3.4 3.4 等价类划分法等价类划分法3.5 3.5 边界值分析法边界值分析法3.6 3.6 因果图法因果图法3.7 3.7 决策表法决策表法3.8 3.8 错误推测法错误推测法3.9 3.9 测试方法的选择测试方法的选择A Free

2、 sample background from Slide 2第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计本章教学目标本章教学目标理论环节理论环节理论环节理论环节n n学习理解黑盒测试方法的基本概念学习理解黑盒测试方法的基本概念n n学习理解黑盒测试的两个典型问题学习理解黑盒测试的两个典型问题n n学习掌握黑盒测试的等价类划分法学习掌握黑盒测试的等价类划分法n n学习掌握黑盒测试的边界值分析法学习掌握黑盒测试的边界值分析法n n学习掌握黑盒测试的因果图测试法和决策表法学习掌握黑盒测试的因果图测试法和决策表法实践环节实践环节实践环节实践环节n n通过案例运用学习掌握运用方法解决实际

3、问题的能力通过案例运用学习掌握运用方法解决实际问题的能力n n运用等价类划分法与边界值分析法进行实际程序测试运用等价类划分法与边界值分析法进行实际程序测试n n运用因果图测试法与决策表法进行实际程序测试运用因果图测试法与决策表法进行实际程序测试A Free sample background from Slide 3第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.1 测试用例设计概述测试用例设计概述3.1.1 3.1.1 测试用例的定义和特征测试用例的定义和特征3.1.2 3.1.2 测试用例的基本准则测试用例的基本准则3.1.3 3.1.3 设计测试用例的着眼点设计测试用例的着

4、眼点3.1.4 3.1.4 测试用例设计书写标准测试用例设计书写标准ReturnA Free sample background from Slide 4第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.1.1 测试用例的定义和特征测试用例的定义和特征n n测试用例的定义:测试用例的定义:(1 1)测测试试用用例例是是为为特特定定的的目目的的而而设设计计的的一一组组测测试试输输入入、 执行条件和预期的结果。执行条件和预期的结果。(2 2)测试用例是执行的最小实体。)测试用例是执行的最小实体。 n n测试用例的特征:测试用例的特征:(1 1)最有可能抓住错误的;)最有可能抓住错误的;

5、(2 2)不是重复的、多余的;)不是重复的、多余的;(3 3)一组相似测试用例中最有效的;)一组相似测试用例中最有效的;(4 4)既不是太简单,也不是太复杂。)既不是太简单,也不是太复杂。A Free sample background from Slide 5第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.1.2 设计测试用例的基本准则设计测试用例的基本准则n n测试用例的代表性测试用例的代表性 能够代表并覆盖各种合理的和不合理的、合法的和非法能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的输入数据、操作和环境的、边界的和越界的以及极限的输入数据、操

6、作和环境设置等。设置等。n n测试结果的可判定性测试结果的可判定性 即测试执行结果的正确性是可判定的,每一个测试用例即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果。都应有相应的期望结果。n n测试结果的可再现性测试结果的可再现性 即对同样的测试用例,系统的执行结果应当是相同的。即对同样的测试用例,系统的执行结果应当是相同的。A Free sample background from Slide 6第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.1.3 设计测试用例的着眼点设计测试用例的着眼点n n根据产品规格,测试基本功能;根据产品规格,测试基本功能;n n

7、考虑设计一般用户(非专业人员)的使用方案;考虑设计一般用户(非专业人员)的使用方案;n n考虑设计稀有或特殊的使用方案;考虑设计稀有或特殊的使用方案;n n与与系系统统其其他他组组成成部部分分的的配配合合(如如FAXFAX和和上上网网可可能能要要用用到到MODEMMODEM,测试中考虑对设备的共享);,测试中考虑对设备的共享);n n考虑特殊情况(如内存和硬件的冲突等);考虑特殊情况(如内存和硬件的冲突等);n n设计极端情况(如内存泄漏、破坏性测试等);设计极端情况(如内存泄漏、破坏性测试等);n n好的测试用例集能花费最小的代价(人力、物力、财力、好的测试用例集能花费最小的代价(人力、物力

8、、财力、时间)做最好的测试。时间)做最好的测试。A Free sample background from Slide 7第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.1.4 测试用例设计书写标准测试用例设计书写标准 在在ANSI/IEEE829-1983ANSI/IEEE829-1983标准中列出了和测试设计相关的标准中列出了和测试设计相关的测试用例编写规范和模板。标准模板中主要元素如下:测试用例编写规范和模板。标准模板中主要元素如下:n n标识符标识符惟一标识每一个测试用例惟一标识每一个测试用例n n测试项测试项准确的描述所需要测试的项及其特征准确的描述所需要测试的项及其特

9、征n n测试环境要求测试环境要求表征执行该测试用例需要的测试环境表征执行该测试用例需要的测试环境n n输入标准输入标准执行测试用例的输入需求(这些输入可能包执行测试用例的输入需求(这些输入可能包括数据、文件或者操作)括数据、文件或者操作)n n输出标准输出标准按照指定的环境和输入标准得到的期望输出按照指定的环境和输入标准得到的期望输出结果结果n n测试用例之间的关联测试用例之间的关联标识该测试用例与其它的测试标识该测试用例与其它的测试(或其它测试用例)之间的依赖关系(或其它测试用例)之间的依赖关系范例范例1范例范例2A Free sample background from Slide 8第三

10、章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计 3.2 黑盒测试法的概念黑盒测试法的概念Returnn n黑盒测试被称为功能测试或数据驱动测试。在测试时,把被黑盒测试被称为功能测试或数据驱动测试。在测试时,把被测程序视为一个不能打开的黑盒子,在完全不考虑程序内部测程序视为一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下进行。结构和内部特性的情况下进行。n n采用黑盒测试的目的主要是在已知软件产品所应具有的功能采用黑盒测试的目的主要是在已知软件产品所应具有的功能的基础上,进行:的基础上,进行:(1 1)检查程序功能能否按需求规格说明书的规定正常使用,)检查程序功能能否按需

11、求规格说明书的规定正常使用,测试各个功能是否有遗漏,检测性能等特性要求是否满足。测试各个功能是否有遗漏,检测性能等特性要求是否满足。(2 2)检测人机交互是否错误,检测数据结构或外部数据库访)检测人机交互是否错误,检测数据结构或外部数据库访问是否错误,程序是否能适当地接收输入数据而产生正确的问是否错误,程序是否能适当地接收输入数据而产生正确的输出结果,并保持外部信息(如数据库或文件)的完整性。输出结果,并保持外部信息(如数据库或文件)的完整性。(3 3)检测程序初始化和终止方面的错误。)检测程序初始化和终止方面的错误。A Free sample background from Slide 9第

12、三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.3 三角形问题与三角形问题与NextDate函数函数 1 1、三角形问题、三角形问题 输入三个整数输入三个整数a a、b b、c c,分别作为三角形的三条边,现,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及等腰三角形、一般三角形(特殊的还有直角三角形),以及构不成三角形。构不成三角形。 现在要求输入三个整数现在要求输入三个整数a a、b b、c c,必须满足以下条件:,必须满足以下条件: 条件条件1

13、 1a100 1 1a100 条件条件4 ab+ c4 ab+ c 条件条件2 1b100 2 1b100 条件条件5 ba+ c 5 ba+ c 条件条件3 1c100 3 1c100 条件条件6 ca+ b6 ca+ b ReturnA Free sample background from Slide 10第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计三角形问题与三角形问题与NextDate函数函数(续)(续)n n如果输入值如果输入值a a、b b、c c不满足条件不满足条件1 1、条件、条件2 2和条件和条件3 3 ,程序给,程序给出出“ “边的取值超出允许范围边的取值超

14、出允许范围” ”的信息。的信息。n n如果输入值如果输入值a a、b b、c c 满足条件满足条件1 1、条件、条件2 2和条件和条件3 3,则输出下,则输出下列四种情况之一:列四种情况之一:(1 1)如果不满足条件)如果不满足条件4 4、条件、条件5 5和条件和条件6 6中的一个,则程序输中的一个,则程序输出为出为“ “非三角形非三角形” ”。(2 2)如果三条边相等,则程序输出为)如果三条边相等,则程序输出为“ “等边三角形等边三角形” ”。(3 3)如果恰好有两条边相等,则程序输出为)如果恰好有两条边相等,则程序输出为“ “等腰三角形等腰三角形” ”。(4 4)如果三条边都不相等,则程序

15、输出为)如果三条边都不相等,则程序输出为“ “一般三角形一般三角形” ”。n n结论结论结论结论:三角形问题的复杂之处在于输入与输出之间的关系:三角形问题的复杂之处在于输入与输出之间的关系比较复杂。比较复杂。A Free sample background from Slide 11第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计三角形问题与三角形问题与NextDate函数函数(续)(续) 2 2、NextDateNextDate函数函数 NextDateNextDate函函数数说说明明另另一一种种复复杂杂的的关关系系,即即输输入入变变量量之之间间逻辑关系的复杂性。逻辑关系的复杂性。

16、 NextDate NextDate函数包含三个变量函数包含三个变量monthmonth、dayday和和yearyear,函数的函数的输出为输入日期后一天的日期。输出为输入日期后一天的日期。 要求输入变量要求输入变量monthmonth、dayday和和yearyear均为整数值,并且满足下列条件:均为整数值,并且满足下列条件: 条件条件1 1 month 121 1 month 12 条件条件2 1 day 312 1 day 31 条件条件3 1912 year 20503 1912 year 2050n n结论:结论:结论:结论:在在NextDateNextDate函数中有两种复杂性的

17、输入来源,一是输函数中有两种复杂性的输入来源,一是输入域的复杂性,二是确定闰年的规则并要增加入域的复杂性,二是确定闰年的规则并要增加“ “额外天额外天” ”。A Free sample background from Slide 12第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.4 等价类划分法等价类划分法3.4.1 3.4.1 等价类的划分原则等价类的划分原则3.4.2 3.4.2 等价类划分法的测试用例设计等价类划分法的测试用例设计3.4.3 3.4.3 常见等价类划分测试形式常见等价类划分测试形式3.4.4 3.4.4 使用等价类划分法测试的实例使用等价类划分法测试的实例

18、ReturnA Free sample background from Slide 13第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计等价类划分法等价类划分法n n等价类划分法是一种重要的、常用的黑盒测试方法,它将等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。测试用例具有完整性和代表性。n n举例:设计这样的测试用例,来实现一个对所有实数进行举例:设计这样的测试用例,来实现一个对所有实数进行开平方运算(开平方运算( y = sqrt(x) y = sq

19、rt(x) )的程序的测试。)的程序的测试。思考方向:思考方向: 由于开平方运算只对非负实数有效,这时需要将所有由于开平方运算只对非负实数有效,这时需要将所有的实数(输入域的实数(输入域x x)进行划分,可以分成:正实数、)进行划分,可以分成:正实数、0 0 和和 负实数。假设我们选定负实数。假设我们选定+1.4444+1.4444代表正实数,代表正实数,-2.345-2.345代表代表负实数,则为该程序设计的测试用例的输入为负实数,则为该程序设计的测试用例的输入为+1.4444+1.4444、 0 0 和和 -2.345-2.345。A Free sample background from

20、 Slide 14第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计等价类划分法等价类划分法(续)(续)n n等价类划分法是把所有可能的输入数据,即程序的输入域等价类划分法是把所有可能的输入数据,即程序的输入域等价类划分法是把所有可能的输入数据,即程序的输入域等价类划分法是把所有可能的输入数据,即程序的输入域划分为若干部分(子集),然后从每一个子集中选取少数划分为若干部分(子集),然后从每一个子集中选取少数划分为若干部分(子集),然后从每一个子集中选取少数划分为若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。具有代表性的数据作为测试用例。具有代表性的数据作为测

21、试用例。具有代表性的数据作为测试用例。n n所谓等价类是指某个输入域的子集合。所谓等价类是指某个输入域的子集合。所谓等价类是指某个输入域的子集合。所谓等价类是指某个输入域的子集合。在该子集合中,各在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,它们具有个输入数据对于揭露程序中的错误都是等效的,它们具有等价特性,即每一类的代表性数据在测试中的作用都等价等价特性,即每一类的代表性数据在测试中的作用都等价于这一类中的其它数据。这样,对于表征该类的数据输入于这一类中的其它数据。这样,对于表征该类的数据输入将能代表整个子集合的输入。因此,可以合理的假定:将能代表整个子集合的输入。因此,可以合理

22、的假定: 测试某等价类的代表值就是等效于对于这一类其它值测试某等价类的代表值就是等效于对于这一类其它值的测试。的测试。A Free sample background from Slide 15第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.4.1 等价类的划分原则等价类的划分原则n n等价类是输入域的某个子集合,而所有等价类的并集就是等价类是输入域的某个子集合,而所有等价类的并集就是整个输入域。因此,等价类对于测试有两个重要的意义:整个输入域。因此,等价类对于测试有两个重要的意义:完备性完备性完备性完备性整个输入域提供一种形式的完备性整个输入域提供一种形式的完备性无冗余性无冗余

23、性无冗余性无冗余性若互不相交则可保证一种形式的无冗余性若互不相交则可保证一种形式的无冗余性n n如何划分?如何划分?如何划分?如何划分?先从程序的规格说明书中找出各个输入条先从程序的规格说明书中找出各个输入条件,再为每个输入条件划分两个或多个等价类,形成若干件,再为每个输入条件划分两个或多个等价类,形成若干的互不相交的子集。的互不相交的子集。n n采用等价类划分法设计测试用例通常分两步进行:采用等价类划分法设计测试用例通常分两步进行: (1 1)确定等价类,列出等价类表。确定等价类,列出等价类表。确定等价类,列出等价类表。确定等价类,列出等价类表。 (2 2)确定测试用例。)确定测试用例。)确

24、定测试用例。)确定测试用例。A Free sample background from Slide 16第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计等价类的划分原则等价类的划分原则(续)(续)n n划分等价类可分为两种情况:划分等价类可分为两种情况:(1 1)有效等价类)有效等价类 是指对软件规格说明而言,是有意义的、合理的输入是指对软件规格说明而言,是有意义的、合理的输入数据所组成的集合。利用有效等价类,能够检验程序是否数据所组成的集合。利用有效等价类,能够检验程序是否实现了规格说明中预先规定的功能和性能。实现了规格说明中预先规定的功能和性能。(2 2)无效等价类)无效等价类

25、是指对软件规格说明而言,是无意义的、不合理的输是指对软件规格说明而言,是无意义的、不合理的输入数据所构成的集合。利用无效等价类,可以鉴别程序异入数据所构成的集合。利用无效等价类,可以鉴别程序异常处理的情况,检查被测对象的功能和性能的实现是否有常处理的情况,检查被测对象的功能和性能的实现是否有不符合规格说明要求的地方。不符合规格说明要求的地方。 A Free sample background from Slide 17第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计等价类的划分原则等价类的划分原则(续)(续)n n进行等价类划分的依据:进行等价类划分的依据:(1)按照区间划分 在输入

26、条件规定了取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。例:例:程序输入条件为小于程序输入条件为小于100100大于大于1010的整数的整数x x,则有效等价类,则有效等价类为为1010x x100100,两个无效等价类为,两个无效等价类为x10x10和和x100x100。例:程序输入例:程序输入x x取值于一个固定的枚举类型取值于一个固定的枚举类型1,3,7,151,3,7,15,且程序,且程序 中对这中对这4 4个数值分别进行了处理,则有效等价类为个数值分别进行了处理,则有效等价类为x=1x=1、x=3x=3、 x=7 x=7、x=15x=15,无效等价类为,无效等价

27、类为x1,3,7,15x1,3,7,15的值的集合。的值的集合。(2)按照数值划分 在规定了一组输入数据(假设包括 n个 输入值),并且程序要对每一个输入值分别进行处理的情况下,可确定 n 个有效等价类(每个值确定一个有效等价类)和一个无效等价类(所有不允许的输入值的集合)。A Free sample background from Slide 18第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计等价类的划分原则等价类的划分原则(续)(续)(3)按照数值集合划分 在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类(该集合有效值之外)。例:

28、例:程序输入条件为取值为奇数的整数程序输入条件为取值为奇数的整数x x,则有效等价类为,则有效等价类为x x的值为奇数的整数,无效等价类为的值为奇数的整数,无效等价类为x x的值不为奇数的整数。的值不为奇数的整数。例:例:程序输入条件为以字符程序输入条件为以字符 aa开头、长度为开头、长度为8 8的字符串,并的字符串,并且字符串不包含且字符串不包含 a a z z之外的其它字符,则有效等价类之外的其它字符,则有效等价类为满足了上述所有条件的字符串,无效等价类为不以为满足了上述所有条件的字符串,无效等价类为不以 aa开开头的字符串、长度不为头的字符串、长度不为8 8的字符串和包含了的字符串和包含

29、了 a a z z之外之外其它字符的字符串。其它字符的字符串。(5)细分等价类 在确知已划分的等价类中各元素在程序中的处理方式不同的情况下,则应再将该等价类进一步划分为更小的等价类,并建立等价类表。 (4)按照限制条件或规则划分 在规定了输入数据必须遵守的规则或限制条件的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。A Free sample background from Slide 19第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.4.2 等价类划分法的测试用例设计等价类划分法的测试用例设计n n在设计测试用例时,应同时考虑有效等价类和无

30、效等价类在设计测试用例时,应同时考虑有效等价类和无效等价类测试用例的设计。测试用例的设计。n n根据已列出的等价类表可确定测试用例,具体过程如下:根据已列出的等价类表可确定测试用例,具体过程如下:(1 1)首先为等价类表中的每一个等价类分别规定一个唯一)首先为等价类表中的每一个等价类分别规定一个唯一的编号。的编号。(2 2)设计一个新的测试用例,使它能够尽量覆盖尚未覆盖)设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。重复这个步骤,直到所有的有效等价类均的有效等价类。重复这个步骤,直到所有的有效等价类均被测试用例所覆盖。被测试用例所覆盖。(3 3)设计一个新的测试用例,使它仅覆盖一

31、个尚未覆盖的)设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。重复这一步骤,直到所有的无效等价类均被无效等价类。重复这一步骤,直到所有的无效等价类均被测试用例所覆盖。测试用例所覆盖。A Free sample background from Slide 20第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.4.3 常见等价类划分测试形式常见等价类划分测试形式n n针对是否对无效数据进行测试,可以将等价类测试分为针对是否对无效数据进行测试,可以将等价类测试分为 标准等价类测试和健壮等价类测试。标准等价类测试和健壮等价类测试。标准等价类测试标准等价类测试不考虑无效数据值,测试

32、用例使用不考虑无效数据值,测试用例使用 每个等价类中的一个值。每个等价类中的一个值。健壮等价类测试健壮等价类测试主要的出发点是考虑了无效等价类。主要的出发点是考虑了无效等价类。对有效输入,测试用例从每个有效等价类中取一个值;对有效输入,测试用例从每个有效等价类中取一个值; 对无效输入,一个测试用例有一个无效值,其他值均取对无效输入,一个测试用例有一个无效值,其他值均取 有效值。有效值。 健壮等价类测试存在两个问题:健壮等价类测试存在两个问题: (1 1)需要花费精力定义无效测试用例的期望输出需要花费精力定义无效测试用例的期望输出 (2 2)对)对强类型的语言没有必要考虑无效的输入强类型的语言没

33、有必要考虑无效的输入 A Free sample background from Slide 21第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.4.4 使用等价类划分法测试的实例使用等价类划分法测试的实例n n实例实例实例实例1 1 三角形问题三角形问题三角形问题三角形问题分析:分析:分析:分析:在多数情况下,是从输入域划分等价类的,但并非不能在多数情况下,是从输入域划分等价类的,但并非不能从被测程序的输出域反过来定义等价类,事实上,这对于三从被测程序的输出域反过来定义等价类,事实上,这对于三角形问题却是最简单的划分方法。角形问题却是最简单的划分方法。 在三角形问题中,有四种在

34、三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。利用这些信息能够确定下列输出(值域)等价类。角形。利用这些信息能够确定下列输出(值域)等价类。 R1 = : R1 = : 边为边为a,b,ca,b,c的等边三角形的等边三角形 R2 = : R2 = : 边为边为a,b,ca,b,c的等腰三角形的等腰三角形 R3 = : R3 = : 边为边为a,b,ca,b,c的一般三角形的一般三角形 R4 = : R4 = : 边为边为a,b,ca,b,c不能组成三角形不能组成三角形 标准等价类测试用例标准等价类测试用例健壮等

35、价类测试用例健壮等价类测试用例A Free sample background from Slide 24第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计使用等价类划分法测试的实例使用等价类划分法测试的实例(续)(续)n n实例实例实例实例2 2 保险公司计算保费费率的程序保险公司计算保费费率的程序保险公司计算保费费率的程序保险公司计算保费费率的程序 某保险公司的人寿保险的保费计算方式为:某保险公司的人寿保险的保费计算方式为: 投保额投保额 保险费率保险费率 其中,保险费率依点数不同而有别,其中,保险费率依点数不同而有别,1010点及点及1010点以上保险点以上保险费率为费率为0.6

36、%0.6%,1010点以下保险费率为点以下保险费率为0.1%0.1%;而点数又是由;而点数又是由 投保人的年龄、性别、婚姻状况和抚养人数来决定,具体投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下:规则如下:年龄年龄 性别性别婚姻婚姻抚养人数抚养人数 20392039 40594059 其它其它 M M F F 已婚已婚 未婚未婚 1 1人扣人扣0.50.5点点 最多扣最多扣3 3点点(四舍五入取整)(四舍五入取整) 6 6点点 4 4点点 2 2点点 5 5点点 3 3点点 3 3点点 5 5点点A Free sample background from Slide 25第三章第三

37、章 黑盒测试及其用例的设计黑盒测试及其用例的设计计算保费费率的程序计算保费费率的程序(1 1)分析程序规格说明中给出和隐含的对输入条件的要求,)分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类)。列出等价类表(包括有效等价类和无效等价类)。n n年龄:一位或两位非零整数,值的有效范围为年龄:一位或两位非零整数,值的有效范围为199199n n性别:一位英文字符,只能取值性别:一位英文字符,只能取值 MM或或 FFn n婚姻:字符,只能取值婚姻:字符,只能取值 已婚已婚 或或 未婚未婚 n n抚养人数:空白或一位非零整数(抚养人数:空白或一位非零整数(19

38、19)n n点数点数 :一位或两位非零整数,值的范围为:一位或两位非零整数,值的范围为199199(2 2)根据()根据(1 1)中的等价类表,设计能覆盖所有等价类的)中的等价类表,设计能覆盖所有等价类的 测试用例。测试用例。等价类表等价类表测试用例测试用例A Free sample background from Slide 28第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计习题习题n nNextDateNextDate函数函数函数函数 请使用等价类划分法为请使用等价类划分法为NextDateNextDate函数列出输入域函数列出输入域等价类表,并设计相应的测试用例。等价类表,并

39、设计相应的测试用例。 A Free sample background from Slide 29第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.5 边界值分析法边界值分析法3.5.1 3.5.1 边界值分析法概要边界值分析法概要3.5.2 3.5.2 边界值分析法测试用例边界值分析法测试用例3.5.3 3.5.3 边界值分析法测试举例边界值分析法测试举例A Free sample background from Slide 30第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.5.1 边界值分析法概要边界值分析法概要n n边边界界值值分分析析法法就就是是对对输输入入

40、或或输输出出的的边边界界值值进进行行测测试试的的一一种种黑黑盒盒测测试试方方法法。通通常常边边界界值值分分析析法法是是作作为为对对等等价价类类划划分分法法的补充,这种情况下,其测试用例来自等价类的边界。的补充,这种情况下,其测试用例来自等价类的边界。n n为什么使用边界值分析法?为什么使用边界值分析法? 无无数数的的测测试试实实践践表表明明,大大量量的的故故障障往往往往发发生生在在输输入入定定义义域域或或输输出出值值域域的的边边界界上上,而而不不是是在在其其内内部部。因因此此,针针对对各各种种边界情况设计测试用例,通常会取得很好的测试效果。边界情况设计测试用例,通常会取得很好的测试效果。n n

41、怎样用边界值分析法设计测试用例?怎样用边界值分析法设计测试用例?(1 1)首首先先确确定定边边界界情情况况。通通常常输输入入或或输输出出等等价价类类的的边边界界就就是是应该着重测试的边界情况。应该着重测试的边界情况。(2 2)选选取取正正好好等等于于、刚刚刚刚大大于于或或刚刚刚刚小小于于边边界界的的值值作作为为测测试试数据,而不是选取等价类中的典型值或任意值。数据,而不是选取等价类中的典型值或任意值。A Free sample background from Slide 31第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计举例举例 常见的边界值常见的边界值n n对对16-bit 16

42、-bit 的整数而言的整数而言 32767 32767 和和 -32768 -32768 是边界是边界n n屏幕上光标在最左上、最右下位置屏幕上光标在最左上、最右下位置n n报表的第一行和最后一行报表的第一行和最后一行n n数组元素的第一个和最后一个数组元素的第一个和最后一个n n循环的第循环的第 0 0 次、第次、第 1 1 次和倒数第次和倒数第 2 2 次、最后一次次、最后一次A Free sample background from Slide 32第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计边界值分析边界值分析n n边界值分析使用与等价类划分法相同的划分,只是边界值分边界

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

44、;库函数Print-LinePrint-Line可以用来可以用来输出错误信息。输出错误信息。实例分析实例分析A Free sample background from Slide 34第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计边界值分析边界值分析(续)(续)n n通常情况下,软件测试所包含的边界检验有几种类型:通常情况下,软件测试所包含的边界检验有几种类型: 数字、字符、位置、质量、大小、速度、方位、尺寸、数字、字符、位置、质量、大小、速度、方位、尺寸、 空间等空间等n n相应地,以上类型的边界值应该在:相应地,以上类型的边界值应该在: 最大最大/ /最小、首位最小、首位/ /

45、末位、上末位、上/ /下、最快下、最快/ /最慢、最高最慢、最高/ /最低、最低、 最短最短/ /最长、最长、 空空/ /满等情况下满等情况下实例分析实例分析A Free sample background from Slide 35第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计举例举例 利用边界值作为测试数据利用边界值作为测试数据项项边界值边界值测试用例的设计思路测试用例的设计思路字符字符起始起始-1-1个个字符字符/ /结束结束+1+1个字符个字符假设一个文本输入区域允许输入假设一个文本输入区域允许输入1 1个到个到255255个个 字符,输入字符,输入1 1个和个和25525

46、5个字符作为有效等价类;个字符作为有效等价类;输入输入0 0个和个和256256个字符作为无效等价类,这几个个字符作为无效等价类,这几个数值都属于边界条件值。数值都属于边界条件值。数值数值最小值最小值-1/-1/最大值最大值+1+1假设某软件的数据输入域要求输入假设某软件的数据输入域要求输入5 5位的数据位的数据值,可以使用值,可以使用1000010000作为最小值、作为最小值、9999999999作为作为最大值;然后使用刚好小于最大值;然后使用刚好小于5 5位和大于位和大于5 5位的位的 数值来作为边界条件。数值来作为边界条件。空间空间小于空余小于空余空间一点空间一点/ /大于满空大于满空间

47、一点间一点例如在用例如在用U U盘存储数据时,使用比剩余磁盘空盘存储数据时,使用比剩余磁盘空间大一点(几间大一点(几KBKB)的文件作为边界条件。)的文件作为边界条件。A Free sample background from Slide 36第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计内部边界值分析内部边界值分析n n在多数情况下,边界值条件是基于应用程序的功能设计而在多数情况下,边界值条件是基于应用程序的功能设计而需要考虑的因素,可以从软件的规格说明或常识中得到,需要考虑的因素,可以从软件的规格说明或常识中得到,也是最终用户可以很容易发现问题的。然而,在测试用例也是最终用户可

48、以很容易发现问题的。然而,在测试用例设计过程中,某些边界值条件是不需要呈现给用户的,或设计过程中,某些边界值条件是不需要呈现给用户的,或者说用户是很难注意到的,但同时确实属于检验范畴内的者说用户是很难注意到的,但同时确实属于检验范畴内的边界条件,称为内部边界值条件或子边界值条件。边界条件,称为内部边界值条件或子边界值条件。n n内部边界值条件主要有下面几种:内部边界值条件主要有下面几种:数值的边界值检验数值的边界值检验 字符的边界值检验字符的边界值检验其它边界值检验其它边界值检验n 小结:小结: 在实际的测试用例设计中,需要将基本的软件设计要求和程序定义的要求结合起来,即结合基本边界值条件和内

49、部边界值条件来设计有效的测试用例。A Free sample background from Slide 39第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计选择测试用例的原则选择测试用例的原则(1) (1) 如果输入条件规定了值的范围,则应取刚达到这个范围的如果输入条件规定了值的范围,则应取刚达到这个范围的边界值以及刚刚超过这个范围边界的值作为测试输入数据。边界值以及刚刚超过这个范围边界的值作为测试输入数据。(2) (2) 如果输入条件规定了值的个数,则用最大个数、最小个数如果输入条件规定了值的个数,则用最大个数、最小个数和比最大个数多和比最大个数多1 1个、比最小个数少个、比最小

50、个数少1 1个的数作为测试数据。个的数作为测试数据。(3) (3) 根据程序规格说明的每个输出条件,使用原则根据程序规格说明的每个输出条件,使用原则 (1)(1)。(4) (4) 根据程序规格说明的每个输出条件,使用原则根据程序规格说明的每个输出条件,使用原则 (2)(2) 。(5) (5) 如果程序的规格说明给出的输入域或输出域是有序集合如果程序的规格说明给出的输入域或输出域是有序集合 (如有序表、顺序文件等),则应选取集合中的第一个和(如有序表、顺序文件等),则应选取集合中的第一个和 最后一个元素作为测试用例。最后一个元素作为测试用例。(6) (6) 如果程序中使用了一个内部数据结构,则应

51、当选择这个内如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。部数据结构的边界上的值作为测试用例。(7) (7) 分析程序规格说明,找出其它可能的边界条件。分析程序规格说明,找出其它可能的边界条件。A Free sample background from Slide 40第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.5.2 边界值分析法测试用例边界值分析法测试用例n n采用边界值分析测试的基本思想是:故障往往出现在输入采用边界值分析测试的基本思想是:故障往往出现在输入变量的边界值附近。变量的边界值附近。 因此,边界值分析法利用输入变量的最小

52、值因此,边界值分析法利用输入变量的最小值(min)(min)、略大于最小值略大于最小值(min+)(min+)、输入值域内的任意值输入值域内的任意值(nom)(nom)、略小略小于最大值于最大值(max-)(max-)和最大值和最大值(max)(max)来设计测试用例。来设计测试用例。n n边界值分析法是基于可靠性理论中称为边界值分析法是基于可靠性理论中称为“ “单故障单故障” ”的假设,的假设,即有两个或两个以上故障同时出现而导致软件失效的情况即有两个或两个以上故障同时出现而导致软件失效的情况很少,也就是说,软件失效基本上是由单故障引起的。很少,也就是说,软件失效基本上是由单故障引起的。 因

53、此,在边界值分析法中获取测试用例的方法是:因此,在边界值分析法中获取测试用例的方法是: (1) (1) 每次保留程序中一个变量,让其余的变量取正常值,每次保留程序中一个变量,让其余的变量取正常值,被保留的变量依次取被保留的变量依次取minmin、min+min+、nomnom、max-max-和和maxmax。 (2) (2) 对程序中的每个变量重复对程序中的每个变量重复 (1) (1) 。A Free sample background from Slide 41第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计边界值分析法测试用例边界值分析法测试用例(续)(续)n n例例例例1 1

54、:有两个输入变量有两个输入变量x1(ax1b)x1(ax1b)和和x2(cx2d)x2(cx2d)的程序的程序F F的的边界值分析测试用例如下:边界值分析测试用例如下: , , , , , , , , , , , , , , , , x1x2a bdcA Free sample background from Slide 42第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计边界值分析法测试用例边界值分析法测试用例(续)(续)n n例例例例2 2:有二元函数有二元函数f(x,y)f(x,y),其中,其中x x 1,121,12,y y 1,311,31。 则采用边界值分析法设计的测试用

55、例是:则采用边界值分析法设计的测试用例是: , , , , , , , , , , , , , , , , 推论:对于一个含有推论:对于一个含有推论:对于一个含有推论:对于一个含有n n个变量的程序,采用边界值分析法测个变量的程序,采用边界值分析法测个变量的程序,采用边界值分析法测个变量的程序,采用边界值分析法测试程序会产生试程序会产生试程序会产生试程序会产生4n+14n+1个测试用例。个测试用例。个测试用例。个测试用例。n n练习:练习:练习:练习:有函数有函数f(x,y,x)f(x,y,x),其中,其中x x 1900,21001900,2100,y y 1,121,12,z z 1,31

56、1,31的。请写出该函数采用边界值分析法设计的测试用的。请写出该函数采用边界值分析法设计的测试用例。例。 , , , , , , , , , , , , , , , , , , , , , , , , A Free sample background from Slide 43第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计健壮性测试健壮性测试n n健壮性测试是作为边界值分析的一个简单的扩充,它除了健壮性测试是作为边界值分析的一个简单的扩充,它除了对变量的对变量的5 5个边界值分析取值外,还需要增加一个略大于个边界值分析取值外,还需要增加一个略大于最大值最大值(max+)(max+)

57、以及略小于最小值以及略小于最小值(min-)(min-)的取值,检查超过的取值,检查超过极限值时系统的情况。因此,对于有极限值时系统的情况。因此,对于有n n个变量的函数采用个变量的函数采用健壮性测试需要健壮性测试需要6n+16n+1个测试用例。个测试用例。n n前面例前面例1 1中的程序中的程序F F的健壮性测试如下图所示:的健壮性测试如下图所示:x1x2a bcdn n练习:练习:练习:练习:请为例请为例2 2中的函数中的函数f(x,y)f(x,y)写出相应的健壮性测试用例。写出相应的健壮性测试用例。A Free sample background from Slide 44第三章第三章

58、黑盒测试及其用例的设计黑盒测试及其用例的设计n n实例实例实例实例1 1 三角形问题的边界值分析测试用例三角形问题的边界值分析测试用例三角形问题的边界值分析测试用例三角形问题的边界值分析测试用例 在三角形问题描述中,除了要求边长是整数外,没有在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。在此,我们将三角形每边边长的取给出其它的限制条件。在此,我们将三角形每边边长的取范围值设值为范围值设值为1, 1001, 100 。 说明:如果程序规格说明中没有显式地给出边界值,则可说明:如果程序规格说明中没有显式地给出边界值,则可以在设计测试用例前先设定取值的下限值和上限值。以在设计测试

59、用例前先设定取值的下限值和上限值。n n实例实例实例实例2 NextDate2 NextDate函数的边界值分析测试用例函数的边界值分析测试用例函数的边界值分析测试用例函数的边界值分析测试用例 在在NextDateNextDate函数中,隐含规定了变量函数中,隐含规定了变量mouthmouth和变量和变量dayday的取值范围为的取值范围为1mouth121mouth12和和1day311day31,并设定变量,并设定变量yearyear的取值范围为的取值范围为1912year2050 1912year2050 。3.5.3 边界值分析法测试举例边界值分析法测试举例测试用例测试用例测试用例测试

60、用例A Free sample background from Slide 47第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计习题习题n n找零钱最佳组合找零钱最佳组合找零钱最佳组合找零钱最佳组合 假设商店货品价格假设商店货品价格(R) (R) 都不大于都不大于100100元(且为整数),元(且为整数),若顾客付款若顾客付款(P)(P)在在100100元内,现有一个程序能在每位顾客付元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。款后给出找零钱的最佳组合(找给顾客货币张数最少)。 假定此商店的货币面值只包括:假定此商店的货币面值只包括:5050元元

61、(N50)(N50)、1010元元(N10)(N10)、 5 5元元(N5)(N5)、1 1元元(N1) (N1) 四种。四种。 请结合等价类划分法和边界值分析法为上述程序设计请结合等价类划分法和边界值分析法为上述程序设计 出相应的测试用例。出相应的测试用例。A Free sample background from Slide 48第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.6 因果图法因果图法3.6.1 3.6.1 因果图法的简介因果图法的简介3.6.2 3.6.2 因果图因果图3.6.3 3.6.3 因果图法测试举例因果图法测试举例A Free sample backg

62、round from Slide 49第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.6.1 因果图法的简介因果图法的简介n n因果图法产生的背景:因果图法产生的背景: 等价类划分法和边界值分析方法都是着重考虑输入条等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。忽视了。 如果在

63、测试时必须考虑输入条件的各种组合,则可能如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。试用例的设计,这就需要利用因果图(逻辑模型)。 A Free sample background from Slide 50第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计因果图法的简介因果图法的简介(续)(续)n n因因果果图图法法是是基基于于这这样样的的

64、一一种种思思想想:一一些些程程序序的的功功能能可可以以用用判判定定表表(或或称称决决策策表表)的的形形式式来来表表示示,并并根根据据输输入入条条件件的的组合情况规定相应的操作。组合情况规定相应的操作。n n因因果果图图法法的的定定义义:是是一一种种利利用用图图解解法法分分析析输输入入的的各各种种组组合合情情况况,从从而而设设计计测测试试用用例例的的方方法法,它它适适合合于于检检查查程程序序输输入入条件的各种组合情况。条件的各种组合情况。n n采用因果图法设计测试用例的步骤:采用因果图法设计测试用例的步骤:(1 1)根根据据程程序序规规格格说说明明书书描描述述,分分析析并并确确定定因因(输输入入

65、条条件件)和果(输出结果或程序状态的改变),画出因果图。和果(输出结果或程序状态的改变),画出因果图。(2 2)将得到的因果图转换为判定表。)将得到的因果图转换为判定表。(3 3)为判定表中每一列所表示的情况设计一个测试用例。)为判定表中每一列所表示的情况设计一个测试用例。A Free sample background from Slide 51第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计因果图法的简介因果图法的简介(续)(续)n n使用因果图法的优点:使用因果图法的优点:(1 1)考考虑虑到到了了输输入入情情况况的的各各种种组组合合以以及及各各个个输输入入情情况况之之间间的相

66、互制约关系。的相互制约关系。(2 2)能能够够帮帮助助测测试试人人员员按按照照一一定定的的步步骤骤,高高效效率率的的开开发发测测试用例。试用例。(3 3)因因果果图图法法是是将将自自然然语语言言规规格格说说明明转转化化成成形形式式语语言言规规格格说说明明的的一一种种严严格格的的方方法法,可可以以指指出出规规格格说说明明存存在在的的不不完完整性和二义性。整性和二义性。A Free sample background from Slide 52第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.6.2 因果图因果图n n因果图中用来表示因果图中用来表示4 4种因果关系的基本符号:种因果关

67、系的基本符号:c c1 1e e1 1恒等c c1 1e e1 1 非c c1 1e e1 1或c c2 2c c3 3c c1 1e e1 1与c c2 2A Free sample background from Slide 53第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计因果图因果图(续)(续)n n因果图中的因果图中的4 4种基本关系种基本关系 在因果图的基本符号中,图中的左结点在因果图的基本符号中,图中的左结点c ci i表示输入状表示输入状态(或称原因),右结点态(或称原因),右结点e ei i表示输出状态(或称结果)。表示输出状态(或称结果)。c ci i 与与 e

68、 ei i 取值取值0 0或或1 1,0 0表示某状态不出现,表示某状态不出现,1 1则表示某状态则表示某状态出现。出现。恒等:若恒等:若 c c1 1 是是1 1,则,则 e e1 1 也为也为1 1,否则否则 e e1 1 为为0 0。非:若非:若 c c1 1 是是1 1,则,则 e e1 1 为为0 0,否则否则e e1 1为为1 1。或:若或:若 c c1 1 或或 c c2 2 或或 c c3 3 是是1 1,则,则 e e1 1 为为1 1,否则否则 e e1 1 为为0 0。与:若与:若 c c1 1 和和 c c2 2 都是都是1 1,则,则 e e1 1 为为1 1,否则否

69、则 e e1 1 为为0 0。A Free sample background from Slide 54第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计因果图因果图(续)(续)n n因果图中的约束因果图中的约束 在实际问题中输入状态相互之间、输出状态相互之间可在实际问题中输入状态相互之间、输出状态相互之间可能存在某些依赖关系,称为能存在某些依赖关系,称为“ “约束约束” ”。对于输入条件的约束。对于输入条件的约束有有E E、I I、OO、R R四种约束,对于输出条件的约束只有四种约束,对于输出条件的约束只有MM约束。约束。E E约束约束( (异异) ):a a和和b b中最多有一个

70、可能为中最多有一个可能为1 1,即,即a a和和b b不能同时不能同时 为为1 1。I I 约束约束( (或或) ):a a、b b、c c中至少有一个必须为中至少有一个必须为1 1,即,即 a a、b b、c c不不能同时为能同时为0 0。OO约束约束( (唯一唯一) ):a a和和b b必须有一个且仅有一个为必须有一个且仅有一个为1 1。R R约束约束( (要求要求) ):a a是是1 1时,时,b b必须是必须是1 1,即,即a a为为1 1时,时,b b不能为不能为0 0。MM约束约束( (强制强制) ):若结果:若结果a a为为1 1,则结果,则结果b b强制为强制为0 0。A Fr

71、ee sample background from Slide 55第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计因果图因果图(续)(续)a ab b异Ea ab b或Ic ca ab b唯一ORa ab b要求Ma ab b强制n n因果图中用来表示约束关系的约束符号:因果图中用来表示约束关系的约束符号:A Free sample background from Slide 56第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计因果图因果图(续)(续)n n因果图法最终生成的是决策表。利用因果图生成测试用例因果图法最终生成的是决策表。利用因果图生成测试用例的基本步骤如下:

72、的基本步骤如下:(1 1)分析软件规格说明中哪些是原因(即输入条件或输入条)分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。因和结果赋予一个标识符。(2 2)分析软件规格说明中的语义,找出原因与结果之间、原)分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,因与原因之间对应的关系, 根据这些关系画出因果图。根据这些关系画出因果图。(3 3)由于语法或环境的限制,有些原因与原因之间、原因与)由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合

73、情况不可能出现。为表明这些特殊情况,结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。在因果图上用一些记号表明约束或限制条件。(4 4)把因果图转换为决策表。)把因果图转换为决策表。(5 5)根据决策表中的每一列设计测试用例。)根据决策表中的每一列设计测试用例。A Free sample background from Slide 57第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.6.3 因果图法测试举例因果图法测试举例n n实例实例实例实例 用因果图法测试以下程序。用因果图法测试以下程序。用因果图法测试以下程序。用因果图法测试以下程序。

74、 程序的规格说明要求:输入的第一个字符必须是程序的规格说明要求:输入的第一个字符必须是# #或或* *,第二个字符必须是一个数字,此情况下进行文件的修改;第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是如果第一个字符不是# #或或* *,则给出信息,则给出信息N N,如果第二个字,如果第二个字符不是数字,则给出信息符不是数字,则给出信息MM。解题步骤:解题步骤:(1 1)分析程序的规格说明,列出原因和结果。)分析程序的规格说明,列出原因和结果。(2 2)找出原因与结果之间的因果关系、原因与原因之间的约)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。束关

75、系,画出因果图。(3 3)将因果图转换成决策表。)将因果图转换成决策表。(4 4)根据()根据(3 3)中的决策表,设计测试用例的输入数据和预)中的决策表,设计测试用例的输入数据和预期输出。期输出。A Free sample background from Slide 58第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计因果图法测试举例因果图法测试举例(续)(续)(1 1)分析程序规格说明中的原因和结果:)分析程序规格说明中的原因和结果:(2 2)画出因果图(编号为)画出因果图(编号为1010的中间结点是导出结果的进一步的中间结点是导出结果的进一步原因):原因):原因原因结果结果 c

76、1 c1:第一个字符是:第一个字符是# # e1 e1:给出信息:给出信息N N c2 c2:第一个字符是:第一个字符是* * e2 e2:修改文件:修改文件 c3 c3:第二个字符是一个数字:第二个字符是一个数字 e3 e3:给出信息:给出信息MMc1c2c3e110e2e3EA Free sample background from Slide 59第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计因果图法测试举例因果图法测试举例(续)(续)(3 3)将因果图转换成如下所示的决策表:)将因果图转换成如下所示的决策表:规则规则选项选项A Free sample background

77、from Slide 60第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计因果图法测试举例因果图法测试举例(续)(续)(4 4)根据决策表中的每一列设计测试用例:)根据决策表中的每一列设计测试用例:测试用例编号测试用例编号输入数据输入数据预期输出预期输出1 1#3#3修改文件修改文件2 2#A#A给出信息给出信息MM3 3* *6 6修改文件修改文件4 4* *B B给出信息给出信息MM5 5A1A1给出信息给出信息N N6 6GTGT给出信息给出信息N N和信息和信息MMA Free sample background from Slide 61第三章第三章 黑盒测试及其用例的设计

78、黑盒测试及其用例的设计习题习题1 1、使用因果图法为三角形问题设计测试用例。、使用因果图法为三角形问题设计测试用例。2 2、某软件的一个模块的需求规格说明书中描述:、某软件的一个模块的需求规格说明书中描述:(1 1)年薪制员工:严重过失,扣年终风险金的)年薪制员工:严重过失,扣年终风险金的4%4%;过失,;过失,扣年终风险金的扣年终风险金的2%2%。(2 2)非年薪制员工:严重过失,扣当月薪资的)非年薪制员工:严重过失,扣当月薪资的8%8%;过失,;过失,扣当月薪资的扣当月薪资的4%4%。 请绘制出因果图和判定表,并给出相应的测试用例。请绘制出因果图和判定表,并给出相应的测试用例。A Free

79、 sample background from Slide 62第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.7 决策表法决策表法3.7.1 3.7.1 决策表决策表3.7.2 3.7.2 决策表应用决策表应用3.7.3 3.7.3 决策表测试应用案例决策表测试应用案例A Free sample background from Slide 63第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.7.1 决策表决策表n n在所有的黑盒测试方法中,基于决策表(也称判定表)的在所有的黑盒测试方法中,基于决策表(也称判定表)的测试是最为严格、最具有逻辑性的测试方法。测试是最为

80、严格、最具有逻辑性的测试方法。n n决策表的概念:决策表是分析和表达多逻辑条件下执行不决策表的概念:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具。同操作的情况的工具。n n决策表的优点:能够将复杂的问题按照各种可能的情况全决策表的优点:能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。计出完整的测试用例集合。n n在一些数据处理问题当中,某些操作的实施依赖于多个逻在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执辑条件的组合,

81、即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题。行不同的操作。决策表很适合于处理这类问题。决策表实例决策表实例A Free sample background from Slide 65第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计决策表的组成决策表的组成n n决策表通常由以下决策表通常由以下4 4部分组成:部分组成:条件桩条件桩列出问题的所有条件列出问题的所有条件条件项条件项针对条件桩给出的条件列出所有可能的取值针对条件桩给出的条件列出所有可能的取值动作桩动作桩列出问题规定的可能采取的操作列出问题规定的可能采取的操作动作项动作项指出在条件项的各组取值

82、情况下应采取的动作指出在条件项的各组取值情况下应采取的动作 条件桩条件桩动作桩动作桩 条件项条件项 动作项动作项规规则则将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在决策表中贯穿条件项和动作项的一列就是一条规则。A Free sample background from Slide 66第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计决策表的生成决策表的生成n n构造决策表的构造决策表的5 5个步骤:个步骤:(1 1) 确定规则的个数。确定规则的个数。有有n n个条件的决策表有个条件的决策表有2 2n n个规则(每个条件取真、假值)。个规则(每个条件取真、假值)。(2

83、 2) 列出所有的条件桩和动作桩。列出所有的条件桩和动作桩。(3 3) 填入条件项。填入条件项。(4 4) 填入动作项,得到初始决策表。填入动作项,得到初始决策表。(5 5) 简化决策表,合并相似规则。简化决策表,合并相似规则。若表中有两条以上规则具有相同的动作,并且在条件项之若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。间存在极为相似的关系,便可以合并。合并后的条件项用符号合并后的条件项用符号“-”“-”表示,说明执行的动作与该条表示,说明执行的动作与该条件的取值无关,称为无关条件。件的取值无关,称为无关条件。三角形问题的决策表三角形问题的决策表A Fr

84、ee sample background from Slide 68第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.7.2 决策表应用决策表应用n nNextDateNextDate函数的决策表测试用例设计函数的决策表测试用例设计问题分析:问题分析:NextDateNextDate函数的三个变量之间在输入定义域中函数的三个变量之间在输入定义域中存在一定的逻辑依赖关系,由于等价类划分和边界值分析存在一定的逻辑依赖关系,由于等价类划分和边界值分析测试都假设了变量是独立的,如果采用上述两种方法设计测试都假设了变量是独立的,如果采用上述两种方法设计测试用例,那么这些依赖关系在机械的选取输

85、入值时可能测试用例,那么这些依赖关系在机械的选取输入值时可能会丢失。而采用决策表法则可以通过使用会丢失。而采用决策表法则可以通过使用“ “不可能动作不可能动作” ”的概念表示条件的不可能组合,来强调这种依赖关系。的概念表示条件的不可能组合,来强调这种依赖关系。说明:当决策表规模(指规则的数目,说明:当决策表规模(指规则的数目,n n个条件的决策表个条件的决策表有有2 2n n个规则)较大时,可以通过扩展条目决策表(条件使个规则)较大时,可以通过扩展条目决策表(条件使用等价类)、代数简化表、将大表用等价类)、代数简化表、将大表“ “分解分解” ”为小表等方法。为小表等方法。实例分析实例分析A F

86、ree sample background from Slide 71第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计决策表应用决策表应用(续)(续)n n决策表测试法适用于具有以下特征的应用程序:决策表测试法适用于具有以下特征的应用程序: if-then-else if-then-else逻辑突出;输入变量之间存在逻辑关系;涉及逻辑突出;输入变量之间存在逻辑关系;涉及输入变量子集的计算;输入与输出之间存在因果关系。输入变量子集的计算;输入与输出之间存在因果关系。n n适用于使用决策表设计测试用例的条件:适用于使用决策表设计测试用例的条件:规格说明以决策表形式给出,或较容易转换为决策

87、表。规格说明以决策表形式给出,或较容易转换为决策表。条件的排列顺序不会也不应影响执行的操作。条件的排列顺序不会也不应影响执行的操作。规则的排列顺序不会也不应影响执行的操作。规则的排列顺序不会也不应影响执行的操作。当某一规则的条件已经满足,并确定要执行的操作后,不当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。必检验别的规则。如果某一规则的条件要执行多个操作,这些操作的执行顺如果某一规则的条件要执行多个操作,这些操作的执行顺序无关紧要。序无关紧要。A Free sample background from Slide 72第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设

88、计3.7.3 决策表测试应用案例决策表测试应用案例n n用决策表测试法测试以下程序:用决策表测试法测试以下程序: 该程序有三个输入变量该程序有三个输入变量monthmonth、dayday、yearyear(monthmonth、dayday和和yearyear均为整数值,并且满足:均为整数值,并且满足:1month121month12和和1day311day31),分别作为输入日期的月份、日、年份,通),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。过程序可以输出该输入日期在日历上隔一天的日期。 例如,输入为例如,输入为20042004年年1111月月29

89、29日,则该程序的输出为日,则该程序的输出为20002000年年1212月月1 1日。日。(1 1)分析各种输入情况,列出为输入变量)分析各种输入情况,列出为输入变量monthmonth、dayday、yearyear划分的有效等价类。划分的有效等价类。(2 2)分析程序规格说明,结合以上等价类划分的情况给出)分析程序规格说明,结合以上等价类划分的情况给出问题规定的可能采取的操作(即列出所有的动作桩)。问题规定的可能采取的操作(即列出所有的动作桩)。(3 3)根据()根据(1 1)和()和(2 2),画出简化后的决策表。),画出简化后的决策表。A Free sample background

90、from Slide 73第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计案例分析案例分析n nmonthmonth变量的有效等价类:变量的有效等价类: M1: M1: month=4,6,9,11 M2: month=1,3,5,7,8,10month=4,6,9,11 M2: month=1,3,5,7,8,10 M3: month=12 M4: month=2 M3: month=12 M4: month=2n ndayday变量的有效等价类:变量的有效等价类: D1: D1: 1day26 D2: day=27 D3: day=28 1day26 D2: day=27 D3:

91、 day=28 D4: day=29 D5: day=30 D6: day=31D4: day=29 D5: day=30 D6: day=31n nyearyear变量的有效等价类:变量的有效等价类: Y1: Y1: yearyear是闰年是闰年 Y2: year Y2: year不是闰年不是闰年 n n考虑各种有效的输入情况,程序中可能采取的操作有以下考虑各种有效的输入情况,程序中可能采取的操作有以下六种:六种: a1: day+2 a2: day=2 a3: day=1 a1: day+2 a2: day=2 a3: day=1 a4: month+1 a5: month=1 a6: y

92、ear+1 a4: month+1 a5: month=1 a6: year+1 A Free sample background from Slide 74第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计习题习题1 1、根据教材、根据教材P85P85中给出的简化后的决策表,设计相应的测试中给出的简化后的决策表,设计相应的测试用例。用例。2 2、某软件的一个模块的需求规格说明书中描述:、某软件的一个模块的需求规格说明书中描述: “ “对于功率大于对于功率大于5050马力的机器或者维修记录不全的马力的机器或者维修记录不全的或已经运行或已经运行1010年以上的机器应予以优先的维修处理年以

93、上的机器应予以优先的维修处理”。 这里假定这里假定“ “维修记录不全维修记录不全” ”和和“ “优先维修处理优先维修处理” ”有严格的有严格的定义。定义。 请建立该需求的决策表,并绘制出化简(合并规则)后请建立该需求的决策表,并绘制出化简(合并规则)后的决策表。的决策表。A Free sample background from Slide 75第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.8 错误推测法错误推测法n n错误推测法的概念:基于经验和直觉推测程序中所有可能错误推测法的概念:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。存在的各种

94、错误,从而有针对性的设计测试用例的方法。n n错误推测方法的基本思想:列举出程序中所有可能有的错错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。误和容易发生错误的特殊情况,根据它们选择测试用例。例如:例如:在单元测试时曾列出的许多在模块中常见的错误、以前产在单元测试时曾列出的许多在模块中常见的错误、以前产品测试中曾经发现的错误等,这些就是经验的总结。品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据和输出数据为还有,输入数据和输出数据为0 0的情况、输入表格为空格的情况、输入表格为空格或输入表格只有一行等。这些都是容易发生错误的情况

95、,或输入表格只有一行等。这些都是容易发生错误的情况,可选择这些情况下的例子作为测试用例。可选择这些情况下的例子作为测试用例。A Free sample background from Slide 76第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计3.9 测试方法的选择测试方法的选择n n通常,在确定测试方法时,应遵循以下原则:通常,在确定测试方法时,应遵循以下原则:根据程序的重要性和一旦发生故障将造成的损失来确定根据程序的重要性和一旦发生故障将造成的损失来确定测试等级和测试重点。测试等级和测试重点。认真选择测试策略,以便能尽可能少的使用测试用例,认真选择测试策略,以便能尽可能少的使

96、用测试用例,发现尽可能多的程序错误。因为一次完整的软件测试过发现尽可能多的程序错误。因为一次完整的软件测试过后,如果程序中遗留的错误过多并且严重,则表明该次后,如果程序中遗留的错误过多并且严重,则表明该次测试是不足的,而测试不足则意味着让用户承担隐藏错测试是不足的,而测试不足则意味着让用户承担隐藏错误带来的危险,但测试过度又会带来资源的浪费。因此误带来的危险,但测试过度又会带来资源的浪费。因此测试需要找到一个平衡点。测试需要找到一个平衡点。A Free sample background from Slide 77第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计测试方法的选择测试方法

97、的选择(续)(续)n n通常在确定测试策略时,有以下通常在确定测试策略时,有以下5 5条参考原则:条参考原则:(1 1)在任何情况下都必须采用边界值分析法。这种方法设计)在任何情况下都必须采用边界值分析法。这种方法设计出的测试用例发现程序错误的能力最强。出的测试用例发现程序错误的能力最强。(2 2)必要时采用等价类划分法补充测试用例。)必要时采用等价类划分法补充测试用例。(3 3)采用错误推断法再追加测试用例。)采用错误推断法再追加测试用例。(4 4)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖 程度。如果没有达到要求的覆盖标准,则应当再补充更

98、多程度。如果没有达到要求的覆盖标准,则应当再补充更多的测试用例。的测试用例。(5 5)如果程序的功能说明中含有输入条件的组合情况,则应)如果程序的功能说明中含有输入条件的组合情况,则应一开始就选用因果图法。一开始就选用因果图法。A Free sample background from Slide 78第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计习题习题1 1、某城市电话号码由三部分组成,分别是:、某城市电话号码由三部分组成,分别是: 地区码地区码 空白或三位数字;空白或三位数字; 前前 缀缀 非非 00或或 11开头的三位数字;开头的三位数字; 后后 缀缀 4 4位数字。位数字

99、。 假定被测程序能接受一切符合上述规定的电话号码,假定被测程序能接受一切符合上述规定的电话号码, 拒绝所有不符合规定的电话号码。要求:拒绝所有不符合规定的电话号码。要求: (1 1)请选择适当的黑盒测试方法,写出选择该方法的原因,)请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法的步骤,给出测试用例表。并使用该方法的步骤,给出测试用例表。(2 2)如果所生成的测试用例不够全面,请考虑用别的测试)如果所生成的测试用例不够全面,请考虑用别的测试 方法生成一些补充的测试用例。方法生成一些补充的测试用例。A Free sample background from Slide 79第三章第三

100、章 黑盒测试及其用例的设计黑盒测试及其用例的设计多于多于多于多于3 3位数字位数字位数字位数字少于少于少于少于3 3位数字位数字位数字位数字有非数字字符有非数字字符有非数字字符有非数字字符 空白空白空白空白3 3位数字位数字位数字位数字地区码地区码地区码地区码编号编号编号编号无效等价类无效等价类无效等价类无效等价类编号编号编号编号有效等价类有效等价类有效等价类有效等价类输入条件输入条件输入条件输入条件341256789101112131415使用等价类划分法使用等价类划分法A Free sample background from Slide 80第三章第三章 黑盒测试及其用例的设计黑盒测试及

101、其用例的设计测试用例测试用例测试用例测试用例编号编号编号编号输入数据输入数据输入数据输入数据预期输出预期输出预期输出预期输出地区码地区码地区码地区码前缀前缀前缀前缀后缀后缀后缀后缀1 1空白空白空白空白12312345674567接受(有效)接受(有效)接受(有效)接受(有效)2 212312380580598769876接受(有效)接受(有效)接受(有效)接受(有效)3 320A20A12312345674567拒绝(无效)拒绝(无效)拒绝(无效)拒绝(无效)4 4333323423456785678拒绝(无效)拒绝(无效)拒绝(无效)拒绝(无效)5 51234123423423445674

102、567拒绝(无效)拒绝(无效)拒绝(无效)拒绝(无效)6 61231232B32B312341234拒绝(无效)拒绝(无效)拒绝(无效)拒绝(无效)7 712312301301312341234拒绝(无效)拒绝(无效)拒绝(无效)拒绝(无效)8 812312312312312341234拒绝(无效)拒绝(无效)拒绝(无效)拒绝(无效)9 9123123232312341234拒绝(无效)拒绝(无效)拒绝(无效)拒绝(无效)10101231232345234512341234拒绝(无效)拒绝(无效)拒绝(无效)拒绝(无效)11111231232342341B341B34拒绝(无效)拒绝(无效)拒

103、绝(无效)拒绝(无效)12121231232342343434拒绝(无效)拒绝(无效)拒绝(无效)拒绝(无效)13131231232342342334523345拒绝(无效)拒绝(无效)拒绝(无效)拒绝(无效)覆盖等价类覆盖等价类覆盖等价类覆盖等价类1, 3, 41, 3, 42, 3, 42, 3, 45 56 67 78 89 9101011111212131314141515A Free sample background from Slide 81第三章第三章 黑盒测试及其用例的设计黑盒测试及其用例的设计习题习题2 2、有一个处理单价为、有一个处理单价为5 5角钱的饮料的自动售货机,相

104、应规格角钱的饮料的自动售货机,相应规格说明如下:说明如下:若投入若投入5 5角钱或角钱或1 1元钱的硬币,按下元钱的硬币,按下橙汁橙汁或或啤酒啤酒的的按钮,则相应的饮料就送出来。(每次只投入一个硬币,按钮,则相应的饮料就送出来。(每次只投入一个硬币,只押下一种饮料的按钮)只押下一种饮料的按钮)如投入如投入5 5角的硬币,按下按钮后,总有饮料送出。角的硬币,按下按钮后,总有饮料送出。若售货机没有零钱找,则一个显示若售货机没有零钱找,则一个显示零钱找完零钱找完的红灯会的红灯会亮,这时再投入亮,这时再投入1 1元硬币并按下按钮后,饮料不送出来而且元硬币并按下按钮后,饮料不送出来而且1 1元硬币也退出来。元硬币也退出来。若有零钱找,则显示若有零钱找,则显示零钱找完零钱找完的红灯不会亮,若投入的红灯不会亮,若投入 1 1元硬币及按饮料按钮,则送出饮料的同时找回元硬币及按饮料按钮,则送出饮料的同时找回5 5角硬币。角硬币。 请选择适当的黑盒测试方法,写出选择该方法的原因,请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法的步骤,设计出相应的测试用例。并使用该方法的步骤,设计出相应的测试用例。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号