




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件测试用例分析与设计 北京用友政务软件有限公司范建华2013年8月9日 软件测试用例的设计 测试用例概述测试用例设计方法测试用例的设计步骤 在日常的测试用例设计过程中 存在的问题 讨论 如何以最少的人力 资源投入 在最短的时间内完成测试 发现软件系统的缺陷 保证软件的优良品质 则是软件公司探索和追求的目标 测试用例是测试工作的指导 是软件测试的必须遵守的准则 更是软件测试质量稳定的根本保障 测试用例概述 测试用例可以独立进行测试执行的最小单元 测试内容的一系列情景和每个情景中必须依靠输入和输出 而对软件的正确性进行判断的测试文档 称为测试用例 测试用例就是将软件测试的行为活动 做一个科学化的组织归纳 软件测试是有组织性 步骤性和计划性的 为了能将软件测试的行为转换为可管理的 具体量化的模式 需要创建和维护测试用例 什么是测试用例 在开始实施测试之前设计好测试用例 避免盲目测试并提高测试效率 减少测试的不完全性 测试用例的使用令软件测试的实施重点突出 目的明确 根据测试用例的多少和执行难度 估算测试工作量 便于测试项目的时间和资源管理与跟踪 减少回归测试的复杂程度 在软件版本更新后只需修正少量的测试用例便可展开测试工作 降低工作强度 缩短项目周期 为什么需要测试用例 功能模块的测试用例的通用化和复用化则会使软件测试易于开展 并随着测试用例的不断细化其效率也不断攀升 根据测试用例的操作步骤和执行结果 为分析软件缺陷和程序模块质量提供依据 可以方便地书写软件测试缺陷报告 可以根据测试用例的执行等级 实施不同级别的测试 便于大型软件测试项目外包测试指导基础 为什么需要测试用例 可以最大程度地找出软件隐藏的缺陷可以最高效率的找出软件缺陷可以最大程度地满足测试覆盖要求既不过分复杂 也不能过分简单使软件缺陷的表现可以清楚的判定 测试用例包含期望的正确的结果 待查的输出结果或文件必须尽量简单明了不包含重复的测试用例测试用例内容清晰 格式一致 分类组织测试用例的简明性 与易理解性 达到仅根据测试用例即可完成测试为目的 良好测试用例的特征 可以设计多少个测试用例 问题 UC TC1 TC2 TS判断测试的质量 取决于广度 深度 不取决于频度 广度 功能需求的覆盖率 深度 单功能点的测试用例的数量 深度的级别 A MainTC 基本流 A1 备选流 B additionalTC 等价类 边界值 C supplyTC 错误推导法 因果图法 D AD HOC随机测试 固定时长测试用例深度的设计 取决于功能的优先级 重要度 小结 conception Feture Scenario UC code TC IT功能的重要度分为4级 critical major minor Don tcare 分析需求规格说明书 标识功能点中待测的业务实体业务实体与测试的关系 数据库测试 数据实体图 读需求规格来完成业务实体的标示需求规格中的业务实体完整性判断数据实体 输入 输出 分析需求规格说明书 标识功能点中待测的业务规则业务规则与测试的关系 业务规则分类标识狭义的业务规则与广义的业务规则操作步骤 界面 规则 业务 主要完成细节TC逻辑设计 分析需求规格说明书 标识功能点中待测的业务流业务流程中的动作与状态分析业务流程中动作按照时间列表读UML图中的活动图完成动作或活动的标示完成流程用例的设计 分析需求规格说明书 标识功能点中待测的业务状态业务状态与业务流程业务状态定义依据 未发生 发生中 已发生 业务状态的转换条件标识完善流程 功能用例的设计 业务状态测试 分析需求规格说明书 标识功能点中待测的业务角色读需求规格说明书中的组织结构域业务角色角色对业务实体以及相关属性操作的行为角色之间的隶属关系读业务执行者的关系图权限测试 用户与数据权限 用户与行为权限 用户与角色权限等 分析需求规格说明书 标识功能点中待测质量因素读需求规格说明书的非功能部分客户对软件系统质量的细节要求标出列表将与软件系统相关的质量属性标出列表对软件系统的质量属性进行优先级别的排序非功能性测试 性能 可靠性 健壮 此部分测试基本都是通过自动化测试完成的 压力 疲劳 容量等 分析需求规格说明书 标识功能点中待测环境因素读需求规格说明书关于软件系统运维环境的描述部分标识软件系统运行的相关环境因素对相关的环境因素给出详细列表对易变动环境与稳定环境进行标识生产环境对测试的影响 分析需求规格说明书 正确理解需求的过程 分析需求规格说明书 测试用例设计的视角 测试种类 阶段和用例的关系 测试用例设计 1 软件版本编号 2 测试用例编号 编号的格式可根据软件版本号 用例号来确定 3 用例的优先级 在一个时间紧凑的测试环境下 为了按效率的完成测试用例 4 前提条件 参数 配置 数据准备 5 业务说明 4 用例步骤ID 5 输入数据 6 期望输出数据 某个步骤下 输入了某条数据 你期望程序会输出什么数据 可以用来与实际输出的数据相比较 8 备注 为什么要备注 可能你在考虑这个Case的时候有一个好的点子或者思路 可写在备注里面 9 测试环境 10 用例编写人 日期 不重要 11 测试执行者 日期 不重要 可能根据不同的项目还需要一些补充 可以根据具体情况具体分析 注 在测试用例设计中 测试步骤 测试数据分离 测试用例的基本结构 5W1H Why 为什么而测 目的 What 测什么 内容 期望结果 Where 在哪里测 环境 When 什么时候开始测 时间 Which 哪些输入数据 测试数据 How 如何操作软件 步骤 测试用例要描述什么 测试用例的元素 是由一组逻辑上相关联的操作构成的 有初始化操作 预计的输入 处理 输出 需要区分主业务流程和辅助业务流程 测试用例应该划分优先级 首先保证重点业务流程的正确性 测试用例决不是一个一个的孤岛 而是按照逻辑关系组合到一起 由数据构成的逻辑包 测试用例的组成 软件测试用例的设计 测试用例概述测试用例设计方法测试用例的设计步骤 黑盒测试是从一种从软件外部对软件实施的测试 也称功能测试或基于规格说明的测试 其基本观点是 任何程序都可以看作是从输入定义域到输出值域的映射 这种观点将被测程序看作一个打不开的黑盒 黑盒里面的内容 实现 是完全不知道的 只知道软件要做什么 因无法看到盒子中的内容 所以不知道软件是如何实现的 也不关心黑盒里面的结构 只关心软件的输入数据和输出结果 黑盒测试的基本概念 黑盒测试是从用户观点出发的测试 其目的是尽可能发现软件的外部行为错误 在已知软件产品功能的基础上 检测软件功能能否按照需求规格说明书的规定正常工作 是否有功能遗漏 检测是否有人机交互错误 是否有数据结构和外部数据库访问错误 是否能恰当地接收数据并保持外部信息 如数据库或文件 等的完整性 检测行为 性能等特性是否满足要求等 检测程序初始化和终止方面的错误等 黑盒测试的基本概念 黑盒测试着眼于软件的外部特征 通过上述方面的检测 确定软件所实现的功能是否按照软件规格说明书的预期要求正常工作 两个显著的优点 黑盒测试与软件具体实现无关 所以如果软件实现发生了变化 测试用例仍然可以使用 设计黑盒测试用例可以和软件实现同时进行 因此可以压缩项目总的开发时间 黑盒测试的基本概念 穷举输入测试是不现实的 这就需要我们认真研究测试方法 以便能开发出尽可能少的测试用例 发现尽可能多的软件故障 常用的黑盒测试方法有等价类划分 边界值分析 决策表测试等 每种方法各有所长 我们应针对软件开发项目的具体特点 选择合适的测试方法 有效地解决软件开发中的测试问题 黑盒测试的基本概念 等价类划分 等价类划分法是一种典型的黑盒测试方法 它完全不考虑程序的内部结构 只根据程序规格说明书对输入范围进行划分 把所有可能的输入数据 即程序输入域划分为若干个互不相交的子集 称为等价类 然后从每个等价类中选取少数具有代表性的数据作为测试用例 进行测试 黑盒测试方法 等价类划分 所谓等价类是指输入域的某个互不相交的子集合 所有等价类的并便是整个输入域 1 划分等价类 1 有效等价类 检验程序是否实现了规格说明预先规定的功能和性能 2 无效等价类 检查软件功能和性能的实现是否有不符合规格说明要求的地方 黑盒测试方法 等价类划分 2 常用的等价类划分原则 1 按区间划分 2 按数值划分 3 按数值集合划分 4 按限制条件或规则划分 5 细分等价类 黑盒测试方法 等价类划分3 等价类划分测试用例设计在设计测试用例时应同时考虑有效等价类和无效等价类测试用例的设计 根据等价类表设计测试用例 具体步骤如下 1 为每个等价类规定一个唯一的编号 2 设计一个新的测试用例 尽可能多地覆盖尚未被覆盖的有效等价类 重复这一步 直到测试用例覆盖了所有的有效等价类 3 设计一个新的测试用例 使其覆盖并且只覆盖一个还没有被覆盖的无效等价类 重复这一步 直至测试用例覆盖了所有的无效等价类 黑盒测试方法 等价类划分 案例分析三角形问题的等价类测试输入三个整数a b和c分别作为三角形的3条边 通过程序判断由这3条边构成的三角形类型是 等边三角形 等腰三角形 一般三角形或非三角形 不能构成一个三角形 输入3个整数a b和c分别作为三角形的三条边 要求a b和c必须满足以下条件 Con1 1 a 100Con2 1 b 100Con3 1 c 100Con4 a b cCon5 b a cCon6 c a b 黑盒测试方法 等价类划分 案例分析三角形问题的等价类测试 黑盒测试方法 等价类划分 案例分析三角形问题的等价类测试 黑盒测试方法 边界值分析法 大量的软件测试实践表明 故障往往出现在定义域或值域的边界上 而不是在其内部 为检测边界附近的处理专门设计测试用例 通常都会取得很好的测试效果 因此边界值分析法是一种很实用的黑盒测试用例方法 它具有很强的发现故障的能力 设计方法 确定边界情况 输入或输出等价类的边界 选取正好等于 刚刚大于或刚刚小于边界值作为测试数据 黑盒测试方法 边界值分析法 案例分析加法器程序计算两个1 100之间整数的和 对于加法器程序 根据输入要求可将输入空间划分为三个等价类 即1个有效等价类 1 100之间 两个无效等价类 100 但这种等价类划分不是很完善 我们只考虑了输入数据的取值范围 而没有考虑输入数据的类型 我们认为输入应为整数 但用户输入什么都有可能 黑盒测试方法 边界值分析法 案例分析为此 我们可综合考虑输入数据的取值范围和类型划分等价类 其结果如下表所示 黑盒测试方法 边界值分析法 案例分析为此 我们可综合考虑输入数据的取值范围和类型划分等价类 其结果如下表所示 黑盒测试方法 边界值分析法 其实边界值和等价类密切相关 输入等价类和输出等价类的边界是要着重测试的边界情况 在等价类的划分过程中产生了许多等价类边界 边界是最容易出错的地方 所以 从等价类中选取测试数据时应该关注边界值 在等价类划分基础上进行边界值分析测试的基本思想是 选取正好等于 刚刚大于或刚刚小于等价类边界的值作为测试数据 而不是选取等价类中的典型值或任意值做为测试数据 黑盒测试方法 错误推测法测试用例设计 基于经验和直觉推测程序中所有可能存在的各种错误 从而有针对性地设计测试用例 发现程序经常出现的错误的方法 单元测试中发现的模块错误 产品的以前版本曾经发现的错误 输入数据为0或字符为空 当软件要求输入时 比如在文本框中 不是没有输入正确的信息 而是根本没有输入任何内容 单单按了Enter键 这种情况在产品说明书中常常忽视 程序员也可能经常遗忘 但是在实际使用中却时有发生 程序员总会习惯性的认为用户要么输入信息 不管是看起来合法的或非法的信息 要不就会选择Cancel键放弃输入 黑盒测试方法 测试场景法设计测试用例 现在的软件几乎都是用事件触发来控制流程的 事件触发时的情景便形成了场景 而同一事件不同的触发顺序和处理结果就形成事件流 这种在软件设计方面的思想也可引入到软件测试中 可以比较生动地描绘出事件触发时的情景 有利于测试设计者设计测试用例 同时使测试用例更容易理解和执行 黑盒测试方法 测试场景法设计测试用例 用例场景用来描述流经用例的路径 从用例开始到结束遍历这条路径上所有基本流和备选流 每个基本流都是一个完整的业务流程 或者用例 黑盒测试方法 测试场景法设计测试用例 案例分析以ATM取款为例 按照基本流 备选流的概念 讨论哪些是基本流 备选流 黑盒测试方法 基本流开端是ATM处于准备就绪状态 1 准备提款 客户将银行卡插入ATM机的读卡机 2 验证银行卡 ATM机从银行卡的磁条中读取帐户代码 并检查它是否属于可以接收的银行卡 3 输入PIN ATM要求客户输入PIN码 4位 4 验证帐户代码和PIN 验证帐户代码和PIN以确定该帐户是否有效以及所输入的PIN对该帐户来说是否正确 对于此事件流 帐户是有效的而且PIN对此帐户来说正确无误 5 ATM选项 ATM显示在本机上可用的各种选项 在此事件流中 银行客户通常选择 提款 6 输入金额 要从ATM中提取的金额 对于此事件流 客户需选择预设的金额 10美元 20美元 50美元或100美元 7 授权 ATM通过将卡ID PIN 金额以及帐户信息作为一笔交易发送给银行系统来启动验证过程 对于此事件流 银行系统处于联机状态 而且对授权请求给予答复 批准完成提款过程 并且据此更新帐户余额 8 出钞 提供现金 9 返回银行卡 银行卡被返还 10 收据 打印收据并提供给客户 ATM还相应地更新内部记录 用例结束时ATM又回到准备就绪状态 黑盒测试方法 黑盒测试方法 测试场景法设计测试用例 案例分析用例设计 黑盒测试方法 测试场景法设计测试用例 案例分析数据设计 一旦一旦确定了所有的测试用例 则应对这些用例进行复审和验证以确保其准确且适度 并取消多余或等效的测试用例 黑盒测试方法 因果图法 等价类划分方法和边界值分析法都是着重考虑输入条件 也没有考虑到输入情况的各种组合 也没考虑到各个输入情况之间的相互制约关系 因果图方法的思路是 仅用自然语言书写的程序规格说明的描述中找出因 输入条件 和果 输出或程序状态的改变 通过因果图转换为判定表 黑盒测试方法 因果图法测试用例设计设计方法 分析程序规格说明的描述中 哪些是原因 哪些是结果 原因常常是输入条件戒是输入条件的等价类 而结果是输出条件 找出原因与结果 原因与原因之间的对应关系 划出因果图 在因果图上标上哪些不可能发生的因果关系 表明约束或限制条件 根据因果图 创建判定表 将复杂的逻辑关系和多种条件组合很具体明确的表示出来 把判定表的每一行作为依据设计测试用例 黑盒测试方法 因果图法测试用例设计因果图中用到的基本符号 黑盒测试方法 因果图法测试用例设计因果图中用到的条件之间关系的符号 黑盒测试方法 因果图法测试用例设计 案例分析有一个处理单价为1元2元的盒装饮料的自动售货机软件 若投入1元硬币 按下 可乐 雪碧 和 红茶 按钮 相应的饮料就送出来 若投入的是两元硬币 在送出饮料的同时退还1元硬币 黑盒测试方法 因果图法测试用例设计 案例分析 黑盒测试方法 决策表法决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格 它能够将复杂的问题按照各种可能的情况全部列举出来 简明并避免遗漏 因此 利用决策表能够设计出完整的测试用例集合 黑盒测试方法 决策表法 黑盒测试方法 白盒测试用例的设计方法 逻辑覆盖 以程序的内部逻辑结构为基础 分为语句覆盖 判定覆盖 条件覆盖 判定 条件覆盖 条件组合覆盖等 基本路径测试 在程序控制流程的基础上 分析控制构造的环路复杂性 导出基本可执行路径集合 从而设计测试用例 白盒测试方法 软件测试用例的设计 测试用例概述测试用例设计方法测试用例的设计步骤 在测试时 不可能进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新能源行业2025年技术创新与转化效率市场机遇研究报告
- 2025年天津市面向昌都籍未就业少数民族高校毕业生招聘事业单位人员笔试备考题库含答案详解
- 2024-2025学年自考专业(金融)题库附答案详解(典型题)
- 园艺DIY打造一个独特的园艺空间
- 压差响应自修复机制-洞察及研究
- 人脸识别监控技术手册
- 压力管理与心理调适的有效途径探讨
- 2024年安徽省天长市中考物理过关检测试卷及完整答案详解1套
- 光谱传感技术在食品监测-洞察及研究
- 2025年焊接接头行业研究报告及未来发展趋势预测
- 售后沟通技巧课件
- 进制转换课件-2025-2026学年浙教版高中信息技术必修一
- 店员绩效考核制度
- 电厂电气安全知识培训课件
- 国际汉语考试题及答案
- 交友的智慧(课件)-2025-2026学年七年级道德与法治上册(统编版2024)
- 2025-2026学年语文二年级上册统编版语文园地一 课件
- 2025年中国航空油料集团招聘笔试模拟题与解析
- 2025四川省水电投资经营集团有限公司所属电力公司员工招聘6人备考练习题库及答案解析
- 广东省深圳市福田区红岭实验学校(上沙)2025-2026学年八年级上学期开学考试英语试卷(含答案)
- 遥控车辆模型课件
评论
0/150
提交评论