一、什么是软件
软件的定义
软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它是包括程序(program)、数据、文档(document)的完整集合。
软件与程序的区别
软件 = 程序 + 数据 + 文档
二、软件测试的定义
- 为了发现错误而执行程序的过程
- 在规定条件下对程序进行操作,已发现错误,对软件质量进行评估
- 使用人工或自动手段,来运行或测定某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别
三、软件测试的目的
-
观点一:
- 测试是程序的执行过程,目的在于发现错误
- 一个成功的测试用例在于发现至今未发现的错误
- 一个成功的测试是发现了至今未发现的错误的测试
这种观点指出测试是以查找错误为中心,而不是为了证明软件的正确功能
-
观点二:
- 确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明
- 确保产品满足性能和效率的要求
- 确保产品是健壮的和适应用户环境的
- 确保最终交给用户的产品符合用户的需求,在产品交给用户之前尽早、尽可能多的发现问题,并协助开发改正问题,共同保证产品的质量
四、软件测试流程
软件测试与开发的对应
- 开发
- 需求阶段
- 开发计划阶段
- 开发设计和编码阶段
- 编码后的调试阶段、缺陷修复
- 测试
- 需求阶段
- 测试计划阶段
- 测试设计和开发阶段
- 测试执行阶段
- 测试评估阶段