现状


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

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

单元测试Unit Testing


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

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

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

慢慢讲讲软件测试行业现状_测试工程师_02

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

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

慢慢讲讲软件测试行业现状_软件测试_03

上面是我收集的一些视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们扣扣群【785128166 】,里面有各种软件测试资源和技术讨论。
慢慢讲讲软件测试行业现状_软件测试_04
在这里我向大家推荐一个架构学习交流群。交流学习群号:785128166 里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。