优质测试用例设计_第1页
优质测试用例设计_第2页
优质测试用例设计_第3页
优质测试用例设计_第4页
优质测试用例设计_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件测试基础测试用 例 设 计 策 略安博测试空间技术中心联系电话: 62303260 62303230 1本课概要:什么是测试用例及为什么要做用例优质测试用例应具备的特性测试用例设计方法因果图判定表驱动分析方法错误推测法场景法测试用例数据选取方法等价类划分(设计用例和数据共用)边界值分析 (设计用例和数据共用)测试用例书写标准一些测试用例的例子2测试用例概述 测试用例是测试工作的指导,是软件测试必须遵守的准则。更是软件测试质量稳定的根本保障。测试用例的内容是一系列情景和步骤的描述,并对每个步骤中必须列出依靠输入的数据,预计输出结果。将这一过程整理成测试文档,称为测试用例。测试用例就是将软件测

2、试的行为活动,做一个科学化的组织归纳。是思想活动的集合。3为什么需要测试用例根据测试用例的多少和执行难度,估算测试工作量,便于测试项目的时间和资源管理与跟踪;减少回归测试的复杂程度在软件版本更新后只需修正少量的测试用例便可展开测试工作,降低工作强度、缩短项目周期;根据测试用例的操作步骤和执行结果,可以方便地书写软件测试缺陷报告;可以根据测试用例的执行等级,实施不同级别的测试;总结:软件测试是有组织性、步骤性和计划性的,为了能将软件测试的行为转换为可管理的、具体量化的模式,需要创建和维护测试用例。4优质测试用例应具备的特性.1有效性: 测试用例是测试过程中的重要参考依据。 不同测试人员根据相同的

3、测试用例,得到的输出应该是一致的。 对于准确的测试用例的计划、执行和跟踪是测试有效性的有力证 明。可复用性:良好的测试用例具有重复使用的功能,使得测试过程事半功倍。设计良好的测试用例将大大节约项目执行时间,提高测试效率。易组织性:小项目可能也会有成千上万的测试用例测试用例在使用中被反复的更新、修改或者新增,所以能有效地组织这些测试用例是非常重要的。5优质测试用例应具备的特性.2可评估性: 从测试的项目管理角度来说,测试用例的通过率是检验 代码质量的保证。 软件质量好坏的量化标准:测试用例的通过率和软件BUG 的数量。可管理性: 测试用例也可以作为检验测试人员工作进度、执行工作 量以及跟踪、管理

4、测试人员工作效率的因素 尤其是比较适用于新的测试人员的检验,从而更加合理 的做出测试计划。6测试用例设计思路测试用例的设计是一种思路,可以从如下角度分析:(1)根据被测软件的功能和特性设计测试用例 - 根据被测试功能点设计测试用例 - 根据软件性能指标设计测试用例 - 根据软件的兼容性要求设计测试用例 - 根据软件的国际化用户要求设计国际化测试用例(2)根据软件的组成元素设计测试用例 - 根据模块设计用例 - 设计联机帮助和文档手册的设计用例 - 设计软件的模版等数据文件的测试用例(3)根据软件的开发阶段(里程碑)设计测试用例 - 单元测试设计用例 - 集成测试设计用例 - 系统测试设计用例

5、- 验收测试设计用例7测试用例设计思路(续)(5)根据被测的最小目标,确定测试用例的测试目标(6)根据用户使用环境确定测试环境(7)根据以下因素确定测试用例的步骤 用户使用软件的步骤或者特定场景,确定测试执行步 骤地具体内容 执行者对产品的熟悉程度确定步骤的详细或粗略程度 被测特性的复杂性也决定步骤的详细或粗略程度 测试用例的执行方法(手工测试或自动化测试)确定 步骤地内容表示 自动测试用例要编写和调试测试脚本,手工测试给出 执行步骤 根据设计规格说明书确定期望的测试用例执行结果8测试用例设计方法等价类划分边界值分析因果图判定表驱动分析方法错误推测法场景法9等价类划分.1等价类划分方法把所有可

6、能的输入数据,即程序的输入划分成若干类,然后从每一类中选取少数 有代表性的数据做为测试用例/数据。等价类是某个输入的子集合。在该子集合中,各个输入数据对于揭露程序中的BUG都是等效的。测试某等价类的代表值就等价于对这一类其它值的测试。10等价类划分.2等价类的划分有两种不同的情况: 有效等价类:代表对程序的有效输入。 无效等价类:代表的则是其他任何可能的输入(即不 合理的,无意义的输入值)。使用等价类设计测试用例要经历划分等价类(列出等价类表)和选取测试用例/数据两步。11划分等价类的原则.1(1)如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。例如:在ATM

7、机取款时,只供应100元面值的纸钞,最少取100元,一次最多取2000元. 有效等价类是“100=取款额=2000”无效等价类是“取款额100”无效等价类是“取款额2000”。12划分等价类的原则.2(2) 如果输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类。例如:在提款机主界面,系统只接受查询、取款和取消按钮,并分别进入对应的功能。则可以划分为三个有效等价类:查询、取款、取消 。一个无效等价类:其它按钮。 13划分等价类的原则.3(3) 如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类。例如:安装程序时,询问客户是否接

8、受“软件许可协议”。一个有效等价类是一个无效等价类否14划分等价类的原则.4(4) 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。例如:在注册信息界面,要求登录名必须是“汉字,字母,数字,不能包含特殊符号”n个有效等价类:汉字、字母、数字或者三者组合 。一个无效等价类:特殊符号。15划分等价类的原则.5(5) 在规定了输入数据必须遵守的规则情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。例如,用户名由字符和数字组成,必须以字符开头,不能包括特殊字符或空格,不能为空,长度介于位之间。则可以确

9、立一个有效等价类(符合规则)若干个无效等价类:以数字开头;包括空格;包括特殊字符;为空;小于位16根据等价类划分选取用例/数据根据上述原则,列出所有的有效等价类和无效等价类设计一个新的测试用例,使其尽可能多地覆盖那些尚未被涵盖的有效等价类,重复这一步,直到所列出的所有有效等价类都被覆盖为止设计一个新的测试用例,使其覆盖一个且仅一个尚未被涵盖的无效等价类,重复这一步,直到所列出的所有无效等价类都被覆盖为止。17划分等价类的实例.1在证券柜台系统中规定:“用户密码是由字母开头,后跟字母或数字的任意组合构成。最少字符数为4个,最大字符数为12个。”并且规定:“用户密码不能与用户注册号相同,且不能全为

10、字母。”用等价类划分方法,建立输入等价类表: 输入条件有效等价类无效等价类密码字符数(1)4-12(2)12密码组成(4)字母数字(5)字母、 (6)数字、(7)用户号、 (8)其他字符第一个字符(9)字母(10)数字、 (11)其他字符18划分等价类的实例.2某工厂公开招工,在报名系统年龄输入框中规定报名者年龄应在1967年02月1986年03月之间。即出生年月不在上述范围内,将拒绝接受,并显示“年龄不合格”等出错信息。 19输入数据有效等价类无效等价类出生年月6位数字字符 有非数字字符 少于6个数字符 多于6个数字符对应数值 在196702198603之间198603月份对应数值在112之

11、间等于“0” 12划分等价类的实例.320一个很重要的例子.1根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。“一个程序读入3个整数,把这三个数值看作一个三角形的3条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。” 21一个很重要的例子.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。22一个很重要的例子.3输入条件有效等价类无效等价类 是否三边都大于0

12、(A0) and (B0)and (C0) (1)(A0), (2)(B0), (3)(C0), (4) 是否两边之和大于第三边(A+BC)and(B+CA)and(A+CB) (5)(A+BC), (6)(B+CA), (7)(A+CB), (8) 是否等腰三角形(A=B), (9)(B=C), (10)(C=A), (11)(AB)and (12)(BC)and(CA) 是否等边三角形(A=B)and(B=C)and(C=A) (13)(AB), (14)(BC), (15)(CA), (16)23一个很重要的例子.4序号【A,B,C】覆盖等价类输出1【3,4,5】(1),(5)一般三角形

13、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)24因果图使用前提: 如果

14、在测试时必须考虑输入条件的各种组合,就可使用因果图来设计测试用例。它适合于描述“对于多种条件的组合,会相应产生多个动作”的情况。因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。25因果图生成基本步骤.1生成基本步骤:(1)将软件规格说明(用例)分解成可执行的片断。(2)确定软件规格说明(用例)中的因果关系。(3)分析软件规格说明(用例)的语义内容,并将其转换为连接因果图关系的布尔图。26因果图生成基本步骤.2生成基本步骤:(4) 给图加上注解符号,说明由于语法或者环境的限制而不能联系起来的“因”和“果”。(5) 通过仔细的跟踪图中的状态变化情况,将因果图转换为一个有限项

15、的判定式。(6) 将判定式表中的列转换为测试用例27因果图 - 基本符号.1若a1则b1若a1则b028因果图 - 基本符号.2若a或b或c1则d1 若ab1则c129因果图 - 约束条件.1为了表示原因与原因之间,结果与结果之间可能存在的约束条件,在因果图中可以附加一些表示约束条件的符号。 互拆:表示不同时为1,即a,b中至多只有一个1。30因果图 - 约束条件.2包含:a、b、c中至少有一个应为1a、b、c不能同时为031因果图 - 约束条件.3唯一:表示a、b中必须有一个且仅有一个为132因果图 - 约束条件.4要求:如果a=1,b也必须为1即不可能a=1且b=0.33因果图 - 约束条

16、件.5对于输出条件的约束只有M约束。屏蔽:如果结果a为1,则b强制为034因果图示例.1例如,有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下橙汁或啤酒的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示零钱找完的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示零钱找完的红灯灭,在送出饮料的同时退还5角硬币。”35(1)分析这一段说明,列出原因和结果:1. 售货机有零钱找2. 投入1元硬币 3. 投入5角硬币4. 押下橙汁按钮5. 押下啤酒按钮(2)建立中间结点,表示处理中间状态11

17、. 投入1元硬币且押下饮料按钮12. 押下橙汁或啤酒的按钮13. 应当找5角零钱并且售货机有零钱找14. 钱已付清因果图示例.236(3)结果: 21. 售货机零钱找完灯亮 22. 退还1元硬币 23. 退还5角硬币24. 送出橙汁饮料25. 送出啤酒饮料(4) 画出因果图。所有原因结点列在左边,所有结果结点列在右边。(5) 由于 2 与 3 ,4 与 5 不能同时发生,分别加上约束条件E。(6)转换成因果图判定表。因果图示例.337因果图示例.438因果图示例.539判定表驱动分析方法.1 判定表又称为决策表。当模块中包含复杂的条件组合,并要根据这些条件选择动作时,使用判定表能清晰地表示出复

18、杂的条件组合与各种动作之间的对应关系。40判定表驱动分析方法.2一张判定表的田字型结构:条件桩、条件项、动作项、动作桩规则。决策表的读表方法:顺时针方向。 条件桩 条件项 (条件的组合) 动作桩 动作项41判定表驱动分析方法.3条件桩:列出了问题的所有条件。通常认为列出的条件的次序无关紧要。动作桩:列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。条件项:列出针对它所列条件的取值,在所有可能情况下的真假值。动作项:列出在条件项的各种取值情况下应该采取的动作。42判定表驱动分析方法.4判定表的绘制步骤:判定表中列出多少组条件取值,也就有多少条规则,条件项和动作项就有多少列。确定规则的个数

19、。假如有n个条件,每个条件有两面个取值(0,1),故有2n种规则。列出所有的条件桩和动作桩填入条件项填入动作项。制定判定表简化。合并相似规则或者相同动作。43判定表驱动分析方法.2举例 问题说明:“某货运站收费标准如下:如果收件地点在本省,则快件每公斤5元,慢件每公斤3元;如果收件地点在外省,则在20公斤以内(含20公斤)快件每公斤7元,慢件每公斤5元,而超过20公斤时,快件每公斤9元,慢件每公斤7元。” 44判定表驱动分析方法.5条件取值分析表 条件取值含义收件地址在本省?Y是N否邮件重量20公斤?Y是N否快慢件?Y快件N慢件45判定表驱动分析方法.6判定表12345678条件桩收件地址在本

20、省?YYYYNNNN条件项邮件重量20公斤?YYNNYYNN快慢件?YNYNYNYN动作桩3元/公斤XX动作项5元/公斤XXX7元/公斤XX9元/公斤X46判定表驱动分析方法.7 简化判定表47判定表驱动分析方法.8化简后的判定表 123456条件桩收件地址在本省?YYNNNN条件项邮件重量20公斤?_YYNN快慢件?YNYNYN动作桩3元/公斤X动作项5元/公斤XX7元/公斤XX9元/公斤X48错误推测法.1人们也可以靠经验和直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的例子。这就是错误推测法。错误推测法的基本想法是:列举出程序中所有可能有的错误和容易发生错误的特殊情况,

21、根据它们选择测试用例。49错误推测法.2案例:电话簿复制过程中来电,是否会破坏数据库的完整性?如果两位学生的名字相同,电话簿能否正确查询。忽然断电了,输入了一半的数据是否能找回?正常的压缩文件手动破坏后是否能修复?配置文件手动修改一下是否能被软件正确解析?如果我离开计算机忘了锁定当前软件,别人是否也能用?50错误推测法.3单元测试中发现的模块错误;产品的以前版本曾经发现的错误;输入数据为0或字符为空;当软件要求输入时(比如在文本框中),不是没有输入正确的信息,而是根本没有输入任何内容,单单按了Enter键;这种情况在产品说明书中常常忽视,程序员也可能经常遗忘,但是在实际使用中却时有发生。程序员

22、总会习惯性的认为用户要么输入信息,不管是看起来合法的或非法的信息,要不就会选择Cancel键放弃输入51错误推测法.Sql注入式攻击是指利用设计上的漏洞,在服务器上运行Sql 命令以达到的攻击目的Select * from 用户表 where 姓名=name and 密码=passwordSelect * from 用户表 where 姓名=111 or 1=1 and 密码=aaaa5253用例数据选取-边界值分析.1边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。所谓边界值,是指输入和输出等价类中那些恰好处于边界、或超过边界、或在边界以下的状态。54边界值分析.2边界值分析方法和

23、等价类划分方法不同的两个方面:1.与从等价类中挑选任意一个元素作为代表不同,边界值分析需要选择一个或多个元素,以便等价类的每个边界都经过一次测试。1:依据边界值分析法确定测试用例Id 110个字母地址 010个汉字邮编 6个数字55边界值分析.3如果输入条件规定了一个输入值范围,那么应针对范围的边界值设计测试用例。假如输入值的有效范围是-1.0至+1.0,那么应针对-1.0、1.0、-1.001和1.001的情况设计测试用例,不要忘了0这个数值。56边界值分析.4如果输入条件规定了输入值的数量,那么应针对最小数量输入值、最大数量输入值,以及比最小数量少一个、比最大数量多一个的情况设计测试用例。

24、例如某个输入文件可容纳1-255条记录,那么应根据0,1,255和256条记录的情况设计测试用例。 57次边界条件事实证明有些边界条件是不容易找到的,因为它是计算机内部运算的,针对这样的边界我们称之为次边界条件。例:2的乘方 ASCII表(书上的例子)58测试用例书写标准.1标示符用来说明这个文档的编号、名称或者用途等测试项本测试文档测试的对象文档拥有者、版本编号、创建日期谁写的?版本号?创建日期?修改日期?测试环境要求软件运行的环境(软环境和硬环境)测试动作描述测试一步一步执行的详细步骤描述59测试用例书写标准.2预期值软件的设计要求的数据测试数据为本测试用例执行准备的验证数据测试用例间关联

25、这份测试用例可能会跟谁相关联,组合测试60一个简单的例子快速的风险分析:文件/新建(0001) 对于客户非常重要文件/打开(0002) 对于客户重要 文件/保存(0003) 对于客户非常重要文件/另存为(0004) 对于客户重要 文件/页面设置(0005) 对于客户非常重要文件/打印(0006) 对于客户非常重要文件/退出(0007) 对于客户非常重要菜单布局(0008) 对于客户非常重要快捷键(0009) 对于客户一般 61一个简单的例子.1字段名称描述标示符BZ-Cntesting-TextEditProject-测试项记事本,“文件”菜单栏中“文件”|”退出”命令的功能测试文档拥有者版本

26、编号YLXVer 1.0.0.0 CreateData 2005年12月01日测试环境WindowsXP 中文版测试动作描述打开windows记事本程序,鼠标单击“文件”|”退出”命令62一个简单的例子.2字段名称描述测试用例项(1)打开windows记事本程序,不输入任何字符,鼠标单击“文件”|”退出”命令(2)打开windows记事本程序,输入一些字符,不保存文件,鼠标单击“文件”|”退出”命令(3)打开windows记事本程序,输入一些字符,保存文件,鼠标单击“文件”|”退出”命令(4)打开一个windows记事本文件(扩展名txt),不做任何修改,鼠标单击“文件”|”退出”命令(5)打

27、开一个windows记事本文件(扩展名txt),修改后不做任何保存,鼠标单击“文件”|”退出”命令(6)打开一个windows记事本文件(扩展名txt),修改后保存,鼠标单击“文件”|”退出”命令63一个简单的例子.3字段名称描述预期值(1)正确退出,无任何提示信息(2)提示“某文件内容已经改变,想保存文件吗?”提示框,单击“是”按钮,文件保存后退出(3)正确退出,无任何提示信息(4)正确退出,无任何提示信息(5)提示“某文件内容已经改变,想保存文件吗?”提示框,单击“是”按钮,文件保存退出(6)正确退出,无任何提示信息64一个简单的例子.3字段名称描述测试数据(1)无(2)!#¥%*()哎呀

28、哎呀哎呀1234567890(3) !#¥%*()哎呀哎呀哎呀1234567890 (4)无(5) !#¥%*()哎呀哎呀哎呀1234567890(6) !#¥%*()哎呀哎呀哎呀1234567890测试用例间关联BZ-Cntesting-TextEditProject-快捷键测试用例65测试用户登录对话框的功能测试场景:在各种输入条件下,测试程序的登录对话框功能。用户名和密码的规则如下: 用户名长度为6至10位(含6位和10位) 用户名由字符(a-z、A-Z)和数字(0-9)组成 不能为空、空格和特殊字符 密码规则同用户名规则 66登录对话框的功能(续1)操作步骤预期结果输入正确的用户名和口

29、令(均为6位),点击OK按钮进入系统输入正确的用户名和口令(均为10位) ,点击OK按钮进入系统输入正确的用户名和口令(均为6至8位之间),进入系统用户名为空,提示输入用户名不能进入系统用户名为空格,提示无效用户名不能进入系统用户名小于6位,提示用户名太短不能进入系统67登录对话框的功能(续2)“用户名”“口令”“预期结果”说明“user10”“pass10”进入系统正确的用户名和口令(6位)“user789”“pass789”进入系统正确的用户名和口令(7-9位)“user000010”“pass000010”进入系统正确的用户名和口令(10位)“”“pass”提示输入用户名不能进入系统用户名为空“空格”“pass”提示无效用户名不能进入系统用户名为空格“user”“userpass”提示用户名太短不能进入系统用户名小于6位“user0000011”“userpass”提示用户名太长不能进入系统用户名大于10位68数据驱动测试(Data Dri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论