从该软件测试阶段上划分,软件测试可分为单元测试、集成测试、系统测试和确认测试。
1. 单元测试
单元测试也成为模块测试,通常放在编程阶段,由程序员对自己编写的模块进行测试,检查模块是否实现了详细设计说明书中规定的功能和算法。
单元测试的测试对象包括:模块接口、局部数据结构、重要执行通路、出错处理通路和边界条件。
2. 集成测试
集成测试也成为组装测试,对由各模块组装而成的程序进行测试,主要目的是发现模块间的接口和通信问题。
集成测试的模块组装方式包括一次性组装和增量式组装。一次性组装是指一次性把所有模块组装起来进行测试;增量式组装是先少量组装不同模块并测试通过之后,再增加新的模块进来进行测试,依次逐步完成所有模块的组装测试。增量式组装工作量会更大,但相对一次性组装也更为稳妥,更容易全面的发现问题。
增量式组装又可分为自顶向下集成和自底向上集成,也可将两种方式混合使用。
3. 系统测试
系统测试是对已经集成好的软件系统进行充分的测试,验证系统的整体功能和性能是否满足其设计要求,检查软件的行为和输出是否正确。系统测试主要由测试部门进行,是测试部门最大、最重要的一个测试,对产品的质量有重大的影响。
软件作为计算机系统的一部分,与硬件、网络、外设、支撑软件、数据以及人员结合在一起,在实际或模拟环境下,对计算机系统进行测试。
以下几个方面的测试可划归系统测试的范畴:
- 恢复测试
- 安全性测试
- 压力测试
- 性能测试(负载测试、强度测试、容量测试)
- 可靠性测试
- 可用性测试
- 可维护性测试
- 安装测试
4. 确认测试
确认测试包括:
内部确认测试包含两个方面的内容:(1)依据软件需求说明书检测软件的功能、性能及其他特征是否与用户的需求相一致;(2) 软件配置复查,保证软件配置的所有成分都已齐全,符合质量要求、文档与程序完全一致,具备完成软件维护所必须的细节等。
Alpha测试由用户在开发者的场所进行,并且在开发者的指导下完成,开发者负责记录发现的错误和使用中遇到的问题。Alpha测试在“受控的”环境中进行。
Beta测试则是在一个或者多个用户的现场,由该软件的最终用户实现的,由用户记录发现的错误和遇到的问题,并将这些问题反馈给开发者。Beta测试在“不受控的”环境中进行。
如果一个软件是为某个用户所定制,最后还需要由该客户来进行验收测试,一遍确认其所有需求都被满足。在实际工作中,验收测试可能会持续到用户实际使用该软件之后的很长一段时间。
需要注意的是,在不同的参考资料中,系统测试和确认测试的顺序可能不同。
|