软件测试基础理论(二)
本教程文章目录
本篇开始
软件测试的基本定义: 通过手工或者工具对被测试对象进行测试操作,从而发现结果和预期结果之间是否存在着差异.重点是对「功能」和「性能」进行测试.
软件测试的作用和目的
- 发现并修复软件中存在的缺陷,从而提高用户对软件的使用信心.
- 记录一些软件使用过程中产生的一些数据,从而为决策者提供依据.
- 降低同类型软件的开发风险.
- 通过尽可能少的人力,物力,财力来查找并解决软件中存在的缺陷从而降低商业风险等.
测试原则
- 测试证明存在的缺陷,不能测试证明没有缺陷.
- 我们测试只能证明当前软件是有缺陷而不能证明它没有缺陷.
- 不能执行穷尽测试
- 具体的测试操作不可能将所有操作都列出来,所以测试工作肯定会有中止的时候.
- 测试应该尽早介入
- 一般不要在开发完成之后再测试,这样不利于缺陷的尽早发现.
- 缺陷存在的群集现象.
- 对于一款软件来说核心的功能只占20%,所以在测试的时候我们会花更多的时候在这20%上面,因此它里边的缺陷暴露出来的可能性会更大一些,我们称为缺陷群集现象.
- 二八原则
- 某些测试依赖于特定的测试环境.
- 杀虫剂现象
- 不要过多的使用同一条测试用例对软件问题进行排查,因为软件也会产生抗性.
- 在存在缺陷的谬论: 任何软件都不可能是完美的.
软件测试模型
随着测试过程的管理和发展,测试人员通过大量的实践,从而总结出了不少测试模型,如常见的 V模型 、W 模型、 H模型, X模型模型等。这些模型与开发紧密结合,对测试活动进行了抽象,成为了测试过程管理的重要参考依据。
V模型
- 概述
- V模型是最具有代表意义的测试模型,最早是由Paul Rook在20世纪80年代后期提出,由英国国家计算机中心文献中发布,旨在改进软件开发的效率和效果;
- V模型推出之前,人们通常把测试过程作为在需求分析、概要设计、详细设计、编码全部完成之后的一个阶段,尽管当时已经出现了测试工作会占用这个项目周期一半的时间,但是大多数人认为测试只是一个收尾工作;V模型在这个时候推出,就是为了改变之前行业的普遍认识.
- V模型本身是软件开发中瀑布模型的变种,它反映了测试活动与分析和设计的关系。
- V模型标明了测试过程中本身存在的不同阶段,从左到右,描述了开发过程和测试过程间的阶段对应关系。