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

  • 格式:ppt
  • 大小:154.50 KB
  • 文档页数:39

下载文档原格式

  / 39
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

白盒测试主要方法
❖ 逻辑覆盖
语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、 条件组合覆盖、路径覆盖
❖ 基本路径测试
静态测试
❖ 对模块源代码进行研读,查找错误或收集一 些度量数据,并不需要对代码进行编译和仿 真运行。
❖ 主要方法:
人工检测-编码风格、质量检查、对各阶段软件 产品进行检查
计算机辅助静态分析-利用静态分析工具
❖ 致命的 ❖ 严重的 ❖ 一般的 ❖ 微小的
软件缺陷的主要原因
❖ 技术问题 ❖ 团队工作 ❖ 软件本身
软件缺陷集中地
❖ 规格说明书:54% ❖ 设计:25% ❖ 代码:15% ❖ 其他:6%
修复软件缺陷的代价
❖ 缺陷被发现要尽快修复?
解决得越迟,成本越高。
2.3软件测试的原则
❖ 十项原则
软件测试的基本方法
主要内容
❖ 2.1软件质量就是客户的满意度 ❖ 2.2软件缺陷是什么 ❖ 2.3软件测试的基本方法 ❖ 2.4软件测试的分类和阶段 ❖ 2.5软件测试的工作范畴
2.1软件质量就是客户的满意度
❖ 质量:Fra Baidu bibliotek
IEEE-系统、部件或过程满足明确需求 RUP-满足或超出认定的一组需求,并使用经过
认可的评测方法和标准来评估,还使用认定的流 程来生产。
黑盒测试的方法
❖ 等价类划分 ❖ 边界值分析 ❖ 错误推测 ❖ 因果图
白盒测试
❖ 已知产品的内部工作过程,清楚最终生成软 件产品的计算机程序的结构和语句,按照程 序内部的结构测试程序,测试程序内部变量 状态、逻辑结构、运行路径等,检验程序中 的每条通路是否都能按预定要求正确工作, 运行是否符合设计规格。
是有效发现软件缺陷的最小测试执行单元,也被 视为软件的测试规格说明书。
特点:可复用性、有效性、可管理性、继承性、 基础性。
测试结果分析和质量报告
❖ 分析的对象和内容:
测试覆盖率 缺陷分析 产品总体质量分析 过程分析
测试的覆盖率
语句覆盖率 分支覆盖率 子程序调用覆盖率 数据值覆盖率 面向对象覆盖率 MC/DC代码覆盖率
5. 其他测试技术和方法
回归测试 压力测试 恢复测试 安全测试 兼容性测试
软件测试的误区
1. 如果发布出去的软件质量有问题,那是测试 人员的错。
2. 软件测试技术要求不高,比编程容易多了。 3. 有时间就多测一些,来不及就少测一些。 4. 软件测试是测试人员的事,与开发人员无关。 5. 根据软件开发瀑布模型,软件测试是开发后
静态测试主要测试对象
❖ 软件产品设计规格说明书 ❖ 程序代码
动态测试
❖ 通过观察代码运行时的动作来提供执行跟踪、 时间分析,以及测试覆盖度方面的信息,通 过真正运行程序发现错误。
验证和确认
❖ 验证:
检验软件是否已经正确地实现了产品规格说明书 所定义的系统功能和特性。
❖ 有效性确认:
保证所生产的软件可以追溯到用户需求 确认过程提供证据标明软件是否满足系统需求,
❖ 动态测试-静态测试 ❖ 黑盒测试-白盒测试
黑盒测试
❖ 不管程序内部结构,只从用户出发,根据产 品应该实现的实际功能和已经定义好的产品 规格,来验证产品所应该具有的功能是否实 现,每个功能是否能正常使用,是否符合用 户需求。
黑盒测试用途
❖ 是否有不正确或遗漏 ❖ 是否能正确接受输入,产生正确输入 ❖ 访问外部信息是否有错 ❖ 性能上是否满足要求 ❖ 界面是否错误,不美观 ❖ 初始化和终止错误
CMM ISO9000 软件过程改进和能力决断
商业环境中所体现的质量
❖ 涉及与其商业应用环境相关的因素:
产品的客户培训 向市场发布的日程安排 商业风险评估 产品的客户、维护和服务成本
2.2软件缺陷是什么
❖ 软件错误产生的主要原因:
需求说明的错误 需求中的功能无法实现 系统设计的不合理 代码错误
软件缺陷
期的一个阶段。
测试的阶段
不同测试阶段
1. 规格说明书审查 2. 系统和程序设计审查 3. 单元测试 4. 集成测试 5. 功能测试 6. 确认测试 7. 系统测试 8. 验收测试 9. 安装测试
2.5软件测试的工作范畴
❖ 基本上分为两个层次:
1. 软件测试工作的组织与管理:
制定测试策略、测试计划 确认所采用的测试方法与规范 控制测试进度,管理测试资源
❖ 软件产品中所存在的问题,最终表现为用户 所需要的功能没有完全实现,没有满足用户 的需求。
软件缺陷的主要类型
❖ 功能、特性没有实现或部分实现 ❖ 设计不合理,存在缺陷 ❖ 实际结果和预期结果不一致 ❖ 运行出错 ❖ 数据结果不正确,精度不够 ❖ 用户不能接受其他的问题:界面,存取时
间……
缺陷的严重性级别
并解决了相应问题。
自动化测试和随机测试
❖ 自动化测试:
通过一些软件工具进行,尤其是有些无法通过手 工测试来完成的,如负载测试、性能测试等。
❖ 随机测试:
设计测试工具,模拟客户操作的随意性,进行大 量的、自动化的随机测试。
2.4软件测试的分类和阶段
1. 按范围分:
单元测试 组建测试 集成测试 系统测试 验收测试 安装测试
软件质量
❖ 由三部分构成:
产品的质量,满足使用要求的程度 开发过程的质量,能否满足开发所带来的成本、
时间和风险等要求。 软件在商业环境中所表现的质量
❖ 功能性 ❖ 可用性 ❖ 可靠性 ❖ 性能 ❖ 容量 ❖ 可测量性 ❖ 可维护性 ❖ 兼容性 ❖ 可扩展性
产品质量
过程质量
❖ 主要流行的过程改进模型:
2. 测试工作的实施:
编制符合标准的文档 研制测试环境,与开放组织协作实现各阶段的测试活

测试计划制定
❖ 测试计划中明确要完成的测试活动,评估完 成获得所需要的时间和资源等,主要内容包 括:
制定测试策略 制定测试范围 测试用例的设计方法和要点 所需资源和日程安排
设计测试用例
❖ 测试用例:
按一定顺序执行的与测试目标相关的测试活动的 描述
2. 按测试目的分
正确性测试:白盒-黑盒 性能测试 可靠性测试:强壮性、异常处理、负载 安全性测试
3. 按测试对象分:
单元测试 组件测试 模块测试 程序测试 系统测试 文档测试
4. 按测试过程分类:
需求阶段测试 设计阶段测试 程序阶段测试 测试结果的评估 安装测试 验收测试 测试变化