从无到有做测试

不少朋友问测试工程师有什么前途,或者说测试工程师的职业生涯如何规划。有没有想过软件企业又是如何看待测试工作的呢?问题是如果技术总监或者总经理觉得测试工作没什么价值,测试工程师又有何职业生涯何言?

那么这仅仅是软件企业管理层的个人看法问题吗?不见得。俗话说,不见兔子不撒鹰。如果测试工作在某个企业确实没有价值,要求管理层在测试上投资是没有道理的。好比说以今日的科技水平号召大家去月球上挖矿,绝对忽悠不下来。不幸的是,现在国内软件企业和个人的测试技术水平参差不齐,有的跟去月球挖矿差不多难。

所以同样的困惑也出现在软件企业管理层身上:该不该、什么时候、以什么规模在测试上投资人力物力呢?

这个问题了解清楚了,无论是企业决策者还是工程师,都能决定自己的发展策略,从而促进人才供需双方的协调发展。这是决策的第一步,做还是不做。开始做了,我们再谈如何做好做大的问题。

该不该投资测试:测试的价值是什么

对于这个问题存在着不少误解。不如试试从投资方的角度看看,投资之前和之后的差别,带来什么回报,需要投入多少。

投资之前的典型状况:

  • 延迟发布以致损失营收
  • 产品缺陷导致客户拒绝签收
  • 产品缺陷阻碍客户业务进行
  • 产品缺陷影响自身业务或者营收
  • 产品缺陷损害企业品牌价值

简单来说,因为这些状况,投资方要么损失利润,要么增加了开支,要么损害了品牌价值,一句话,少赚了钱。

投资之后的期望状况:

减少上述状况。简单来说,原本少赚的钱可以赚回来若干。

需要投入的资金:

  • 人力开支
  • 设备场地耗材费用
  • 人事管理开支

所以,从投资方的角度来看,原本少赚的钱能赚回来的部分就是测试带来的回报,测试工作本身也需要投入,如果收不抵支就没有投资的必要了。

测试带来的回报,来源于减少的产品本身存在的缺陷,简称为bug。怎样才能减少bug呢?需要预防、发现和修复bug。显然只靠投资之前的团队是做不到的,不然怎么会出现那些状况呢?

那么测试跟bug有什么关系呢?测试工作发现了这些bug,然后这些bug在产品发布之前被修复了,所以少赚的钱被保住了。

为什么强调是“发现”呢?正是因为之前没发现,这些bug才会导致少赚了钱。所以,测试的核心价值,就是发现bug

那预防和修复呢?预防在测试业界一直都是个难题;修复目前要比发现要容易一些,——事实上不少项目里面开发人员没bug可修复,不是没有bug,是产品发布之前找不到。

所以,测试的核心价值就是发现产品中存在的bug;测试可以做更多的东西,但首要的任务是发现bug。这里的所有其他观点都以此为基础,由此而涉及的软件企业测试工作发展和个人测试职业生涯发展也是基于这个观点。

有兴趣的朋友可以读读这本书,The Art of Software Testing,第二版,作者Glenford J.Myers, Corey Sandler, Tom Badgett, Todd M. Thomas,出版社John Wiley & SonsISBN 9780471469124。上述观点来源于此书。

该不该投资测试:投资方期望的测试回报

既然明白了测试的核心价值,那么明确测试能带来的具体回报也是很合理的问题。但是这个问题上的误解也往往会令投资打水漂。

  • 误解一:做了测试产品就没有bug

这个误解会导致在测试上的投资中断,比方说,我投资了若干人力去测试某款产品,bug是少了不少,但是发布以后用户还是反馈有bug,我觉得出乎意料,于是不再投资了,反正虱子多了不咬。

软件产品本身的复杂性以及应用环境和用户需求的易变,让软件产品产生大量的bug,多得没有办法完全清除,或者完全清除的性价比太低。前面介绍的书里面有个很好的例子,大意是哪怕一个简单的一看就明白的小程序(判断三个输入的数字能不能表示一个三角形的三个边长),可以存在的bug也能达到上百个,而且随着应用环境和用户需求的变化还会以指数上升。

合理的期望可以是:做了测试产品的bug会大幅减少。这些bug如果继续存在会带来的损失,就是测试的回报,是可以量化计算的。

  • 误解二:测试需要很大的投入

不少宣传,包括微软在内,介绍测试就像是星球大战一样炫酷的技术和设备。实际上,兵无常势,水无常形。不同的企业和项目可以采取不同的测试方法,一个企业和项目适用的方法,在另一个企业和项目不一定回报投入比就好。

有个大型跨国企业的测试,是一堆人试用一个产品,发现问题就举手,测试经理过去查看,核实是bug就发给开发人员修复,同时奖励发现问题的人。我们看了觉得这个做法很实在,很对他们开发的产品胃口。

  • 误解三:测试不需要很复杂的技术

这是另一个极端,导致对测试投入过于斤斤计较。测试可以从小量开始,那也得分不同的产品和项目。有些产品重于用户体验,人的参与和使用能暴露更多的bug;有些产品重于处理不同的数据,制造理解和分析数据的过程能暴露更多的bug;有些产品重于子产品的整合,把各部件放在一起工作的过程能暴露更多的bug;有些产品重于处理大量的用户请求,把系统置于大压力下能暴露更多的bug。这些产品和项目做测试的性价比是不一样的。为了能暴露更多的bug,有些产品和项目需要复杂技术。

该不该投资测试:投资方如何找测试主管

明白了测试的核心价值,明确了回报期望,投资方又该如何建立测试团队呢?抓住一点:测试团队也是个盈利部门,有业绩有预算,能在预算内有办法确保测试回报的猫就是好猫。

  • 这人自己能发现bug吗?
  • 这人能预计需要哪些投入吗?
  • 这人能承诺找到产品哪些方面的bug吗?
  • 这人能找到合适的测试工程师吗?
  • 这人能明确合适的测试团队组织方式吗?
  • 这人能保证团队的工作效率吗?

该不该投资测试:测试主管如何找测试工程师

测试主管又该如何建立自己的测试团队?这个其实简单多了,一个人无论技术如何强,如果无法做到这两点之一的话

  • 发现bug
  • 了解导致或者阻碍发现bug的做法并尽力避免

这人就不太适合做测试工作。

第二条看上去很奇怪吧。不然,开发过程中有一些做法是人的本性或者项目流程不合理之处所导致的,这些做法要么是导致bug的产生,要么是阻碍bug被发现。

举个例子,一次修改太多代码,容易导致bug的产生;测试不合适的产品版本,阻碍了重要bug的发现。

该不该投资测试:测试工程师如何找软件企业或者测试主管

处于不同职业生涯阶段的测试工程师,适合在不同的软件企业或者测试主管下工作发展。有一些因素是值得考虑的。

  • 你所在的企业,项目或者你的主管需要你找到哪些类型的bug
  • 作为测试的回报,哪些bug占多大的比重?
  • 为了能发现哪些bug,你所拥有的技术深度足够吗?
  • 为了能发现哪些bug,你还需要发展哪些、多深入的技术?那是你下一步所需要发展的吗?

这些匹配上了,个人发展有保证,产出才有效率,投资方得到了回报才会加大投入,个人才有下一步发展的可能。

 

今天就到这里,下一次我们继续同时就投资方和工程师角度谈谈测试工作的下一步发展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值