首页 > 基地新闻 > 软件测试的职业发展有哪些?

软件测试的职业发展有哪些?

时间:2018-05-04 14:52:58 文章来源:国信安

大家都说软件测试入门容易,似乎软件测试成了跳进互联网生态圈的最佳途径。那么软件测试的职业发展有哪些呢?

 

一、软件测试职业发展

说到软件测试的职业发展,和开发是一样的,不外乎那么几条路。

    1、管理方向。
    2、技术方向。
    3、半路掉头方向。
    先简单的说说这个三个方向吧。

 

1、管理型

首先是管理方向,这个其实是最不好做的了,因为要想转型成为管理,除了个人的能力提升以外,更多的是需要机遇,正好遇到那么一个机会,正好被你抓住了。然后有了管理的经验,后面也就水到渠成了。要做管理,自然需要关注的就是各种管理方法了,包括了不限于项目管理,流程管理,QACMMI等等东西。要想走管理路线的小伙伴,不要守株待兔,在等待机遇的时候也要多学习才行呀。

2、技术型

然后是技术型路线了,其实技术型路线的发展是最靠谱最能通过个人奋斗实现的一个路线了。软件测试的技术型路线发展,大概的来讲可以分为以下几种。
自动化测试工程性能测试工程持续集成工程师测试开发工程师开发工程师。然后这个几个路线做到最高的境界可能就是架构工程师或者全栈工程师了吧。再持续往上我也不知道是什么了,也许就是全球知名IT工程师之类的了吧。

3、半路调头型

因为软件测试是一门横向发展的技术,要求的是测试人员什么都要了解,什么都需要知道。所以,在整个IT行业里,软件测试一个相当容易转行的岗位比如,精通业务,可以去做需求分析精通用户体验,可以转行做产品经理喜欢开发,可以转行做开发文档写的6可以转行做文档工程师。以及售后工程师,售前工程师,技术支持工程师等等各种各样的工程师。

 

二、如何往技术型路线发展

这里,主要给大家讲讲软件测试在技术路线上的发展应该主要关注什么东西。

1、自动化测试工程师

自动化测试工程师细分可以有UI自动化测试工程师,APP自动化测试工程师、接口自动化测试工程师等等。

  那么怎么才能成为一个合格的自动化测试工程师呢。

  首先,必须要掌握一门编程语言,应该以Java或者python为主,虽然什么语言都可以用来做自动化测试,但毕竟这个两个最流行嘛,如果不想成为自动化测试工程师里的非主流自动化测试工程师,那我还是强烈推荐大家选择这两门语言。

  编程语言是自动化的核心,不会编程,都是白搭。然后要会主流的测试框架,和一些辅助工具。主流的框架啊,不外乎seleniumappiummonkeymonkeyrunner之类的,基本上掌握了这个几个APPUI自动化都可以玩的转了。然后接口自动化的话当然各位要知道什么是接口啦。

  辅助工具就太多了,大家各有各的喜好,没什么是必须要会的,这里就给大家推荐几个常用的工具。postman,接口测试工具fiddle,抓包工具navicat,数据库管理工具HTTPwatch,网页监测工具uiautomatorAPP元素查看工具等等啦。还有什么sqllinuxIDE这些通用的知识都是必须掌握的。

相信初步掌握了这些你就可以自动化入门了,熟练掌握就基本上可以完成大多数的工作了。

 

2、性能测试工程师

性能测试工程师,其实我不是很推荐,因为这个很容易遇到学习瓶颈。
做性能测试简单,只要熟练使用loadrunnerjmeter等工具,基本上都可以做性能测试了。可是为什么不推荐呢,因为如果只需要会工具就能成为一个性能测试工程师,那这个门槛也太低了。性能测试好做也好学,可是性能调优,这个性能测试工程师的核心,最关键的技能,学习周期太长,学习代价太高,见效太慢。

  所以啊,其实就是我也不知道这个性能调优到底怎么玩,但是!有兴趣的朋友可以尝试一下的!

  言归正传啊,刚刚提到的那两个工具是必须要掌握的,然后CJava也是要会的。毕竟你不能完全依靠录制来完成脚本的编写。然后各种协议是要掌握的,IP/TCP/UDP/HTTP/SOCKET等等。Linux就不提了,毕竟性能测试一般都是测试服务器,而服务器一般都在Linux上。

 

3、持续集成工程师

如果大家关注业内新闻资讯都知道,持续集成是未来这几年软件行业的发展趋势,是一个更加高效更加能把控质量的管理方法。要入门持续集成,需要各位小伙伴先知道什么是DevOpsDevOps(英文DevelopmentOperations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。

 

大概的概念就是这样了,详细的内容大家需要自己去查资料,毕竟这东西和敏捷一样,几句话是说不清楚的。了解了这个东西后,技术上,需要懂代码,服务器运维,持续集成平台CI,如Jenkins。最终的一个目标就是可以实现完整这么一个平台,开发提交代码后,自动触发任务,开始编译部署到测试环境,然后自动进行自动化测试,如果通过了再自动推动到生产环境,如果测试没通过,自动回滚版本,邮件分分钟通知各个负责人哪里没通过,然后开发立刻修改。

 

4、测试开发工程师

其实这个没什么多说的,测试开发就是一个偏技术的测试工程师,什么都能玩一玩,既可以为测试团队开发辅助测试的工具,又可以和大家一起写自动化测试,还能帮开发coding代码!想一想,你去给开发说,这里有个问题赶紧改,开发一甩脸色,就知道瞎BB,你行你上啊。然后你一把推开他,抄起键盘噼里啪啦的把BUG改了,还顺便优化了下他的代码。哈哈哈,解气不?

所以啊,这个怎么入门,就是精通测试的时候顺便精通开发就行了。

如果你觉得你测试已经精通了,你就直接学开发的东西就行了,没什么特别要求的东西。

作者:浪晋

链接:https://www.zhihu.com/question/34426895/answer/235063852

来源:知乎