《软件测试 第 2 版》读书笔记

前两部分 1~7章

  • (第一部分 软件测试综述)
  • 第 1 章 软件测试的背景
    • 1.1 臭名昭著的软件错误用例研究
    • 1.2 软件缺陷是什么
    • 1.3 为什么会出现软件缺陷
    • 1.4 软件缺陷的修复费用
    • 1.5 软件测试员究竟做些什么
    • 1.6 软件测试员应具备的素质
  • 第 2 章 软件开发的过程
    • 2.1 产品的组成部分
    • 2.2 软件项目成员
    • 2.3 软件开发生命周期模式
  • 第 3 章 软件测试的实质
    • 3.1 测试的原则
    • 3.2 软件测试的主语和定义
  • (第二部分 测试基础)
  • 第 4 章 检查产品说明书(静态黑盒测试)
    • 4.1 开始测试
      • 4.1.1 黑盒测试和白盒测试
      • 4.1.2 静态测试和动态测试
      • 4.1.3 静态黑盒测试、测试产品说明书
    • 4.2 对产品说明书进行高级审查
    • 4.3 产品说明书的低层次测试技术
      • 4.3.1 产品说明书属性检查清单
      • 4.3.2 产品说明书术语检查清单
  • 第 5 章 戴上眼罩测试软件(动态黑盒测试 / 行为测试)
    • 5.1 动态黑盒测试:戴上眼罩测试软件
    • 5.2 通过性测试和失效性测试
    • 5.3 等价类划分
    • 5.4 数据测试
    • 5.5 状态测试
    • 5.6 其他黑盒测试技术
  • 第 6 章 检查代码(静态白盒测试 / 结构化分析)
    • 6.1 静态白盒测试:检查设计和代码
    • 6.2 正式审查
      • 6.2.1 同事审查 / 伙伴审查
      • 6.2.2 走查
      • 6.2.3 检验
    • 6.3 编码标准和规范
    • 6.4 通用代码审查清单
  • 第 7 章 带上 X 光眼镜测试软件(动态白盒测试 / 结构化测试)
    • 7.1 动态白盒测试
    • 7.2 动态白盒测试和调试
    • 7.3 分段测试
      • 7.3.1 单元测试和集成测试
      • 7.3.2 单元测试示例
    • 7.4 数据覆盖
    • 7.5 代码覆盖

(第一部分 软件测试综述)

第 1 章 软件测试的背景

本章重点:
(1)软件缺陷如何影响我们的生活
(2)软件缺陷是什么,为什么会出现
(3)软件测试员是谁,他们在做什么

1.1 臭名昭著的软件错误用例研究

1.2 软件缺陷是什么

  • 软件失败的术语
    缺点、故障、失败、异常、事件、偏差、问题、错误、缺陷、矛盾、特殊等。描述软件缺陷的术语很多,完全取决于公司的文化和开发软件的过程。在用词上过多计较是没有意义的。
    本书中,所有软件问题都称为 缺陷(bug)
  • 软件缺陷 的官方定义
    产品说明书:又称说明产品说明,是软件开发小组的一个协定。它对开发的产品进行定义,给出了 产品的细节、如何做、做什么、不能做什么。(详见第 2 章)
    至少满足下列 5 个规则之一才称发生了一个 软件缺陷(software bug)
    (1)软件未实现产品规格说明书要求的功能
    (2)软件出现了产品规格说明书指明不应该出现的错误
    (3)软件实现了产品规格说明书未提到的功能
    (4)软件未实现产品规格说明书虽未明确提及但应该实现的目标
    (5)软件难以理解、不易使用、运行缓慢、或者(从测试员的角度看)最终用户会认为不好
    注: 第(4)条,其目的是为了捕获产品说明书上的遗漏之处。第(5)条,并非所有测试发现的缺陷都要修改,要全面,最重要的是要客观。

1.3 为什么会出现软件缺陷

《软件测试 第 2 版》读书笔记_第1张图片
(1)最大的原因是 产品说明书。没有写、不够全面且经常更改、整个开发小组没有很好地沟通(随意、易变、沟通不足)
(2)第二大来源是 设计。这是程序员规划软件的过程(随意、易变、沟通不足)
(3)编码。许多看上去是编程错误的软件缺陷实际上是由产品说明书设计方案造成的
(4)其他

1.4 软件缺陷的修复费用

《软件测试 第 2 版》读书笔记_第2张图片
从开始到计划、编程、测试,到公开使用的过程中,都有可能发现软件缺陷。修复软件缺陷的费用呈 指数级 地增长(即,随着时间的推移,费用呈 十倍 地增长)

1.5 软件测试员究竟做些什么

软件测试员的目标: 尽可能早地找出缺陷,并确保其得以修复

1.6 软件测试员应具备的素质

(1)喜欢探索,喜欢拿到一个新的软件安装在自己的机器上,观看结果
(2)故障排除员,善于发现问题的症结,喜欢解谜
(3)不放过任何蛛丝马迹,喜欢不停地尝试,去发现软件缺陷
(4)具有创造性,创造新的手段来发现缺陷
(5)追求完美,但当知道某些无法企及时,不去苛求,而是尽力接近

你可能感兴趣的:(软件测试,软件测试)