文章目录
章节重要程度 3 > 1、2、4、5、6、7 > 10、13
Ch1 引论
- 软件测试的价值
- 全面评估产品质量,获得有关产品质量的全面、客观的信息
- 发现问题,督促问题解决,提高产品质量
- 持续提供质量反馈、及时揭示质量风险,有助于控制项目风险,提高构建的质量
- 通过缺陷分析,获得缺陷模式,有助于缺陷预防
- 软件测试的观点
正反两个方向的思维:- 正向思维:验证软件正常工作 -> 评价一个程序或系统的特性或能力并确定是否达到预期的结果 -> 在设计规定的环境下运行软件的所有功能,直至全部通过。
- 逆向思维:假定软件有错误 -> 测试是为发现错误而针对某个程序或系统的执行过程 -> 寻找容易犯错误的地方和系统的薄弱环节,试图破坏系统,直至找不出问题。
- 测试与开发的关系
测试与开发有一对一的关系
V模型从4个层次完成软件的验证,即对需求、系统架构设计、详细的产品设计和代码的验证- 需求验证对应验收测试,客户需求的确认测试
- 系统架构设计的验证对应系统非功能性测试
- 产品详细设计的验证对应功能测试
- 代码的验证对应单元测试和集成测试
Ch2 软件测试的基本概念
- 测试的分类
- 按测试的对象或范围分类,如单元测试、文档测试、系统测试等)
- 按测试目的分类,如功能测试、回归测试、性能测试、可靠性测试、安全性测试和兼容性测试等
- 根据测试过程中被测软件是否被执行,分为静态测试和动态测试
- 根据是否针对系统的内部结构和具体实现算法来完成测试,可分为白盒测试和黑盒测试
- 静态、动态、白盒、黑盒测试以及不同的测试的组合
- 静态测试包括对软件产品的需求和设计规格说明书的评审、对程序代码的复审等。静态分析的查错和分析功能是其他方法所不能替代的,可以采用人工检测和计算机辅助静态分析手段进行检测,但越来越多地采用工具进行自动化分析
- 动态测试是通过真正运行程序发现错误,通过观察代码运行过程,来获取系统信息,对