作为软件测试的前辈,你能不能给我一点建议?

十年软件测试工程师生涯——写给还在迷茫中的朋友

很久没登陆博客园了,此刻是七月的最后一天。从念大学时候就开始用博客园,在下晚自习后睡觉前都会来博客园逛一逛,读写创做本身的生活。前端

时光荏苒,从毕业到如今已经10年,10年来一直从事着软件测试的工做。从一个什么都不会,到测试技术人员再到测试管理,期间有迷茫,有痛苦,有弯路,有捷径。今天对本身过去的10年测试经历作一个总结。python

 

一是给本身从新出发增长动力。程序员

 

二是给刚入道的、迷茫中的测试朋友一点点建议,但愿大家少走弯路。web

首先,谈谈测试职业规划,即作什么的问题。所谓方向比努力重要,这绝对是一句真理。数据库

 

 

若是能在刚走上测试工做岗位的时候明白这个道理,那么不出5年,你必定能成为某一测试领域的专家,那时不论是薪水、自信心都是顺其天然的事情。可是遗憾的是,咱们获取的太多信息是,测试人员是一个通才,什么都要学,什么都要懂。编程

 

结果这样的一个方向,致使了3脚猫功夫的测试人员一大把。那么什么都懂一点的测试人员难道就没有用武之地了吗?也不是,能够朝着测试管理岗位发展。说到这里,引出了测试职业规划的第一条路:测试管理。那么很容易想到职业规划的另一条路,测试技术专家。在测试技术领域里,无外乎就是性能测试专家和自动化测试专家。服务器

 

 

明确了软件测试职业规划的三个方向,接下来就是如何选择一条适合本身的方向。下面给出个人几条建议。架构

 

关于选择测试管理:首先你必定不是一个喜欢技术,对技术敏感的人,这个很容易判断。第二,你必定是个善于沟通,组织协调能力强的人。第三,你的长期抗压能力较强,上能顶住领导批评,下能顶住下属埋怨。能受得了委屈,吃的了亏。第四,你对管理工做充满持续的激情,若是过去你是一个比较如鱼得水的学生干部,那更加没问题。总之,相对你的IQ,你的EQ更高。那么从性格上来讲你比较适合作测试管理工做。并发

 

关于选择性能测试专家:正好和测试管理人员具有的性格相反,首先,你不喜欢组织协调这样的工做,你性格有些孤傲,你上学的时候必定不是学生干部,或者不是一个如鱼得水的学生干部。第二,你不必定是个技术狂热者,但你不排斥技术,你的动手能力较强,喜欢实践。能静下心来学习。那么你有成为一个技术专家的潜力app

 

关于选择自动化测试专家:和性能测试专家相似,若是你掌握一门编程语言,或者有信心学好一门编程语言,那么恭喜你,你有成为自动化测试专家的潜力。一般,性能测试专家和自动化测试专家在技术上是相通的。

 

肯定了本身的测试发展方向,接下来就是如何实现的问题。有一个著名的10000小时定律理论,即一我的想要成为某个领域的专家,须要通过1万个小时的锤炼。按此比例计算,若是以天天工做8小时,一周工做5天计算,那么成为一个领域的专家须要4-5年的时间。

 

关于如何成长为测试管理人才:首先你必定要成为一个功能测试专家;经过参与至少2个完整项目的测试工做,你对测试理论、一个完整项目的测试流程、测试活动、测试输出了于指掌。第二,尽可能选择一个行业如电信、支付、网购、通信等深刻作下去,成为该领域的业务专家。由于测试经理的角色每每也是半个需求人员的角色。第三,尽可能在头三年的时间里,亲自参与功能测试、性能测试、自动化测试工做,为后面测试管理的招聘工做、测试计划、人员分配、任务安排打下一个良好的技术基础,说白了,测试管理工做也是一个技术管理岗位,没有必定的技术功底,很难开展后续的管理工做。

 

关于如何成长为性能测试专家:刚进入测试管理岗位,你负责的工做必定是功能测试任务。没有机会接触性能测试工做。怎么办?个人建议是:自学或者参加培训班,若是你是一个自我管理能力很是强的人,建议自学,若是不是,那么建议参加专门的性能测试培训班。参加培训班以前最好大体了解一下性能测试的基础知识。公众号:程序员一凡

 

 

 

 

性能测试的学习过程大体以下:

 

1) 首先了解一个系统的架构,明白各服务器之间是如何交互工做、系统的数据流向、系统的压力点,从而肯定性能测试需求和指标,即那些功能须要考虑压力,能承担的压力是多大。好比一个购物网站,最典型的登录功能、提交订单功能须要支持多少个用户并发,每一个并发用户在几秒以内完成操做,系统长时间在压力状态下的稳定性。

 

2) 第二选择测试工具,对于基于Http协议的应用来讲,通常loadrunner都能完成性能测试工做,学习loadrunner的三部曲:脚本录制编写(loadrunner generator)、场景设置和执行(loadrunner controller)、结果分析(loadrunner analysis)的内容。

 

对于一些没法用现有工具实施性能测试的应用,须要考虑本身编写工具来完成。因此一个优秀的性能测试工程师必定是能熟练使用一门编程语言的。

 

3) 实践,必定要多实践,安装完loadrunner之后,loadrunner里带有现成的性能测试项目---飞机订票系统。彻底能够拿来练手loadrunner。

 

4) 性能测试的目的是发现系统处理能力的瓶颈而系统调优才是最终的目的,若是能进一步提升各业务服务器、数据库服务器的调优技能,对性能测试工做来讲是如虎添翼。

 

关于如何成长为自动化测试专家:

 

自动化测试和性能测试不同,性能测试主要是对服务器的性能作测试,而自动化测试是从前端考虑,其目的旨在于替代部分手工测试、考量客户端长时间运行的稳定性。自动化测试分为:web站点的自动化测试、PC客户端的自动化测试、手机端的自动化测试。每个终端的测试都是一个大的领域,建议先深刻学习一个终端的自动化测试技术。

 

关于Web端站点的自动化测试:经常使用的开源测试工具:selenium框架+一门编程语言(建议python),或者收费软件QTP,推荐selenium,由于它是开源的、免费的,不存在盗版问题、且可扩展,因此国内的一线大公司喜欢用。

 

Pc客户端自动化测试:经常使用的测试工具:QTP。付费软件,国内不少小公司在用。

 

Android手机自动化测试:经常使用的测试工具:monkey、monkeyrunner、robutium、appium等,这些都是开源软件。同样,国内一流的公司都在使用。

 

苹果端的自动化测试:经常使用的测试工具:Instrument、FoneMonke、Broomine、iphone SDK自带的test unit。

 

无论学习哪个终端的自动化测试,熟练掌握一门编程语言是必要条件。

 

最后谈谈软实力,一个优秀的测试技术专家,我认为须要具有如下几个特性:

 

持续学习能力:计算机技术的发展可谓突飞猛进,若是不持续学习,那么不出2年,你就会发现你只能当一个廉价的手工测试人员。因此若是能在工做中学习最好,不能的话,下班后保证2个小时的自学时间。几年下来,你就能发现本身的进步有多大。

 

沟通能力:我以为能够从2方面培养:第一:平常工做的沟通能力:和开发、产品、运维、客服同事的沟通要及时,表达要准确,多微笑、多倾听、保持良好轻松的同事关系。第二,正式场合的沟通能力,如项目周会、评审会议、总结会议,必定要提早作准备,讲什么、怎么讲,本身私下里先练习一下,这样在正式场合才能表达清楚、气定神闲、落落大方,给领导和同事留下一个好的印象。

 

团队合做能力:首先从心态上,要强调总体的概念,放下单打独斗的想法。在实际项目中,体现为团队成员之间的相互协做、资源共享、共同进退。这个时代已经不是一个英雄创造神话的年代了,只有团队的齐心合力才能把项目作好,这样的人每每也是公司最喜欢,最愿意去培养的人。

 

与优秀的人为伍:所谓近朱者赤,近墨者黑。跟对一个老大、和优秀的人共事,找一个优秀的伴侣、常常去参加一些牛人讲座、技术论坛,经过这些人的耳濡目染,必定会让你少走不少弯路。

 

其余还有不少软实力,但我我的认为以上几点比较重要。整好的资料助你跳槽加薪!拒绝三天打鱼 两天晒网。

 

凡事要趁早,特别是技术行业,必定要在头几年打下扎实的技术功底,这对未来的技术管理或技术专家路线都有极大的帮助。

 

 

不知不觉写了这么多,感受尚未说完,但愿个人一些拙见能对刚毕业的同窗和还在测试领域迷茫的同窗一点帮助。

 

 

前路漫漫,多留给本身时间思考,太阳雨、停了,继续出发。我给本身点了一个赞!

相关文章
相关标签/搜索