软件测试用例设计.ppt_第1页
软件测试用例设计.ppt_第2页
软件测试用例设计.ppt_第3页
软件测试用例设计.ppt_第4页
软件测试用例设计.ppt_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

2019/11/10,author: henry Date: 16Oct, 2007,测试用例设计,安博测试空间技术中心 地址:北京市海淀区学院路40号大唐电信测试空间楼 联系电话62303260 62303230,2,课程介绍,目标 掌握测试用例设计的实践、方法和要点 听众 测试管理人员、测试工程师 应用开发人员、QA人员 必备条件 熟悉测试过程 有过实际的测试经验,3,课程内容,如何设计好测试用例 设计测试用例的思路 黑盒测试用例的设计 白盒测试用例的设计 自动化测试用例的设计,4,测试用例设计,下面我们学习 如何设计好测试用例 测试用例与软件质量 怎样衡量一个好的测试用例 测试用例的类型 剖析测试用例 提高设计测试用例的效率 常出现的错误,2019/11/10,5,测试用例与软件质量,测试用例是为了发现软件缺陷,或至少可能发现缺陷而设计; 通过好的用例来提高质量,从而降低维护成本; 不好的用例将给质量带来一定的风险; 好的用例是度量质量的一个标准。 经常用“测试用例数/千行代码“来评价项目。,2019/11/10,6,怎样衡量一个好的测试用例,有效性 是否能发现软件缺陷,至少可能发现软件缺陷; 开销 测试事例的执行、分析和调试是否经济; 可仿效性 测试用例可以测试多项内容,因而减 少了测试事例的数量; 可维护性 每次软件修改后对测试事例的维护成本; 可执行性 是否依赖于测试用例设计者;,2019/11/10,7,测试用例的类型,按表现形式分: 向导型 一步一步的指示说明表 脚本型 执行测试或回放记录的脚本 按设计目标分: 单元测试用例 -发现编码的缺陷 系统测试用例 -发现功能说明的缺陷 集成 测试用例-发现设计的缺陷 验收测试用例 -发现需求的缺陷,2019/11/10,8,剖析测试用例,对任何一个测试用例而言都顺序执行这5个测试开发活动,标识,设计,建立,分析,执行,标识测试条件(确定测试什么)和测试的优先级,设计测试用例(确定怎样测试),建立测试(确定测试脚本、数据等),执行测试用例,将测试用例的输出结果与期望结果进行比较,2019/11/10,9,提高设计测试用例的效率,使用模板 防止空白页 建立标准 帮助测试者发现信息 打印好的测试例子 使用测试管理软件 容易增加、移动、删除用例与步骤 可以借鉴很多模板 制作大纲 可以对步骤、用例进行拷贝 能自动编号,复制技术 使用“另存为”命令 使用“替换”命令 使用存储文本、宏,2019/11/10,10,常出现的错误,用例太长 不完善,不正确、不连贯 遗漏步骤 对字段的命名有所改变或使其根本不存在 对系统的操作不清楚 不能确定用例是否通过 参数化错误,11,测试用例设计,下面我们学习 设计测试用例的思路 由简而繁 参数化 案例,2019/11/10,12,由简而繁,“繁”,这里是指详细的意思;,是一个过程,是一个逐步细化的过程,是一个从简单的测试描述(测试功能点、测试需求等)逐步细化到能够去依照执行的测试用例的过程,由简而繁,2019/11/10,13,为什么要由简而繁?,如果没有测试用例或者仅有简单的测试功能描述,测试过程难以控制,测试结果将毫无可靠性可言;,简单的测试用例可靠性低,重用性差,可能导致不同人员理解不同;,详细的测试用例可靠性高,而且便于估计执行所需时间,易于控制。,2019/11/10,14,到何种程度?,时间要求 测试时间是否充足? 执行者 测试执行者对系统的了解程度? 建议程度 将测试用例交给其他人执行时不需要过多的解释。,2019/11/10,15,样例 登录,需求: 用户名长度为6至10位(含6位和10位) 用户名由字符(a-z、A-Z)和数字(0-9)组成 用户名不能为空,不能有空格和特殊字符 密码规则同用户名规则,2019/11/10,16,简单理解需求,能够正确处理用户登录,2019/11/10,17,一般用例的设计,输入正确的用户名和口令可以进入系统 输入错误用户名或口令错误无法进入系统,2019/11/10,18,详细用例的设计,2019/11/10,19,什么是参数化,是一个将测试数据与测试逻辑(步骤)分开,简化测试用例的过程; 方式是将用例中的一些输入、输出等作为参数,数据则单独列出,在执行时选择相应的数据执行。,2019/11/10,20,为什么要参数化?,没有将测试数据和测试逻辑分开的测试用例可能显得非常庞大,不利于测试员理解,导致难以控制和执行;,通过将用例参数化,可以简化用例,使测试用例逻辑清晰,数据与逻辑的关系明了,易于理解;,有利于提高测试用例的复用性;,2019/11/10,21,哪些内容需要参数化?,测试用例中需要通过使用不同数据来重复执行测试的部分; 包括: 输入(数据或操作等) 输出(结果数据或预期结果等),2019/11/10,22,样例 登录的测试步骤,2019/11/10,23,样例 登录的测试数据,24,测试用例设计,下面我们学习 黑盒测试用例的设计 等价类划分法 边界值分析法 错误推测法 因果图法 。,2019/11/10,25,等价类划分,定义: 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例; 基本思想是设想用一组有限的数据去代表近似无限的数据;,2019/11/10,26,等价类划分,有效等价类 是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。(正确的) 无效等价类 无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。(错误的) 设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要经受意外的考验,这样的测试才能确保软件具有更高的可靠性。,2019/11/10,27,划分等价类的方法,在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。如:输入值是学生成绩,范围是0100;,2019/11/10,28,划分等价类的方法,在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类; 在规定了输入数据的一组值(假定N个),并且程序要对每一个输入值分别处理的情况下,可确立N个有效等价类和一个无效等价类; 。,2019/11/10,29,设计测试用例,在确立了等价类后,可建立等价类表,列出所有划分出的等价类输入条件,然后从划分出的等价类中按以下三个原则设计测试用例: 为每一个等价类规定一个唯一的编号; 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止; 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止;,2019/11/10,30,例子档案管理系统,有一个档案管理系统,要求用户输入以年月表示的日期。 假设日期限定在1990年1月2049年12月 并规定日期由6位数字字符组成,前4位表示年,后2位表示月。 现用等价类划分法设计测试用例,来测试程序的“日期检查功能”。,2019/11/10,31,例子档案管理系统,划分等价类并编号,下表为等价类划分的结果:,2019/11/10,32,例子档案管理系统,设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为1、2、3,设计的测试用例如下:,2019/11/10,33,例子档案管理系统,为每一个无效等价类设计一个测试用例,设计结果如下:,2019/11/10,34,边界值分析,定义: 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。 通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。,2019/11/10,35,边界值分析方法的考虑,长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。 使用边界值分析方法设计测试用例,应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。,2019/11/10,36,常见的边界值,对16-bit 的整数而言 32767 和 -32768 是边界; 屏幕上光标在最左上、最右下位置; 报表的第一行和最后一行; 数组元素的第一个和最后一个; 循环的第 0 次、第 1 次和倒数第 2 次、最后一次; 。,2019/11/10,37,边界检验的几种类型,边界检验的几种类型: 数字、字符、位置、重量、大小、速度、方位、尺寸、空间等。,2019/11/10,38,数值的边界值检验,2019/11/10,39,字符的边界值检验,2019/11/10,40,例子档案管理系统(同前),有一个档案管理系统,要求用户输入以年月表示的日期。 假设日期限定在1990年1月2049年12月 并规定日期由6位数字字符组成,前4位表示年,后2位表示月。 现用等价类划分法设计测试用例,来测试程序的“日期检查功能”。,2019/11/10,41,例子档案管理系统,边界值分析后的用例:,2019/11/10,42,错误推测法,定义: 基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法 。 方法: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。,2019/11/10,43,例子,例如: 输入数据和输出数据为0的情况; 输入表格为空格或输入表格只有一行。 如前面的例子可补充的用例有: 输入空格 输入中有字符 输入“999999”或“000000” 输入“-202-2” 。,2019/11/10,44,因果图法,定义: 因果图法就是一种利用图解法分析输入的各种组合情况,生成判定表,从而设计测试用例的方法。 优点: 适合于检查程序输入条件的各种情况的组合。 可以为逻辑条件和相应动作之间的关系提供简洁的表示方法。,45,测试用例设计,下面我们学习 白盒测试用例的设计 为什么要进行白盒测试 白盒测试用例设计方法 逻辑覆盖法 基本路径覆盖法 。,2019/11/10,46,为什么要进行白盒测试,假如有一个程序流程如图所示:,2019/11/10,47,为什么要进行白盒测试,如果测试组不知道代码中有一个潜在的被0 除的错误。 测试组按照如下由蓝色和绿色标记的路径进行测试; 显然测试工作似乎非常完善,测试用例覆盖了所有执行语句,没有被0 除的错误发生。,2019/11/10,48,为什么要进行白盒测试,但是,当客户在接到该产品并使用的过程中,执行了如下红色标记所示的路径时,错误发生了。,2019/11/10,49,为什么要进行白盒测试,从本例可以看到,如果不对程序内部的逻辑结构做分析,则设计的测试用例可能无法发现内部潜在的错误。,2019/11/10,50,白盒测试用例设计方法,逻辑覆盖法 基本路径覆盖法 其它方法 等价类划分 边界值分析。,2019/11/10,51,逻辑覆盖法,逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计技术,这一方法要求测试人员对程序的逻辑结构有清楚的了解。 逻辑覆盖可分为: 语句覆盖 判定覆盖 条件覆盖 判定-条件覆盖 条件组合覆盖,2019/11/10,52,逻辑覆盖各种方法定义,语句覆盖 就是设计若干个测试用例,运行所测程序,使得每一可执行语句至少执行一次。 判定覆盖 就是设计若干个测试用例,运行所测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。 条件覆盖 就是设计若干个测试用例,运行所测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。,2019/11/10,53,逻辑覆盖各种方法定义,判定-条件覆盖 就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果也至少执行一次。 条件组合覆盖 就是设计足够的测试用例,运行所测程序,使得每个判断的所有可能的条件取值组合至少执行一次。,2019/11/10,54,基本路径法,定义: 基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。 基本路径法也叫独立路径法。,2019/11/10,55,流图符号,2019/11/10,56,流程图转为流图,2019/11/10,57,基本路径,经过分析后,基本路径集合为: 路径1:1-11 路径2:1-2-3-4-5-10-1-11 路径3:1-2-3-6-8-9-10-11 路径4:1-2-3-6-7-9-10-1-11 为了覆盖所有程序语句,必须设计至少4 个测试用例使程序运行于这4 条路径。,2019/11/10,58,其它白盒测试用例设计方法,等价类划分 边界值分析 。,59,测试用例设计,下面我们学习 自动化测试用例的设计 自动化测试时用例的选择 数据的参数化,2019/11/10,60,自动化测试时用例的选择,并不是所有的用例都会进行自动化测试; 选择用例来进行自动化测试时,需要考虑的因素有: 项目类型 操作类型 测试工具 易实现性 可维护性 流程稳定性 。,2019/11/10,61,测试脚本的参数化,

温馨提示

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

评论

0/150

提交评论