软件测试(2)软件测试分类及流程
一、软件测试分类
1.软件测试分类(P29)
(1)按照测试方法分类
- 白盒测试:程序透明,检查内部结构路径
- 黑盒测试:根据用例推断程序结果
- 灰盒测试:黑白结合,基于外部表现和内部逻辑来设计用例
(2)按照测试方式的分类
- 静态测试:不运行程序,仅分析程序语法、结构、过程、接口
- 动态测试:模块测试、逻辑测试、结构测试
(3)按照测试过程分类
- 单元测试:模块测试、逻辑测试、结构测试
- 继承测试:组装测试、综合测试、联合测试
- 系统测试:验证和确认系统是否达到其原始目标
- 验收测试:交付测试,α(开发环境)、β(实际环境)测试
(4)按照测试目的分类
- 功能测试:针对产品规格说明书对软件进行测试
- 接口测试:对各个模块进行系统联调的测试,包含程序内接口和程序外接口测试
- 用户界面测试:用户界面风格是否满足客户要求
- 健壮性测试:对程序容错能力的测试
- 性能测试:测试系统性能是否满足用户要求
- 强度测试:迫使系统在异常的资源配置下运行
- 压力测试:超负荷环境中,检验程序能否正常运行
- 负载测试:资源超负荷情况下的表现
- 安全性测试:测试系统防止非法侵入的能力
- 可靠性测试:验证可靠性水平是否满足用户的要求
- 恢复测试:系统应对故障以及恢复能力
- 安装/卸载测试:安装卸载是否正常
- 兼容性测试:是否兼容不同的平台、不同的工具以及不同版本的兼容性等
- 文档测试:检查内部/外部文档的清晰性和准确性
(5)按照执行过程是否需要人工干预分类
- 手工测试:手工输入执行逐个观察结果
- 自动测试:将大量的重复性测试交给计算机完成
二、软件测试基本流程
1.软件测试的基本流程(P32)
- 需求分析
- 制定测试计划
- 设计测试方案
- 测试准备和测试环境的建立
- 执行测试
- 测试评估
- 测试总结
- 测试维护
2.测试评估的方法包括(P36)
- 缺陷评估:缺陷达到的比率
- 覆盖评测:对测试完全程度评测
- 质量评测:对软件的可靠性、稳定性和性能的评测
三、 软件测试原则
- 尽早测试
- 全面测试
- 全过程测试
- 独立的、迭代的测试
- Pareto测试
- 对测试出的错误结果一定要有一个确认的过程
- 制定严格的测试计划
- 完全测试是不可能的,测试需要终止
- 注意回归测试的关联性
- 妥善保存一切测试过程文档
四、软件测试用户
1.测试用例定义(P39)
测试用例就是设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所涉及的执行结果
2.测试用例设计原则(P39)
- 基于测试需求的原则
- 用成熟测试用例设计方法来指导设计
- 兼顾测试充分性和效率的原则
- 测试执行的可再现性原则
- 足够详细、准确和清晰的步骤
3.测试用例设计应避免的原则(P41)
- 把测试用例设计等同于测试输入数据的设计
- 强调测试用例设计的“越详细越好”
- 追求测试用例设计“一步到位”
- 将多个测试用例混在一个用例中
- 让没有测试经验的人员设计测试用例