测试成长方向

作者:石头哥
链接:https://www.zhihu.com/question/34426895/answer/59117924
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

测试管理:测试管理一般来说过程为:项目经理->测试经理->测试总监-> 研发总监(CTO角色)。越往上走对具体的技术要求越低,但是对于技术(战略)规划和管理能力要求越来越高。

对于初级测试管理岗位,其实更多的是一个服务角色,而不是管理角色。如果你对技术不是非常敏感,更加喜欢跟人打交道,并且喜欢去协调和组织工作;并且能够受的了委屈,那么你可能更加适合去走管理岗位(但是千万不要去放弃自己的技术,否则你第一道坎都迈不过去)。

选择这个方向后,就要开始在沟通、执行力、反馈、解决问题等能力方面去培养和表现自己,让上级看到自己这方面的能力,并且跟上级提出想去管理项目的意愿,这样你经过一段时间后肯定会有带项目的机会,剩余的就靠自己去发挥了(小编:后面会分享一个项目经理如何去管理好项目,有兴趣的同学可以关注下)。


自动化测试:自动化测试的一个很重要的目的就是提高测试效率,并且快速的反馈质量。但是各个领域的自动化还是有一些区别的,比如:web自动化和手机软件自动化。而对于自动化来说,首先还是要去学习自动化的框架(这里跟一些朋友理解的自动化主要就是去写代码还是有一定区别的),好的框架能够让你事半功倍。而对于自动化人员来说,学习自动化框架对于自己后面的自动化开发工作是很有帮助的。

这里拿web自动化来举例子吧!当前流行的就是selenium框架+脚本语言(python or ruby)。去系统的学习下selenium框架,并且尝试搭建起来并且用于自己的项目,这样你对自动化的理解可能就会更深入 (而不要将selenium想象成为简单的录制和回放)。脚本语言还是很简单的,只要你有过编程的基础,上手肯定很快,至于后面就看自己对技术对热爱程度了,可能你会开发出更加适用于同类型产品的测试框架(在效率和可维护性上更牛逼),当然,不管走的多远,都不要忘记了做自动化的目的。


自动化还有一个方向就是走SET的工作,大家不了解的去看看google测试之道吧,还是一本不错的书籍。


性能测试:要做好性能测试,一个最重要的前提就是需要了解被测试产品的系统架构,掌握整个系统的数据流向和交互;这样你才能够分析出系统的压力点,从而制定性能测试计划,否则你再牛逼的性能测试工具都可能达不到测试目的。

然后就是选择一个性能测试工具,这里建议多分析下一些开源的性能测试工具,比如:ab性能测试工具。掌握这些工具的实现原理,这对于后面自己去优化工具来达到测试目的会有很大的帮助。而不是简简单单的觉得自己会使用loadrunner的录制回放以及结果分析就是性能测试的大牛了,这样我只能说,你对自己要求太低了。


实践、分析、验证、反复实践,终有一天你会成为该领域的性能测试大牛以及测试专家,这里不得不说的就是,一般性能测试大牛同时也是测试工具开发的大牛,否则你可能还要去依靠别人(不符合大牛的身份)。

测试分析:这块的技术因为无法量化的评估出效益导致很多测试人员不愿意去走这条道路,这个跟国外的情况还是有很大区别的。大家感兴趣的可以去看看James A. Whittaker 写的《探索性软件试》,看完后,可能你会觉得软件测试真正的魅力原来在这里。而探索性测试仅仅只是测试分析的一方面;这里的测试分析包括:测试设计分析、测试策略分析、测试质量分析、测试需求分析等等;但是不得不说的是,这块确实比较难,很多同学因为看不到自己的明显进步或者研究了一段时间都没有产出,从而放弃了,笔者不得不说这是一个很遗憾的事情(这个过程需要自己不断的总结和积累,没有一个通用的方法,但是你在这个领域持续做了1万个小时,肯定会有产出,这样你就是大牛,并且能够发现测试的兴趣)。


作者:浪晋
链接:https://www.zhihu.com/question/34426895/answer/235063852
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

1、自动化测试工程师

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

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

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

编程语言是自动化的核心,不会编程,都是白搭。然后要会主流的测试框架,和一些辅助工具。

主流的框架啊,不外乎selenium,appium,monkey,monkeyrunner之类的,基本上掌握了这个几个APP和UI自动化都可以玩的转了。

然后接口自动化的话当然各位要知道什么是接口啊,不然玩个什么鬼。

辅助工具就太多了,大家各有各的喜好,没什么是必须要会的,这里就给大家推荐几个常用的工具。

postman,接口测试工具。

fiddle,抓包工具。

navicat,数据库管理工具。

HTTPwatch,网页监测工具

uiautomator,APP元素查看工具。

等等啦。

还有什么sql,linux,IDE啊这种就不要单独说了吧,通用的知识都是必须掌握的。

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

2、性能测试工程师

性能测试工程师,其实我不是很推荐,因为这个很容易遇到学习瓶颈。

做性能测试简单,只要熟练使用loadrunner,jmeter等工具,基本上都可以做性能测试了。

可是为什么不推荐呢,

因为如果只需要会工具就能成为一个性能测试工程师,那这个门槛也太低了。

性能测试好做也好学,可是性能调优,这个性能测试工程师的核心,最关键的技能,学习周期太长,学习代价太高,见效太慢。

所以啊,其实就是我也不知道这个性能调优到底怎么玩。

言归正传啊,刚刚提到的那两个工具是必须要掌握的,然后C、Java也是要会的。

毕竟你不能完全依靠录制来完成脚本的编写。

然后各种协议是要掌握的,IP/TCP/UDP/HTTP/SOCKET等等。

Linux就不提了,毕竟性能测试一般都是测试服务器,而服务器一般都在Linux上。

不会Linux的话,你也就最多算个玩工具的,工程师就呵呵呵了。

3、持续集成工程师

如果大家关注业内新闻资讯都知道,持续集成是未来这几年软件行业的发展趋势,是一个更加高效更加能把控质量的管理方法。

要入门持续集成,需要各位小伙伴先知道什么是devops。

DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。


大概的概念就是这样了,详细的内容大家需要自己去查资料,毕竟这东西和敏捷一样,几句话是说不清楚的。

了解了这个东西后,技术上,需要懂代码(废话啊),服务器运维,持续集成平台CI,如Jenkins这种。

最终的一个目标就是可以实现完整这么一个平台,开发提交代码后,自动触发任务,开始编译部署到测试环境,然后自动进行自动化测试,如果通过了再自动推动到生产环境,如果测试没通过,自动回滚版本,邮件分分钟通知各个负责人哪里没通过,然后开发立刻修改。

有很多业内的小伙伴认为,devops一旦全面实行,对初级软件测试工程师的需求会大大减少。

所以啊,各位,压力山大啊!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值