您好,欢迎访问三七文档
王雯佳软件测试用例本节内容1.了解用例的粒度2.不同类型测试的用例要怎么写?3.什么是测试用例及为什么要做用例4.优质测试用例应具备的特性5.测试用例设计方法因果图判定表驱动分析方法错误推测法场景法6.测试用例数据选取方法等价类划分(设计用例和数据共用)边界值分析(设计用例和数据共用)7.测试用例书写标准8.一些测试用例的例子测试需求的粒度•一个样例-及其简单•需要正确输入QQ号码和口令-简单•检查QQ号的各种情况•检查口令的各种情况-详细1、检查QQ号码•大于允许最大长度•包含特殊字符•全部为数字•为空•空格•错误的QQ号•正确的QQ号-详细(续)2、检查口令•大于允许最大长度•包含特殊字符•全部为数字•各种字符的组合•为空•空格•错误的口令•正确的口令系统功能需求•根据系统架构,从高到低逐级细分•关注具体的系统功能及功能的不同处理情形•粒度以到不同的处理情形为宜•正常与异常处理情形都要考虑•问题:测试需求的粒度跟哪些因素相关?界面需求•界面功能•根据界面划分•考虑控件对各种输入的响应•界面元素•考虑元素各种属性(位置、大小、颜色、显示等)•先整体后局部•局部按界面划分•考虑内容正确性安装需求•缺省安装配置优先•按照安装配置结构划分•考虑所有安装配置•考虑安装过程中的异常行为业务需求•根据业务结构和分类,从上至下逐级细分•关注具体业务•粒度以到不同业务场景为宜•考虑正常与异常业务场景性能/压力需求•先结构后类型•先列举后细分•细述指标和要求安全性需求•先列举后细分•详述各项内容兼容性需求•先硬件后软件•先系统后应用•详述环境组合测试范围•在测试项目中,我们需要进行开发生命周期中哪些阶段测试•单元测试•集成测试•系统测试•验收测试•例如:•在为A公司(某软件开发公司)提供的一个测试服务项目中,测试的范围包括集成测试和系统测试。•在为B公司(某行业用户企业)提供的一个测试服务项目中,测试的范围只包括验收测试。项目的测试目标•系统的哪些特性需要被测试以保证这些特性的质量。•系统特性包括:功能、性能、易用性、安全性、兼容性……•测试目标要根据系统的特点进行分解细化,分解到一个可测试的粒度,即单项具体的特性。•未经分解细化,笼统的、整体或者概括性的特性不利于测试工作的开展。测试需求注意事项•作为测试项目的基础,测试需求有5个需要依据的准则:•完整性•无歧义性•一致性•可跟踪性•可测试性18测试用例概述•测试用例是测试工作的指导,是软件测试必须遵守的准则。更是软件测试质量稳定的根本保障。–测试用例的内容是一系列情景和步骤的描述,并对每个步骤中必须列出依靠输入的数据,预计输出结果。将这一过程整理成测试文档,称为测试用例。–测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。–是思想活动的集合。19为什么需要测试用例根据测试用例的多少和执行难度,估算测试工作量,便于测试项目的时间和资源管理与跟踪;减少回归测试的复杂程度在软件版本更新后只需修正少量的测试用例便可展开测试工作,降低工作强度、缩短项目周期;根据测试用例的操作步骤和执行结果,可以方便地书写软件测试缺陷报告;可以根据测试用例的执行等级,实施不同级别的测试;总结:软件测试是有组织性、步骤性和计划性的,为了能将软件测试的行为转换为可管理的、具体量化的模式,20优质测试用例应具备的特性.1•有效性:•测试用例是测试过程中的重要参考依据。•不同测试人员根据相同的测试用例,得到的输出应该是一致的。•对于准确的测试用例的计划、执行和跟踪是测试有效性的有力证明。•可复用性:•良好的测试用例具有重复使用的功能,使得测试过程事半功倍。•设计良好的测试用例将大大节约项目执行时间,提高测试效率。•易组织性:•小项目可能也会有成千上万的测试用例•测试用例在使用中被反复的更新、修改或者新增,所以能有效地组织这些测试用例是非常重要的。21优质测试用例应具备的特性.2•可评估性:•从测试的项目管理角度来说,测试用例的通过率是检验代码质量的保证。•软件质量好坏的量化标准:测试用例的通过率和软件BUG的数量。•可管理性:•测试用例也可以作为检验测试人员工作进度、执行工作量以及跟踪、管理测试人员工作效率的因素•尤其是比较适用于新的测试人员的检验,从而更加合理的做出测试计划。22测试用例设计思路•测试用例的设计是一种思路,可以从如下角度分析:•(1)根据被测软件的功能和特性设计测试用例•-根据被测试功能点设计测试用例•-根据软件性能指标设计测试用例•-根据软件的兼容性要求设计测试用例•-根据软件的国际化用户要求设计国际化测试用例•(2)根据软件的组成元素设计测试用例•-根据模块设计用例•-设计联机帮助和文档手册的设计用例•-设计软件的模版等数据文件的测试用例•(3)根据软件的开发阶段(里程碑)设计测试用例•-单元测试设计用例•-集成测试设计用例•-系统测试设计用例•-验收测试设计用例23测试用例设计思路(续)•(5)根据被测的最小目标,确定测试用例的测试目标•(6)根据用户使用环境确定测试环境•(7)根据以下因素确定测试用例的步骤•用户使用软件的步骤或者特定场景,确定测试执行步骤地具体内容•执行者对产品的熟悉程度确定步骤的详细或粗略程度•被测特性的复杂性也决定步骤的详细或粗略程度•测试用例的执行方法(手工测试或自动化测试)确定步骤地内容表示•自动测试用例要编写和调试测试脚本,手工测试给出执行步骤•根据设计规格说明书确定期望的测试用例执行结果24测试用例设计方法•等价类划分•边界值分析•因果图•判定表驱动分析方法•错误推测法•场景法25等价类划分.1等价类划分方法把所有可能的输入数据,即程序的输入划分成若干类,然后从每一类中选取少数有代表性的数据做为测试用例/数据。•等价类是某个输入的子集合。•在该子集合中,各个输入数据对于揭露程序中的BUG都是等效的。•测试某等价类的代表值就等价于对这一类其它值的测试。26等价类划分.2•等价类的划分有两种不同的情况:①有效等价类:代表对程序的有效输入。②无效等价类:代表的则是其他任何可能的输入(即不合理的,无意义的输入值)。•使用等价类设计测试用例要经历划分等价类(列出等价类表)和选取测试用例/数据两步。27划分等价类的原则.1•(1)如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。•例如:在ATM机取款时,只供应100元面值的纸钞,最少取100元,一次最多取2000元.•有效等价类是“100=取款额=2000”•无效等价类是“取款额<100”•无效等价类是“取款额>2000”。28划分等价类的原则.2•(2)如果输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类。•例如:在提款机主界面,系统只接受‘查询’、‘取款’和‘取消’按钮,并分别进入对应的功能。则可以划分为•三个有效等价类:‘查询’、‘取款’、‘取消’。•一个无效等价类:其它按钮。29划分等价类的原则.3•(3)如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类。•例如:安装程序时,询问客户是否接受“软件许可协议”。•一个有效等价类‘是’•一个无效等价类‘否’30划分等价类的原则.4•(4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。•例如:在注册信息界面,要求登录名必须是“汉字,字母,数字,不能包含特殊符号”•n个有效等价类:‘汉字’、‘字母’、‘数字’或者三者组合。•一个无效等价类:特殊符号。31划分等价类的原则.5•(5)在规定了输入数据必须遵守的规则情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。•例如,用户名由字符和数字组成,必须以字符开头,不能包括特殊字符或空格,不能为空,长度介于6-12位之间。。。则可以确立一个有效等价类(符合规则)若干个无效等价类:以数字开头;包括空格;包括特殊字符;为空;小于6位32根据等价类划分选取用例/数据1.根据上述原则,列出所有的有效等价类和无效等价类2.设计一个新的测试用例,使其尽可能多地覆盖那些尚未被涵盖的有效等价类,重复这一步,直到所列出的所有有效等价类都被覆盖为止3.设计一个新的测试用例,使其覆盖一个且仅一个尚未被涵盖的无效等价类,重复这一步,直到所列出的所有无效等价类都被覆盖为止。33划分等价类的实例.1•在证券柜台系统中规定:“用户密码是由字母开头,后跟字母或数字的任意组合构成。最少字符数为4个,最大字符数为12个。”•并且规定:“用户密码不能与用户注册号相同,且不能全为字母。”•用等价类划分方法,建立输入等价类表:输入条件有效等价类无效等价类密码字符数(1)4-12(2)4、(3)12密码组成(4)字母数字(5)字母、(6)数字、(7)用户号、(8)其他字符第一个字符(9)字母(10)数字、(11)其他字符34划分等价类的实例.2•某工厂公开招工,在报名系统年龄输入框中规定报名者年龄应在1967年02月—1986年03月之间。即出生年月不在上述范围内,将拒绝接受,并显示“年龄不合格”等出错信息。35输入数据有效等价类无效等价类出生年月①6位数字字符②有非数字字符③少于6个数字符④多于6个数字符对应数值⑤在196702—198603之间⑥196702⑦198603月份对应数值⑧在1—12之间⑨等于“0”⑩12划分等价类的实例.336一个很重要的例子.1•根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。•“一个程序读入3个整数,把这三个数值看作一个三角形的3条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。”37一个很重要的例子.2•我们可以设三角形的3条边分别为A,B,C。如果它们能够构成三角形的3条边,必须满足:•A0,B0,C0•且A+BC,B+CA,A+CB。•如果是等腰的,还要判断A=B,或B=C,或A=C。•如果是等边的,则需判断是否A=B,且B=C,且A=C。38一个很重要的例子.3输入条件有效等价类无效等价类是否三边都大于0(A0)and(B0)and(C0)(1)(A≤0),(2)(B≤0),(3)(C≤0),(4)是否两边之和大于第三边(A+BC)and(B+CA)and(A+CB)(5)(A+B≤C),(6)(B+C≤A),(7)(A+C≤B),(8)是否等腰三角形(A=B),(9)(B=C),(10)(C=A),(11)(A≠B)and(12)(B≠C)and(C≠A)是否等边三角形(A=B)and(B=C)and(C=A)(13)(A≠B),(14)(B≠C),(15)(C≠A),(16)39一个很重要的例子.4序号【A,B,C】覆盖等价类输出1【3,4,5】(1),(5)一般三角形2【0,1,2】(2)不能构成三角形3【1,0,2】(3)4【1,2,0】(4)5【1,2,3】(1),(6)6【1,3,2】(1),(7)7【3,1,2】(1),(8)8【3,3,4】(1),(5),(9)等腰三角形9【3,4,4】(1),(5),(10)10【3,4,3】(1),(5),(11)11【3,4,5】(1),(5),(12)非等腰三角形12【3,3,3】(1),(5),(13)是等边三角形13【3,4,4】(1),(5),(10),(14)非等边三角形14【3,4,3】(1),(5),(11),(15)15【3,3,4】(1),(5),(9),(16)40因果图•使用前提:如果在测试时必须考虑输入条件的各种组合,就可使用因果图来设计测试用例。它适合于描述“对于多种条件的组合,会相应产生多个动作”的情况。•因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。因果图42因果图生成基本步骤.1•生成基本步骤:•(1)将软件规格说明(用例)分解成可执行的片断。•(2)确定软件规格说明(用例)中的因果关系。•(
本文标题:软件测试用例
链接地址:https://www.777doc.com/doc-6122596 .html