第01章、使用等价类和边界值方法设计测试用例.ppt_第1页
第01章、使用等价类和边界值方法设计测试用例.ppt_第2页
第01章、使用等价类和边界值方法设计测试用例.ppt_第3页
第01章、使用等价类和边界值方法设计测试用例.ppt_第4页
第01章、使用等价类和边界值方法设计测试用例.ppt_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

第1章 使用等价类和边界值方法设计测试用例 2020 2 16 2 2020 2 16 2 测试用例的概念使用等价类划分方法设计测试用例使用边界值方法设计测试用例 本章内容 一 测试用例的概念 引例 在测试即时贴程序时遇到哪些问题 你可能遇到了下列问题 不知道是否较全面的测试了所有内容不知道所有功能点是否都测到了 不清楚每个功能点是否都测试全面了 存在大量冗余测试 影响测试效率有些功能点可能测试多次对新版本的重复测试很难实施每个版本测试的步骤 数据都不一样 随意性很强测试的覆盖率无法衡量最后测试的好与坏不得而知 测试用例的基本概念 测试用例主要记录了测试的过程 步骤 输入的数据 预期结果等内容 它是在执行测试之前由测试人员编写的指导测试的重要文档 解决要测什么 怎么测和如何衡量的问题案例1 1 即时贴测试用例 2020 2 16 7 测试用例用途 核实需求 要使最终用户满意 首先就是要对用户的期望加以明确阐述 以便对这些期望进行核实并确认其有效性监督过程 可以准确 有效的评估测试的工作量评估结果 对产品进行评估 对测试完成情况进行评价准确回归 快速的进行正确的回归防止遗漏 使软件测试的实施重点突出 目的明确 确保需求功能不被遗漏 提高效率 避免盲目测试缩短周期 版本更新和升级时 只需修正少部分测试用例 资源复用 2020 2 16 7 准备编写测试用例 参考相关文档需求文档开发文档用户手册如果有软件的早期版本 尽快熟悉软件的使用与相关人员讨论 获得测试用例模板 Word格式模板Excel格式模板如果使用TestDirector或QualityCenter等测试管理工具 直接写在工具的 TestPlan 模块中即可 注意 1 在编写测试用例之前 还要明确项目对测试用例的具体要求测试用例编号如何命名测试用例应该提交到什么地方测试用例中用到的附件命名规定 存放位置2 测试用例是需要更新和维护的 是一个不断修改完善的过程3 测试用例需要正式的评审4 测试用例覆盖系统的程度决定测试的覆盖程度 对测试人员的要求 1 基本要求在编写一条测试用例时 要求步骤描述清晰 准确 易读 预期结果明确如果有特殊的设置 预置条件等 要明确写出如果有输入数据 一般要给出输入数据取值如果有附件 要给出附件存放位置 名称检验标准写完用例后 让别人照着自己的用例去执行测试 可以很顺畅的执行下来 2 高标准要求测试用例编写的有条理 逻辑性强可以按照功能点分类 操作顺序等逻辑编写 而不要一会测试这儿一会测试哪儿功能覆盖全面 深入 能够发现软件中更多的缺陷检验标准能把软件中的缺陷尽可能多的找出来 按照你的测试用例测试完的软件 遗留的缺陷最少 要求测试人员最终达到的目标 是一个需要长期练习 积累的过程 二 使用等价类划分方法编写测试用例 案例2 1 测试两位整数加法计算器功能演示 两位整数加法计算器基本需求第一个数和第二个数都是只能输入 99到99之间的整数对于输入的小于 99的数据或者大于99的数据 程序应给出明确提示对于输入的小数 字符等非法数据 程序应给出明确提示 如何编写测试用例 遇到了什么问题在测试了1 1 1 2 1 1 和1 2 之后 是否有必要测试1 3 1 4 1 3 和1 4 呢 如果不对程序进行穷举测试 是否放心输入其他数据都能正确计算 等价类划分的基本概念 等价类划分属于典型的黑盒测试方法 根据程序对数据的要求 把程序的输入域划分成若干个部分 区分出哪些数据是有效的 哪些数据是无效的 从每个部分中选取少数代表性数据作为测试用例 这样 每一类的代表性数据在测试中的作用都等价于这类中的其他值 等价类划分中核心概念 有效等价类 对程序的规格说明有意义 合理的输入数据集合 如果用户输入有效等价类中的数据 程序应该正确计算 执行无效等价类 对程序的规格说明不合理的或无意义的输入数据集合 如果用户输入无效等价类中的数据 程序应该给予错误提示或者根本不允许用户输入 使用等价类划分方法设计测试用例 使用等价类划分方法对两位整数加法计算器进行测试用例的设计说明 刚开始学习时 我们就先针对每一个控件进行单独测试就行 也就是假设其他控件输入的数据是正确的就可以 先不考虑控件的组合情况 在实际测试时 要考虑两个文本框的组合情况 这是我们后面要讲到的内容 对第一个文本框进行测试 在对第一个文本框测试时 先假设第二个文本框输入的数据是正确的 比如 20 步骤一 划分等价类 按照功能要求 对第一个文本框的取值范围进行划分有效等价类 大于等于 99并且小于等于99的整数无效等价类 小于 99的整数大于99的整数小数字符 步骤二 细化等价类 依据的一般不是显式需求数据在计算机中按照补码方式存储 正数的补码与原码相同 负数的补码与原码不同 所以有必要对正数和负数分别进行测试 对等价类进行编号 1 2 3 4 5 6 步骤三 建立等价类表 建立等价类表假设第一个文本框取值为X 步骤四 编写测试用例 从每个等价类中至少选取一个数据作为测试数据 30 88 提示错误 提示错误 提示错误 提示错误 对第二个文本框进行测试 在对第二个文本框测试时 也假设第一个文本框输入的数据是正确的 比如 50 步骤一 划分等价类 按照功能要求 对第二个文本框的取值范围进行划分 步骤二 细化等价类 步骤三 建立等价类表 对等价类进行编号 建立等价类表假设第二个文本框取值为Y 30 160 提示错误 提示错误 步骤四 编写测试用例 提示错误 提示错误 说明 上面编写的测试用例 满足等价类划分方法的要求 但是存在一些问题 存在数据冗余如 用例2和用例8没有考虑控件之间的组合 所以会丢失一些情况如 两个数据都是无效等价类的情况没有考虑测试用例的设计就是一个循序渐进 逐步完善的过程 我们的课程也是循序渐进的 在后面课程中我们会加以讲解 当然 以后熟练了 可以一步到位设计出最优的用例 步骤小结 等价类划分的步骤划分等价类细划等价类划分建立等价类表编写测试用例 等价类的特点 每一类的代表性数据 也就是被选为测试用例的数据 在测试中的作用等价于这一类中的其他值 如果等价类中的一个测试能够捕获一个缺陷 那么选择该等价类中的其他测试也能捕获该缺陷 如果等价类中的一个测试不能捕获缺陷 那么选择该等价类中的其他测试也不会捕获缺陷 划分等价类要注意的问题 同时考虑有效等价类和无效等价类 仔细划分 审核划分 设计一个新的测试用例 使其尽可能多地覆盖未被覆盖的有效等价类 此项工作重复进行 直到所有的有效等价类都被覆盖为止 设计一个新的测试用例 使其覆盖一个 而且仅仅一个 尚未被覆盖的无效等价类 此项工作重复进行 直到所有的无效等价类都被覆盖为止 案例2 2 用等价类划分方法编写即时帖程序的设置标题的测试用例即时贴标题的要求1 1 划分等价类 2 细化 整理等价类 对于有效的标题 应该同时满足下列两项 1 有效等价类4也就是说 一个合法的标题应该同时满足以上两点要求 3 建立等价类表 1 从标题长度考虑 2 从标题允许字符考虑 3 整体考虑 4 编写测试用例 说明 对于需求明确提出的特殊字符 最好先一个一个进行测试最后再适当考虑特殊字符的组合要考虑最糟糕的情况 就是在一个标题中同时出现 这些非法字符 划分等价类基本原则 1 在输入条件规定了取值范围或值的个数的情况下 可以确立一个有效等价类和两个无效等价类 例如 两位数加法计算器取值是 99 99 则在此范围内的为一个有效等价类 小于 99的和大于99的为两个无效等价类 2 在输入条件规定了输入值的集合或者规定了 必须如何 的条件的情况下 可以确立一个有效等价类和一个无效等价类 例如 在某软件中规定 身份 一栏只能填写 党员 团员 群众 则这三个是有效等价类 其他的输入全部为无效等价类 当然 在这种情况下 一般让用户进行选择最好 3 在输入条件是一个布尔量的情况下 可确定一个有效等价类和一个无效等价类 例如 如果让用户输入 真 或 假 同意 或 不同意 等情况下 可以认为 真 为有效等价类 假 为无效等价类 当然可以反过来 4 在规定了输入数据的一组值 假定n个 并且程序要对每一个输入值分别处理的情况下 可确立n个有效等价类和一个无效等价类 例如 用户可以输入 粗体 斜体 下划线 删除线 来设置字体的显示效果 那么这四种输入就是四个有效等价类 其他的可归为一个无效等价类同样在这种情况下 最好提供取值供用户进行选择 5 在规定了输入数据必须遵守的规则的情况下 可确立一个有效等价类 符合规则 和若干个无效等价类 从不同角度违反规则 例如 要求 学生编号 必须以字母开头 后面跟4位数字 则像 A0001 B1001 这样满足格式要求的为有效等价类 而像 12345 A123 AA123 1234 等都为无效等价类 6 在确知已划分的等价类中 各元素在程序处理中的方式不同的情况下 则应再将该等价类进一步地划分为更小的等价类 例如 正数和负数的处理方式是不是不同加减乘除都属于有效等价类 但由于使用不同的函数实现 所以需要把每一个运算看做一个独立的等价类进行单独测试 三 使用边界值方法设计测试用例 案例3 1 使用下列数据对两位整数加法计算器进行测试 提示错误 提示错误 提示错误 提示错误 bug bug bug bug 为什么会产生这样的结果 查看源代码 边界条件设置错误 把 写成了 把 写成了 说明 有效数据和无效数据的分界点 往往作为程序员编写程序的判断点 是程序员容易犯错误的地方 也是测试人员重点测试的内容 如何解决这类问题 找到测试数据的边界点 也就是有效等价类和无效等价类的边界点 对边界点数据专门进行测试 一般情况下 需要对边界值 99和99 以及边界值两边的数 100和 98以及100和98 分别进行测试 针对于第一个数文本框 使用边界值方法设计如下用例 提示错误 提示错误 78 提示错误 提示错误 108 针对于第二个数文本框 使用边界值方法设计如下用例 提示错误 提示错误 48 提示错误 提示错误 12 一般结合使用等价类划分和边界值方法设计一套较为完善的测试用例 第一个数文本框测试用例 等价类 第一个数文本框测试用例 边界值 第二个数文本框测试用例 等价类 第二个数文本框测试用例 边界值 案例3 2 即时贴程序 使用边界值方法设计添加标题的测试用例1 标题长度 40 使用边界值方法编写测试用例 结合等价类划分和边界值编写测试用例 等价类划分 从标题长度考虑 边界值 等价类划分 从标题允许字符考虑 案例3 3 数组溢出 执行array exe程序 查看源代码 includemain intdata 10 inti for i 0 i 10 i data i 1 for i 0 i 10 i printf data d d n i data i system pause 原因 把 写成 使循环多执行一次 导致程序试图引用一个不存在的数组元素data 10 案例3 4 隐含边界 源代码 includevoidmain intsum 2147483646 inti 0 sum sum 1 printf 1 sum d n sum sum sum 1 printf 2 sum d n sum sum sum 1 printf 3 sum d n sum system pause 程序实际运行结果只有第一次输出正确sum 2147483647后面两次变为了负数原因 C语言中 整型数据占用4个字节内存 最大表示范围是2147483647 如果超出这个范围就会造成数据溢出 边界值方法小结 1 如果输入条件规定了值的范围 则应取刚达到这个范围的边界值 以及刚刚超越这个范围边界的值作为测试输入数据 例如 两位整数加法器数的范围为 99 99 则应测试 99 100和99 100 注意 有些公司规定需要测试边界值的点及其两边的点 即 99 98 100和99 98 100 2 如果输入条件规定了值的个数 则用最大个数 最小个数 比最小个数少1 比最大个数多1的数作为测试数据 例如 姓名要求1 20个字符 需要测试1个字符 0个字符 20个字符 21个字符 当然也可以测试0 1 2个字符和19 20 21个字符 边界值法小结 3 根据规格说明的每个输出条件 使用前面的原则 1 例如 输出结果最大显示 1000 1000 我们就应该准备输入数据 使结果是 1000 1000和 1001 1001 也可以包含 999和999 4 根据规格说明的每个输出条件 应用前面的原则 2 例如 某商品信息查询系统 每页最多显示10条商品信息 我们就应该准备商品信息 使能够查询出10条 11条 1条 0条商品记录 边界值法小结 5

温馨提示

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

评论

0/150

提交评论