第3讲黑盒测试及其用例的设计精选文档.ppt
《第3讲黑盒测试及其用例的设计精选文档.ppt》由会员分享,可在线阅读,更多相关《第3讲黑盒测试及其用例的设计精选文档.ppt(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3讲黑盒黑盒测试及其及其用例的用例的设计本讲稿第一页,共七十页本讲教学目标本讲教学目标n n理解黑盒测试方法的基本概念n n理解黑盒测试的两个典型问题理解黑盒测试的两个典型问题n n掌握黑盒测试的等价类划分法掌握黑盒测试的等价类划分法n n掌握黑盒测试的边界值分析法掌握黑盒测试的边界值分析法n n掌握黑盒测试的因果图测试法和决策表法掌握黑盒测试的因果图测试法和决策表法本讲稿第二页,共七十页3.1 测试用例设计概述测试用例设计概述3.1.1 测试用例的定义和特征3.1.2 3.1.2 测试用例的基本准则测试用例的基本准则3.1.3 测试用例设计书写标准测试用例设计书写标准Return本讲稿第
2、三页,共七十页3.1.1 测试用例的定义和特征测试用例的定义和特征n n测试用例的定义:测试用例的定义:(1 1)测测试试用用例例是是为为特特定定的的目目的的而而设设计计的的一一组组测测试试输输入入、执执行条件和预期的结果。行条件和预期的结果。(2 2)测试用例是执行的最小实体。)测试用例是执行的最小实体。n n良好测试用例的特征:良好测试用例的特征:(1 1)最有可能抓住错误的;)最有可能抓住错误的;(2 2)不是重复的、多余的;)不是重复的、多余的;(3 3)一组相似测试用例中最有效的;)一组相似测试用例中最有效的;(4 4)既不过分复杂、也不能过分简单既不过分复杂、也不能过分简单本讲稿第
3、四页,共七十页3.1.2 设计测试用例的基本准则设计测试用例的基本准则n n测试用例的代表性测试用例的代表性 能够代表并覆盖各种合理的和不合理的、合法的和非法的、能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的输入数据、操作和环境设置等。边界的和越界的以及极限的输入数据、操作和环境设置等。n n测试结果的可判定性测试结果的可判定性 即测试执行结果的正确性是可判定的,每一个测试用例都应即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果。有相应的期望结果。n n测试结果的可再现性测试结果的可再现性 即对同样的测试用例,系统的执行结果应当是相同的。即对同
4、样的测试用例,系统的执行结果应当是相同的。本讲稿第五页,共七十页3.1.3 测试用例设计书写标准测试用例设计书写标准 在在ANSI/IEEE829-1983ANSI/IEEE829-1983标准中列出了和测试设计相关的测试用例标准中列出了和测试设计相关的测试用例编写规范和模板。标准模板中主要元素如下:编写规范和模板。标准模板中主要元素如下:n n标识符标识符惟一标识每一个测试用例惟一标识每一个测试用例n n测试项测试项准确的描述所需要测试的项及其特征准确的描述所需要测试的项及其特征n n测试环境要求测试环境要求表征执行该测试用例需要的测试环境表征执行该测试用例需要的测试环境n n输入标准输入标
5、准执行测试用例的输入需求(这些输入可能包括数执行测试用例的输入需求(这些输入可能包括数据、文件或者操作)据、文件或者操作)n n输出标准输出标准按照指定的环境和输入标准得到的期望输出结按照指定的环境和输入标准得到的期望输出结果果n n测试用例之间的关联测试用例之间的关联标识该测试用例与其它的测试(或其标识该测试用例与其它的测试(或其它测试用例)之间的依赖关系它测试用例)之间的依赖关系本讲稿第六页,共七十页测试用例的组成元素与范例测试用例的组成元素与范例n n测试用例编号测试用例编号IDIDn n测试的模块测试的模块n n测试用例标题测试用例标题n n测试输入条件测试输入条件n n期望的输出结果
6、期望的输出结果n n其它说明其它说明IDID测试测试项项标题标题测试步骤测试步骤期望的结果期望的结果说明说明001001登录登录输入正确密码输入正确密码用户在登录界面输入正确的密码用户在登录界面输入正确的密码后,按回车键后,按回车键程序提示登录成功程序提示登录成功002002登录登录输入错误密码输入错误密码用户在登录界面输入错误的密码用户在登录界面输入错误的密码后,按回车键后,按回车键程序提示输入密码程序提示输入密码错误,请重新输入错误,请重新输入003003登录登录不输入的空密不输入的空密码码用户在登录界面没有输入任何密用户在登录界面没有输入任何密码使密码为空后,按回车键码使密码为空后,按回
7、车键程序提示用户没有程序提示用户没有输入密码,请输入输入密码,请输入程序应该告知程序应该告知用户没有输入用户没有输入密码,而不是密码,而不是密码错误密码错误范例:范例:205页测试用例页测试用例本讲稿第七页,共七十页 3.2 黑盒测试法的概念黑盒测试法的概念Returnn n黑盒测试被称为功能测试或数据驱动测试。在测试时,把被测程序黑盒测试被称为功能测试或数据驱动测试。在测试时,把被测程序视为一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特视为一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下进行。性的情况下进行。n n采用黑盒测试的目的主要是在已知软件产品所应具有的功能的
8、基采用黑盒测试的目的主要是在已知软件产品所应具有的功能的基础上,进行:础上,进行:(1 1)检查程序功能能否按需求规格说明书的规定正常使用,测试)检查程序功能能否按需求规格说明书的规定正常使用,测试各个功能是否有遗漏,检测性能等特性要求是否满足。各个功能是否有遗漏,检测性能等特性要求是否满足。(2 2)检测人机交互是否错误,程序是否能适当地接收输入数据而产生正)检测人机交互是否错误,程序是否能适当地接收输入数据而产生正确的输出结果,并保持外部信息(如数据库或文件)的完整性。确的输出结果,并保持外部信息(如数据库或文件)的完整性。(3 3)检测程序初始化和终止方面的错误。)检测程序初始化和终止方
9、面的错误。本讲稿第八页,共七十页3.3 三角形问题与三角形问题与NextDate函数函数 1、三角形问题 输入三个整数输入三个整数a a、b b、c c,分别作为三角形的三条边,现通过程序判,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及构不成三角形。角形(特殊的还有直角三角形),以及构不成三角形。现在要求输入三个整数现在要求输入三个整数a a、b b、c c,必须满足以下条件:,必须满足以下条件:条件条件1 1a100 1 1a100 条件条件4 a
10、b+c4 ab+c 条件条件2 1b100 2 1b100 条件条件5 ba+c 5 ba+c 条件条件3 1c100 3 1c100 条件条件6 ca+b6 ca+b Return本讲稿第九页,共七十页三角形问题与三角形问题与NextDate函数函数(续)(续)n n如果输入值如果输入值a a、b b、c c不满足不满足条件条件1 1、条件、条件2 2和条件和条件3 3 ,程序给出,程序给出“边边的取值超出允许范围的取值超出允许范围”的信息。的信息。n n如果输入值如果输入值a a、b b、c c 满足满足条件条件1 1、条件、条件2 2和条件和条件3 3,则输出下列四种,则输出下列四种情况
11、之一:情况之一:(1 1)如果不满足条件)如果不满足条件4 4、条件、条件5 5和条件和条件6 6中的一个,则程序输出为中的一个,则程序输出为“非三角形非三角形”。(2 2)如果三条边相等,则程序输出为)如果三条边相等,则程序输出为“等边三角形等边三角形”。(3 3)如果恰好有两条边相等,则程序输出为)如果恰好有两条边相等,则程序输出为“等腰三角形等腰三角形”。(4 4)如果三条边都不相等,则程序输出为)如果三条边都不相等,则程序输出为“一般三角形一般三角形”。n n结论结论结论结论:三角形问题的复杂之处在于输入与输出之间的关系比较复杂。:三角形问题的复杂之处在于输入与输出之间的关系比较复杂。
12、本讲稿第十页,共七十页三角形问题与三角形问题与NextDate函数函数(续)(续)2 2、NextDateNextDate函数函数 NextDateNextDate函函数数说说明明另另一一种种复复杂杂的的关关系系,即即输输入入变变量量之之间间逻逻辑辑关关系的复杂性。系的复杂性。NextDate NextDate函数包含三个变量函数包含三个变量monthmonth、dayday和和yearyear,函数的输出为函数的输出为输入日期后一天的日期。输入日期后一天的日期。要求输入变量要求输入变量monthmonth、dayday和和yearyear均为整均为整数值,并且满足下列条件:数值,并且满足下列
13、条件:条件条件1 1 month 121 1 month 12 条件条件2 1 day 312 1 day 31 条件条件3 1912 year 20503 1912 year 2050n n结论:结论:结论:结论:在在NextDateNextDate函数中有两种复杂性的输入来源,一是输入域的复函数中有两种复杂性的输入来源,一是输入域的复杂性,二是确定闰年的规则并要增加杂性,二是确定闰年的规则并要增加“额外天额外天”。本讲稿第十一页,共七十页3.4 等价类划分法等价类划分法3.4.1 等价类的划分原则3.4.2 3.4.2 等价类划分法的测试用例设计等价类划分法的测试用例设计3.4.3使用等价
14、类划分法测试的实例使用等价类划分法测试的实例Return本讲稿第十二页,共七十页等价类划分法等价类划分法n n等价类划分法是一种重要的、常用的黑盒测试方法,它将不等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。用例具有完整性和代表性。n n举例:设计这样的测试用例,来实现一个对所有实数进行开举例:设计这样的测试用例,来实现一个对所有实数进行开平方运算(平方运算(y=sqrt(x)y=sqrt(x))的程序的测试。)的程序的测试。n n思考方向:思考方向:由于开平方
15、运算只对非负实数有效,这时需要将所有的由于开平方运算只对非负实数有效,这时需要将所有的实数(输入域实数(输入域x x)进行划分,可以分成:正实数、)进行划分,可以分成:正实数、0 0 和和 负实数。负实数。假设我们选定假设我们选定+1.4444+1.4444代表正实数,代表正实数,-2.345-2.345代表负实数,则为代表负实数,则为该程序设计的测试用例的输入为该程序设计的测试用例的输入为+1.4444+1.4444、0 0 和和 -2.345-2.345。本讲稿第十三页,共七十页等价类划分法等价类划分法(续)(续)n n等价类划分法等价类划分法等价类划分法等价类划分法把所有可能的输入数据(
16、有效的和无效的)划分把所有可能的输入数据(有效的和无效的)划分把所有可能的输入数据(有效的和无效的)划分把所有可能的输入数据(有效的和无效的)划分成若干个等价的子集,使得每个子集中的一个典型值在测试中成若干个等价的子集,使得每个子集中的一个典型值在测试中成若干个等价的子集,使得每个子集中的一个典型值在测试中成若干个等价的子集,使得每个子集中的一个典型值在测试中的作用与这一子集中其他值的作用相同。的作用与这一子集中其他值的作用相同。的作用与这一子集中其他值的作用相同。的作用与这一子集中其他值的作用相同。n n等价类的分类:等价类的分类:等价类的分类:等价类的分类:有效等价类有效等价类有效等价类有
17、效等价类和和和和无效等价类无效等价类无效等价类无效等价类。有效等价类是有意义。有效等价类是有意义。有效等价类是有意义。有效等价类是有意义的、合理的输入数据,可以检查程序是否实现了规格说明中所规定的、合理的输入数据,可以检查程序是否实现了规格说明中所规定的、合理的输入数据,可以检查程序是否实现了规格说明中所规定的、合理的输入数据,可以检查程序是否实现了规格说明中所规定的功能和性能。无效等价类与有效等价类的意义相反。的功能和性能。无效等价类与有效等价类的意义相反。的功能和性能。无效等价类与有效等价类的意义相反。的功能和性能。无效等价类与有效等价类的意义相反。n n设计测试用例时,要同时考虑这两种等
18、价类。因为软件不仅要能接设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验。这样的测试才能确保软件收合理的数据,也要能经受意外的考验。这样的测试才能确保软件收合理的数据,也要能经受意外的考验。这样的测试才能确保软件收合理的数据,也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性。具有更高的可靠性。具有更高的可靠性。具有更高的可靠性。本讲稿第十四页,共七十页3.4.1 等价类的划分原则等价类的划分原则n n等价类是输入域的某个子集
19、合,而所有等价类的并集就是整等价类是输入域的某个子集合,而所有等价类的并集就是整个输入域。因此,等价类对于测试有两个重要的意义:个输入域。因此,等价类对于测试有两个重要的意义:n n完备性完备性完备性完备性整个输入域提供一种形式的完备性整个输入域提供一种形式的完备性n n无冗余性无冗余性无冗余性无冗余性若互不相交则可保证一种形式的无冗余性若互不相交则可保证一种形式的无冗余性n n如何划分?如何划分?如何划分?如何划分?先从程序的规格说明书中找出各个输入条件,再为每先从程序的规格说明书中找出各个输入条件,再为每个输入条件划分两个或多个等价类,形成若干的互不相交的子集。个输入条件划分两个或多个等价
20、类,形成若干的互不相交的子集。n n采用等价类划分法设计测试用例通常分两步进行:采用等价类划分法设计测试用例通常分两步进行:(1 1)确定等价类,列出等价类表。确定等价类,列出等价类表。确定等价类,列出等价类表。确定等价类,列出等价类表。(2 2)确定测试用例。)确定测试用例。)确定测试用例。)确定测试用例。本讲稿第十五页,共七十页等价类的划分原则等价类的划分原则(续)(续)n n进行等价类划分的依据:进行等价类划分的依据:(1)按照区间划分 在输入条件规定了取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。例:例:程序输入条件为小于程序输入条件为小于100100大于大于10
21、10的整数的整数x x,则有效等价类为,则有效等价类为1010 x x100100,两个无效等价类为,两个无效等价类为x10 x10和和x100 x100。例:例:输入值是学生成绩,范围是输入值是学生成绩,范围是01000100,则有效等价类是,则有效等价类是0=0=成绩成绩=100=100,无效等价类为:成绩,无效等价类为:成绩0100100本讲稿第十六页,共七十页等价类的划分原则等价类的划分原则(续)(续)n n进行等价类划分的依据:进行等价类划分的依据:例:例:程序输入程序输入x x取值于一个固定的枚举类型取值于一个固定的枚举类型1,3,7,151,3,7,15,且程序,且程序 中对这中
22、对这4 4个数值分别进行了处理,则有效等价类为个数值分别进行了处理,则有效等价类为x=1x=1、x=3x=3、x=7 x=7、x=15x=15,无效等价类为,无效等价类为x1,3,7,15x1,3,7,15的值的集合。的值的集合。(2)按照数值划分 在规定了一组输入数据(假设包括 n个 输入值),并且程序要对每一个输入值分别进行处理的情况下,可确定 n 个有效等价类(每个值确定一个有效等价类)和一个无效等价类(所有不允许的输入值的集合)。例:例:输入条件说明学历可为:专科、本科、硕士、博士四种之一,则分输入条件说明学历可为:专科、本科、硕士、博士四种之一,则分别取这四种作为四个有效等价类,把四
23、种学历之外的任何学历作为无效等别取这四种作为四个有效等价类,把四种学历之外的任何学历作为无效等价类。价类。本讲稿第十七页,共七十页等价类的划分原则等价类的划分原则(续)(续)(3)按照数值集合划分 在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类(该集合有效值之外)。例:例:程序输入条件为取值为奇数的整数程序输入条件为取值为奇数的整数x x,则有效等价类为,则有效等价类为x x的值为的值为奇数的整数,无效等价类为奇数的整数,无效等价类为x x的值不为奇数的整数。的值不为奇数的整数。例:例:程序输入条件为以字符程序输入条件为以字符 aa开头、长度为
24、开头、长度为8 8的字符串,并且字符串的字符串,并且字符串不包含不包含 a a z z之外的其它字符,则有效等价类为满足了上述所有之外的其它字符,则有效等价类为满足了上述所有条件的字符串,无效等价类为不以条件的字符串,无效等价类为不以 aa开头的字符串、长度不为开头的字符串、长度不为8 8的字的字符串和包含了符串和包含了 a a z z之外其它字符的字符串。之外其它字符的字符串。(5)细分等价类 在确知已划分的等价类中各元素在程序中的处理方式不同的情况下,则应再将该等价类进一步划分为更小的等价类,并建立等价类表。(4)按照限制条件或规则划分 在规定了输入数据必须遵守的规则或限制条件的情况下,可
25、确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。本讲稿第十八页,共七十页3.4.2 等价类划分法的测试用例设计等价类划分法的测试用例设计n n在设计测试用例时,应同时考虑在设计测试用例时,应同时考虑有效等价类和无效等价类有效等价类和无效等价类测试测试用例的设计。用例的设计。n n根据已列出的等价类表可确定测试用例,具体过程如下:根据已列出的等价类表可确定测试用例,具体过程如下:(1 1)首先为等价类表中的每一个等价类分别规定一个唯一的编号。)首先为等价类表中的每一个等价类分别规定一个唯一的编号。(2 2)设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价)设计一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 黑盒 测试 及其 设计 精选 文档
限制150内