vlambda博客
学习文章列表

云原生的测试工程师该用什么操作系统的本本?

嘀! 用卡! 没有废话,直接得阔怕!
  
先上结论:能 Mac 就 Mac 吧。


最近几年都在云原生领域游荡,这期间由于各种原因,分别在 Windows、Mac、Linux 中混迹,恰巧,最近有朋友又来咨询买电脑的事儿,顺带思考了一下,作为云原生的测试工程师,该用什么操作系统的本子。


云原生


虽然提到云原生,但本文也不浮夸的去讲解什么是云原生了,来点实际的:测试过程中你在用容器、用平台、常常脱离本地环境做测试,就已经在某种程度上来说,就已经符合云原生的一些定义了;如果被测产品也上了平台,能够分布式,并且具有灵活的扩展和自愈能力,那它就已经是个云原生应用了,这种产品的测试工程师,就是个妥妥的云原生测试工程师。


云原生下测试,会使用那些工具呢?除了比较通用的测试工具,一定会使用到容器技术的经典产品 Docker,其次对于 Python 、Shell 这样的脚本语言,也会经常需要来两段。


Docker


关于 Docker,从安装难易程度来说,Mac 和 Linux 最简单,Windows 略不顺,从使用上来说,Linux 最舒适,Mac 也不赖,但 Windows 嘛,“能用”。


为什么这么个结论呢?


Linux 安装 Docker ,直接上命令就可以了,通常没啥问题,装完启动 Docker 服务就可以用上了,只不过需要 root 权限。


Mac 安装 Docker Desktop,官网直接下载,除了感觉上臃肿点,但不需要动啥脑经。


Windows 安装 Docker 前段时间折腾了,首先对 Windows 版本有限制,然后又是虚拟机有要求,总之,常规手法,没能成功,终极方法使用 Docker Toolbox,看官网介绍是说解决老 Mac 和 Windows 的安装。


使用起来,Mac 主要是注意容器中访问宿主机只能使用 docker.for.mac.host.internal,不过这个操作我也不常用。Windows 上使用,最好就用 Docker Quickstart Terminal 做终端,它会检查 Docker 服务启动,而且会提示默认访问容器的 IP,这个跟在 Mac/Linux 上完全不一样,不是 localhost,整体来说,该终端体验不错,个人感觉比 Git Bash 好用。


终端


正好说到终端,Linux 和 Mac 就不提了,都是自带终端的,命令行办事儿及其效率,还是 666 的。


Windows 刚刚提到可以用 Docker Quickstart Terminal,或者用装 Git 的时候的 Git Bash,如果是需要远程,也可以利用 Putty、XShell 这样的工具。解决方案有很多,主要看习惯不习惯。


为什么终端这么重要,因为我们面对的多是无图形化界面的服务器啊,加上我们写个脚本,总要调试调试,直接终端操作,还是便捷不少,特别对于像我这样的一个 vim 重度用户。


那么问题来了,由于 shell 脚本在 Mac/Linux 上都可以直接运行,但在 Windows 上是不可执行的,因此必须借用虚拟机或者远程操作。


脚本


脚本是测试工程师进阶的技能,无论是 Shell 还是 Python,虽然 Python 能够跨平台,但是 Shell 不能,是不是要舍弃 Shell 只用 Python 呢?关于测试工程师为什么要会写 Shell 脚本,我在中有提到。


Windows 的 bat 也是脚本语言,不过只能在 Windows 上运行,但 Linux 靠其超高性价比占据了服务器很大的一个市场,使得 Linux Shell 要远比 Windows bat 使用更广。


办公


以上是正对云原生的测试工作下的一些特别之处,其他还是有很多影响因素的,比如一些工具在 Windows/Mac 下很容易找到,但是 Linux 下就明显生态不完善,日常办公更是如此,邮箱、即时聊天、办公软件,Linux 平台下诸多不便,虽然可能找到一些解决方案,但我们的目的是利用电脑高效地完成我们的工作,而不是折腾一台电脑。


综合


综合所有的情况,Mac 兼顾着像 Linux 一样的操作便利、像 Windows 一样的生态完善,确实是云原生领域下的测试工程师首选。其次,如果接受办公上的一些不便利,可以用 Linux,否则 Windows。


为了该结论的严谨,留下当前时代信息:2020 年