软件测试定义和目的(1)
测试的定义
正向思维:
• 出发点:使自己确信产品是能够正常工作的评价一个程序和系统的 特性或能力,并确定它是否达到期望的结果,软件测试就是以此为 目的的任何行为。
反向思维 :
• 出发点:测试是为发现错误而执行一个程序或者系统的过程。
• 测试是为了证明程序有错,而不是证明程序无错误
• 一个好的测试用例在于它能发现以前未发现的错误
• 一个成功的测试是发现了以前未发现的错误的测试
IEEE 定义的测试:
• 在规定条件下运行系统或构件的过程:观察和记录结果,并对系统 或构件的某些方面给出评价 • 分析软件项目的过程:检测现有状况和所需状况之间的不同,并评 估软件项目的特性
广义软件测试定义:
• 软件测试是对软件形成过程中的所有工作产品(包括程序以及相关文档)进行的测试, 而不仅仅是对程序的运行进行测试
• 确认(Validation) 通过检查和提供客观证据来证实特定目的的功能或应用是否已经实现
• 验证(Verification) 通过检查和提供客观证据来证实指定的需求是否满足
测试目的
我们对软件进行测试,那我们对它进行测试的目的又是什么?
(1)发现被测对象与用户需求之间的差别
(2)发现缺陷并解决,提高软件质量
(3)获取被测对象的质量信息,为决策提供数据依据
(4)预防缺陷,降低产品风险
测试原则/理念
通常来说,软件测试有几个原则:
(1)尽早测试 :测试人员早期参与软件项目。
尽早的开展测试执行工作。
(2)全面测试 : 对软件的所有产品进行全面的测试。
软件开发及测试人员(有时包括用户)全面的参与到测试工作中。
(3)全过程测试 :测试人员要充分关注开发过程。
测试人员要对测试的全过程进行全程的跟踪。
(4)独立的、迭代的测试 :测试活动是独立的。
测试活动应该是循环往复、不断的进行
测试流程
- 获取测试需求
- 编写测试计划
- 制定测试方案
- 开发与设计测试用例
- 执行测试
- 提交缺陷报告
- 测试分析与评审
- 提交测试总结
- 准备下一版本测试