工作介绍

设备是NE9000城域路由器。 测试对象是VRPv8产品大包。 测试语言是RUBY、TCL对应的软件分别是impeller、GTR。 测试场景有很多evpn下、vxlan下、bgp、isis、ospf基础组网下、srv6 等需要vrrp、bfd、frr备份的场景,都是现网常用的。 自动化实现是在欧拉linux上,自动化还需要一些工具,常用的有用例管理、日志系统、度量系统、设备管理。

工作日常

早上过来,停下自动化任务,检查设备单板注册状况、接口状况、linux状况、有没有环境问题,看几个脚本日志,度量一下有无产品bug,有产品bug其实很明显,每个人都能感知到,大多数还是脚本问题和环境问题。这是最需要诟病的地方,后续再说。中午自动化执行nopass的用例,下午午休结束,黄金工作时间,处理风险脚本,疑似bug脚本,根据用例管理下pass记录来度量。这么说吧50个fail脚本中不一定有一个产品bug问题,晚上检查环境,继续调度。我大概一天能发现2-3个脚本问题,产品bug很少,不得不说华为不愧是通信巨头,领域和人是真多,定位产品bug要问来问去。最高纪录,拉了40多人的会议处理一个bug。。 还有就是经常换版本升级,打补丁,出包的速度简直了。

我对这个岗位的看法

优点:对我来说,帮助我快速的成长,我是半路出家,投入网络是一场豪赌,这一年获得了非常非常多的知识。linux、ruby、数通基础、办公技巧以及为人处事,刚入职的那会,只要一有时间,就去学点东西,因为公司有华为3ms的权限,上面都是大佬的博客、知识库、随意观看,这是一种难得机会。

缺点:我对工作有些看法,仅限我个人。 一、角色问题,自动化测得不仅是产品还有脚本。产品是开发的,开发负责一个领域。脚本是别的外包的,他们也至负责一个领域。自动化测试的是整个领域的,对应着多少开发和脚本责任田,意味着你能看的过来么?你忙的过来么,你能学习的过来么?注定不能,只能啥都知道一点,但是没法刨坑求底。用的是别人做的工具,属于自己的有什么?而且对于我来说,我总感觉在一个项目中,存在感,参与感都很低,我了解这个项目吗?我为这个项目付出了什么,仅仅是把问题抛给开发,抛给脚本责任田。每次看开发或者脚本责任田解决一个很难的问题,我都感觉自己很捞,信心受挫。 二、脚本和环境,脚本和环境都是继承的,现网在变,时时刻刻都有新需求。新需求在每一个版本都只会在新硬件上积极推动,那些旧环境跑这些新需求,肯定会挂,那要问为什么脚本外包的人,为什么不把所有的产品形态都改了?环境是老环境,甚至有些板子形态是制式的,属于实验物料,不属于在售型号,那测得意义何在?遇到过问题,然后找开发,开发来一句历史问题,自身缺陷,这部分物料还留着干啥,因为库房没有可以替代的了,还要硬着头皮去测。所以说脚本和环境时刻都影响这自动化的效率,而且会越陷越深。 三、工作时间问题,明面上是工作日8点至9点弹性打卡一天8小时,5点半下班,6点后算加班,加班不给钱,周末加班算双倍工资。但这就是个陷阱,周末不加班的情况下,月均超额工时占比0.7以上,这个月均超额工时是这样计算的,工作日加班的时长除以月工作天数,那就是说,你每天要多干0.7个小时,你也可以选择在一天或者两天给他补完,周末加一天班的话,你工作日加班的时间更多,可以这样理解,你一周得上7*8小时,压缩在了6天,但是你拿可以拿到七天工作日的钱,听上去还不错的样子,但都是资本的陷阱!!!你可能觉得这是不对的,但是你不干有的是人干,我工资在6.5k,在9月份可以涨1k,但是我是溜了,因为我不想被这样要求加班。特别是周末不加班的情况下,你还得加。。。除非你给的多是吧,但现如今这个我觉得还是太少,告别老东家。 四、工作环境问题,差生文具多,公司用的是华为云小盒子有延迟,屏幕很烂。我是一个pc和游戏爱好者,没有好的设备,都没啥心情办公了,我都想带自己的pc进去办公,但可信不允许啊。

什么是VRP,测得什么

VRP是华为路由交换产品线的操作系统,就像思科是ios,都是自主研发的,思科和华为都会一点,相比较起来,我感觉还是华为好用,可能是就做华为的数通线吧,先入为主了吧,没碰过思科的产品。 VRP系统基于七层模型开发,大包后缀.cc,VRP系统经历了好几代,现在高端设备多是V8,其他的设备多是V5。 https://support.huawei.com/enterprise/zh/doc/EDOC1100055158/3cd61cbd 这里很好的介绍了V8系统的构成和优点。系统由组件集成,模块化的好处就是为客户提供了定制化服务,有高扩展性,可维护,可兼容。 在工作中,可以通过组件报错,快速找到对应领域定位问题。一般配置下发失败–operate abnormal,第一个找的就是cfg组件领域的人,也可以查看断言assert verbose判断哪个组件报错。

什么是自动化测试,怎么测

作为自动化工程师(听上去好牛),日常并不是只有点点点,虽然大多数情况下是点点点。还是要能看懂ruby语言,懂些网路技术的。我刚来的时候ruby是一点都不会的,但是通过几个星期的学习很快就会了,推荐菜鸟教程。有一定的数通基础会跟快的掌握这份工作,测的就是这玩意么。自从我能看懂ruby,我就觉得,脚本好烂,一段时间下来,发现脚本问题400个,产品问题才个位数,反正我觉得挺离谱的。 1、一个ruby工程脚本,有这几个文件组成测试套ts(环境准备,标参)、步骤脚本tc(测试主体)、约束脚本(用于环境组网映射,有一个环境网站工具配合映射)、网元topo图(记录网元、组网信息)。 想要跑起来脚本,还需要gem包,外包提供的gem包里,有的调用cmd,登录网元、下发配置、取得回显,每一个命令行都有对应的函数模块。有的控制了环境映射、更新、数据库,判断分支等功能,没这些gem,啥都干不了。有很多脚本都是分支问题、回显问题、取值索引问题、等待时间不够问题。能看懂ruby还是很简单的。 2、linux执行自动化,linux里下载了ruby解释器,impeller软件,测试仪(打流抓包),一个执行机开了3个进程,可以跑3个脚本,20台执行机可以一次性跑60个脚本,组网占满,执行机占满、一个脚本30分钟的情况下,一晚上上千了,当然这是不可能的,环境组网不够。。。 3、win下手工验证,linux和win是不同的,存在差异,有时候脚本在win下能pass,不一定在linux上pass。 4、上传日志,有工具读取日志上传结果,统一度量通过率、分析率等等

发展方向

现在想做什么

现在每天学习学习新东西,坚持每天发博客记录,然后一边找工作,想佛系一些。 现在对网络工程师、运维工程师比较感兴趣,还是把数通基础打牢,然后多用用Linux,实战精通python(就会些皮毛,没用过),学学数据库。

查看原文