1 / 61

第 1 部分 软件测试概述

第 1 部分 软件测试概述. 袁玉宇 yuanyuyu@263.net yuanyy@cesi.ac.cn yuyu_yuan4@hotmail.com. 本部分课程目标. 软件缺陷的定义 软件缺陷产生的原因 软件测试的目标 软件测试的特征 软件测试的数学基础. 需求规 格说明. 系统测试. 集成测试. 概要设计. 详细设计. 单元测试. 编码. 软件的生命周期. “ 臭虫 ” 的由来. 人们将软件错误称为 “ 臭虫 ” ,这是因为第一个有记载的电脑故障是由线路上的臭虫造成的。就是我们通常称的 “ BUG ” 。. 软件失败的术语描述.

ranit
Download Presentation

第 1 部分 软件测试概述

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第 1部分 软件测试概述 袁玉宇 yuanyuyu@263.net yuanyy@cesi.ac.cn yuyu_yuan4@hotmail.com

  2. 本部分课程目标 • 软件缺陷的定义 • 软件缺陷产生的原因 • 软件测试的目标 • 软件测试的特征 • 软件测试的数学基础

  3. 需求规 格说明 系统测试 集成测试 概要设计 详细设计 单元测试 编码 软件的生命周期

  4. “臭虫”的由来 人们将软件错误称为“臭虫”,这是因为第一个有记载的电脑故障是由线路上的臭虫造成的。就是我们通常称的“BUG”。

  5. 软件失败的术语描述 缺点(defect) 问题 (problem) 谬误 (fault) 矛盾(inconsistency) 失败(failure) 偏差(variance) 毛病 (incident) 特殊(feature) 异常 (anomaly) 错误 (error) 缺陷(bug)

  6. 软件失败的几个定义 • 错误:人类会犯错误。 • 缺陷:缺陷是错误的结果。 • 失效:当缺陷执行时会发生失效。 • 事故:当出现失效时,可能会也可能不会呈现给用户。

  7. 软件缺陷 • 软件未达到产品描述表明的功能。 • 软件出现了产品描述指明不会出现的错误。 • 软件功能超出产品描述指明范围。 • 软件未达到产品描述虽未指出但应达到的目标。 • 软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。

  8. 软件缺陷的分类 • 以出现相应错误的开发阶段来划分; • 以相应失效产生的后果来划分; • 以解决难度来划分; • 以不解决会产生的风险来划分; • 根据异常出现的频率来划分。

  9. 软件缺陷产生的原因 软件缺陷产生的原因有很多,但最主要的原因要归咎于产品描述

  10. 常见导致错误的根源 • 缺乏有效的沟通,或者没有进行沟通; • 软件复杂度 • 不断变更的需求 • 时间的压力 • 缺乏文档的代码 • 软件开发工具

  11. 软件测试员的目标 发现软件缺陷

  12. 测试的目标——证明 • 获取系统在可接受范围内可用的信心; • 尝试在非正常情况和条件下的功能和特性; • 保证一个工作产品是完整的并且可用或可被集成。

  13. 测试的目标——检测 • 发现缺陷、错误和系统不足; • 定义系统的能力和局限性; • 提供组件、工作产品和系统的质量信息。

  14. 测试的目标——预防 • 澄清系统的规格和性能; • 提供预防或减少可能制造错误的信息; • 在过程中尽早检测错误; • 确定问题和风险,并且提前确认解决这些问题和风险的途径。

  15. 错误 错误 需求规 格说明 缺陷解决 修复 错误 缺陷 设计 错误 缺陷隔离 缺陷 编码 事故 缺陷分类 缺陷 测试 软件测试的生命周期

  16. S P 规格说明 (预期的) 程序 (观察的) 软件测试的理解

  17. 规格说明 (预期的) 程序 (观察的) S P 2 6 5 1 4 3 测试用例 (已检验) 8 7 T 软件测试用例的理解

  18. 规格说明 (预期的) 程序 (观察的) S P 测试用例 黑盒测试技术(功能)

  19. 规格说明 (预期的) 程序 (观察的) S P 测试用例 白盒测试技术(结构)

  20. 软件测试的特征 • 软件测试具有一定的风险 • 软件缺陷的寄生虫性 • 软件测试的杀虫剂现象 • 软件测试的不修复原则 • Pareto原则

  21. 完全测试程序是不可能的 原因: • 输入量太大 • 输出结果太多 • 软件实现途径太多 • 软件说明书没有客观标准

  22. 软件测试是有风险的行为 如果决定不去测试所有的情况,那就是选择了风险 。

  23. 软件缺陷的寄生虫性 找到的软件缺陷越多,就说明软件缺陷越多 • 原因: • 程序员的疲倦 • 程序员往往犯同样的错误 • 某些软件的缺陷其实是大灾难的征兆

  24. 软件测试的杀虫剂现象 软件测试越多,其免疫力越强的现象 • 克服方法: • 不断编写不同的新的测试程序 • 对程序的不同部分进行测试

  25. 软件测试的不修复原则 并非所有软件缺陷都能修复 • 不需要修复软件缺陷的原因: • 没有足够的时间 • 不算真正的软件缺陷 • 修复的风险太大 • 不值得修复

  26. Pareto原则 Pareto原则暗示着测试发现的错误中的80%很可能起源于程序模块中的20%。

  27. 软件测试中的误区 • 调试和测试是一样的; • 测试组应当为保证质量负责; • 把测试作为新员工的一个过渡工作; • 关注测试的执行而忽略测试的设计; • 测试自动化是万能的; • 测试时枯燥乏味,缺乏创造力的工作。

  28. 测试人员的离散数学 离散数学包括:集合论、函数、关系、命题逻辑和概率论。

  29. 集合论—集合定义 集合有三种方式定义: • 简单列出集合的元素 • 给出辨别规则 • 通过其他集合构建

  30. 集合论—空集 • 空集采用符号 表示,在集合中占有特殊位置。 • 空集不包含元素。 • 空集是唯一的,即不会有两个空集。 • 如果集合被规则定义为永远失败, 那么该集合就是空集。

  31. 集合论—集合关系 定义: A是B的子集 A是B的真子集 A是B的相等集合。

  32. 集合论—子集划分 • 定义:子集划分 • 由于划分是一组子集, 因此可以把单个子集看做是划分的元素。 • 划分可以保证完备性和无冗余性。

  33. 函数 • 函数的定义 • 函数的定义域与值域 • 函数的类型 • 函数的合成

  34. 关系—集合之间的关系 • 集合之间的关系的定义 • 关系的势的定义 • 关系的参与的定义

  35. 关系—单个集合上的关系 • 关系的四个特殊属性 • 排序关系的定义 • 等价关系的定义

  36. 命题逻辑 • 命题的定义 • 逻辑操作符 • 逻辑表达式 • 逻辑等价

  37. 概率论 • 事件的概率的定义 • 概率论在测试中的应用

  38. 测试人员的图论 • 本课程主要介绍:无向图和有向图。

  39. 图—图的定义 • 定义: 图G=(V,E)有节点的有限(并且非空)集合V和节点无需对偶集合E组成。 V={n1,,n2 ,……,nm} 和 E={e1, e2,…..,ep} 其中每条边ek={ni,nj} ,ni 、nj∈V。

  40. 图—基本概念 • 节点的度 • 图的关联距阵 • 图的相邻距阵

  41. 图—路径 • 路径的定义 • 路径的连接性 • 压缩图 • 圈数

  42. 有向图—定义 • 定义: 有向图(或框图)G=(V,E)包含:一个节点的有限集合V={n1,,n2 ,……,nm},一个边的集合E={e1, e2,…..,ep},其中每条边ek=〈ni,nj〉是节点ni 、nj∈V的一个有序对偶。

  43. 有向图—基本概念 • 内度与外度 • 节点的类型 • 有向图的相邻距阵

  44. 有向图—基本概念 • 路径与半路径 • 可到达性距阵 • n-连接性 • 强组件

  45. 用于测试的图—程序图 • 定义 给定一个采用命令式程序设计语言编写的程序,其程序图是一种有向图,其中: 节点是程序语句,边表示控制流(从节点I到节点j有一条边,当且仅当对应节点j的语句可以立即在节点I对应的语句之后执行。

  46. 用于测试的图—程序图

  47. 用于测试的图—有限状态机 • 定义 有限状态机是一种有向图,其中状态是节点,转移是边。 源状态和吸收状态是初始节点和终止节点,路径被建模为通路。 大多数有限状态机表示方法都要为边(转移)增加信息,已指示转移的原因合作为转移的结果要发生的行动。

  48. 用于测试的图—有限状态机

  49. 用于测试的图—Petri网 • 定义 Petri网是一种双向有向图(P,T,In,Out),其中,P和T是不相交的节点集合,In和Out是边集合, In c PXT,Out c TXP。

  50. 用于测试的图—Petri网

More Related