《软件测试》第1、2章知识点整理
第1章 软件测试的背景
1.1 臭名昭著的软件错误用例研究
1.1.1 迪斯尼的狮子王 1994—1995(兼容性)
1.1.2 英特尔奔腾浮点除法缺陷 1994(缺陷处理)
1.1.3 美国航天局火星极地登陆者号探测器 1999(集成测试)
1.1.4 爱国者导弹防御系统 1991 (长时间测试的压力)
1.1.5 千年虫问题 1974 (算法设计)
1.1.6 危险的预见 2004 (难保证软件的正确性)
1.2 软件的缺陷是什么
1.2.1 软件失败的术语
情况严重:故障(fault)、失败(failure)、缺点(defect);
不尖锐:异常(anomaly)、事件(incident)、偏差(variance);
常用语:问题(problem)、错误(error)、缺陷(bug);
1.2.2 软件缺陷的官方定义
软件的产品说明书定义了软件缺陷;
至少满足下列5个规则之一才称发生了一个软件缺陷:
1)软件未实现产品说明书要求的功能。
2)软件出现了产品说明书指明不应该出现的错误。
3)软件实现了产品说明书未提到的功能。
4)软件未实现产品说明书虽未明确提及但应该实现的目标。
5)软件难以理解、不易使用、运行缓慢或者——从测试员的角度看——最
终用户会认为不好。
1.3为什么会出现软件缺陷
导致软件缺陷最大的原因是产品说明书
1.4软件缺陷的修复费用
随着时间的推移,修复软件缺陷的费用惊人地增长;所以应尽可能早的进行
测试(测试工作很重要)
1.5软件测试员究竟做些什么
1)软件测试员的目标是发现软件缺陷。
2)软件测试员的目标是尽可能早地找出软件缺陷。
3)软件测试员的目标是尽可能早地找出软件缺陷,并确保其得以修复。
1.6优秀的软件测试员应具备的素质:探索者、故障排除员、不放过任何蛛丝马
迹、创造性、追求完美者、判断准确、注重策略和外交、善于说服。
第2章 软件开发的过程
2.1 产品的组成部分
1)客户需求
2)产品说明书(规范化的客户需求,明确指定软件的功能)
3)进度表
4)软件设计文档
常用软件设计文档清单:结构文档、数据流图、状态转换图、流程图、代
码注释
5)测试文档
测试提交清单:测试计划、测试用例、缺陷报告、测试工具和自动测试、
度量、统计和总结
2.2 软件项目成员
1)项目经理、程序经理或者监制人员自始自终驱动整个项目。
2)体系架构师或者系统工程师是产品小组的技术专家。
3)程序员、开发人员或者代码制作者设计、编写软件并修复软件中的缺陷。
4)测试员或质量保证员负责找出并报告软件产品的问题。
5)技术作者、用户协助员、用户培训专员、手册编写员或者文案专员编制软
件产品附带的文件或联机文档。
6)配置管理员或构建员负责把程序员编写的代码及技术作者写的全部文档资
料组合在一起,合成为一个软件包。
2.3 软件开发生命周期模式
2.3.1 大爆炸模式(优点是简单)
2.3.2 边写边改模式(考虑了产品需求,没有特别强调测试)
2.3.3 瀑布模式
构思-->分析-->设计-->开发-->测试-->最终产品(需要一步接一步进行)
三点强调:
1)瀑布模式非常强调产品定义。注意:开发或者代码编制阶段只是其中单
独的一块。
2)瀑布模式各步骤是分立、没有交叉。
3)瀑布模式无法回溯。一旦进入某一个步骤,就要完成该步骤的任务,然
后才能向下继续——无法回溯。
2.3.4 螺旋模式
螺旋模式每一次循环包括6个步骤(螺旋模式包含了一点瀑布模式、一点
一边写一边改模式和一点大瀑布模式):
1)确定目标、可选方案和限制条件。
2)明确并化解风险。
3)评估可选方案。
4)当前阶段开发和测试。
5)计划下一阶段。
6)确定进入下一阶段的方法。