1.1 软件测试的基本概念

软件测试的定义

IEEE给出两个规范、约束的测试定义:

  • 在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价。测试是评测
  • 分析某个软件项以发现和现存的和要求的条件之差别(即错误)并评价此软件项的特性。测试时度量
Bill Hetzel博士认为:测试方法是试图验证软件是工作的,即软件的功能是按照预先的设计执行的,以正向思维,针对软件系统的所有功能点,逐个验证正确性。

Glenford Myers在《软件测试的艺术》一书中提出:测试是为了发现错误而执行的一个程序或系统的过程。

测试的5个特征

  1. 可以从需求开始,而不仅仅是代码  狭义测试仅仅是针对代码的,广义是针对软件产品生命周期
  2. 既是静态活动也是动态活动  静态不执行程序来评测,动态设计测试用例并执行
  3. 用来预防失效  更早发现错误并解决
  4. 有助于在软件生命周期中尽早发现问题 ,以降低修复缺陷所需的成本  越到后期修正错误的成本越高
  5. 过程中应创建可重用的测试件  测试项在不同的程序时相似的,则可以重用
测试的目的

  1. 测试时程序的执行过程,目的在于发现错误
  2. 一个好的测试用例在于能发现至今尚未发现的错误
  3. 一次成功的测试是发现了至今尚未发现的错误的测试
  4. 测试是为了证明程序有错,而不是证明程序无错误

当前关于软件测试目的的几种观点:

  1. 软件测试的目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性 带来2个问题,一是将时间浪费在无关紧要的bug上,二是浪费时间在实际中可能不会发生的缺陷
  2. 软件测试的目的就是保证软件质量 混淆测试和质量保证工作的边界,二者关注的方向是不同的

正确的软件测试的目的概念是验证需求,bug是这个过程的产品而不是目标

软件测试的关键问题

扫描二维码关注公众号,回复: 1029869 查看本文章

  1. 软件测试是证伪而非证真 
  2. 尽早地和不断地进行软件测试  考虑到成本成本问题,越早成本越低
  3. 重视无效数据和非预期使用习惯的测试  还有一些普通用户使用,会有误操作,合法与非法的操作
  4. 程序员应该避免检查自己的程序  第三方来测试效果会更好
  5. 充分注意测试中的群集现象  二八原则,80%的错误在20%的程序中
  6. 用例要定期评审 督促测试人员修改测试用例,使重用性更好
  7. 应当对每一个测试结果做全面检查  强检测比较明显,弱检测比较隐蔽,更需注意
  8. 测试现场保护和资料归档  现场保护使错误被认可,资料归档为后期的分析
  9. 软件测试的经济型原则   穷尽测试代价太高,使用合适的方法来测试

软件质量保证的定义

软件质量是贯穿软件项目整个生命周期的有计划和有系统的活动。经常针对整个项目质量计划执行情况进行评估,检查和改进,向管理者、顾客或其他方提供信任,确保项目质量与计划保持一致。

猜你喜欢

转载自blog.csdn.net/qq_40375644/article/details/80344714
1.1