本节书摘来自异步社区《全栈性能测试修炼宝典 JMeter实战》一书中的第1章,第1.4节不仅仅是性能测试,作者ROAD_TESTING软件测试组 组稿 , 陈志勇 , 马利伟 , 万龙,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.4 不仅仅是性能测试
随着国内软件质量体系的健全,企业逐渐意识到软件测试质量不单单是满足功能流程顺畅就行,测试效率和用人成本的降低也是趋势,更要为软件的稳定和易用性等质量保障来提高产品黏性留住用户。可以这么说,一个成熟的大型产品必须有过关的性能测试把关,这不是一个简单的事情,从需求、架构、硬件、数据库、代码等层面都需要精心设计和测试。
那么如何提高职业技能和核心价值从而赚取更多的劳动报酬?后续测试的职业发展会碰到哪些问题,测试的捷径在哪里?
全栈一般是技术方面的领导者,需要涉猎广?懂得如何解决问题以及对应所需的技术和工具。但具体的细节掌握比不上某个学科精专的。但是他们有强大的学习能力,会较多依赖搜索或即时学习,会根据需求,依托自己扎实的基础功底,把某一项或者二项技能达到接近于专科人员的能力。全栈是学习能力强,总结能力强、不断总结和融会贯通提高实战能力,善于分析因果并找到原因和解决方案的复合人才。
我个人认为全栈测试比纯测试更有未来,因为测试很多时候就是个“万油精”。虽然全栈要掌握的知识点很多,精力不够是其弊端。想要某一项做到专业级,花费的精力更多了。但是顶尖的优秀人员永远是少数,市场的高薪也是为那些20%的人员所留。更为重要的是目前是一个复合人才,跨界人才当家的年代。越来越多从软件测试走到测试总监、技术总监、CTO等高级技术管理类复合人才的比例越来越多。
我们看看除了测试还需要掌握哪些基本功。
1.需求
我们的行业存在的根本在于实现用户的业务需求,客户或者产品的需求变化引起的系统需求的频繁变更,在项目周期本就不宽裕的情况下,间接导致测试人员工作量的增加从而导致测试人员加班现象越来越严重。
在实际的性能需求分析过程中,系统分析师必须清醒地认识到客户很难区分业务需求和用户需求的差别,搞清楚客户背后的真正的业务需求。可以说,软件工程中的“需求分析”就是确定要计算机“做什么”,要达到什么样的效果。可以说性能需求分析是做系统性能测试前必做的,不然就没有方向。
2.代码
在测试过程中懂程序的人更能够深入地把程序测试好,通过走读代码发现逻辑上的缺陷、写法上的繁琐带来的性能问题等,达到事半功倍。系统难免会与数据库打交道,数据库知识也不可少;程序部署在中间件上,中间件知识也是必备的;中间件运行在操作系统上,操作系统及硬件知识也不可少。
3.运维
测试自动化是一个趋势,不仅包括功能测试自动化,也包括性能测试自动化及测试环境自动化(持续集成),掌握运维手段也变成必要。另外,对于系统涉及的中间件、数据库、缓存等产品也要熟练运维。
所以要想在测试行业中脱颖而出的关键还是技术,流行的一句话:测试人员懂开发最好,开发人员懂测试最好,自然更受欢迎,价值更高;也就是技术不错,能够跨界。而测试的各种岗位尤以性能测试涉及的知识面最广,涉及程序开发、数据库、中间件、操作系统、硬件知识等内容,基本是照着全栈测试的模板在培养,突破手工测试选择性能测试是一个好的方向,有了这个技术积累就不仅仅是做性能测试,亦开发,亦测试开发(自动化),亦架构,亦性能测试。