什么?财务也要软件测试?
软件测试(英语:software testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
说的简单点,软件测试就是在给软件找问题。那么软件测试执行者是谁呢?目前来看,人和机器。举个例子,比如腾讯要发个新游戏,需要找个同学试玩一下,看是否按预期执行,如果大招开不出来,这个游戏也就没有玩的价值了。那么这个同学就是软件测试执行者。我们的电脑出问题了,我们点击腾讯管家进行修复,这个时候机器就是软件测试执行者。
对于小白来说,可能会有一种误解,觉得软件测试是由软件测试工程师来做的。那么是不是只有软件测试工程师进行测试工作呢?当然不是。因为在实际测试过程中,测试人员并不止软件测试工程师!记住我这里说的是测试人员,并没有说软件测试工程师。开发人员、UI设计师、产品经理、财务都可能是测试人员。什么?财务也是测试人员?对,你没有看错。有一种测试叫α测试。α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。
那么有α测试什么好处呢?我们是不是一定要做α测试呢?我的答案是如果有这个条件,尽量去做。我们来重新理解一下α测试。在说α测试之前,我们先来说一个我们大家都承认的共识,那就是思维误区。说个小故事,细节记不清楚,说一下大概。一条生产线由于机器问题,会导致误生产,应该装进纸箱的产品没有被装进纸箱,空纸箱会被当成好的产品。制造机器的人员知道这个问题后,都在想怎么解决这个问题,想了很久没有找到答案。这个时候一个扫地僧出来了,说,这不简单吗?拿电风扇一吹不就行了吗,空纸箱比较轻,用风吹,一吹不就会从生产线掉落吗。制造机器的人员一拍大腿,茅塞顿开。当然这个故事可能是杜撰的,我们先不去讨论故事的合理性,讨论产生这种现象的可能原因。机器制造人员关注的点是把机器修好,没有考虑外部情况。而扫地僧因为不知道机器原理,从外部原因直接下手,提出一个被制造机器人员忽略的区域。
α测试其实就类似于找一个这样的扫地僧。我们测试人员已经对一个软件非常非常熟悉,熟悉到一切都是合理的,虽然会考虑用户的行为,但是还会产生思维误区,如果有这样一个扫地僧,会不会更有信心控制产品质量?当然α测试也不是万能的,但其好处是更偏向于产品的易用性。
那么什么时候会进行α测试呢?一般在产品在未发布之前(可以是测试同学测试通过的版本)。所以如果你真的是财务部的,遇到这种情况,不要惊慌,天降大任于斯人也~
说完α测试。我们当然要考虑到一个问题,我们是不是把开发同学忘记了?开发同学也是要测试的?那么什么时候呢?当然是第一时间!如果开发人员把一个软件交给测试同学,但是测试同学发现冒烟测试都不通过,那么转测是有问题的!测试同学可以对开发say no!我们拒绝这个版本,请给我们一个可以冒烟测试通过的版本。
说到这里你可能会问,既然开发自己会找BUG,那还要软件测试工程师干嘛呢?除了上面提到的思维误区,根据笔者过往经验,总结了以下几点:
1. 从时间角度来讲。开发没有过多时间去找BUG,很简单,项目周期是一定的,如果开发在自测上面花过多时间,那么势必会影响项目周期。
2. 从偷懒角度来讲。有些开发同学可能有这样的感悟,自己写过的代码不要说改了,看都不想看了!。
3. 从速度角度来讲。开发人员是专业开发的,测试人员是专业找BUG的。测试人员会根据所学知识及过往经验快速找到BUG并进行定位,然后反馈。当然除了这四点,还有很多其他原因。这里就不细说,毕竟存在即合理。
最后的最后,如果说开发是创造世界,那么测试就是拯救世界。是不是觉得测试身影伟岸了起来?那么如何才能做一名优秀的软件测试工程师呢?我将会在以后的文章中进行叙述。快过年了!祝大家新年快乐!欢迎关注微信公众号:软件测试汪。