文档介绍:软件测试引论
郑人杰
一、软件缺陷
二、排除软件缺陷的两种重要手段
1. 软件测试
2. 软件评审
三、软件测试的基本概念
1. 测试的目的
2. 测试的对象
3. 软件测试的原则
4. 软件测试信息流
5. 为什么不可能做到穷举测试
内容
内容
四、测试策略
1. 测试步骤
2. 生存期各阶段VV&T活动
3. 集成测试
4. 验收测试
5. 黑盒测试与白盒测试
6. 静态分析与动态测试
五、如何对待测试工作
六、测试工作评估
七、小结
八、参考资料
一、软件缺陷
1、软件缺陷是对软件产品预期属性的偏离现象
对产品规格说明的偏离。如:规格说明规定了a+b=>c,而软件产品实际上做的不是。
对用户期望的偏离,即用户要求未体现在产品中(可能是规格说明有疏漏,也可能是实现中的问题。)
2、缺陷有三种
错误:未将规格说明正确实现。
遗漏:规定的或预期的需求未体现在产品中(可能未将规格说明全面实现,也可能在开发过程中追加了需求。)
额外的实现:规格说明并未规定的需求被纳入产品,得到实现。
3、软件缺陷不可能完全避免
一、软件缺陷
4、缺陷和事故
机械和建筑业的对比。
缺陷是软件内部的“裂缝”,在未影响到用户和系统运行的情况下是隐蔽状态,并未表现出来。
当缺陷引发运行错误或产生负面影响时,构成事故,造成损失或伤害。
缺
陷
错误
遗漏
冗余
失效
或
事故
损失
或
危害
内部隐含
外部表现
Defect
Failure
二、排除软件缺陷的两种重要手段
1、软件测试
测试在软件开发中占有重要地位
测试成本占有开发成本的近一半
软件开发成本分布
软件类型
开发成本按阶段分布%
需求与设计
实现
测试
控制软件
46
20
34
航空航天软件
34
20
46
操作系统
33
17
50
科技计算软件
44
26
30
商业应用软件
44
28
28
需求分析
设计走查
概要设计
设计评审
详细设计
编码
代码走查
单元测试
集成测试
确认测试
测试评审
需求评审
测试策划
2、软件项目评审
三、软件测试的基本概念
1、测试目的(J. Myers)
测试是程序执行的过程,目的在于发现错误(缺陷)
好的测试用例能有效地发现别的测试用例未发现的错误(缺陷)
成功的测试是发现了未曾发现的错误(缺陷)
三、软件测试的基本概念
2、测试的对象
1) 程序测试:发现程序中的缺陷
测试
数据
程序P
比较
结果数据
预期数据
相符
不符
追查缺陷