首页 > 其他分享 >测试有哪些最高原则

测试有哪些最高原则

时间:2022-10-28 12:13:17浏览次数:48  
标签:原则 哪些 测试人员 测试用例 测试 软件 bug

测试原则是一个测试人员时刻要铭记在心的,甚至要形成一种本能,指导测试工作。

原则1:测试找不出所有的Bug
软件的复杂性仅次于生命体,甚至现在很多软件都已经有了人工智能的属性。对于这样精妙的系统,一小点异常都有可能产生连锁反映,最终让整个系统无法运行。就好像人体只需要吸入一粒微小的尘埃,就可能感染病菌,从而引起人体的高能反应,最终导致人病倒,无法行动。
像软件这样的精妙系统,就算做再多测试,也无法找出所有的错误,就好像你永远无法保证,人不生病一样。

原则2:2/8 原则
少数功能模块会测试到大多数缺陷,用数字来表示就是 80%的问题出现在20%的功能模块中。在很多领域中都存在 2/8 原则,而在测试中同样会运用到这个原则。
为什么会这样的原因很多,我们只能适当分析。 比如开发某个功能模块的程序员水平不行,引入了大量缺陷; 也可能是这个功能模块非常复杂,可能出现大量没有考虑到的因素。

原则3:尽早介入测试
一个软件越复杂,越有可能产生新 bug。 热力学第二定律指出:孤立系统自发地朝著热力学平衡方向──最大熵状态──演化,同样地,第二类永动机永不可能实现。
这个定律同样适用于信息系统。 当一个软件引入越多的信息,越多的功能,会让软件变得越来越混乱,从而产生越来越多bug。
如果要少产生bug,首先是要保持软件整体的简单性,还有就是尽早介入测试。 因为在一个功能被开发的早期,功能还足够简单,早期介入测试能更高效的找到bug,如果一个功能演化到后期,被更多其他的程序使用,变得越来越复杂,找到bug会难很多。 尽早介入测试,还可以让开发快速得到反馈,从而尽快修复bug,不会把bug带到更复杂的代码世界中。

原则4:抗药性原则
抗药性原则又叫杀虫剂悖论(Pesticide Paradox)。随着时间的推移,重复使用相同的杀虫剂消灭昆虫会导致昆虫对农药产生抵抗力,从而使杀虫剂对昆虫无效,这同样适用于软件测试。
如果进行相同的重复测试,则该方法将无助于发现新的缺陷。为了解决此问题,需要定期检查和更新测试用例,添加新的和不同的测试用例以帮助发现更多的缺陷。测试人员不能简单地依靠现有的测试技术。他必须不断寻找改进现有方法的方法,以使测试更有效。

原则5:要有精确的预期结果
测试用例中一个必需部分是对预期输出或结果的定义,这条显而易⻅的原则在软件测试中却是最常犯的错误之一,很多测试人员对程序应该产生的结果没有明确定义,只是凭感觉判断结果是否异常。
尽管“软件测试是破坏性”的定义是合理的,但人们在潜意识中仍然渴望看到正确的结果,所以当程序运行符合测试人员的心理预期时,他们会自以为程序是正常的。没有期望,也就没有所谓的意外。
克服这种倾向的一种方法,就是通过事先精确定义程序的预期输出,鼓励人们对所有的输出进行仔细检查。因此,一个测试用例必须包括两个部分:1.对程序的输入数据的描述。2.对程序在上述输入数据下的正确输出结果的精确描述。

【他人文章分享,仅个人存档学习使用】

标签:原则,哪些,测试人员,测试用例,测试,软件,bug
From: https://www.cnblogs.com/1218cc/p/16835656.html

相关文章

  • 1032 挖掘机技术哪家强(测试点2的坑)
    题目: 为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。 输入格式: 输入在第1行给出不超过 10......
  • iOS- 最全的真机测试教程
     想要上架的同学请看:《iOS-最全的App上架教程》因为最近更新了Xcode8,证书的创建都大同小异,只是在Xcode8中的设置有一些变化,我就在下面补充,如有什么疑问,请联系我。......
  • Oracle LogMiner 测试
    测试环境docker测试环境已安装好logminer,不用重复安装;$ORACLE_HOME/rdbms/admin/dbmslm.sql$ORACLE_HOME/rdbms/admin/dbmslmd.sqlLogMiner必须要要开补充日志,否则没有DML......
  • 考华为HCIE需要哪些基础?
    考华为HCIE认证个人觉得需要两个方面基础吧,一个是知识基础,另外一个是经验基础,下面我们就来分析一下这两个基础问题?知识基础知识基础方面,你要掌握同方向hcia/HCIP的知识内......
  • 浅谈我们在处理Excel的数据原则, 其实学习并没有你想的那么难
    写在前面:ExcelVBA处理重复数据的方法​Excel-VBA中处我们在处理Excel数据时,很多时候都可以分为三个步骤,读取整理数据、计算构造输出数据、输出结果。前者和后者会和Excel......
  • 自动化测试框架遇到的错误-python的xlrd读取Excel数据失败: raise XLRDError(FILE_FORM
    python的xlrd读取Excel数据失败:raiseXLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+’;notsupported’)xlrd.biffh.XLRDError:Excelxlsxfile;notsupported......
  • 测试架构需要具备哪些能力
    这篇文章是软件工程系列知识总结的第五篇,同样我会以自己的理解来阐述软件工程中关于架构设计相关的知识。相比于我们常见的研发架构师,测试架构师是近几年才出现的一个岗......
  • Object常用方法 和 获取一个类Class对象的方式有哪些
    Object常用方法://native方法,用于返回当前运行时对象的Class对象,使用了final关键字修饰,故不允许子类重写publicfinalnativeClass<?>getClass()native方......
  • pc端项目-调接口时切换正式环境和测试环境
    1,在实际开发中和后端调接口的时候会碰到用测试环境还是正式环境,这个是要自己配置的,一般项目根目录里面都有两个文件,一个是.env.development,另一个是.env.production#开......
  • 面向对象的特征和原则
    面向对象中的三个基本特征:封装、继承和多态1、封装,将现实中事物抽象成计算机领域中的对象,对象同时具有属性和行为,这就是封装。在封装中,数据隐藏,对象只对外提供与其他对象交......