为什么开发与测试老掐架呢

发表于:2016-04-14来源:测试窝作者:foruok点击数: 标签:软件测试
让我们思考几个常见的问题: 软件测试的目的是什么? 开发人员能否构建出没有Bug的完美软件?

  让我们思考几个常见的问题:

  软件测试的目的是什么?

  开发人员能否构建出没有Bug的完美软件?

  测人人员和开发人员是什么关系?

  软件测试能否保证软件质量?

  先闭目冥想五分钟吧,然后可以尝试着回答上面的问题。

  计算机先驱 Maurice Wikes 回忆起 1949 年他在英国剑桥工作的情形,在拖着打孔纸带上楼给雏形计算机 EDASC 装载程序时,他看到了自己的未来:

  我强烈的意识到,生命中剩下的好日子,都将耗费在给自己的程序找错误上头。

  Maurice Wikes告诉我们,没有完美的软件。

  我在我的微信订阅号“程序视界”里发布过一篇荐书文,推荐了温伯格技术思想三部曲中的《颠覆完美软件::软件测试必须知道的几件事》。在这本书里,温伯格也告诉我们,没有完美的软件。所有的开发和测试人员都应该读读那本书。

  温伯格在《颠覆完美软件》中几乎讨论所有常见的与软件测试相关的概念、问题和指导思想,所以,在这篇文章里,我只能来吐槽啦,我将从以下几方面列一些常见的现象,希望能引起大家的思考。

  测试和开发的关系

  流程与标准

  资源

  态度

  测试和开发的关系

  测试和开发是对立的吗?

  从处理Bug的角度看,似乎可以这么说。开发人员既生产代码,也生产Bug。因为开发人员不可避免地会生产Bug,所以测试人员必须存在,以便在软件交付之前尽可能多地检出Bug,保证交付给客户的软件质量更好一些。一个产Bug,一个挑Bug,看起来似乎是对立的。

  在现实中,很多测试团队和开发团队也正是因为这一点而搞得关系不和,甚至真的对立起来。请回想一下你周围发生的与开发和测试相关的事儿,看看有没有遇到过下面的情景:

  开发说,测试净找麻烦,客户跟本不可能像他们那样使用软件

  测试说,问题总是会在看似极端的条件下产生,用户总是会不经意触碰到看似极端的不可能出现的条件

  开发说,测试花在异常情况下的精力比测试主流程还多,不知道轻重缓急

  测试说,开发从来不考虑测试的感受,连测都不测就扔给我们

  开发说,我都测了,还要测试人员干什么

  测试说,这么明显的问题你们都不测一下,把我们测试当垃圾桶啊

  ……

  许许多多类似的问题,让开发和测试的关系从扑朔迷离、相爱相杀走向对立。我见过开发和测试搞冷战某人遇见某人侧脸而过,也见过测试经理和开发经理打架,还见过高层领导故意让测试团队和开发团队关系紧张以为这样可以提高测试效率也能给开发压力最终会产出更高质量的软件……

  实际上,测试和开发拥有同一个目的:让软件更完美。测试和开发的关系,是一个问题的两面,应该是相辅相成和平共处的。测试不是为了挑刺儿,他提出的问题也不针对生产软件的开发人员,而仅仅是在努力想让开发人员的产出物看起来更好用。只要开发不将测试提Bug这个行为看成针对个人的行为,一切就有了美好的前提。

  否定软件,并不是否定开发软件的人。这是开发和测试都需要明确的一个原则和前提。

  还有的人认为开发和测试之关系类似皮与毛,皮之不存毛将焉附?所以有的开发也会因此而有优越感:没我们写软件,你们测试早下岗了!可是,开发不写软件,开发也下岗了耶!

  感谢开发的不完美,让测试可以有事可做并练就慧眼。

  感谢测试的认真细致和耐心体贴,让开发可以发现自己的不完美并有机会提升自己——那些说我软件不好的,都是为了我好。

  资源

  别动我们测试的服务器,你们自己搭一个!

  我们没环境,不用你们的用谁的?

  谁把我们的测试手机拿走了?你们申请一个嘛,老来占我们设备。

  谁在用我们的账号?招呼都不打!我要用,赶紧退出来!

  有时开发和测试之间也会有资源上的冲突,要有努力的有创造性的解决(我可以负责任地说,装黑苹果不是好办法),不要让大家伙的工作卡在环境上,这是管理者要解决的基本问题。我见过很多非常棒的一线经理,在现实制约下,主动把自己的手机、iPad都贡献出来当做测试设备。这也是解决资源问题的一种办法哦。

原文转自:http://www.testwo.com/article/641