怎样成为一名厉害的软件测试工程师?

对于每个软件测试从业人员来说,成为一名厉害的软件测试工程师,应该是职业生涯中奋斗的目标。那么要想成为一名厉害的测试工程师,需要怎么做呢?
怎样成为一名厉害的软件测试工程师?

一、把单纯的测试工作变成项目质量保证工作

测试,从狭义的角度来讲,包括以下这些环节:
测试计划和测试用例编写—测试执行—质量报告书写
测试人员一般会在开发阶段进行测试计划和测试用例的编写和前期准备工作。在测试阶段,我们一般先会做功能测试,等项目功能基本稳定,bug较少了,开始做兼容性测试、性能测试、安全性测试。

兼容性测试保证产品在多浏览器、APP在产品在不同机型下的兼容性;性能测试保证产品在海量用户大流量下的服务能力;安全测试能发现产品可能会被攻击的各个隐患。做完这些测试以后,发布质量报告,产品上线。不过,厉害的测试人员需要向上游和下游拓展测试的领域,把自己放在“质量保障”的角色上,推动整个项目组一起来保证质量。

上游的工作包括:

在产品刚立项、进行需求确认的时候,测试人员会参与进去,仔细审查需求,看需求是不是完整、有没有漏洞,这个时候还没有进入正式开发,修改需求对于项目组来说代价是少的。在这个环节,测试人员凭借缜密的推演、发散性的思维,往往能发现很多需求的漏洞,可以提高项目的整体效率。

此外,测试人员在完成测试计划、测试用例以后,会邀请开发、策划一起来评审测试用例,在这个环节,由于测试人员把每个需求如何细化测试都体现在了用例里面,相当于再次把需求分析了个透,往往还能发现很多需求的漏洞。这也是提早发现需求漏洞的有效环节。

众所周知,代码质量的高低是由开发决定的。测试的工作,是尽可能发现潜在的Bug,然后提交给开发去进行修正。测试人员应该站在质量保障的立场,想办法跟项目组沟通、给开发提供工具,让开发自己把质量保障工作做好。比较可行的一些方式是:提供一些手工用例让开发自测;给一些自动化的接口和UI测试代码让开发自测;部署静态代码检查工具,并推动开发分析和修改发现的问题;有一些做得好的项目已经实现了持续集成,也可以尝试。

下游的工作包括:

在产品完成了测试以后,就到了发布的环节。测试人员在发布的环节也可以发挥作用,首先,测试人员可以把上线部署的环节自动化,来部署测试环境,研究自动化部署的技术。以前可能需要2个小时的部署环节压缩到半个小时甚至更少,而且会更加准确可靠。如果有些版本修改比较多,上线的质量风险大,测试人员会跟产品一起制定灰度发布的方案并在技术上进行实现,让版本先面向一小部分用户开放,如果发现了Bug,影响也比较小,Bug修改以后,再逐渐扩大开放的用户范围。

另外,厉害的测试人员还会发动项目组的其他人一起来保证项目质量,比如推动开发进行代码审查;引入冒烟自测流程,让开发先自测以后再提交给测试做冒烟测试;通过在项目组分析Bug,让开发提高自测,降低Bug数量等;在策划设计、交互设计、视觉设计的同事,引入测试工程师走查等各种措施。
怎样成为一名厉害的软件测试工程师?

二、掌握持续集成技术和自动化测试技术

持续集成在行业内是应用的比较多的,那究竟什么是持续集成呢?

持续集成原本的意思是让开发每提交一次代码就进行一次自动化测试。如果自动化测试发现了bug,那么测试用例会发生异常,而开发会马上发现这个异常,并修改代码。

要做到持续集成可有很多工作要做。首先是编译环节,要把所有编译的环节都自动化起来,开发每次提交代码都能进行自动编译。

当编译完成后,就到了静态代码检查的环节。通过静态代码检查的工具检查代码的问题,比如数据库连接池有没有释放,参数是否匹配等。

静态代码检查完成后,就到了单元测试的环节。单元测试用例一般是开发人员或者测试人员编写,或者开发和测试合作编写,保证的是开发内部函数的正确性。一个健康的自动化测试方案中,单元测试用例的占比是比较高的。

接下来就是接口测试。一般保证的是后端开发提供给前端开发的HTTP接口的正确性,接口一般也比较稳定,用例比较容易维护,所以,接口测试的自动化占比会比较高。

在接口测试的上层是针对用户界面的UI测试了,像测试人员手工执行一样,UI自动化测试能操作页面的元素,完成自动化。不过,由于用户界面常常要重构,所以我们常常会控制UI自动化测试的规模,只编写覆盖主干的用例。

厉害的测试人员会充分利用自动化测试,并用持续集成框架串起来,达到提高工作效率和质量的目的。
怎样成为一名厉害的软件测试工程师?

三、掌握测试相关工具的开发

厉害的测试人员会开发其他好用、趁手的工具去用到工作中。比如数据自动生成、报表自动生成、提交bug工具等。不仅可以节约大量时间,把自己从繁琐又基础的测试工作中解放出来,从而有更多的时间放在重要的工作上。还能提高工作效率,提升测试质量,也让自己能够得到最大程度的成长,积累相关重要经验,对于未来的职业发展也是很有帮助的。

其实归根结底就是一句话:测试人员核心的工作就是保障项目的质量,各类测试流程、技术、工具和平台的发展让我们可以更好地保证项目的质量。所以,想成为一名厉害的软件测试工程师,对于测试工作的核心是要想清楚的,把握好重心,才能少做无用功,才能成长的更快更扎实。

结语
想了解更多软件测试知识欢迎评论区留言或私信我!
怎样成为一名厉害的软件测试工程师?
上面是我收集的一些视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们扣扣群【313782132 】,里面有各种软件测试资源和技术讨论。
怎样成为一名厉害的软件测试工程师?

更多好文分享:

什么样的人适合从事软件测试工作?

余生,不回头,不浪费,不将就

慢谈软件测试行业现状

难道软件测试真的干到35就干不动了吗?

原来功能测试转成自动化测试这么简单?

见识了解python自动化测试(3)

经得起命运敲打的人,才是真正的人生赢家

关于软件测试!你想知道的都在这里了,小白必看!

python自动化测试实例—保险测试场景中的应用

软件测试简历制作技巧与方法

软件测试是IT相关行业中最容易入门的学科~不需要开发人员烧脑的逻辑思维、不需要运维人员24小时的随时待命,需要的是细心认真的态度和IT相关知识点广度的了解,每个测试人员从入行到成为专业大牛的成长路线可划分为:软件测试、自动化测试、测试开发工程师 3个阶段。

在这里我向大家推荐一个架构学习交流群。交流学习群号:313782132 里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。