对每个职场人士来说,当工作步入正轨,开始稳定下来,那么关于未来的职业发展就是首要考虑的问题。测试人员也不例外,每天忙于业务测试,接触到的核心技术会比较少,如果不能提升自己的职业技能,拥有自己的核心竞争力,那么对于未来的发展会有很大的限制。
说的稍微严重一点,如果觉得测试只是枯燥的“用鼠标点点点”的工作,那么职业发展可能很快就会遇到瓶颈,甚至还有被行业淘汰的可能!
每个行业,每个岗位,都有自己的发展方向,测试工程师必有他的价值。有时候觉得看不到未来,也可能只是是自己站的不够高。想要未来大有可为,就需要不断的学习,提升自己的专业技能,让自己达到一定高度,毕竟站的更高,才能看的更远。对此,小编特地整理了以下测试人员需要提升的几项能力,可供参考。
1、基础测试能力
测试基础就是测试的基本功,首先要理解一些流程相关的东西,如需求分析、测试计划、缺陷跟踪等。
其次要有扎实的用例设计能力,能灵活运用“等价类划分边界值分析法”、流程分析法”、等常见用例设计方法,最后要具备很强的测试执行能力,移动端、web端、服务的测试执行各有特点。
例如服务端测试,需要熟练使用Postman、Jmeter等工具做接口测试, 移动端测试,需要利用fiddler抓包来定位一些问题。
测试本身是一个实践性很强的工作,扎实的基本功不可或缺。
2、专项测试能力
“高可用”、“稳定性”、“易用性”等指标越来越被各大互联网厂商所追捧,性能测试、异常稳定性测试、故障演练等专项测试的价值日益凸显。而实施这些测试是需要具备一定的技术功底的。
例如:要做Java应用的性能测试,需要深入了JVM虚拟机原理,了解常见的性能指标,如响应时间、吞吐量、资源利用率等,能熟练使常见的性能定位工具,如jstack、jstat、jmap等。
专项测试凸显的是分析和定位问题的能力,需要不断的实践才能得到提升。
3、测试环境管理能力
互联网产品的服务通常是由Web应用、中间件、数据库和许多后台业务程序组成,一套运行环境就相当于一个小生态环境。最基础的运行环境是线上环境,主要更新产品的正式发布版本,为用户提供持续可靠的服务。
此外,还有一些不对外开放的运行环境,主要是用于产品团队日常的开发和验证,一般统称为测试环境。正式环境的稳定性,除去软件自身的质量因素,主要与运行的主机、网络等基础设施相关,而测试环境的稳定性则更多受到人为因素影响。由于频繁的版本变更,以及部署未经充分验证的代码,测试环境出故障的频率是比较高的。
“工欲善其事必先利其器”,测试环境有多重要,无需多言。
微服务流行的当下,服务拆分、中间件、高可用设计导致软件系统架构越来越复杂,调用链路错综复杂,配置多如牛毛,给测试环境的部署和管理带来了一定的挑战。”搭建环境半个月,测试执行两三天“,严重影响项目进度。生产环境有运维人员来维护,但是测试环境却没有,所以测试人员要承担起测试环境的运维角色。
快速部署环境,保证测试环境的持续可用状态,是每一位测试人员不可或缺的技能。要达成这一目标,需要具备一定的系统架构理解能力,掌握常见的Linux操作技巧,能熟练部署一些通用的服务,如:MySQL、Redis、Kafka等。随着Docker容器技术的广泛应用,容器化部署服务也是必备技能之一。
4、开发工具的能力
自动化工具是提高测试效率的利器,将一些重复性高的工作用自动化工具来替代。避免被繁杂的手动测试占用太多时间,让自己可以专注于更核心的测试工作。
想要做工具开发需要具备一定的代码能力,有些传统观念认为,测试同学不需要具备代码能力,这是很大的误区。具备代码能力处理可以写自动化工具外,还有其他很多优势,例如 可以参与开发的code review,增强对业务的理解。
5、良好的沟通协调能力
以质量为核心,不断提升效率,支撑产品快速迭代是测试的最终目的。
测试工作在项目中起到了承上启下的作用,在这过程中有很多资源需要协调,很多问题需要反复沟通,例如 测试同学需要推动开发去做一些自测,这样才能提升交付质量,出现bug后,需要推动开发人员快速修复bug。因此沟通协调能力也是测试工程师不容忽视的能力。
在具备了这几项能力之后后,还需要在实际的项目中进行实践巩固,进一步提升自己的专业技能。当自身实力足够强大的时候,自然不用担心未来的发展。
作者:佚名