




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 7 3软件测试计划和测试报告软件测试是软件开发完成 投入运行前 对软件需求 设计规格说明和编码的最终复审 软件质量保证的关键步骤 在软件开发的整个过程中 占有极为重要的位置 软件测试文档主要包括 测试规划 测试策略 测试手段和测试结果 由于测试工作的重要性 而人工测试又特别困难 因此 测试过程自动化会是测试技术发展的方向 1 软件测试 软件检查和调试我们已经知道软件测试的目的是尽可能多的发现系统存在的错误 所以 软件测试包括软件检查与软件测试 软件检查 对系统的各种表达形式 如文档 设计图和程序源代码等进行分析 检查 这一工作应贯穿整个开发过程 软件测试 使用测试数据对软件的实现进行运行检查 查看系统的输出及运行行为是否符合设计要求 由安博测试空间技术中心 2 下图表示了软件检查和软件测试在软件过程中的位置 从图中可以看出 软件检查贯穿整个软件过程 而软件测试仅对原型或软件程序 软件调试是一个对缺陷定位和修改的过程 同时也是一项技巧性很强的工作 软件调试 从软件测试的结果开始 如图所示 3 2 软件测试的成本由于测试不可能穷尽 因此 就有了软件测试的一个致命缺陷 即测试的不完全 不彻底性 因此 对于任何程序只能进行少量的测试 当发现错误 可以说明程序有问题 而未发现错误 却不能声称程序没有错误 根据软件工程的基本原理 当测试标准越高 则将要投入的人力 财力也越高 左图反映了测试成本的变化规律 为在软件质量和投入之间取得需求平衡 可以采用著名的 进度 成本 质量 三角公式 如下右图 即只要确定了其中两项 就可以确定第三项 因此 在编制软件测试计划时 必须考虑三者之间的关系 4 3 软件测试的原则测试时 如果成功地实施了测试计划和方案 就能够发现系统中尽量多的错误 测试的一个附带收获是 能够证明软件的功能和性能是与需求说明相符的 要达成上述要求 就需要遵守以下原则 1 测试规划应包含测试工作的全部内容 即不仅是程序测试 还包括文档 2 测试应贯穿软件开发的整个过程 即坚持各个阶段的评审 杜绝隐患 3 测试用例应包括输入和预期输出 4 设计测试用例时 输入应包括合理的和不合理的数据 5 功能测试应由独立第三方完成 但调试仍应由开发者自己完成 6 充分注意并利用测试中的群集现象 7 严格执行测试计划 排除测试随意性 计划应明确规定 不随意解释 8 应当对每一个测试结果做全面检查 仔细分析测试结果 防止错误遗漏 9 妥善保存测试计划 测试用例 出错统计和最终分析报告等测试文档 5 4 软件测试过程从程序测试的角度看 测试分为两个阶段 如图 程序测试过程的目的是尽可能多的发现并改正错误 提高软件质量 测试过程的每一个阶段也都会对前一阶段有反馈信息 因此 测试过程是一个不断修正和进化的过程 其阶段划分如下图所示 测试过程需要下面三个基础数据和资料的支持 软件配置 软件正常运行的环境配置 测试配置 软件测试运行的环境配置 是软件配置的子集 测试工具 为提高测试效率 降低测试劳动强度 保证测试质量使用的工具 6 5 测试计划的导出与结构测试计划应该从系统描述和设计中导出 下图是测试计划从系统描述和设计中导出示意图 测试计划的主要组成部分如右表所示 7 6 几种常见的测试用图表工具 1 检查表检查表是一张标明了所要检查项目和内容的表格 可以用来突出重点和总结整个过程的关键点 优点是简洁 清晰 典型的检查表如需求检查表 系统结构检查表 代码结构检查表 共性缺陷检查表等 检查表因其重要性 目前已实现了自动化和智能化 如IBMRochester软件开发中的PTF programtemporaryfix 程序临时修补 检查表 2 Pareto图一个按下降次序排列的频率竖条图 通常 X轴表示缺陷产生的原因 Y轴表示缺陷数 下图就是一个软件产品缺陷原因的Pareto图 8 3 直方图是一种样本或总体的频率计数的图形表示 X轴自左至右按上升序列出某一个参数的单位间隔 Y轴为频率计数 直方图常用来表示某一参数的分布特性 如下图是一个软件产品按不同严重程度的缺陷频率和缺陷报告提交的天数直方图 9 10 7 设计软件测试 1 缺陷测试设计下图是缺陷测试的一般模型 其中 需要设计测试用例 给出测试预期结果 测试用例是对测试需要的输入和当前测试内容的描述 运行结果需要和测试预期结果比较 以获得测试是否通过的结论 理想的测试是使每个可能的程序运行顺序都能无遗漏的得到测试 然而这是不可能的 因此 测试需要基于一个可能的测试用例子集 制定和设计一个测试子集的选择策略 11 黑盒测试黑盒测试是将系统作为一个黑盒子 只通过系统输入 观察其相应的输出 来确定系统功能是否符合需求规格说明书的定义 因此 黑盒测试又称功能测试或数据驱动测试 黑盒测试的系统模型如下图 黑盒测试方法即适合功能构成的系统 也适合对象构成的系统 测试的关键是要设计出有极大可能落在导致系统反常的输入数据集合中的那些输入 使用下表可以组织黑盒测试方法的输入和输出 12 等价划分黑盒测试的一种方法 等价划分的测试方法就是把程序的输入域划分成若干不同性质得到的集合 在这些集合中 程序有基本一致的行为表现 然后从每个集合中选取少量有代表性的数据作为测试用例 下图就是等价划分测试的模型 等价划分方法测试用例的设计要经历划分等价类和选取测试用例两步 等价类的划分可以使用等价类表描述 确定测试用例则需要根据等价类表 按以下3个步骤进行 为每个等价类规定唯一编号 设计一个测试用例 使其尽可能多的覆盖尚未覆盖的有效等价类 重复该步 设计测试用例 逐一覆盖所有无效等价类 13 结构化测试结构化测试是一种根据软件结构知识和实现知识所进行的测试方法 结构化测试也成为白盒测试 结构化测试的过程如下图所示 结构化测试除了用于单元测试外 一般适合用于相对较小的程序 如一个子程序或对象的一个操作等 结构化测试是通过代码分析来估计需要多少测试用例 以保证测试过程中 程序或组件中所有语句都至少遍历一遍 路径测试是结构化测试的一种策略 即在程序控制流程图的基础上 通过分析控制构造的环路复杂性 导出基本可执行路径集合 从而设计测试用例 而设计出的测试用例要保证在测试中程序的每一个可执行语句都能至少执行一次 在面向对象的程序开发过程中 路径测试在测试对象中的方法时 常会用到 程序中的路径数量通常与程序的长度成正比 14 2 集成测试设计集成测试开始于系统组件 子系统或完整系统的组装完成时 其目的是发现组件交互中的问题 集成测试的主要困难是在测试过程中对发现的错误的定位 一个好的方法是采用所谓的增量法 即先从一个集成度最小的系统配置开始测试 完成后一个增量一个增量的增加配置 然后逐步完成系统完整配置的测试 下图就是增量化集成测试的例子 15 自顶向下的和自底向上的测试是两种不同的测试策略 在自顶向下的集成中 系统的高层组件在系统设计和实现完成之前进行集成和测试 如下图所示 在自底向上的集成中 低层组件在高层组件开发出来之前进行集成和测试 如下图所示 16 接口测试当模块或子系统被集成时 就有一个事先定义的接口供其它组件调用 接口测试的目的就是检测因接口错误或对接口进行的无效假设而造成的系统缺陷 下图就是对接口测试的示意图 图中 指向方块边界的箭头表示测试用例不是只针对单个组件的 而是对组件构成的整个子系统的 接口错误是对象之间交互的结果 而不是出于单个对象的行为 因此 接口错误是不可能通过对单个对象的测试发现的 这种测试形式非常适合面向对象的系统 强度测试系统被完全集成后 就可以进行总体性能测试了 为性能测试所设计的测试用例要保证能够测试到系统的正常负荷 通常 要设计出一系列的测试 使得系统的测试负荷能稳步上升 直到系统达到性能极限 然后 强度测试继续使用测试用例测试 直到系统失败 这类测试有两个作用 检查系统的柔性 可能模拟到正常情况下的不寻常组合 以暴露系统正常情况下不会暴露的缺陷 17 3 面向对象的测试尽管前面介绍的测试方法能够用于面向对象程序的测试 但是面向对象的测试还具有自己的另外一些特点 面向对象的单元测试以往单元测试的方法可继续沿用 实际测试类成员函数 对象的完全覆盖测试应包括 对象中所有操作被单独隔离的测试 对象中所有属性的设置和访问的测试 对象中所有可能状态的测试如果使用了继承 则对类的测试应延伸到所有子类所继承的操作 面向对象的集成测试由于面向对象程序中 类相互依赖极其紧密 根本无法在编译不完全的程序上对类进行测试 所以 面向对象的集成测试通常需要在整个程序编译完成后进行 此外 面向对象程序具有动态特性 程序的控制流往往无法确定 因此也只能对整个编译后的程序做基于黑盒的集成测试 面向对象的集成测试能够发现相对独立的单元测试无法检出的那些类相互作用时才会产生的错误 具体设计测试用例 可参考以下步骤 选定检测的类 列出类的状态 行为 传递的消息 及输入 输出的界定等 利用结构关系图确定待测类的所有关联 确定覆盖标准 根据程序中类的对象构造测试用例 确认输入 服务和期望产生的行为等 18 8 软件测试计划文档测试计划起到测试工作过程框架结构的功能 是好的测试工作的基础 一个测试计划的基本内容包括 基本情况分析 测试需求说明 测试策略和记录 测试资源配置 问题跟踪报告 测试计划的评审等 基本情况分析 包括系统运行平台 应用领域 特点和主要功能模块等 分析要点有 测试目的和侧重点 系统适合于测试的内容 操作划分 测试的潜在风险 系统与测试相关的资料说明 测试需求说明 列出测试功能项 规定应该测试的具体内容 测试策略和记录 描述如何开展测试 规定测试记录的内容 必要时 应给出测试记录文档的模板 测试资源配置 针对测试项目的每一个阶段任务 列出所需要的资源 可能的话 给出可能更新需要的空间 问题跟踪报告 报告包括问题的发现者和修改者 问题发生的频率 发现问题的测试用例 以及明确问题产生时的测试环境 问题描述应尽可能是定量 分门别类的列举 问题分为 严重问题 一般问题 建议问题 测试计划的评审 为确保软件的质量 达到软件工程的度量标准 规范测试过程 有必要设计一个测试计划模板 以便减少遗漏 使测试计划趋于完善 正确的方法是 参照国际 国家标准 制定详细的软件测试计划 并在计划实施前 认真负责的对测试计划文档进行评审 19 9 软件测试报告软件测试结束后 需要对测试结果进行分析 以发现和提取有意义的信息 得出软件测试报告 测试报告必须是客观的 正确的 测试报告是技术部门与产品部门沟通的主要手段 测试报告直接影响软件缺陷的修改速度 在评价测量时 经常使用的有3种尺度来描述软件的质量 以反映不同的级别 标称尺度 顺序尺度 区间尺度和比例尺度 它们的级别依次递增 但每个高级别尺度都具备低级尺度的所有属性 标称尺度 其实质是一种分类 根据某个属性将元素划分为不同的类别 如 软件可以分系统软件 支撑软件 应用软件等 顺序尺度 将主题按顺序进行比较的测量操作 通过顺序尺度 可以将主题分为不同的类别 同时可以将类别排序 如 A B C 区间尺度和比例尺
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 杭州二中考试题及答案
- 海宁高升专考试题及答案
- 粮食应急储备保障中心项目建设工程方案
- 醋酸钙镁融雪剂生产线项目节能评估报告
- 2025年燃气用户检修工理论考试题库(含答案)
- 2025年环境监测人员考试题库(含答案)
- 堤防工程河道调度与水位监控系统方案
- 定西市2025年度专业技术人员继续教育公需科目考试题库(附答案)
- 城区错接混接改造及雨污水管网建设项目社会稳定风险评估报告
- 水土流失防治与水资源保护方案
- 中药煎药室设备维护及操作流程
- GB/T 19973.2-2025医疗产品灭菌微生物学方法第2部分:用于灭菌过程的定义、确认和维护的无菌试验
- 门诊检查预约与安排制度
- 化验室安全知识培训课件
- 2024压力容器设计审批考试题库 判断题
- 软件系统试运行方案计划
- 物流安全培训课件
- 2023年北京市中考真题英语试卷及答案
- 气瓶水压试验作业安全操作规程(4篇)
- 人教版道德与法治六上9 知法守法 依法维权 (课件)
- GB/T 19077-2024粒度分析激光衍射法
评论
0/150
提交评论