测试运维工程师必备技能之Java专项

2022-04-07 12:43:13 浏览数 (1)

经过一周的“假期综合征”的侵害,在元宵来临,相信大家自身抵抗力大概已经逐步打败懒癌,占据身体高地,怎么都跑不了恢复工作的状态了。

之前提到了一篇Python版本的技能:

测试运维工程师必会技能之Python专项

有同学提出需要java系的技能表,所以也拿出来和大家来聊一聊TestOps对于Java来说,应该具备什么样的技能。

编码基础

如在Python篇中所说,为了更好的了解被测系统,编码能力是一个测试运维的基础能力之一,那么对于Java而已应该掌握哪些编码基础姿势呢?

于Java而言,掌握开发环境的维护,了解Java的开发环境(常见的有eclipse、IDEA),编码规则、基本语法、面向对象开发、jvm原理等这是必备的。现有的系统B/S结构比较多,我们必须要对web开发流程有一定的了解,了解Struts、Spring、Hibernate等web开发框架,这3者也被称之为SSH。除了在Python篇里提到的Html CSS JavaScript三大前端主力,Bootstrap、React、vue、Angular等前端框架,还会遇上maven、SpringBoot、SpringCloud等其他框架;为了代码的监控,日志框架log4j2也是大家应该掌握的;当然代码版本管理系统,如Git、SVN等版本控制管理工具的熟练使用也是不可或缺的。

持续集成

相信通过之前的讨论,大家对掌握持续集成的技术也是TestOps必须掌握的技能之一也能达成共识。

除了之前跟大家谈过的Docker、Docker的管理,持续集成利器Jenkins,可视化工具BlueOcean,这里想跟大家多谈一谈如何提高Java的代码质量。在TestOps、DevOps、测试敏捷化体系中,测试左移是谈的非常多的一个理念,测试左移鼓励不断加大前驱测试阶段的测试覆盖率,特别是单元测试阶段。单元测试是测试左移的关键构成,对于Java而言,Junit、TestNG等单元测试框架相信大家一定听说过,或者能够熟练使用。这里还需要大家了解的是单元测试覆盖率工具Jacoco、Cobertura等,以及Jacoco集成Ant、Maven统计Tomcat服务的代码覆盖路。代码评审工具sonar、findbug等也是需要大家花时间了解的,对于Java的编码规范,大家可以参考一下阿里规约。为了提高编码的效率,Maven的引入必不可少,Maven的自动化发布,使用Nexus搭建Maven私有库也是大家必须了解的。

自动化测试

提到提高软件质量,提高交付速度,测试的自动化实施也是必谈的。当然不仅仅局限于接口、UI自动化,测数据准备、测试案例生成等自动化都可以纳入这个范畴。

Selenium、Appium、HTTPClient、OKHttp等是老生常谈了;使用Postman、Jmeter、Burpsuite等工具完成接口、性能、安全测试也是必备技能;基于JVM的敏捷开发语言groovy,来自于阿里的高性能服务框架dubbo是Java区别于Python的知识点;yapi接口管理、基于前后端分离的Swagger契约测试、微服务下的接口设计与管理,可能是需要大家不太熟悉的。对于Java而言,需要掌握的自动化测试技术甚至是持续测试技术可能会非常多,欢迎大家留言补充。

持续部署

对于已经做到持续集成,并经过单元测试、代码审查、自动化测试通过的代码来说,想要做到快速上线,持续部署也是必须具备的,而TestOps作为能够保证测试更快落地执行的人员,对于持续部署的能力也是不能比运维人员差的。在Python篇中,已经给大家介绍过了,对于Java来说区别不是很大,这里就不跟大家再做过多的描述了。

其他

当然想要成为一名合格的TestOps对于DevOps、敏捷、运维技术也是必须有一定了解的。

0 人点赞