等价类划分法课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《等价类划分法课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 等价 划分 课件
- 资源描述:
-
1、黑盒测试及其用例的设计黑盒测试及其用例的设计内容大纲内容大纲l测试用例设计概述l黑盒测试法的概念l三角形问题与NextDate函数l等价类划分法l边界值分析法l因果图法l决策表法l错误推测法l场景法l测试方法的选择教学目标教学目标理论环节理论环节l学习理解黑盒测试方法的基本概念l学习理解黑盒测试的两个典型问题l学习掌握黑盒测试的等价类划分法l学习掌握黑盒测试的边界值分析法l学习掌握黑盒测试的因果图测试法和决策表法实践环节实践环节l通过案例运用学习掌握运用方法解决实际问题的能力l运用等价类划分法与边界值分析法进行实际程序测试l运用因果图测试法与决策表法进行实际程序测试测试用例设计概述测试用例设计
2、概述l测试用例的定义和特征l测试用例的基本准则l设计测试用例的着眼点l测试用例设计书写标准测试用例的定义和特征测试用例的定义和特征l测试用例的定义:(1)测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果。(2)测试用例是执行的最小实体。l测试用例的特征:(1)最有可能抓住错误的;(2)不是重复的、多余的;(3)一组相似测试用例中最有效的;(4)既不是太简单,也不是太复杂。设计测试用例的基本准则设计测试用例的基本准则l测试用例的代表性 能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的输入数据、操作和环境设置等。l测试结果的可判定性 即测试执行结果的正确
3、性是可判定的,每一个测试用例都应有相应的期望结果。l测试结果的可再现性 即对同样的测试用例,系统的执行结果应当是相同的。设计测试用例的着眼点设计测试用例的着眼点l根据产品规格,测试基本功能;l考虑设计一般用户(非专业人员)的使用方案;l考虑设计稀有或特殊的使用方案;l与系统其他组成部分的配合(如FAX和上网可能要用到MODEM,测试中考虑对设备的共享);l考虑特殊情况(如内存和硬件的冲突等);l设计极端情况(如内存泄漏、破坏性测试等);l好的测试用例集能花费最小的代价(人力、物力、财力、时间)做最好的测试。测试用例设计书写标准测试用例设计书写标准 在ANSI/IEEE829-1983标准中列出
4、了和测试设计相关的测试用例编写规范和模板。标准模板中主要元素如下:l标识符惟一标识每一个测试用例l测试项准确的描述所需要测试的项及其特征l测试环境要求表征执行该测试用例需要的测试环境l输入标准执行测试用例的输入需求(这些输入可能包括数据、文件或者操作)l输出标准按照指定的环境和输入标准得到的期望输出结果l测试用例之间的关联标识该测试用例与其它的测试(或其它测试用例)之间的依赖关系黑盒测试法的概念黑盒测试法的概念l黑盒测试被称为功能测试或数据驱动测试。在测试时,把被测程序视为一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下进行。l采用黑盒测试的目的主要是在已知软件产品所应具有的功
5、能的基础上,进行:(1)检查程序功能能否按需求规格说明书的规定正常使用,测试各个功能是否有遗漏,检测性能等特性要求是否满足。(2)检测人机交互是否错误,检测数据结构或外部数据库访问是否错误,程序是否能适当地接收输入数据而产生正确的输出结果,并保持外部信息(如数据库或文件)的完整性。(3)检测程序初始化和终止方面的错误。三角形问题与三角形问题与NextDateNextDate函数函数 1 1、三角形问题、三角形问题 输入三个整数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及构不成三角形。现在要求输入三
6、个整数a、b、c,必须满足以下条件:条件1 1a100 条件4 ab+c 条件2 1b100 条件5 ba+c 条件3 1c100 条件6 ca+b 三角形问题与三角形问题与NextDateNextDate函数函数(续)(续)l如果输入值a、b、c不满足条件1、条件2和条件3,程序给出“边的取值超出允许范围”的信息。l如果输入值a、b、c 满足条件1、条件2和条件3,则输出下列四种情况之一:(1)如果不满足条件4、条件5和条件6中的一个,则程序输出为“非三角形”。(2)如果三条边相等,则程序输出为“等边三角形”。(3)如果恰好有两条边相等,则程序输出为“等腰三角形”。(4)如果三条边都不相等,
7、则程序输出为“一般三角形”。l结论结论:三角形问题的复杂之处在于输入与输出之间的关系比较复杂。三角形问题与三角形问题与NextDateNextDate函数函数(续)(续)2 2、NextDateNextDate函数函数-NextDate函数说明另一种复杂的关系,即输入变量之间逻辑关系的复杂性。-NextDate函数包含三个变量month、day和year,函数的输出为输入日期后一天的日期。要求输入变量month、day和year均为整数值,并且满足下列条件:条件1 1 month 12 条件2 1 day 31 条件3 1912 year 2050l结论结论:在NextDate函数中有两种复杂
8、性的输入来源,一是输入域的复杂性,二是确定闰年的规则并要增加“额外天”。等价类划分法等价类划分法l等价类的划分原则l等价类划分法的测试用例设计l常见等价类划分测试形式l使用等价类划分法测试的实例等价类划分法等价类划分法l等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。l举例:设计这样的测试用例,来实现一个对所有实数进行开平方运算(y=sqrt(x))的程序的测试。l思考方向:由于开平方运算只对非负实数有效,这时需要将所有的实数(输入域x)进行划分,可以分成:正实数、0 和 负实数。假设我们选定+1.4444代表正实
9、数,-2.345代表负实数,则该程序的测试用例为+1.4444、0 和-2.345。等价类划分法等价类划分法l等价类划分 等价类划分是黑盒测试技术,可将测试用例数量降到最少。等价类划分是将可能的输入划分成若干等价的类,每一个类选择一个测试用例,这种方法假设对于一个类的所有成员来说,系统通常按照类似的方式运行。关键步骤:确定等价类和选择测试输入 基本原则:n每个可能的输入属于某一个等价类n任何输入都不会属于多个等价类n用等价类的某个成员作为输入时,如果证明执行存在误差,那么用该类的任何其他成员作为输入,也能检查到同样的误差。等价类的划分原则等价类的划分原则l采用等价类划分法设计测试用例通常分两步
10、进行:(1 1)确定等价类,列出等价类表。确定等价类,列出等价类表。(2 2)确定测试用例。)确定测试用例。等价类的划分等价类的划分l划分等价类可分为两种情况:(1)有效等价类 -是指对软件规格说明而言,是有意义的、合理的输入数据所组成的集合。利用有效等价类,能够检验程序是否实现了规格说明中预先规定的功能和性能。(2)无效等价类 -是指对软件规格说明而言,是无意义的、不合理的输入数据所构成的集合。利用无效等价类,可以鉴别程序异常处理的情况,检查被测对象的功能和性能的实现是否有不符合规格说明要求的地方。等价类的划分原则等价类的划分原则(续)(续)l进行等价类划分的依据:(1)按照区间划分 在输入
11、条件规定了取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。(2)按照数值划分 在规定了一组输入数据(假设包括 n个 输入值),并且程序要对每一个输入值分别进行处理的情况下,可确定 n 个有效等价类(每个值确定一个有效等价类)和一个无效等价类(所有不允许的输入值的集合)。等价类的划分等价类的划分(3)按照数值集合划分 在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类(该集合有效值之外)。(5)细分等价类 在确知已划分的等价类中各元素在程序中的处理方式不同的情况下,则应再将该等价类进一步划分为更小的等价类,并建立等价类表。(4)按
12、照限制条件或规则划分 在规定了输入数据必须遵守的规则或限制条件的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。等价类划分法的测试用例设计等价类划分法的测试用例设计l在设计测试用例时,应同时考虑有效等价类和无效等价类测试用例的设计。l根据已列出的等价类表可确定测试用例,具体过程如下:(1)首先为等价类表中的每一个等价类分别规定一个唯一的编号。(2)设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。重复这个步骤,直到所有的有效等价类均被测试用例所覆盖。(3)设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。重复这一步骤,直到所有的无效等价类均被
13、测试用例所覆盖。常见等价类划分测试形式常见等价类划分测试形式l针对是否对无效数据进行测试,可以将等价类测试分为标准等价类测试和健壮等价类测试。-标准等价类测试:不考虑无效数据值,测试用例使用 每个等价类中的一个值。-健壮等价类测试:主要的出发点是考虑了无效等价类。对有效输入,测试用例从每个有效等价类中取一个值;对无效输入,一个测试用例有一个无效值,其他值均取有效值。n 健壮等价类测试存在两个问题:(1)需要花费精力定义无效测试用例的期望输出 (2)对强类型的语言没有必要考虑无效的输入使用等价类划分法测试的实例使用等价类划分法测试的实例l实例实例1 1 三角形问题三角形问题分析:分析:在多数情况
14、下,是从输入域划分等价类的,但并非不能从被测程序的输出域反过来定义等价类,事实上,这对于三角形问题却是最简单的划分方法。在三角形问题中,有四种可能的输出:等边三角形、等腰三角形、一般三角形和非三角形。利用这些信息能够确定下列输出(值域)等价类。R1=:边为a,b,c的等边三角形 R2=:边为a,b,c的等腰三角形 R3=:边为a,b,c的一般三角形 R4=:边为a,b,c不能组成三角形 标准等价类测试用例标准等价类测试用例健壮等价类测试用例健壮等价类测试用例三角形问题三角形问题测试用例abc预期输出Test1101010等边三角形Test210105等腰三角形Test3345一般三角形Test
15、4412非三角形三角形问题的4个标准等价类测试用例三角形问题三角形问题测试用例abc预期输出Test1567一般三角形Test2-155a值超出输入值定义域Test35-15b值超出输入值定义域Test455-1c值超出输入值定义域Test510155a值超出输入值定义域Test651015b值超出输入值定义域Test755101c值超出输入值定义域三角形问题的7个健壮等价类测试用例使用等价类划分法测试的实例使用等价类划分法测试的实例l实例实例2 2 保险公司计算保费费率的程序保险公司计算保费费率的程序 某保险公司的人寿保险的保费计算方式为:投保额保险费率 其中,保险费率依点数不同而有别,10
16、点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由 投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下:年龄 性别婚姻抚养人数 2039 4059 其它 M F 已婚 未婚 1人扣0.5点 最多扣3点(四舍五入取整)6点 4点 2点 5点 3点 3点 5点计算保费费率的程序计算保费费率的程序(1)分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类)。-年龄:一位或两位非零整数,值的有效范围为199-性别:一位英文字符,只能取值M或F-婚姻:字符,只能取值已婚或未婚-抚养人数:空白或一位非零整数(19)-点数:一位或两位非零
17、整数,值的范围为199(2)根据(1)中的等价类表,设计能覆盖所有等价类的 测试用例。等价类表等价类表测试用例测试用例输入条件输入条件有效等价类有效等价类编号编号无效等价类无效等价类编号编号年龄年龄20392039岁岁1 140594059岁岁2 2119119岁岁60996099岁岁3 3小于小于1 11212大于大于99991313性别性别单个英文字符单个英文字符4 4非英文字符非英文字符1414非单个英文字符非单个英文字符1515MM5 5除除MM和和FF之外的之外的其它单个字符其它单个字符1616FF6 6婚姻婚姻已婚已婚7 7除除已婚已婚和和未婚未婚之外的其它字符之外的其它字符171
18、7未婚未婚8 8抚养人数抚养人数空白空白9 9除空白和数字之外除空白和数字之外的其它字符的其它字符18181616人人1010小于小于1 119196969人人1111大于大于9 92020测试用例测试用例编号编号输入数据输入数据预期输出预期输出年龄年龄性别性别婚姻婚姻抚养人数抚养人数保险费率保险费率1 12727F F未婚未婚空白空白0.6%0.6%2 25050M M已婚已婚2 20.6%0.6%3 37070F F已婚已婚7 70.1%0.1%4 40 0M M未婚未婚空白空白无法推算无法推算5 5100100F F已婚已婚3 3无法推算无法推算6 69999男男已婚已婚4 4无法推算无
19、法推算7 71 1ChildChild未婚未婚空白空白无法推算无法推算8 84545N N已婚已婚5 5无法推算无法推算9 93838F F离婚离婚1 1无法推算无法推算10106262M M已婚已婚没有没有无法推算无法推算11111818F F未婚未婚0 0无法推算无法推算12124040M M未婚未婚1010无法推算无法推算习题习题l有一个员工管理系统,现对其录入模块进行测试。其中,人员信息包括:有一个员工管理系统,现对其录入模块进行测试。其中,人员信息包括:1 1、编号:必须有,系统自动编号;、编号:必须有,系统自动编号;2 2、姓名:必须有,要求为不超过、姓名:必须有,要求为不超过5
20、5个汉字;个汉字;3 3、身份证:必须有,长度为、身份证:必须有,长度为1818位的数字,或前位的数字,或前1717位数字末尾为数字或大写字母位数字末尾为数字或大写字母X X;4 4、邮箱:要么为空白,要么输入必须包含、邮箱:要么为空白,要么输入必须包含 和和.,.,且且 和和.的前后均有内容的前后均有内容 .5 5、住址:可以空白、住址:可以空白注意:注意:如果录入正确,则提示录入成功,录入错误,则提示数据不对。如果录入正确,则提示录入成功,录入错误,则提示数据不对。要求:要求:1 1、确认输入域和输出域;、确认输入域和输出域;2 2、划出有效等价类和无效等价类;、划出有效等价类和无效等价类
21、;3 3、给出测试用例的个数。、给出测试用例的个数。输入条件输入条件有效等价类有效等价类编号编号无效等价类无效等价类编号编号姓名姓名1515个汉字个汉字1 1空白空白6 6非汉字字符非汉字字符7 7多于多于5 5个汉字字符个汉字字符8 8身份证身份证1818位数字位数字2 2除第除第1818位外的其他位有非数字位外的其他位有非数字字符字符9 9末位为非大写字母末位为非大写字母X X的其他英的其他英文字符文字符10101717位数字后接一位位数字后接一位X X大写英文字母大写英文字母3 3空白空白1111多于多于1818位数字字符位数字字符1212少于少于1818位数字字符位数字字符1313邮箱
22、邮箱空白空白4 4 前输入异常字段校验前输入异常字段校验1414无无 的格式的格式 1515输入合理的英文及数输入合理的英文及数字字符组成的正确邮字字符组成的正确邮箱格式箱格式5 5 前无内容的格式前无内容的格式 1616 后无内容的格式后无内容的格式 1717 前后均没有内容的格式前后均没有内容的格式 1818没有域名的格式没有域名的格式 1919有多个有多个 的格式的格式 2020 后面直接跟域名后面直接跟域名 2121边界值分析法边界值分析法l边界值分析法概要l边界值分析法测试用例l边界值分析法测试举例边界值分析法概要边界值分析法概要l边界值分析法就是对输入或输出的边界值进行测试的一种黑
23、盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。l为什么使用边界值分析法?-无数的测试实践表明,大量的故障往往发生在输入定义域或输出值域的边界上,而不是在其内部。因此,针对各种边界情况设计测试用例,通常会取得很好的测试效果。l怎样用边界值分析法设计测试用例?-首先确定边界情况。通常输入或输出等价类的边界就是应该着重测试的边界情况。-选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值。举例举例 常见的边界值常见的边界值l对16-bit 的整数而言 32767 和-32768 是边界l屏幕上光标在最左上、最右下位
24、置l报表的第一行和最后一行l数组元素的第一个和最后一个l循环的第 0 次、第 1 次和倒数第 2 次、最后一次边界值分析边界值分析l边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。l例例:测试计算平方根的函数 -输入:实数 -输出:实数 -规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息“平方根非法-输入值小于0”并返回0;库函数Print-Line可以用来输出错误信息。实例分析实例分析l等价类划分:-可以考虑作出如下划分:n输入(i)=0n输出(a)=0 和(
25、b)Error-测试用例有两个:n输入4,输出2。对应于(ii)和(a)。n输入-10,输出0和错误提示。对应于(i)和(b)。l边界值分析:-划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例:n输入 最小负实数n输入 绝对值很小的负数n输入 0n输入 绝对值很小的正数n输入 最大正实数边界值分析边界值分析边界值分析边界值分析l通常情况下,软件测试所包含的边界检验有几种类型:-数字、字符、位置、质量、大小、速度、方位、尺寸、空间等l相应地,以上类型的边界值应该在:-最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最长、空/满等情况下实例分
展开阅读全文