Hi,您好,欢迎来到西安盛图软件科技有限公司!

软件测试的基本问题

发布时间:2021-04-15 11:30:06

软件测试的基本问题


众所周知,软件质量好坏是软件成功的必要条件,一款漏洞百出的软件,是不可能获得成功的,没有任何人会喜欢这样的软件。

在软件的开发过程中,有两类人是决定软件开发质量的,这两类人是开发人员和测试人员。这两类人必须紧密配合,充分合作,才能一起开发出完美的软件。两者之间在一个软件开发过程中,按照如下的关系紧密结合在一起:


开发人员提交软件→测试人员发现问题→开发人员修改→又发现新的问题→继续修改→…… →所有发现的问题都解决掉→发布

上面这个过程,从某种意义上也可以这么理解:

创造BUG发现BUG→ 解决BUG。

从上面的流程可以看到,任何BUG都是因为开发人员代码有缺陷造成的。只有没找到重现方法的BUG,绝对没有所谓的“灵异”BUG。开发人员代码质量越高,BUG就会越少,即使有BUG也容易找到;反之代码质量越低,BUG就会越多,也会越“灵异”。因此当发现一个所谓的“灵异”BUG的时候,测试人员可以要求开发人员仔细检查自己的代码是否有缺陷;当然开发人员也应该主动去看自己的代码是否有缺陷。

01

测试人员的职责



测试人员的职责,不但要发现BUG,更重要的发现这个BUG的重现方法,不能重现的BUG,对开发人员来说价值是不大的。事实证明,绝大多数所谓的“灵异”BUG,最终都能找到重现的方法。对于一个BUG来说,只要找到重现的方法,意味着这个BUG已经得到解决了。

发现一个“灵异”BUG,并找到可重现的路径,是一件极具挑战的工作,也是一件相当有技术含量的事。

你没有看错,是相当的有技术含量,甚至比做开发更需要专业知识和技巧。从某些角度看,测试的工作和破案有点类似,都是在蛛丝马迹中找到某些必然的因素,然后让看似杂乱无章的东西变得清晰、有序,最终找到解决办法。然而目前的现状是,整个行业中大多数的软件企业,并没有意识到这一点,项目的负责人乃至测试工程师自己都往往认为测试是一件体力活,他们认为只要时间、人手投入进去,就一定能达到预期效果,其实不然。没有正确的价值观引导和测试方法的提升,本来有技术含量的测试工作就会做成体力活,吃力不讨好。

在一个项目过程中,测试人员相当于一款产品最后把关的人员,是非常重要的。因此一个好的测试人员,一定要自信,要据理力争。

BUG虽然灵异,但找BUG的过程仍然有一些规律可循,总有一些方法可以借鉴,因此本文将讨论一下测试的方法论。

02

2测试和开发的关系


正如一个优秀的开发人员,应该具备一些测试方面的知识和能力;一个优秀的测试人员,同样需要了解一些开发方面的知识。

没有测试方面知识和能力的开发人员,开发出来的软件一定会有比较多的BUG,甚至会有很严重的BUG,这些BUG可能需要很长时间才能修复;反之有一定测试知识和能力的开发人员,开发出来的软件就不会有很多BUG,更不会有严重的BUG,即使有了BUG也一定能很快地修复掉。

没有开发方面知识的测试人员,在测试的时候同样不能找出太多的BUG,即使找到BUG也往往无法重现;反之有一定开发能力的测试人员,在测试过程中就能找到比较多的BUG,而且能找到BUG的重现方法。

开发人员在学习测试知识,提升测试能力的时候,同时开发能力也一起得到提升;测试人员在学习开发知识,提升开发能力的时候,同样测试能力也会得到提高。开发人员和测试人员应该经常在一起沟通,互相学习,一起提高。

03

测试的方法论



前文说过,找BUG是有规律可循的,掌握了正确的方法,就能比较容易地找到BUG和BUG产生的原因。

测试从方法论上讲,最根本的就是两个方法:暴露问题;分析问题。用在测试上,可以理解为通过各种各样的操作、猜测,使软件的各种缺陷暴露出来;通过归纳总结,发现BUG的规律,找到BUG产生的明确原因,当一个BUG产生的明确原因找到了,BUG也就能解决了。

  

上一篇:为什么要学C语言
下一篇:软件测试的基本问题