好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

软件效果测试讲解.ppt

142页
  • 卖家[上传人]:mg****85
  • 文档编号:49793864
  • 上传时间:2018-08-03
  • 文档格式:PPT
  • 文档大小:689.50KB
  • / 142 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第六章 软件测试§6.1 基本概念软件开发过程必须伴有质量保 证活动软件测试是软件质量保证的关 键元素,代表了规约、设计和 编码的最终检查有关测试的思考题 •软件测试是一门非常重要的学科,主要研 究内容是什么? •软件测试需要什么样的专业基础 •软件质量到底是什么? •测试的目标是什么? •开发一个测试系统之前你是否明白: • 可以测试什么? • 应该测试什么? • 最终能够测试什么?测试的目标是什么?软件产品最大的成本是检测软件错误、修正软件错误的成本在整个软件开发中,测试工作量一般占30%~40%,甚至≥50%在人命关天的软件(如飞机控制、 核反应堆等)测试所花费的时间 往往是其它软件工程活动时间之 和的三到五倍软件测试背景 软件是人编的—所以不完美 实例: •1994-1995,迪斯尼的狮子王系统不支持问题 •Intel的pentium处理器 •1994年浮点除法缺陷 •200年8月28日,1.13MHZ处理器一个可能导致运行程 序被挂起的执行指令问题 •1999年12月3日,美国航天局火星极地登陆飞船失 踪 •1991年爱国者导弹防御系统系统时钟错误积累造 成跟踪系统失去精确度 •千年虫,世界各地解决2000年错误超过数亿美元软件测试的认识的发展 人们对软件测试认识的五个阶段: 阶段1 — 测试=调试 阶段2 — 测试是证明软件正确 阶段3 — 测试是发现软件中错误 阶段4 — 测试是减小软件不工作的风险 (是度量软件质量要素的过程 ) 阶段5 —测试可产生低风险的软件的一种认识上的训练三个盲人和一头大象:你能够为质量下定义吗?质量管理领域权威人物J.M.Juran将质量定义为“决定产品性能和‘满意程度’的特征”, 测试注重于产品的满意度。

      测试应针对这样一种情况:软件产品在一些特定的范围内不能满足 客户的合理要求通过测试过程可以评定质量风险(可能 的错误),了解被测试系统中存在的错误 模式(观察到的错误症状)质量控制技术质量控制活动分类开发方法学配置管理验证技术评 审正确性验证性能调试组件测试集成测试系统测试原子事务模块冗余性检 错质量控制避免错误容 错调 试测 试软件质量问题以软件测试为中心的软件质量保障技术软件 静态测试技术 质量 软件度量技术 控制 动态测试技术 技术 配置管理技术修改控制与管理技术软件测试是保证软件质量,提高 软件可靠性的关键软件测试的目标(1)预防错误: 几乎不可实现 (2)发现错误6.1.1 测试的目的与地位G.J.Myers在中认为:1.测试是为了寻找错误而运行程序的过程2.一个好的测试用例是指很可能找到迄今为 止尚未发现的错误的测试3.一个成功的测试是揭示了迄今为止尚未发 现的错误的测试E.W.Dijkstra 指出: “程序测试能证明错误的存在, 但不能证明错误不存在.”测试的目的是发现程序中 的错误,是为了证明程序有错, 而不是证明程序无错.把证明程序无错当作测试目的不仅 是不正确的, 完全做不到的,而且对做 好测试没有任何益处,甚至是十分有害 的.软件测试要设法使软件发生故障, 暴露软件错误测试的“成功”与“失败”能够发现错误的测试是成功的 测试,否则是失败的测试。

      “测试的目的是说明程序正确地执行 它应有的功能” 这种说法正确吗?例:程序Triangle,输入三个整数,表示一 个三角形的三个边长,该程序产生一个结果 ,指出该三角形是等边三角形、等腰三角形 还是不等边三角形为说明其能正确执行它的功能,可使用 “测试用例”(3,4,5),(5,5,6),(6,6,6), 程序都能给出正确结果,是否就可认为程序 是正确的?难以说清的软件缺陷古谚: “一片树叶飘落在森林中没有人听见,谁能说它发出了声音?”由于不能报告没有看见的问题,因此, 没有看见就不能说存在软件缺陷如果软件中的问题没有人发现,那 么它算不算软件缺陷?”只有看到了,才能断言软件缺陷,尚未 发现的软件缺陷只能说是未知软件缺陷眼 见 为 实6.1.2 测试原则(1)所有的测试都应追溯到用户需求最严重的错误(从用户角度)是那 些导致软件无法满足需求的错误程序中的问题根源可能在开发 前期的各阶段解决、纠正错误也必须 追溯到前期工作测 试 与 开 发 前 期 工 作 的 关 系决定软件与系统的配合关系需求分析概要设计详细设计编 码单元测试集成测试确认测试系统测试开发前期出现错误的扩展计划需求 分析设 计编 码测 试 A AB软件生存期各阶段间需保持的正确性 用户要求 用户: 我要什么?运行结果 计算机: 程序运行得 到的结果源程序 程序员: 我要让计算 机什么做? 设计说明书 设计员: 我要让软件 做什么?需求说明书 分析员: 我可以提 供什么?12345理解正确性 表达正确性理解正确性 设计正确性 表达正确性理解正确性 编码正确性运行正确性 输入正确性相符吗?测试原则 (2)概要设计时应完成测试计划,详细的测试用例定义可在设计模型确定后开始,所有测试可在任何代码被产生之前进行计划和设计。

      软件测试不等于程序测试软件测试应贯穿于软件定义与开发 的整个期间;据美国一家公司统计,查出的软件错误 中,属于需求分析和软件设计的错误 约占 64%,属于程序编写的错误仅占 36%程序编写的许多错误是“先天的 ”测试阶段工作步骤•单元测试: 检验每个模块能否单独工作.•集成测试: 检验概要设计中模块接口设计问题•确认测试: 以需求规格说明书为检验尺度•系统测试: 综合检验 测试可视为分析、设计、编码三个阶 段的最终复审,以保证软件质量.测试原则(3)pareto原则:测试发现的错误中80% 很可能起源于20%的模块中应孤立这 些疑点模块重点测试4)穷举测试是不可能的5)应由独立的底三方来构造测试开发和测试队伍分别建立)测试原则例:测试计算器程序 •加法测试 1+0= …… 1+99999999999999999999999999999999= 2+0= …… 2+99999999999999999999999999999999= …… 99999999999999999999999999999999+99999999999999999999999999999999= 1.0+0.1= 1.0+0.2= ……•减法测试 •乘法测试 •除法测试 •求平方根 •百分数 •倒数测试原则(6)测试用例应由输入数据和预期的输出结果两部分组成. (7)兼顾合理的输入和不合理的输入数据(8)程序修改后要回归测试(9)应长期保留测试用例,直至系统废弃。

      测试原则:软件测试是有风险的行为数 量遗漏软件 缺陷数目测试费用测试中测试后软 件测试工作量每一个软件项目都有一个最优的测量量最优测量量6.1.3 可测试性可测试软件的特征: §可操作性 §可观察性 §可控制性 §可分解性 §简单性 §稳定性 §易理解性“好”测试的属性: §发现错误的可能性高 §不冗余 §在目的相似的测试中,应使用最 可能找到错误的测试 §每一个测试应独立执行软件测试有关概念测试中用到的模型元素(UML类图)测试组测试用例故 障组 件测试存根测试驱动程序误 差错 误改 正由……修改由……引起由……引起找出使用修改1…n***********•组件是系统中可以孤立进行测试的部分,一个组件可以 是对象,一组对象,一个或多个子系统 •错误,也称缺陷或不足,是可能引起组件不正常行为的 设计或编码错误 •误差是系统执行过程中错误的表现 •故障是组件的规格说明与其行为之间的偏差,故障是由 一个或多个误差引起的 •测试用例是一组输入和期待的结果,它根据引起故障和 检查的目的来使用组件 •测试存根是被测试的组件所依赖的其它一些组件的实现 部分测试驱动程序是依赖被测试组件的那个组件的实 现部分。

      •改正是对组件的变化改正的目的在于修正错误改正 可能会产生新的错误错误(fault)、误差(error)和故障(failure)出轨(出故障)?图中不表示故障,因为既没有指定期望行为也没有任何观察的行为, 它也不表示误差,因为这不意味着系统正处在进一步处理将导致故 障的状态.错误(fault)、误差(error)和故障(failure)用例名称 DriveTrain 参与执行者 火车司机 入口条件 司机按下控制面板上的StrartTrain 事件流 1.列车开始在轨道1上运行2.列车平移到轨道2 退出条件 列车运行在轨道2上 特殊条件 没有用例DriveTrain指定了列车的期望行为:错误(fault)、误差(error)和故障(failure)测试用例标识符 DriveTrain 测试位置 http://www12.in.tum.de/…… 要测试的特征 引擎连续运行5s 特征合格/不合格标准 如果列车连续前进5s,并且至少 通过两个轨道的长度,则测试通过 控制方法 驱动程序StrartTrain调用StrartTrain() 方法 数据 从输入文件http://www12.in.tum.de/…中得到运行方向和持续时间 …… ……用例DriveTrain的测试用例DriveTrain :执行这个测试用例时,可以证明系统是包含有错误的软件测试有关概念—术语和定义软件测试要精度还是准确度很大程度上取决 于产品是什么,最终取决于开发小组的目标。

      既不准确又不精确精确但不准确准确但不精确既准确又精确精确和准确软件测试有关概念—术语和定义•验证和合法性检查 •验证是检查软件符合产品说明书的过程 •合法性检查是保证软件满足用户要求的过程 •质量和可靠性可靠性只是质量的一个方面 •测试和质量评判(QA) •软件测试员的目标是找出软件缺陷 •软件质量评判人员的主要职责是创建和加强 促进软件开发并防止软件缺陷的标准和方法测试 (test) 调试 (debug)以已知条件开始, 使用预先定义的程序, 有预知的结果以不可知内部条件 开始,结果一般不可 预见有计划被动的由独立的测试组,在 不了解软件设计的条 件下完成由程序作者进行发现错误找出错误位置,排除测试与调试(排错)软件错误分类F 功能错(需求分析错误)F 软件结构错F 数据错F 编码错F 软件集成错F 测试定义与测试执行错误 6.1.4 测试用例设计选择测试用例是软件测试员最重要的一项工作测试用例的属性:属性 描述 name 测试用例的名称 location 可执行的完全路径名 input 输入数据或命令 oracle 与测试输入相比较的期待测试结果 log 测试生产的输出程序测试举例 例:程序 Triangle, 输入三个整 数,表示一个三角形的三个边长,该程序产生一个结果,指出该三角形是等边三角形、等腰三角形还是不等边三角形。

      判断三角型的测试用例设计:输入数据 预期结果 (1) 6;6;6 等边 (2) 8;8;4 等腰 (3) 4;5;6 一般 还应输入非法数据:0; 7; 9-7;3; 5a; 2; 7 等6.1.5 软件测试信息流软件 配置测试测试 配置测试 工具结果 分析排错可靠性分析测试 结果错误预期 结果出错率改正 的软件预测 的可 靠性需求规格说明书 软件设计说明书被测源程序测试计划测试用例 (测试数据) 测试驱动程序测试活动和相关工作产品项目协议对象设计客户开发人员用户集成策略系统分解功能性需求非功能性需求单元测试集成测试结构测试功能测试性能测试来自ODD来自TP来自SDD来自RAD来自RAD用户手册验收测试安装测试现场测试日常操作测试设计中需要考虑的22种测试类型 •黑盒测试 •。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.