• 0
  • 0
分享
  • 想要成为一名优秀的测试工程师,必须要遵守这8个测试原则——软件测试圈
  • quinn 2022-10-26 16:34:34 字数 1881 阅读 871 收藏 0

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

原则1:测试找不出所有的Bug

软件的复杂性仅次于生命体,甚至现在很多软件都已经有了人工智能的属性。对于这样精妙的系统,一小点异常都有可能产生连锁反映,最终让整个系统无法运行。就好像人体只需要吸入一粒微小的尘埃,就可能感染病菌,从而引起人体的高能反应,最终导致人病倒,无法行动。

像软件这样的精妙系统,就算做再多测试,也无法找出所有的错误,就好像你永远无法保证,人不生病一样。

原则2:2/8 原则

少数功能模块会测试到大多数缺陷,用数字来表示就是 80%的问题出现在20%的功能模块中。在很多领域中都存在 2/8 原则,而在测试中同样会运用到这个原则。

为什么会这样的原因很多,我们只能适当分析。 比如开发某个功能模块的程序员水平不行,引入了大量缺陷; 也可能是这个功能模块非常复杂,可能出现大量没有考虑到的因素。

原则3:尽早介入测试

一个软件越复杂,越有可能产生新 bug。 热力学第二定律指出:孤立系统自发地朝著热力学平衡方向──最大熵状态──演化,同样地,第二类永动机永不可能实现。

这个定律同样适用于信息系统。 当一个软件引入越多的信息,越多的功能,会让软件变得越来越混乱,从而产生越来越多bug。

如果要少产生bug,首先是要保持软件整体的简单性,还有就是尽早介入测试。 因为在一个功能被开发的早期,功能还足够简单,早期介入测试能更高效的找到bug,如果一个功能演化到后期,被更多其他的程序使用,变得越来越复杂,找到bug会难很多。 尽早介入测试,还可以让开发快速得到反馈,从而尽快修复bug,不会把bug带到更复杂的代码世界中。

原则4:抗药性原则

抗药性原则又叫杀虫剂悖论(Pesticide Paradox)。随着时间的推移,重复使用相同的杀虫剂消灭昆虫会导致昆虫对农药产生抵抗力,从而使杀虫剂对昆虫无效,这同样适用于软件测试。

如果进行相同的重复测试,则该方法将无助于发现新的缺陷。为了解决此问题,需要定期检查和更新测试用例,添加新的和不同的测试用例以帮助发现更多的缺陷。测试人员不能简单地依靠现有的测试技术。他必须不断寻找改进现有方法的方法,以使测试更有效。

原则5:要有精确的预期结果

测试用例中一个必需部分是对预期输出或结果的定义,这条显而易?的原则在软件测试中却是最常犯的错误之一,很多测试人员对程序应该产生的结果没有明确定义,只是凭感觉判断结果是否异常。

尽管“软件测试是破坏性”的定义是合理的,但人们在潜意识中仍然渴望看到正确的结果,所以当程序运行符合测试人员的心理预期时,他们会自以为程序是正常的。没有期望,也就没有所谓的意外。

克服这种倾向的一种方法,就是通过事先精确定义程序的预期输出,鼓励人们对所有的输出进行仔细检查。因此,一个测试用例必须包括两个部分:1.对程序的输入数据的描述。2.对程序在上述输入数据下的正确输出结果的精确描述。

原则6:测试显示软件存在缺陷

软件测试只能证实软件中存在缺陷,但是并不能证明软件中不存在缺陷,只能降低软件存在缺陷的可能性。

如果说公司的决策层想通过软件测试来证明软件中不存在缺陷,那是行不通的。测试人员只能证明软件中存在缺陷,但并不能证明软件中没有缺陷,软件完美。

软件测试人员可以通过软件测试活动,找出软件中大部分缺陷,避免软件在上线后给用户带损失,给公司带来风险。

原则7:无错就是好是谬论

无错,对软件测试人员来说可望不可即的。

那真的无错的软件就是好的软件么?

假设一个软件完全没有bug,完美无缺,但是不符合用户的需求,那能说这个软件是OK的么? 

判断一个软件的好与不好,主要依据的还是用户需求,是否实现用户所期盼的结果,并不是仅仅依赖于软件中是否存在缺陷

有些伙伴会说测试理论没什么用,但博主觉得理论看似没用,但却能培养我们的测试思维,让我们对软件测试有更多的认识和了解,测试人员不要只去追求技术上的超越,而思维上的建立也是至关重要。

原则8:测试活动依赖于测试内容

在面试过程中有时总会遇到面试官部“做软件测试什么最重要”,想来做过测试的都知道“需求”最重要,对测试人员来说是需求,对公司来说就是业务。

根据业务的不同,软件测试内部也分不同的行业,比如游戏行业,金融行业,电商行业等等。

不同的行业,测试活动的开展都有所有不同,比如工具的选择,测试流程都不尽相同,所以软件测试活动的开展依赖于所测试的内容。


作者:Kk鱼鱼酱

原文链接:https://blog.csdn.net/jj2772367224/article/details/126431098

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   苹果 Vision Pro 的经验亮相可能将该公司的竞争对手发展多年的产品推回了原点,这其中自然包括三星,据传三星已经推迟了自家 AR 头戴设备的上市日期,以使其成为有足够实力的竞争对手。由于这次挫折,这家韩国巨头的头戴式可穿戴设备预计不会在明年 6 月之前推出,即便如此,途中也可能会出现一些复杂情况。  据传三星的早期AR设备原型已经宣告报废,该公司现在似乎要从头开始,制造一款真正的苹果 Vision Pro 竞争对手。  苹果 Vision Pro 的设计极具未来感,硬件和显示屏规格也更胜一筹,这促使三星推迟了 AR 头显的发布时间。根据 Revegnus 在X上的报道,揭幕仪式可能会...
            0 0 471
            分享
          • –语 句 功 能数据操作SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据 -数据定义CREATE TABLE --创建一个数据库表DROP TABLE --从数据库中删除表ALTER TABLE --修改数据库表结构CREATE VIEW --创建一个视图DROP VIEW --从数据库中删除视图CREATE INDEX --为数据库表创建一个索引DROP INDEX --从数据库中删除索引CREATE PROCEDURE --创建一个存储过程DROP PROCEDURE --从数...
            12 13 3117
            分享
          •   据 404Media.co 报道,微软的 Skype 移动应用存在一个严重的漏洞,可能导致黑客通过发送一个链接就能检测到用户的 IP 地址。  该漏洞只需利用 Skype 的文本消息功能发送一个链接,无需用户点击该链接,就能暴露用户的 IP 地址。  这个漏洞最初是由一位化名为“Yossi”的独立安全研究员发现的,文章描述了利用这个漏洞的过程:  文章补充说,这个问题只影响 Skype 的移动应用,而不影响桌面版的 Skype。出于安全原因,文章没有透露黑客方面如何利用这个漏洞的细节,但是文章称这个漏洞“非常容易被利用,只涉及改变链接相关的某个参数”。  Yossi 把他发现的漏洞信息发送...
            0 0 583
            分享
          • 状态码分类2XX 成功状态码2系状态码都是表示服务器收到客户端的请求并且正确处理。- 200 OK表示从客户端发来的请求在服务器端被正常处理了。在响应报文内, 随状态码一起返回的信息会因方法的不同而发生改变。 比如, 使用 GET 方法时, 对应请求资源的实体会作为响应返回; 而使用 HEAD 方法时, 对应请求资源的实体首部不随报文主体作为响应返回(即在响应中只返回首部, 不会返回实体的主体部分)- 204 No Content该状态码代表服务器接收的请求已成功处理, 但在返回的响应报文中不含实体的主体部分。 另外, 也不允许返回任何实体的主体。一般用于只需要从客户端往服务器发送信息, 而对...
            0 0 1173
            分享
      • 51testing软件测试圈微信