您好,欢迎访问三七文档
功能测试方法简介IT总部2011年2月第2页功能测试方法概述主要功能测试方法介绍各种测试方法综合策略一二三功能测试的思考用户要求----------------------------用户:我要什么?理解正确性表达正确性需求说明书------------------------------------分析员:我可以提供什么?1理解正确性设计正确性表达正确性设计说明书-----------------------------------------设计员:我要让软件做什么?2理解正确性编码正确性源程序--------------------------------------------------程序员:我要让计算机怎么做?运行结果--------------------------------------------计算机:程序运行得到的结果运行正确性输入正确性345相符吗?功能测试的基本方法功能测试的基本方法是构造一些合理输入(在需求范围之内),检查输出是否与期望的相同。如果两者不一致,即表明功能有误。也有例外的情况,如《需求规格说明书》中的某个功能写错了,而实际上软件的功能却是正确的,这时要更改的是《需求规格说明书》。功能测试看起来比较简单,只要看得懂《需求规格说明书》,谁都会做。难点在于如何构造有效的输入。由于输入空间通常是无限的,穷举测试显然行不通。那么随便输入一些东西,碰运气行不行?功能测试有两种比较好的测试方法:等价划分法和边界值分析法。第4页等价划分法等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。第5页(1)划分等价类等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其他值的测试。等价类的划分有两种不同的情况:①有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。②无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。第6页(1)划分等价类-----划分等价类的原则划分等价类有如下五个原则:1)如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。2)如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,这时可确立一个有效等价类和一个无效等价类。3)如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类。第7页(1)划分等价类-----划分等价类的原则4)如果规定了输入数据的一组值,而且程序要对每个输入值分别进行处理。这时可为每一个输入值确立一个有效等价类,此外针对这组值确立一个无效等价类,它是所有不允许的输入值的集合。5)如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。第8页(2)确立测试用例确立了等价类之后,建立等价类表,列出所有划分出的等价类。再从划分出的等价类中按以下原则选择测试用例:1)为每一个等价类规定一个唯一编号;2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。边界值分析法边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计`测试用例,可以查出更多的错误。这里所说的边界是指,相当于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况。边界值分析法数据类型:数值、字符、位置、数量、速度、地址、尺寸等,都会包含确定的边界。应考虑的特征:第一个/最后一个、开始/完成、空/满、最慢/最快、相邻/最远、最小值/最大值、超过/在内、最短/最长、最早/最迟、最高/最低。这些都是可能出现的边界条件。根据边界来选择等价分配中包含的数据。然而,仅仅测试边界线上的数据点往往不够充分。提出边界条件时,一定要测试临近边界的合法数据,即测试最后一个可能合法的数据,以及刚超过边界的非法数据。第11页错误推断法人们也可以靠经验和直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的例子。这就是错误推测法。错误推测法的基本想法是:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。例如:输入数据和输出数据为0的情况、输入表格为空格或输入表格只有一行等这些都是容易发生错误的情况,可选择这些情况下的例子作为测试用例。第12页“探索或开放”型的测试:不是按部就班的按照一个又一个正式的测试用例来进行,也不局限于测试用例特定的步骤。这种测试是测试人员在理解该软件功能的基础上运用灵活多样的想象力和创造力去模拟用户的需求来使用该软件的多种功能。通常涉及很多的测试用例或者通过更复杂的步骤来使用该软件。第13页因果图法因果图的适用范围:如果在测试时必须考虑输入条件的各种组合,可使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例,这就需要利用因果图。因果图法-----生成测试用例的基本步骤用因果图生成测试用例的基本步骤如下:1)分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。2)分析软件规格说明描述的语义,找出原因与结果之间,原因与原因之间对应的关系?根据这些关系,画出因果图。3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。4)把因果图转换成判定表。5)把判定表的每一列拿出来作为依据,设计测试用例。因果图法-----基本符号说明在因果图中出现的基本符号:通常在因果图中用Ci表示原因,用Ei表示结果,各结点表示状态,可取值“0”或“1”。“0”表示某状态不出现,“1”表示某状态出现。主要原因和结果之间的关系有:1)恒等2)非3)或4)与E1E1C1E1E1C1C2因果图法-----基本符号说明表示约束条件的符号为了表示原因与原因之间,结果与结果之间可能存在的约束条件,在因果图中可以附加一些表示约束条件的符号。因果图法-----实例分析例如,有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。因果图法-----实例分析1)分析这一段说明,列出原因和结果:原因:1.售货机有零钱找2.投入1元硬币3.投入5角硬币4.压下橙汁按钮5.压下啤酒按钮建立中间结点,表示处理中间状态11.投入1元硬币且押下饮料按钮12.压下〖橙汁〗或〖啤酒〗的按钮13.应当找5角零钱并且售货机有零钱找14.钱已付清因果图法-----实例分析结果:21.售货机〖零钱找完〗灯亮22.退还1元硬币23.退还5角硬币24.送出橙汁饮料25.送出啤酒饮料2)画出因果图。所有原因结点列在左边,所有结果结点列在右边。3)由于2与3,4与5不能同时发生,分别加上约束条件E。4)因果图5)转换成判定表因果图法-----实例分析因果图法-----实例分析使用各种测试方法的综合策略在任何情况下都必须使用边界值分析法。用这种方法设计出测试用例发现程序错误的能力最强。必要时用等价类划分法补充一些测试用例。用错误推测法再追加一些测试用例。对照程序逻辑,检查已有测试用例的逻辑覆盖程度。如果未达到要求的覆盖标准,应再补充足够的测试用例。如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法。常用功能测试方法1.页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。2.相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。3.检查按钮的功能是否正确:如update,cancel,delete,save等功能是否正确。4.字符串长度检查:输入超出需求所说明的字符串长度的内容,看系统是否检查字符串长度,会不会出错。5.字符类型检查:在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错。6.标点符号检查:输入内容包括各种标点符号,特别是空格,各种引号,回车键.看系统处理是否正确。7.中文字符处理:在可以输入中文的系统输入中文,看会否出现乱码或出错.8.检查带出信息的完整性:在查看信息和update信息时,查看所填写的信息是不是全部带出,带出信息和添加的是否一致。。9.信息重复:在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理。10.检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按”delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理。常用功能测试方法11.检查添加和修改是否一致:检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型。12.检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错。同时,也要注意,会不会报和自己重名的错。13.重复提交表单:一条已经成功提交的纪录,back后再提交,看看系统是否做了处理。14.检查多次使用back键的情况:在有back的地方,back,回到原来页面,再back,重复多次,看会否出错。15.search检查:在有search功能的地方输入系统存在和不存在的内容,看search结果是否正确.如果可以输入多个search条件,可以同时添加合理和不合理的条件,看系统处理是否正确。16.输入信息位置:注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方。17.上传下载文件检查:上传下载文件的功能是否实现,上传文件是否能打开。对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能够做到。18.必填项检查:应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前加*。19.快捷键检查:是否支持常用快捷键,如Ctrl+CCtrl+VBackspace等,对一些不允许输入信息的字段,如选人,选日期对快捷方式是否也做了限制。20.回车键检查:在输入结束后直接按回车键,看系统处理如何,会否报错。第26页
本文标题:功能测试方法简介
链接地址:https://www.777doc.com/doc-3142942 .html