软件测试的基本概念和方法.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 软件测试的基本概念和方法 主要内容 2.1软件质量就是客户的满意度 2.2软件缺陷是什么 2.3软件测试的基本方法 2.4软件测试的分类和阶段 2.5软件测试的工作范畴 2.1软件质量就是客户的满意度 质量: IEEE-系统、部件或过程满足明确需求 RUP-满足或超出认定的一组需求,并使用经过认可的评测方法和标准来评估,还使用认定的流程来生产。 软件质量 由三部分构成: 产品的质量,满足使用要求的程度 开发过程的质量,能否满足开发所带来的成本、时间和风险等要求。 软件在商业环境中所表现的质量 产品质量 功能性 可用性 可靠性 性能 容量 可测量性 可维护性 兼容性 可扩展性 过程质量 主要流行的过程改进模型: CMM ISO9000 软件过程改进和能力决断 商业环境中所体现的质量 涉及与其商业应用环境相关的因素: 产品的客户培训 向市场发布的日程安排 商业风险评估 产品的客户、维护和服务成本 2.2软件缺陷是什么 软件错误产生的主要原因: 需求说明的错误 需求中的功能无法实现 系统设计的不合理 代码错误 软件缺陷 软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,没有满足用户的需求。 软件缺陷的主要类型 功能、特性没有实现或部分实现 设计不合理,存在缺陷 实际结果和预期结果不一致 运行出错 数据结果不正确,精度不够 用户不能接受其他的问题:界面,存取时间…… 缺陷的严重性级别 致命的 严重的 一般的 微小的 软件缺陷的主要原因 技术问题 团队工作 软件本身 软件缺陷集中地 规格说明书:54% 设计:25% 代码:15% 其他:6% 修复软件缺陷的代价 缺陷被发现要尽快修复? 解决得越迟,成本越高。 2.3软件测试的原则 十项原则 软件测试的基本方法 动态测试-静态测试 黑盒测试-白盒测试 黑盒测试 不管程序内部结构,只从用户出发,根据产品应该实现的实际功能和已经定义好的产品规格,来验证产品所应该具有的功能是否实现,每个功能是否能正常使用,是否符合用户需求。 黑盒测试用途 是否有不正确或遗漏 是否能正确接受输入,产生正确输入 访问外部信息是否有错 性能上是否满足要求 界面是否错误,不美观 初始化和终止错误 黑盒测试的方法 等价类划分 边界值分析 错误推测 因果图 白盒测试 已知产品的内部工作过程,清楚最终生成软件产品的计算机程序的结构和语句,按照程序内部的结构测试程序,测试程序内部变量状态、逻辑结构、运行路径等,检验程序中的每条通路是否都能按预定要求正确工作,运行是否符合设计规格。 白盒测试主要方法 逻辑覆盖 语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖 基本路径测试 静态测试 对模块源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和仿真运行。 主要方法: 人工检测-编码风格、质量检查、对各阶段软件产品进行检查 计算机辅助静态分析-利用静态分析工具 静态测试主要测试对象 软件产品设计规格说明书 程序代码 动态测试 通过观察代码运行时的动作来提供执行跟踪、时间分析,以及测试覆盖度方面的信息,通过真正运行程序发现错误。 验证和确认 验证: 检验软件是否已经正确地实现了产品规格说明书所定义的系统功能和特性。 有效性确认: 保证所生产的软件可以追溯到用户需求 确认过程提供证据标明软件是否满足系统需求,并解决了相应问题。 自动化测试和随机测试 自动化测试: 通过一些软件工具进行,尤其是有些无法通过手工测试来完成的,如负载测试、性能测试等。 随机测试: 设计测试工具,模拟客户操作的随意性,进行大量的、自动化的随机测试。 2.4软件测试的分类和阶段 按范围分: 单元测试 组建测试 集成测试 系统测试 验收测试 安装测试 按测试目的分 正确性测试:白盒-黑盒 性能测试 可靠性测试:强壮性、异常处理、负载 安全性测试 按测试对象分: 单元测试 组件测试 模块测试 程序测试 系统测试 文档测试 按测试过程分类: 需求阶段测试 设计阶段测试 程序阶段测试 测试结果的评估 安装测试 验收测试 测试变化 其他测试技术和方法 回归测试 压力测试 恢复测试 安全测试 兼容性测试 软件测试的误区 如果发布出去的软件质量有问题,那是测试人员的错。 软件测试技术要求不高,比编程容易多了。 有时间就多测一些,来不及就少测一些。 软件测试是测试人员的事,与开发人员无关。 根据软件开发瀑布模型,软件测试是开发后期的一个阶段。 测试的阶段 不同测试阶段 规格说明书审查 系统和程序设计审查 单元测试 集成测试 功能测试 确认测试 系统测试 验收测试 安装测试 2.5软件测试的工作范畴 基本上分为两个层次: 软件测试工作的组织与管理: 制定测试策略、测试计划 确认所采用的测试方法

文档评论(0)

iris + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档