测试案例设计

本文由用户“donotletmedown”分享发布 更新时间:2021-03-08 05:32:45 举报文档

以下为《测试案例设计》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

测试案例设计(PDF测试岗位课程) 0 第一部分 测试案例基础概念 第二部分 测试案例设计方法 第三部分 测试案例设计流程 1 什么是软件测试 • 软件测试的定义:软件测试是在规定的条件下对程序进行操作,以发现错误, 对软件质量进行评估 鹭 即软件测试是为了发现错误而执行程序的过程。 鹭 软件测试的目的:不仅是为了发现软件缺陷与错误,是软件质量保证的 关键,是对软件质量进行度量与评估,判断风险,以提高软件质量 2 测试活动 • 所有的测试活动集中在以下四个方面 饀 测试需求分析(RTVM) 饀 测试案例设计(测试案例) 饀 测试案例执行(测试执行跟踪表) 饀 测试结果分析(测试报告) • 测试案例设计和编写直接影响到测试的有效性和效率 • 本课程主要介绍黑盒测试案例设计方法,包括用例场景法、等价类划分法、 边界值分析法、决策表分析法、正交阵列设计法等。其中重点介绍用例场景 法。 • 这些设计方法是测试中比较常用的,但具体采用哪种方法,要针对开发项目 的特点选择适当的方法。 3 为什么需要测试案例 因为我们不可能进行穷举测试,为了节省时间和资源、提高测试效率,必须 要从数量极大的可用测试数据中精挑细选出具有代表性或特殊性的数据来进行测 试。 使用测试案例的好处包括下面四个方面: 1.在开始实施测试之前设计好测试案例,可以避免盲目测试并提高测试效率。 2.测试案例的使用令软件测试的实施重点突出、目的明确。 3.在软件版本更新之后只需要修正部分测试案例便可展开测试工作,降低工作强 度,缩短项目周期。 4.功能模块的通用化和复用化使软件易于开发,而测试案例的通用化和复用化则 使软件测试易于开展,并随着测试案例的不断优化其效率也不断提升。 4 什么是测试案例 • 测试案例:是为特定的目的而设计的一组测试输入、执行条件和 预期结果。测试案例是执行的最小实体。简单地说,测试案例就 是设计一个场景,使软件程序在这种场景下,必须能够正常运行 并且达到程序所设计的执行结果。 5 编写测试案例的思路是什么 测试案例是为特定的目的而设计的 一组测试输入、执行条件和预期结 果。 测试案例是执行的最小实体。 简单地说,测试案例就是设计一个 场景,使软件程序在这种场景下, 必须能够正常运行并且达到程序所 设计的执行结果。 •测试目标 •操作步骤和测试数据 •前提条件 •测试的期望结果 •是测试执行的最小实体 •设计测试场景以满足需求 6 设计测试案例的原则 餷 测试案例的代表性:能够代表并覆盖各种合理的和不合理、合法的和非法的、 边界的和越界的、以及极限的输入数据、操作和环境设置等 餷 测试结果的可判定性:测试案例执行结果的正确性是可判定的,每一个测试 案例都应有相应的期望结果 餷 测试结果的可再现性:同样的测试案例,系统的执行结果应当是相同的 7 测试案例的特点 设计测试案例时要考虑: 餷 简洁性:清晰明了,即不拖沓冗长,也不过于简单难以执行 餷 完整性:编写的案例要对系统(产品)有足够的覆盖 餷 有效性:较少的案例覆盖较多的测试区域,对于发现缺陷最有作用 餷 唯一性:每条测试案例都有唯一的测试目的 餷 可维护性:测试案例便于更和.新维护 8 测试案例的分级管理 为什么要进行测试案例的分级管理: 餷 在项目的生命周期里,在每一个版本上都执行你全部的测试案例是很困难的。 但是你如何知道哪个测试案例必须在每一个版本中执行,什么应该被执行, 同时如果你有时间的话,什么又可以被执行?在快速组织测试案例、安排测 试进度和工作量、制订项目计划时需要完成哪些测试案例等方面,测试案例 的分级管理可以给你很多帮助。 餷 怎样划分测试案例优先级和如何执行测试案例取决于你在你的项目周期的位 置。当你在测试进行的过程中,通过分析和度量,发现风险和缺陷集中出现 的地方时,你可能会调整你的测试案例优先级别。这样会让你的测试目标和 测试重点变得更清晰。 餷 拥有划分了优先级别的测试案例,也为你潜在的,待定的自动化项目给出了 一个好的起点。比如,自动化BVT(版本确认测试,又叫冒烟测试)中的测试 案例,用于持续集成的自动化验收;或者自动化高、中优先级的测试案例, 用于全量的功能自动化测试。 9 测试案例的分级管理 IEEE定义的标准的测试案例优先级如下: 餷 版本确认测试(Build Verification Tests (BVTs):也叫做“冒烟测试”,一组你想 优先运行以确定版本是否可以测试的测试案例。如果你不能访问每一个功能 区域或执行其他测试案例依赖的基本操作,那么在执行这组测试案例之前, 试图做其他任何的测试都是没有意义的,因为他们大多数肯定要失败。 餷 高(Highs):最常执行以保证功能稳定的,目标的行为和能力可以正常的工 作,以及重要的错误和边界被测试的测试案例的集合。 餷 中(Mediums):这是使给出的功能区域或功能变得更详细,检查功能的多数 方面包括边界值,等价类,错误和配置测试的测试案例 餷 低(Lows):这是通常最少被执行的测试案例。但这并不意味着这些测试都 不重要,只是说他们在项目的生命期间里不是常常被运行,例如GUI、错误信 息、可用性、稳定性、易用性、压力测试和性能测试。 10 测试案例的分级管理 ***对测试案例的分级管理: • Level 0:基本的功能性验证(或基本路径(Basic Path))的测试案例,以及 少量重要的错误、边界值或重要的路径分支。适用于做确认测试(BVT),比 例为15-20%; • Level 1:对基本功能或基本路径的扩充,包含错误、边界值、等价类、路径分 支等测试案例。适用于全量覆盖完整的需求功能点,比例为60-70%; • Level 2:非功能性的(例如错误信息、可用性、稳定性、易用性、压力测试和 性能测试)测试案例。适用于辅助完善测试覆盖,比例为10-15%。 11 如何评价测试案例的好坏 • 易用性。对于一个即不熟悉测试工作,又不熟悉被测应用的测试人员,只需 花费很少的时间就可以理解测试案例中表达的测试思路,并可以很快的执行 完成 • 易维护性。当开发过程中的某些因素影响了测试需求,测试案例的作者或其 他测试设计人员,应该可以花费很少的时间就完成定位并维护所有相关测试 案例的工作 12 第一部分 测试案例基础概念 第二部分 测试案例设计方法 第三部分 测试案例设计流程 13 测试阶段 测试阶段划分如下: • 单元测试(Unit Testing) • 集成测试(Integration Testing) • 系统测试(System Testing) • 系统集成测试(System Integration Testing) • 用户验收测试(User Accept Testing) 14 测试方法 测试方法分类如下: • 静态测试(不运行被测程序) 评审、走查、审查、桌面检查 • 动态测试(运行被测程序) 白盒测试、黑盒测试、错误猜测 15 白盒测试介绍 白盒测试(是通过程序的源代码进行测试而不使用用户界面) 16 黑盒测试介绍 黑盒测试(已经实现的功能是否符合要求) 17 测试案例的常用编写方法 • 场景法 • 等价类 • 边界值 • 因果图 • 判定表 • 正交阵列 • 随机测试 18 场景法 • 场景法适用于什么样的项目?业务流程或事件比较复杂的程序,主要用来探索对于比较 有经验的用户是怎么来使用软件的,并查找出更加有说服力的bug。不同的触发顺序和 处理结果形成事务流,通过设计足够多的测试用例来覆盖基本流和各种备选流(如oa请 假系统) • 场景法一般包含基本流和备选流来完成整个场景,下图展示了场景法基本情况的一个实 例图 基本流:采用直黑线表示,是经过用例的最简单路径(开始直接执行到结束) 备选流:采用不同颜色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流;也可 以起源于另一个备选流,或终止用例,不再加入到基本流中(各种错误情况) 19 场景法 场景法的基本设计步骤: 1. 根据说明,描述出程序的基本流及各项备选流 2. 根据基本流和各项备选流生成不同的场景 3. 对每一个场景生成相应的测试案例 4. 对生成的所有的测试案例重新复审,去掉多余的测试案例,测试案例确定后,对每个测 试案例确定测试数据值 举例:用户进入一个网站进行手机充值,需要登录账号,登录成某某后,进行付钱交易,交 易成某某后,完成充值 步骤1,确定基本流和备选流 基本流 备选流1 备选流2 备选流3 备选流4 打开该网站,登录账号,输入需要充值的手机号,付钱交易,充值成某某 登录账号或者密码输入错误 登录账号状态异常 需要充值的手机号码输入非法 账号余额不足 20 场景法 步骤2,根据基本流和备选流来确定场景 场景1-成某某完成充值 场景2-登录账户或者密码输入错误 场景3-登录账户状态异常 场景4-充值手机号输入不正确 场景5-账户余额不足 基本流 基本流 基本流 基本流 基本流 备选流1 备选流2 备选流3 备选流4 21 场景法 步骤3,设计测试案例 案例ID 场景/条件 1 场景1:成某某完成手机 充值 2 场景2:登录账号错误 3 场景2:登录*** 场景3:登录账号状态 异常 5 场景4:充值手机号输 入不正确 6 场景5:账户余额不足 账号 密码 手机 号码 YYY N- - Y N- NY - YYN Y Y Y 账户 余额 Y 预期结果 成某某充值 - 提示账号不存在 - 提示密码输入错误 - 提示账号状态异常 - 提示手机号码输入 不正确 N 提示账户余额不足 22 场景法 步骤4 设计数据,把数据填写入上面的案例表中 案例ID 场景/条件 1 场景1:成某某完成手机 充值 2 场景2:登录账号错误 3 场景2:登录密码错误 账号 密码 手机号 账户 码 余额 Jim 123o *** Y k 0000 Tom - - - Jim 12 - - 4 场景3:登录账号状态 Lily 14q - - 异常 5 场景4:充值手机号输 Jim 123o 123 - 入不正确 k 6 场景5:账户余额不足 Sam 88u *** 0 0000 预期结果 成某某充值 提示账号不存在 提示密码输入错 误 提示账号状态异 常 提示手机号码输 入不正确 提示账户余额不 足 23 测试案例的常用编写方法 • 场景法 • 等价类 • 边界值 • 因果图 • 判定表 • 正交阵列 • 随机测试 24 等价类 • 等价类划分是一种典型的黑盒测试方法,用这一方法设计测试案例完全不考虑程序的内 部结构,只根据对程序的需求和说明,即需求规格说明书。 • 由于穷举测试工作量太大,以致于无法实际完成,促使我们在大量的可能数据中选取其 中的一部分作为测试案例。 • 定义:等价类比法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集), 然后从每一个子集中选取少数具有代表性的数据作为测试案例。 • 划分等价类:等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露 程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它 值的测试。也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子 也能发现同样的错误;反之,如果某一类中的一个例子没有发现错误,则这一类中的其 他例子也不会查出错误。 鹭 有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成 的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性 能。 鹭 无效等价类:与有效等价类的定义恰巧相反。 25 等价类 输入条件 有效等价类 无效等价类 … … … … … … • 划分等价类的标准: 1)完备测试、避免冗余 2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集 3)子集的并是整个集合:完备性 4)子集互不相交:保证一种形式的无冗余性 5)同一类中标识(选择)一个测试案例,同一等价类中,往往处理相同,相同处理映射 到“相同的执行路径” • 设计测试案例 在确立等价类后,可建立等价类表 26 等价类 • 每个等价类中只测试一个值 • 如果由于某种原因需要重复测试,可以选取测试等价类中不同的值来测试 • 根据等价类表,列出所有划分出的等价类输入条件:有效等价类、无效等价 类,然后从划分出的等价类中按以下三个原则设计测试案例: 1)为每一个等价类规定一个唯一的编号; 2)设计一个新的测试案例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复 这一步,直到所有的有效等价类都被覆盖为止; 3)设计一个新的测试案例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一 步,直到所有的无效等价类都被覆盖为止。 27 等价类 例1.输入在0到40之间整数. 有效等价类 00,C>0,且A+B>C,B+C>A,A+C>B。 • 如果是等腰的,还要判断A=B,或B=C,或A=C。 • 如果是等边的,则需判断是否A=B,且B=C,且A=C。 请画出等价类表 29 等价类-练习 输入条件 有效等价类 是否三角形的三条边 (A>0), (1) (B>0), (2) (C>0), (3) (A+B>C), (4) (B+C>A), (5) (A+C>B), (6) 无效等价类 (A≤0), (7) (B≤0), (8) (C≤0), (9) (A+B≤C), (10) (B+C≤A), (11) (A+C≤B), (12) 是否等腰三角形 是否等边三角形 (A=B), (B=C), (C=A), (13) (14) (15) (A≠B)and(B≠C)and (C≠A) , (16) (A=B)and(B=C)and(C=A),(17) (A≠B), (B≠C), (C≠A), (18) (19) (20) 30 等价类-练习 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 【A,B,C】 【3,4,5】 【0,1,2】 【1,0,2】 【1,2,0】 【1,2,3】 【1,3,2】 【3,1,2】 【3,3,4】 【3,4,4】 【3,4,3】 【3,4,5】 【3,3,3】 【3,4,4】 【3,4,3】 【3,3,4】 覆盖等价类 (1),(2),(3),(4),(5),(6) (7) (8) (9) (10) (11) (12) (1),(2),(3),(4),(5),(6),(13) (1),(2),(3),(4),(5),(6),(14) (1),(2),(3),(4),(5),(6),(15) (1),(2),(3),(4),(5),(6),(16) (1),(2),(3),(4),(5),(6),(17) (1),(2),(3),(4),(5),(6),(14),(18) (1),(2),(3),(4),(5),(6),(15),(19) (1),(2),(3),(4),(5),(6),(13),(20) 输出 一般三角形 不能构成三角形 等腰三角形 非等腰三角形 是等边三角形 非等边三角形 31 测试案例的常用编写方法 • 场景法 • 等价类 • 边界值 • 因果图 • 判定表 • 正交阵列 • 随机测试 32 边界值分析 定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试 方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其 测试案例来自等价类的边界。 33 边界值分析 • 与等价划分的区别 1)边界值分析不是从某等价类中随便挑一个作为代表,而是使用这个等价类的每个边 界都要作为测试条件。 2)边界值分析不仅考虑输入条件,还要考虑输出结果产生的测试情况。 使用边界值分析方法的原因: • 长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是 发生在输入输出范围的内部。因此针对各种边界情况设计测试案例,可以查出更多的错 误 • 使用边界值分析方法设计测试案例,首先应确XX界情况。通常输入和输出等价类的边 界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作 为测试数据,而不是选取等价类中的典型值或任意值作为测试数据 鹭 如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边 界的值作为测试输入数据。 鹭 如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一 的数作为测试数据。 鹭 正确的软件通常应该将输入内容默认为合法边界内的最小值或者合法区间内某个合理值,否则 返回错误提示信息。 34 边界值分析-练习 举例: 测试***位某某16位之间的阿拉伯数字 - 等价类法: x16 - 边界值法: 5,6,11,16,17 5 个测试案例: 鹭 6 位数字 鹭 5位数字 鹭 11位数字 鹭 16位数字 鹭 17位数字 (Success) (Error) (Success) (Success) (Error) 35 边界值分析-练习 举例: 1请点击下方选择您需要的文档下载。

  1. 关于执行的法律法规汇编
  2. 优秀辅导员工作案例
  3. 5G 测试解决方案
  4. 超声波测距单片机论文
  5. 软件测试方法和技术重点和试题与答案---副本
  6. IPD流程各阶段点交付件说明
  7. 便携式小板凳设计方案
  8. javaweb实训报告
  9. 法考刑法主观题大案例带读训练班讲义
  10. 附件2. 中小学综合实践活动案例模板
  11. 水利枢纽工程施工组织设计
  12. 附件4:体能测评项目和标准
  13. 华夏出行标志设计提案-12P
  14. 商业定位案例解读
  15. 新手—教学设计模板
  16. ***资助育人工作案例
  17. 教学设计及反思】
  18. 《几分之一》数学德育案例
  19. 教学活动设计与反思
  20. 普通话模拟测试和学习系统用户手册

以上为《测试案例设计》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览