你好,我是小牛。
今天来和大家聊一聊日常工作中linux是如何使用的?以及如何自学掌握linux?
和之前讲的数据库一样,linux属于面试必问,简历必写内容,也是每一个测试人员必须掌握的基本技能。
由于linux服务器免费开源的特点,加上比windows server 更加稳定安全。因此,目前大多数互联网公司服务器都是linux系统,然后开发在上面部署代码,发布应用。
在IT行业,linux应用十分广泛,也有专门的linux工程师这个岗位。使用比较多的领域:运维,应用开发,嵌入式底层系统移植等等。
每一个方向水都很深,研究起来都是无底洞。不具体展开讲了,感兴趣的同学可以百度下。
那么,对于软件测试人员,我们使用linux主要用来做什么呢?主要用途有两个:一是搭建测试环境;二是查找日志,定位bug。
日常工作中,一般来说,环境有三种,分别是开发本地环境,测试环境,生产环境。流程是开发先在本地环境开发,完成之后把代码部署到测试环境,测试完成之后,再发布到生产环境,发版上线。
关于测试环境,很多公司都有多套,用来满足日常不同需求测试。对于一些大公司来说,测试环境都是成熟的,一般都是使用工具比如jenkins可以自动化部署,直接部署完代码,就可以测试了,不需要测试人员手工搭建测试环境。
而对于一些创业小公司而言,流程和环境不够规范,可能需要手工搭建测试环境,有的是开发或者运维帮忙搭建的,还有一些是测试人员自己进行搭建,这个时候就需要使用linux命令了。
你需要根据公司环境要求,去找教程,一步步来操作就可以了。最好,对linux命令熟悉到像操作window图形化界面一样,达到随心所欲的地步,就没什么问题。
除了搭建测试环境,另一个日常工作使用更多的就是查找日志,定位bug了……
首先,要知道日志从哪里来呢?日志其实是开发写在代码中的,比如开发一般会把一个接口的请求信息和响应信息打印出来,这样当你在做接口测试时,比如发现接口返回失败或者异常。
你就可以和开发要一下关键字,然后查找日志,看是你这个系统报错,还是下游系统报错,以及返回什么错误。然后你把错误定位到以后,把日志截图丢给对应开发就可以了。
查找日志相对使用比较多的是tail命令和grep命令,前者是实时请求动态打印日志,后者是精确查找关键字进行日志搜索,除此之外,还有一些其它的日志查找命令,挺多的,不一一讲了。
那么是在哪里输入命令,查找日志呢?推荐两款终端工具,window系统推荐xshell,苹果系统推荐Termius,通过输入服务器地址以及用户密码,就可以连接上服务器了,然后就可以愉快的敲linux命令了……
对于测试人员来说,除了搭建测试环境,以及查找日志,其它想学习linux进阶,还有哪些方向呢?
第一,可以学习下shell脚本语言,简单易学, 测试人员可以通过shell编程来简化日常的维护工作,还可以自动化部署tomcat环境,导入和备份mysql数据库,定时清除日志等等......
第二,就是坑比较深的性能测试了,需要使用linux命令来监控服务器性能,协助开发分析性能瓶颈,并进行调优。
比如常见的监控cpu的命令top,以及可以监控系统内存,磁盘io命令vmstat,监控网络命令netstat......只有掌握好linux命令才是打开了通往性能测试的大门,当然性能测试的复杂度远不止这些。
接下来说下面试,对于初级工程师,面试问的比较多的就是是否会搭建测试环境,以及说下常见的linux命令。
建议大家不要说cd,ls这些太low的命令,可以说下linux三剑客grep,sed,awk这些,以及能说出几个性能监控命令再好不过了。
既然说了这么多,那么作为小白应该如何学习linux并进阶呢?首先,你需要有一台linux服务器,有两种方式,安装虚拟机,或者购买云服务器。