美文网首页测试、成长、路
软件测试的目的到底是什么?

软件测试的目的到底是什么?

作者: 城下秋草 | 来源:发表于2024-09-01 13:01 被阅读0次

对测试工作目的的认识误区

在IT行业,其实一直对软件测试,测试这个工作的目的,一直有着不太准确的认识。

各种说法都有,比较流行,被很多IT工作甚至测试从业者认可的有下面两种:

  • 测试是为了发现Bug

大家一般概念中通常都会把做测试和找Bug等同起来,也就是说软件测试的目的是为了发现产品中的问题。

  • 测试是为了验证产品满足需求

也有从测试执行的角度来说,测试工作是为了证明软件产品是符合产品需求定义,是为了验证需求是否实现的。

那这些说法对不对呢? 可以说对,也可以说不对

确实,测试工作的主要产出就是我们发现的各种产品bug,而要验证需求则是我们测试工作的主要输入和评估标准。

但这些就是我们要进行测试工作的目的吗?

单纯把测试工作的目的从上面几点来看就狭隘了。

测试是为了找Bug吗?

我们做测试工作是为了发现bug吗?

bug对于产品来说,意味着成本,bug本身对产品来说是不会产生价值的。被解决掉的Bug才会带来产品质量的提升,进而体现到产品的价值中去。bug的减少,对产品才有价值。

所以,单纯地把发现更多bug作为测试工作目的是一个误区,这也是很多团队错误地把发现bug的数量作为测试工作成效依据的主要原因。如果bug发现得越多代表测试工作越好,测试人员是不是就不应该在早期阶段去参与?因为在前期就规避掉的问题其实会导致到测试阶段bug变少,如果测试工作是希望发现更多bug,是不是就应该希望产品提测的时候包含更多bug呢? 这个导向显然是不符合产品利益的。

因此把发现bug作为测试工作的目的是一个常见的,明显的对测试工作的认识误区

测试就是为了验证需求吗?

第二个对测试工作目的的认识误区,就是认为测试工作就是为了验证产品的需求。这其实是另一个被广泛接受的错误认识。甚至我们当今流传广泛的很多软件工程实践,都是建立在这个错误认识之上的。

测试大牛James Bach有篇著名的论文,探讨了Testing跟Checking的区别。

也就是测试工作远远不止是checking。而验证需求,这样的checking只是测试工作的一部分。测试要深入产品、发现潜在的深层问题,还需要除了checking之外的更多其他能力支撑,包括探索、试验、设问、推理等等

image.png

所以,把验证需求,当作测试工作的目的,是不够的。像工厂质检那样依据严格的规程来确定产品是否合格,和软件产品这种偏创造性的行业也并不匹配。这也是我们说自动化测试更多是为了提升执行效率和快速得到已覆盖场景的验证结果反馈,但自动化测试本身并不能达到完成产品测试的目的。

测试除了验证需求中明确的功能外,还需要针对交付产品进行更深度的探索,才更可能充分发现产品中的质量问题。这也是近年探索式测试被更多提及的主要缘由。

软件测试工作的真正目的

好,那既然测试工作的目的既不是为了找Bug,也不是为了验证需求,那目的究竟是什么呢?

软件测试的真正目的: 准确及时评估出被测对象的质量状态

这里的核心是评估质量状态。质量是产品属性,只能通过产品本身的变更来调整,所以测试工作无法提高质量,也无法保证质量。但通过测试工作,我们可以通过暴露产品中的问题,反映出产品的质量状态。我们的主要作用是对当前产品的质量进行评估。再由产品或项目针对这个状态来对质量进行改进。

所以测试工作对于质量的贡献更多体现在这个评估出的质量状态是否及时和准确两方面。

准确评估

测试无法穷尽,在有限的时间内发现产品的所有问题也是不可能的。但测试的职责是需要在有限的时间内,尽可能多地将影响产品质量的问题暴露出来。这里除了数量外,我们还要看问题的影响,综合这两点,才是更准确地反映质量。

及时评估

产品是无法进行无限测试的,而且测试工作其实本身是成本支出。所以通过测试工作得出产品质量状态的时效对于产品的质量改进和成本控制也尤为关键。问题发现得越早,修复成本就越低;得出质量状态评估的时间越短,产品进行针对性改进的空间就越大。所以测试工作的目的,还包括提高测试效率,通过自动化、测试左移等手段来尽可能及时地完成产品质量评估。

所以这才是我们进行软件测试工作的真正目的,不是为了发现更多的bug,也不是仅仅是对需求实现的检查,而是通过我们的专业能力,在有限的时间内,及时、充分地反映出当前产品实际的质量状态。

以上就是关于软件测试工作目的 的分享,我是城下秋草。 秋草观测台,观察测试业


推广下我的测试课程,感兴趣的小伙伴可以通过以下链接了解下哦

❤️❤️❤️❤️ 城下秋草的测试职业进阶提升课 ❤️❤️❤️❤️

相关文章

  • 测试开发知识点整理(持续更新)

    测试相关 软件测试基础 软件测试的概念 1、 软件测试的目的是什么(掌握) 2、 软件测试的依据是什么(掌握) 软...

  • 2018-08-10

    测试思路总结 软件测试的目的是什么 把控软件的质量符合标准 标准是什么 上线无bug 怎么保证上线无bug 测试用...

  • 单元测试

    单元测试是什么 单元测试是一种软件测试,其测试软件的各个单元或组件。目的是验证软件代码每个单元是否按照预期执行。单...

  • 什么是软件测试

    最近很多人问我什么是软件测试,软件测试到底是什么呢? 有人说,测试不就是找bug嘛!在我看来测试不...

  • 软件测试高频考题

    1. 软件测试的目的与原则是什么? 目的: 通过测试工作可以发现并修复软件当中存在的缺陷; 可以降低同产品开发遇到...

  • 软件测试基础

    什么是软件测试?软件测试的目的是什么? 为了发现程序中的错误而执行程序的过程。 其目的是为了能够发现程序中存在的错...

  • 我想学习软件测试,但是不知道到底前景如何?

    想知道软件测试到底有没有前景,首先你得知道软件测试工程师是个什么样的岗位,软件测试工程师的日常工作是什么?一、软件...

  • 软件测试流程

    一、前言 1.1 软件测试的目的 测试的目的就是发现软件中的各种缺陷。 测试只能证明软件存在缺陷,不能证明软件不存...

  • 测试计划

    什么是测试计划? 软件项目的测试计划是描述测试目的、范围、方法和软件测试的重点等的文档,包括被测试项目的背景、测...

  • 软件测试基础(一)

    什么是软件测试? 软件测试到底需要学习什么? 了解软件测试的含义 软件测试遵守的准则 软件测试有哪些分类?分别是什...

网友评论

    本文标题:软件测试的目的到底是什么?

    本文链接:https://www.haomeiwen.com/subject/edgqljtx.html