软件质量保证和管理-- ch16软件测试之质量

上传人:飞*** 文档编号:50699096 上传时间:2018-08-10 格式:PPT 页数:52 大小:1.79MB
返回 下载 相关 举报
软件质量保证和管理-- ch16软件测试之质量_第1页
第1页 / 共52页
软件质量保证和管理-- ch16软件测试之质量_第2页
第2页 / 共52页
软件质量保证和管理-- ch16软件测试之质量_第3页
第3页 / 共52页
软件质量保证和管理-- ch16软件测试之质量_第4页
第4页 / 共52页
软件质量保证和管理-- ch16软件测试之质量_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《软件质量保证和管理-- ch16软件测试之质量》由会员分享,可在线阅读,更多相关《软件质量保证和管理-- ch16软件测试之质量(52页珍藏版)》请在金锄头文库上搜索。

1、软件质量保证和管理 - Ch.16 软件测试之质量 软件测试之质量程序测试是为了发现错误而执行程序的 过程 - G.J.Myers 第16章 软件测试之质量 16.1 软软件测试测试 16.2 测试测试 的现实现实 和原则则 16.3 测试测试 的方法应应用之道 16.4 测试测试 目标实现标实现 的完整性和有 效性 16.5 测试过测试过 程的评审评审 和质质量保证证 16.6 软软件测试组织测试组织 和管理16.1 软件测试16.1.1 软件测试和质量保证的关系 16.1.2 测试在软件开发各个阶段的任务 16.1.3 软件测试目标16.1.1 软件测试和质量保证的关系二者都是贯穿整个软件

2、开发生命周期的流程 测试SQA 主要对象 软件(工作)产品 开发流程 特性 技术工作 管理性工作 焦点 事后检查 预防 范围 软件研发部门 全组织、跨部门16.1.2 测试在软件开发各个阶段的任务阶 段输出需求分析审查需求定义中问题列表, 批准的需求分析文档, 测试计 划书的起草 设计审查设计问题列表、各类设计文档、测试计划和测试用例单元测试缺陷报告、跟踪报告;完善的测试用例、测试计划集成测试缺陷报告、跟踪报告;完善的测试用例、测试计划; 集成测试分析报告;集成后的系统 功能验证缺陷报告、代码完成状态报告、功能验证测试报告系统测试缺陷报告、系统性能分析报告、缺陷状态报告、阶段 性测试报告验收测

3、试用户验收报告、缺陷报告审查、版本审查 最终测试报告 版本发布当前版本已知问题的清单、版本发布报告 维护缺陷报告、更改跟踪报告、测试报告16.1.3 软件测试目标软件测试的目标,就是为了更快、更早地将软 件产品或软件系统中所存在的各种问题找出来,并促 进程序员尽快地解决这些问题,最终及时地向客户提 供一个高质量的软件产品 n 软件测试是为了发现错误而执行程序的过程n 一个好的测试能够在第一时间发现程序中存在 的错误n 一个好的测试是发现了至今尚未发现的错误的 测试。16.2 测试的现实和原则16.2.1 软件测试的现实16.2.2 软件测试的原则16.2.1 软件测试的现实n测试工作总存在风险

4、 n测试不能提高质量,但软件产品发布后 ,缺陷较多,往往被认为是测试人员的错。 n测试人员的素质和待遇。 n测试时间往往被压缩 16.2.2 软件测试的原则n所有测试的标准都是建立在用户需求之上。 n软件测试必须基于“质量第一”的思想去开展各 项工作, n事先定义好产品的质量标准。 n软件项目一启动,软件测试也就是开始。应当 把“尽早和不断地测试”作为测试人员的座右铭。 n穷举测试是不可能的。 n第三方进行测试会更客观,更有效。 n软件测试计划是做好软件测试工作的前提。 n测试用例是设计出来的,不是写出来的。 n不可将测试用例置之度外,排除随意性。 n对发现错误较多的程序段,应进行更深入的测

5、试。16.3 测试的方法应用之道16.3.1 测试的三维构成 16.3.2 测试方法的辩证统一 16.3.3 验证和确认缺一不可 16.3.4 测试用例设计方法的综合运用 16.3.5 测试工具的有效使用 16.3.6 开发高质量的测试脚本16.3.1 软件测试的三维空间单元测试系统测试验收测试性能测试兼容性测试功能测试白盒测 试方法层次或过程方法(哲学思想)特性-质量目标适用性测试可靠性测试集成测试安全性测试灰盒测 试方法黑盒测 试方法16.3.2 测试方法的辩证统一n白盒测试方法 vs. 黑盒测试 方法n静态测试 vs. 动态测试n手工测试 vs. 自动化测试n有计划测试 vs. 随机测试

6、n新功能测试 vs. 回归测试白盒测试 vs. 黑盒测试需求事件输入输出功能测试功能测试数据驱动测试数据驱动测试结构测试结构测试逻辑驱动测试逻辑驱动测试静态测试 vs. 动态测试主持人作者记录评审员SQA协调员用户代表 非正式正式同级评审 走查 会议评审评审动态测试手工测试 vs. 自动化测试手工测试有计划测试 vs. 随机测试新功能测试 vs. 回归测试16.3.3 验证和确认缺一不可Verification:Are we building the product right?是否正确地构造了软件?即是否正确地做事,验证开发过程是否遵守已定义好的内容验证产品满足规格设计说明书的一致性Vali

7、dation: Are we building the right product? 是否构造了正是用户所需要的软件?即是否正在做正确的事。验证产品所实现的功能是否满足用户的需求16.3.4 测试用例设计方法的综合运用n 白盒设计方法又分为逻辑覆盖法和基本路径覆 盖法,或者分为语句覆盖、判定覆盖、条件覆盖方法n 黑盒设计方法分为等价类划分法、边界值划分 法、错误推测法、因果图法等。在实际测试用例设计过程中,不仅根据 需要、场合单独使用这些方法,常常综合运 用多个方法,使测试用例的设计更为有效。 例子Dim a,b as Integer Dim c as Double If (a 0 and b

8、 0) Then c = c/ a End If If (a1 or c1) Then c=c+1 End If c=b+c判定-条件覆盖的测试用例 测试 用例具体取值条件取值条件判定条件输入:a=2,b=1, c=6 输出:a=2,b=1, c=5a0,b0,a1 ,c1C1, C2, C3, C4 = TrueP1, P2= True输入:a=-1,b=-2 ,c=-3 输出:a=-1,b=-2 ,c=-5a=0,b=0, a=1,c=1C1, C2, C3, C4 = FalseP1, P2= False条件组合覆盖的测试用例 测试用例覆盖条件覆盖组 合 输入:a=2,b=1,c=6 输

9、出:a=2,b=1,c=5 C1=True, C2=True, C3=True,C4=TrueP1=True, P2=True输入:a=2,b=-1,c=-2 输出:a=2,b=-1,c=-3 C1=True, C2=false, C3=True,C4=falseP1=false, P2=True输入:a=-1,b=2,c=3 输出:a=-1,b=2,c=6 C1=false, C2=True, C3=false,C4=TrueP1=false, P2=True输入:a=-1,b=-2,c=-3 输出:a=-1,b=-2,c=-5 C1=false, C2=false, C3=false,C4

10、=falseP1=false, P2=false边界值分析法和等价类划分方法16.3.5 测试工具的有效使用1基本要点或原则2选择测试工具3运行框架测试自动化的集成运行环境16.3.6 开发高质量的测试脚本n线性脚本,用于脚本的初始化或用于演示等。n结构化脚本,具有各种逻辑结构、函数调用功 能等。有很好的可重用性、灵活性,易于维护。n共享脚本,脚本语言允许一个脚本调用另一个 脚本。n数据驱动脚本,将测试输入存储在独立的(数 据)文件中,而不是存储在脚本中。n关键字驱动脚本,将测试逻辑按照这些关键字 进行分解,形成数据文件,而测试工具只要能够解释这 些关键字即可对其应用自动化 16.4 测试目标

11、实现的完整性和有效性16.4.1 集成测试 16.4.2 功能测试和适用性测试 16.4.3 性能测试和容量测试 16.4.4 容错性测试和安全性测试 16.4.5 回归测试 16.4.6 安装测试16.4.1 集成测试n 非渐增式测试模式n 渐增式测试模式将两种模式有机结合起来,采用并行的 自顶向下、自底向上集成方式,而形成改进 的三明治方法。而更重要的是采取持续集成 的策略 16.4.2 功能测试和适用性测试n程序安装、启动正常,有相应的提示等 n每项功能符合实际要求 n系统的界面清晰、美观 n能接受正确的数据输入,对异常数据的输入可 以进行提示、容错处理等 n数据的输出结果准确,格式清晰

12、 n功能逻辑清楚,符合使用者习惯 n支持各种应用的环境 n软件升级后,能继续支持旧版本的数据除了正确性和实用性之外,还包括:符合标准和规范、直 观性、一致性、灵活性、舒适性 16.4.3 性能测试和容量测试n性能测试的重点在于前期数据的设计与后期数 据的分析 n尽量模拟不同的加载方式来进行系统的性能测 试 n性能测试要求测试环境应尽量与产品运行环境 保持一致 n通过比较和分析,可以清楚知道系统的性能状 况,以及什么样的条件下系统性能达到最佳状况、什 么地方是性能的瓶颈 压力测试、容量测试和性能测试的手段和方法 很相似,有时可以交织在一起进行测试。压力测试的 重点在于发现系统方面的一些缺陷(性能

13、瓶颈)。容 量测试和性能测试更着力于提供性能与容量方面的指 标数据。 16.4.4 容错性测试和安全性测试容错性测试n输入异常数据或进行异常操作,以检验系 统的保护性。n灾难恢复性测试。通过各种手段,让软件 强制性地发生故障,然后验证系统已保存的用 户数据是否丢失、系统和数据是否能很快恢复 。安全性测试n应用程序级别的安全性,包括对数据或业 务功能的访问,在预期的安全性情况下,操作 者只能访问应用程序的特定功能、有限的数据 。n系统级别的安全性,可确保只有具备系统 访问权限的用户才能访问应用程序,而且只能 通过相应的网关来访问,包括对系统的登录或 远程访问。16.4.5 回归测试回归测试的目的

14、就是在程序有修改的情况下保 证原有功能正常的一种测试策略和方法 。 选择回归测试方法应该兼顾测试风险(覆盖面 )和有效性两个方面 n基于风险选择测试 n基于操作剖面选择测试 n再测试修改的部分 16.4.6 安装测试n环境的不同设置或配置。n安装文档的准确性。n安装的媒体制作是否有问题 。 16.5 测试过程的评审和质量保证16.5.1 测试计划的有效性和全面性 16.5.2 测试用例的复审 16.5.3 严格执行测试 16.5.4 准确报告软件缺陷 16.5.5 提高测试覆盖度 16.5.6 测试结果分析和质量报告16.5.1 测试计划的有效性和全面性测试计划主要集中在测试目标、质量标准 、

15、测试策略、测试范围、测试用例设计方法、 所需资源和日程安排等,其关键是制定有效的 测试策略,界定清楚地测试范围,识别出测试 中所存在的各种风险并找出风险回避、监控和 管理的方法。针对不同的测试目标或阶段确定 测试方法,对测试工作量及所需的资源、时间 进行合理的估算 细说测试计划n制定测试策略 n确定测试范围 n所需资源和日程安排n编制测试计划的技巧n测试项目计划的评审16.5.2 测试用例的复审n测试用例设计的整体思路是否清晰,结构和逻 辑是否合理;n测试用例设计的有效性,测试的重点是否突出 ;n测试用例的覆盖面;n测试用例的描述是否符合所定义的标准;n测试环境是否准确;n测试用例的复用性和可

16、维护性;n测试用例可管理性、易于自动化测试等 16.5.3 严格执行测试n如何确保测试环境满足测试用例所描述的要求 ? n如何保证每个测试人员清楚自己的测试任务和 要达到的目标?n如何保证每个测试用例得到百分之百的执行?n如何保证所报告的软件缺陷正确、描述清楚、 没有漏掉信息?n如何在验证Bug或新功能与回归测试之间寻找 平衡?n如何跟踪Bug处理的进度使严重的Bug及时得 到解决?16.5.4 准确报告软件缺陷n单一 准确n可以 再现n完整 统一n短小 简练n特定 条件n补充 完善n不做 评价16.5.5 提高测试覆盖度通过不断的测试覆盖度评估,掌握测试 的实际状况与测试覆盖度目标的差距,及时 采取措施,以提高测试的覆盖度。n基于需求的测试覆盖评估 n基于代码的测试覆盖评估 16.5.6 测试结果分析和质量报告n

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号