慢谈软件测试行业现状一

现状

       一些中小型公司开始做软件或互联网软件开发业务,但是老板没有意识到研发团队还不够完整。因为有一些团队完全没有专职的软件测试人员,这也是源于老板与干系人,管理高层对软件测试,软件质量管理的理解层次度低,而大部分非研发出身的老板,总是以为软件开发代码写完就可以使用了,没有深入理解软件测试过程。还有,即使他们了解了一些软件测试与质量管理理论,也不愿意投入成本去实施软件质量管理,这使得二三线城市的软件测试水平大部分停留在黑盒手工测试阶段,有少部分可以做到白盒自动化测试。而事实上是真正的软件测试是有技术含量的,当一切测试过程都自动化时,也包括最基本的自动化测试。 笔者曾经看到过,一些有5年以上工作经验的研发工程师,对研发有了一些框架上的应用经验,但仍然对软件测试过程认识浅薄。笔者曾经写过关于全面的软件测试。提及我们期望达成目标:

      1. 频繁的回归测试以确保每个迭代的成果都是可交付的
      2. 让整个开发团队参与到测试活动中以缩短质量信息的反馈周期
      3. 让客户参与到测试活动中来帮助提高测试的有效性

单元测试Unit Testing 

  
     对于才毕业的一些软件工程师,由于一开始没有经历过软件质量过程引导,很多软件测试的认识仅仅停留在书本上,事实上早已遗忘了那些知识。当你开始接触的单元测试,这个最基本的测试过程,还是不太理解为什么要做单元测试,要写很多代码,只能说你的LEVEL不够高。研发工程师需要自己保证自己程序的质量:

image

单元测试通常是一段可执行代码,并能验证执行结构是否和预期相等。自动化单元测试能在软件开发的任何时候都能快速,简单的大批量执行,保证能准确地定位错误,保证不会因为修改而引入新的错误,在系统开发的后期尤为明显。编写单元测试代码的时间节约了未来修改/维护低质量代码的时间。

       实际上我们从上面的总结也可以看出,单元测试的意义需要你站在整个项目全局视角来看,从长远出发。当你只是一个程序员时,只是负责一个模块开发,难以有这样的体会。当你有一天能有全局视角,系统思维时,看法将不一样。关于软件过程的质量管理,在之前文章IT持续集成之质量管理,以及移动应用App测试与质量管理,方法与实践在其中。

持续学习Keep Learning


在文章2016年测试状态调查中,对软件测试工程师职业发展趋势:

测试人员需要发展自己思考处理复杂性的能力,潜在的问题就是大多数测试人员都在做敏捷项目。测试人员需要的不仅仅是技能。作为测试人员,还需要发展个人的优势或特性,比如说勇气很好的判断力思考和学习的能力。就像人脑是中央测试工具一样,思考也是测试人员的干细胞技能。当然,思考这个话题覆盖面很广,包括逻辑、创造力、批判性思维、分析、综合、问题解决等等测试人员需要的很多其他认知过程。但是如果你不能学习,不能持续学习,你的思考也会是有限的。回到个人的优势和特性来说,如果你不充满好奇心,你也不会学习。实践。培养好奇心。与其他任何技能一样,你的想法越多,你在不同领域和环境中想得越多、学得越多,你的思考和学习能力就越强。想一下你工作的环境,想一想在你不喜欢的环境中工作的情况。如果你只在敏捷团队中工作,尝试一下在所谓的“瀑布”项目中的工作情况,反之亦然。同样,和拥有与你不同专业观点和意见的人合作完成测试和软件开发。你可以从“另一方面”学到很多有用的东西,在你不熟悉的环境中实施你自己的实践。最后,通过思考并理解复杂的系统和领域,提高处理复杂性问题的能力

     未来会发生一些不可知的社会、经济和技术变革,作为测试人员我们要付出自己的技能和个人优势。我们只能决定我们要提供什么,所以我觉得这就是我们要努力的地方。测试人员需要灵活性强、适应性强总是学习新的技能和方法,并愿意承担新的角色和活动。

     image

      笔者在2017年时,曾经电话面试过一个46岁的测试工程师/主管。她当时在一家外资软件企业工作也有17年之久。当时我问她最高境界的软件测试是什么?她回答插桩,从测试方法与概念上没有错,但她的思考与认识还不够深。目前软件行业中,可能她没有参与过深入高效的软件测试过程。另一个最大的遗憾是当年JAVA开始起步时,她们已经过多少JAVA程序的研发与测试。但她现在居然不知道Docker容器,JAVA最新技术动态,Docker容器做为软件研发生命周期中革命性的产物,现在已不是新技术了。我知道她没有持续的学习,让自己随着时间的成长,这样是不满足我们团队的期望的工程师。最高境界软件测试其实是 合而为一,不分彼此。在<<How We Test Software at Microsoft>>与<<

How Google Tests Software>>中描述相关方法与背景。在行业中有Microsoft,Google,Facebook等巨头公司做到了软件测试的最高境界。关于后续这一块,我们有时间再扩展开。

---------------------------------------------------------------

今天先到这儿,希望对您在系统架构设计与评估,团队管理, 项目管理, 产品管理,团队建设 有参考作用 , 您可能感兴趣的文章:
Docker与CI持续集成/CD
互联网电商购物车架构演变案例
互联网业务场景下消息队列架构
互联网高效研发团队管理演进之一
消息系统架构设计演进
互联网电商搜索架构演化之一
企业信息化与软件工程的迷思
企业项目化管理介绍
软件项目成功之要素
人际沟通风格介绍一
精益IT组织与分享式领导
学习型组织与企业
企业创新文化与等级观念
组织目标与个人目标
初创公司人才招聘与管理
人才公司环境与企业文化
企业文化、团队文化与知识共享
高效能的团队建设
项目管理沟通计划
构建高效的研发与自动化运维
某大型电商云平台实践
互联网数据库架构设计思路
IT基础架构规划方案一(网络系统规划)
餐饮行业解决方案之客户分析流程
餐饮行业解决方案之采购战略制定与实施流程
餐饮行业解决方案之业务设计流程
供应链需求调研CheckList
企业应用之性能实时度量系统演变

如有想了解更多软件设计与架构, 系统IT,企业信息化, 团队管理 资讯,请关注我的微信订阅号:

MegadotnetMicroMsg_thumb1_thumb1_thu[2]



作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog

posted on 2017-10-29 10:58  PetterLiu  阅读(3975)  评论(0编辑  收藏  举报