测试、开发、运维这三个工种有交叉的地方,也有不同的地方。下面我们就分开来说一下这三个工种的一些工作内容和工作性质,然后再来比较一下这三个工作到底哪个比较轻松。
一、测试
测试工作一般是在功能开发完成以后,开发发布版本说要测试的时候,测试就按照对应的测试用例,对开发的功能进行一项一项的测试。测试不光要对一个一个的功能模块进行单元测试,同时还要做集成测试、回归测试、压力测试等。而对测试工作来说,并不是简单的点点点就能搞定的,测试是有一套整体的流程的,需要按照对应的方法去做测试。同时对做测试的人来说,也要懂一些开发的技能,懂一些数据库的技能。所以对测试人员来说,并不是简单地去对业务有所了解就可以做了,你还要懂一些开发和运维的知识,当遇到一些问题的时候,测试可以直接连数据库在数据库里面去查询;当有一些代码问题的时候,如果测试懂一些代码的东西也可以直接把问题的根源找到并发给对应的开发人员去处理。
所以对测试来说,相对开发和运维来说,测试的入门门槛可能要相对简单一些,但是进去以后你要学的东西非常多,而且要真正把这块工作做好,也是要了解更加更全面的东西。同时,测试对一个公司来说是非常重要的,当一个产品要面向用户的时候,测试需要全流程对各个功能点做测试,当测试这边说没有问题以后才能够集中上线。测试可以说是公司产品的最后一道守门的人员,也是非常关键的一环。同时当测试工作做完以后,测试还要写各种各样的文档,包括测试报告、操作手册等。
二、开发
开发人员对IT和互联网公司来说是非常重要的,根据不同的工种,开发又可以分为前端开发、后台开发、数据库管理、架构师等,在移动端又有专门的IOS开发、安卓开发、小程序开发等。
在测试和运维当中,开发是一个相对来说入门槛比较高的职业。你不光需要对某门语言有更深的了解,同时你还要有实际的输出能力,逻辑要缜密。同时当你选择做开发以后,由于这行的技术更新换代非常快,你不光要不断地去学习一些理论知识,同时在有项目实践机会的时候,也要很好地把握这些机会,通过在项目实践当中去提升自己的各种能力,解决各种各样的问题。当自己的编程力提升了,能够解决的问题越来越多,特别是能够解决一些很棘手的问题的时候,你在项目当中的地位才会慢慢的起来。
所以我们经常会看到有的开发人员压力非常大,经常要加班熬夜,要学习新的东西,其实这本来就是开发这个行业的一个固有的一个性质,当你选择做开发的时候,就必须要接受这种性质。如果说你真的喜欢编程,你能够沉浸在编程的乐趣当中去,你就不会觉得这种工作是一种枯燥乏味的工作,你反而会感到很有趣,会自发地去提升自己。
三、运维
运维工作是指当我们的系统建设完成以后,产品实施顾问已经把这个产品部署上线,并且给客户做了相关的培训,客户已经开始正常使用系统了,接下来系统相关的一些运维支持工作,就需要交给运维人员来去做了。接下来的运维工作不光包含一些简单的二次开发,还包括一些业务模块的一些维护,所以运维人员要懂一些开发层面的东西,同时也要懂一些数据库、系统配置、操作系统、服务器相关的东西。特别是作为运维人员来说,当遇到一些问题的时候,当需要找寻这个问题的根本原因的时候,你就需要深入到之前开发所写的代码当中去,一步一步的校验,一步一步地查找问题,最终找到根本原因并去解决这个问题,这个能力才是真正考验运维人员的。
毕竟你想在开发写的那么多的代码当中找到根本原因,首先你自己要懂一些代码,它的逻辑是什么样子的,同时你还要懂业务,从业务层面来说这些东西该如何去走,当你了解了业务又懂得了一些代码的实现逻辑以后,你才能够站在当前的角度上去解决问题。
同时运维所接手的项目到底好不好,自己一天的运维工作到底多不多,也要看之前项目给你埋的坑多不多。如果之前的项目是一个烂尾项目,项目上有很多坑,那对运维来说,后期你要解决的问题就非常的多,甚至你还会解决的非常的痛苦;如果之前的项目人员都非常能干,项目做得很成熟,对很多细节方面都考虑得很到位,项目给你埋的坑也很少,那你在做运维的时候就相对要轻松一些。
所以通过上面比较会发现,不论是做测试、开发还是运维,其实这几种工作都不是很轻松的。真正考验你的还是你自己掌握了多少东西,你能够解决多少问题,你做事的时候有没有掌握真正的做事的方法论。当你自己能力强的时候,其实做这几种工作都是相对比较轻松的,你也会感到比较有成就感的,如果说你对相关的一些技能掌握的并不是很透彻,那不论你做那种工作,都是有困难的,都是不轻松的。