《软件测试技术实战 设计、工具及管理》联载-51

简介: 《软件测试技术实战 设计、工具及管理》联载-51

13.4  从微软裁员首裁软件测试工程师谈起


微软宣布裁员18000

腾讯科技[微博]瑞雪2014071720:23

腾讯科技讯717日,微软周四宣布,该公司计划在今年裁减最多1.8万名员工,这将创下微软公司历史上最大的裁员规模,原因是其正在消化收购诺基亚手机业务的交易,并调整自身定位以适应未来发展。

……

纳德拉在上周拒绝透露公司是否会进行裁员,仅表示在722日发布第四财季财报时,他将会透露更多的信息。不过消息人士透露,微软此次还将会在软件测试员当中进行裁员。

……

 

2014年夏天爆出一条新闻,微软公司新CEO上任后开始第二次大规模的裁员,这次裁员对象首先是并购过来的诺基亚员工,然后是软件测试工程师。这条新闻在微信群里得到一位微软员工的证实,然后引发了一场争论。


一部分朋友认为需求变化快,用户众多,社会压力要求版本发布快。这样,如果采用正规专业的软件测试,只会延长产品开发周期,不利于企业成长。软件测试应该由自动化测试和用户测试来代替,或者企业软件测试采用外包形式。甚至有人认为,只会点点鼠标的软件测试工程师早就应该被社会淘汰了。


另一部分朋友认为,让用户进行软件测试简直就是对质量不负责任的表现,用户使用Bug很多的软件只会加速企业的灭亡。特别是关系到生命安全的软件,如航空、航天、医疗设备、车辆安全控制等软件,甚至无法保证人的生命安全。


到底孰对孰错呢?其实都对,也都不对。为什么这样说,因为大家只考虑了问题的表面,而没有考虑企业产品及使用产品的客户类型。


对于互联网行业来说,用户众多,需求不明确,许多产品只有快速推到市场上,让用户尽早使用产品,提出建议,这些建议才是真正的用户需求,从而避免开发出不是用户需要的软件产品。对于这些产品,在产品首推市场前可以弱化软件测试,但是对于易用性,或者说用户体验性测试还是要重视的,否则用户用了一次就不用了。如果这种企业采用传统的方法,企业会失去更多用户,从而造成企业的破产(据说微软要走互联网行业模式)。


而对于传统软件行业,尤其是航空、航天、通信、医疗等关系到人身安全的,关系到国家基础设施的软件企业,这些软件产品中的核心组件必须由专业的软件测试工程师独立完成,而且必须由专门的质量部门把控。如果这种企业采用互联网企业方式,甚至让用户进行软件测试,肯定会造成致命性的毁灭。


现在业界大谈敏捷,甚至某些公司滥用敏捷,认为敏捷就是快速。快速开发法、火车模型、测试用例无用论等观点也越来越兴起,不少企业不管这种方法是不是适合自己,一窝蜂地上敏捷,一窝蜂地采用快速法,认为上了敏捷就可以提高自己的生产力,提升质量。其实,瀑布模型、迭代模型、RUP、敏捷方法等本身都是好东西,但要看适不适合贵公司以及使用贵公司产品的客户类型,甚至可以跟随自身产品对模型本身进行裁剪。比如,航空航天软件的开发生命周期都很长,一年甚至很多年才可发布一个版本。对于,这类产品需求也很明确,客户也很单一,所以无需进行不断的迭代。他们有自己独立的软件测试团队,甚至经过自己软件测试团队进行测试完毕后,还要通过有资质的第三方软件测试公司(如中国航天科技集团公司软件评测中心)进行再测试。可想而知,如果的软件产品采用敏捷,或者采用快速开发法是绝对不可行的。


所以,采用何种软件工程、软件测试方法,这是根据自身软件产品及客户群来决定的,千万不可随波逐流,否则只会自取灭亡。


在这里再强调5点。

1自动化测试永远不可能代替手工测试。不管对于互联网企业,还是传统企业,对于某些产品,自动化测试重要且不可少,而对于另一些产品,需求总在变化,或者全是各个不同企业定制的,没有通用功能的,是否采用自动化测试要做好经济成本预算。而对于自动化测试程度比较高的产品,完成后也要进行一段时间的手工软件测试,如探索式软件测试,经过这些测试会发现一些意想不到的Bug,包括微软在内也应该保留一些探索式软件测试工程师。并且,对于基本上确定需求的功能,出厂前可以使用自动化测试工具进行比较严格的、全面的回归测试,任何一个人都不会愿意使用经常出错或者Bug满天飞的产品的。


2基本需求比较确定的功能可由自动化测试工具来实现,其他的还是需要一定的基于经验的软件测试方法来解决。比如,探索式软件测试、缺陷攻击法。这些对软件测试工程师的水平要求也高了,即使是点点鼠标的操作,也应该学会如何去点、点何处、按照何种步骤去点。所以,丰富的软件测试经验、对业务的了解、熟悉产品如何实现、系统运行环境如何、数据库知识和操作系统知识等都是软件测试工程师应该需要具备的。


3不管形式如何变,互联网企业与传统软件企业必将共同存在。专业独立的软件测试工程师不会消失,特别是在传统软件企业,年轻的朋友,如果喜欢软件测试,欢迎加入。据权威机构研究,专业的软件测试职位不会消失,而且缺口还很大,不要畏惧,不要犹豫,软件测试工程师是社会所需要的人才。


4基于风险的软件测试分析方法在这种情况下非常有效。不管在互联网企业,还是传统软件企业,对测试用例做好基于风险的优先级分析,优先测试风险级别高的测试用例。对Bug修改也做好基于风险的优先级分析,优先解决优先级高的那些Bug,对于优先级低的Bug,可以在出厂后解决或者不解决,从而避免过度软件测试或过少软件测试。


5企业在实施过程中要不断对过程进行调整,但千万不可照搬某一方法。戴明博士提到的PDCA就是个很好的方法。


顾翔凡言:

不是好的工作会给你带来好的心情,而是好的心情会给你带来好的工作。

目录
相关文章
|
敏捷开发 Web App开发 算法
《软件测试技术实战 设计、工具及管理》联载-41
《软件测试技术实战 设计、工具及管理》联载-41
119 0
《软件测试技术实战 设计、工具及管理》联载-41
|
监控 网络协议 测试技术
《软件测试技术实战 设计、工具及管理》联载-23
《软件测试技术实战 设计、工具及管理》联载-23
78 0
《软件测试技术实战 设计、工具及管理》联载-23
|
Java 测试技术 开发工具
软件测试技术实战 设计、工具及管理》联载-36
软件测试技术实战 设计、工具及管理》联载-36
122 0
软件测试技术实战 设计、工具及管理》联载-36
|
前端开发 Oracle 关系型数据库
软件测试技术实战 设计、工具及管理》联载-21
软件测试技术实战 设计、工具及管理》联载-21
122 0
软件测试技术实战 设计、工具及管理》联载-21
|
敏捷开发 测试技术 程序员
《软件测试技术实战 设计、工具及管理》联载-17
《软件测试技术实战 设计、工具及管理》联载-17
76 0
《软件测试技术实战 设计、工具及管理》联载-17
|
搜索推荐 Java 测试技术
软件测试技术实战 设计、工具及管理》联载-35
软件测试技术实战 设计、工具及管理》联载-35
87 0
软件测试技术实战 设计、工具及管理》联载-35
|
开发框架 IDE 算法
《软件测试技术实战 设计、工具及管理》联载-39
《软件测试技术实战 设计、工具及管理》联载-39
127 0
《软件测试技术实战 设计、工具及管理》联载-39
|
测试技术
《软件测试技术实战 设计、工具及管理》联载-47
《软件测试技术实战 设计、工具及管理》联载-47
98 0
《软件测试技术实战 设计、工具及管理》联载-47
|
测试技术
《软件测试技术实战 设计、工具及管理》联载-7
《软件测试技术实战 设计、工具及管理》联载-7
137 0
《软件测试技术实战 设计、工具及管理》联载-7
|
敏捷开发 测试技术
《软件测试技术实战 设计、工具及管理》联载-2
《软件测试技术实战 设计、工具及管理》联载-2
97 0
《软件测试技术实战 设计、工具及管理》联载-2