在腾讯从软件测试工程师到主管的成长历程

        我从前是学经济贸易的,由于对测试行业的强烈兴趣,毕业后在北京学习软件测试工程专业。学成后在深圳工作三年的时间里,已经从测试员升职到测试主管了。对于学习、工作,积累了许多点点滴滴的经验,愿意与大家分享。

走入测试行业:兴趣、知识

说实话,我做测试工作的时间不是很长,学完软件测试工程师的课程后,到现在也就是两年多的时间吧,不过,我愿意自己学习和工作中积累起的这些点滴与大家分享。

我走入测试行业完全是因为兴趣,兴趣产生学习和工作的热情,真的是一点都不假。从我选择走入这个行业,学习、工作,从测试员到测试主管,我都是快乐的,也很充实,很有成就感。

我觉得,在决定走入测试行业后,就要在这方面多做准备和积累,首先要有坚实的测试理论基础,这些知识不仅是学习的时候要学的扎实,在以后的工作中还要继续不断的完善。其次,要有一定的行业知识。毕业后找工作时,有做手机测试的,也有做外包测试的。我做的是ERP产品。大家都知道,ERP(Enterprise  ResourcePlanning)就是企业资源计划系统,是指建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台。我在学习测试专业前曾接触到ERP,所以,在毕业的找工作的时候就往这方面发展了。


说到找工作,我很庆幸自己能进入到腾讯工作。

我觉得精心制作简历是一方面,同时还要有灵活的面试技巧。有时还要把在生活中学到的东西应用到面试中去。我记得我第一次去面试的时候比较凑巧,面试前的头天晚上我在电视里刚好看到一个和面试有关的节目,结果,第二天在我自己去面试的时候就被我用到了。当时是在问到薪金待遇时。我觉得这是很多人包括我自己在面试时都会觉得是比较头疼的问题,因为,说的多了,不行;说的少了,也不行。这时,就要用一些技巧了。

你可以先试探性的询问对方公司在招聘这个职位的时候是怎么规定的?等你了解了这些后,你再就自己的技术能力来衡量相应薪金的比价,另外就是看这个公司的实力,还有一点就是行业内这个职位的大致待遇情况。这样的话,在你说出你对薪金的要求的时候,如果,应聘的公司较小,但是还是存在一定发展空间而且你也想试试的情况下,你要得工资低,对方会考虑到可能是你已大致了解了公司的实力所以才开出这样的条件,而不是你自己的技术不行;如果你看到这个公司的状况还是比较好的,是家有一定实力的公司,这时,你可以适当抬高自己的身价。

我的应聘还是比较顺利的,面了五轮,hr通知到我通过,第二天就上班了。我记得当时面试的时候提到的面试题都没有特别难,侥幸面试过关。另外我自己也比较引以自豪的是我是我们公司唯一一个在两个月之内转正的。

初来乍到:熟悉环境,尽快融入。

尽可能多的参加研发部的会议

员工间的技术交流。一周大概要有一到两次,大家相互交流工作进展情况,或者是一些相关的技术方面的交流。不一定是非常正式的,但我感觉这样的会议是非常有必要的。

公司研发部召开的会议,你也一定要介入、参加。我当初介入最早的是他们的研发意向,然后他的一些需求调研啊,还有其他的一些设计啊等等一些会议。像这样的会议我觉得是一定要抽出时间来参加的,因为这确实是对你的工作有很大的帮助的。因为在立项会议上,你可以了解项目的可操作性,以及项目的特点;在调研会议上,了解需求,市场需求是开发的依据,也是测试的依据。同时一定要参加需求更改会议,以便你更好的进行测试工作。在这些都做到位后,我们就开始写测试计划了。
 

测试计划

写测试计划就像我们在课堂上学到的那些,测试计划、测试用例,开始我们的测试流程。这时就是具体应用的时候。写测试计划的时候要跟研发部要详细设计文档、产品规格说明书和需求调研的说明(产品使用说明)这样的相关文档。如果在大公司的话,他的设计部会写产品使用说明或者是一些测试规约。还有就是一定要他的开发计划,因为你做每一步测试是根据开发进度来进行的,开发计划是必不可少的。

最后根据上述的文档,从时间、内容、资源、所用工具,还有人力安排,这样一份简单的测试计划已经成形。像一般小的公司,他会对哪个人在哪天完成那项工作是很关注的,像我们原来学的那种比较完整的文档,在这样小的公司是需要变通的,因为他们也没有很多的人力物力没有很多的时间去看那样的文档。

编写测试用例首先要根据产品的特点编写。你的产品的特点在产品没有成型之前,你肯定不是特别了解也不是特别清楚,但是你可以根据它的框架大概的给搭出来,你能想到的尽量给细化写到文档里面,然后在测试过程中不断的完善。

如果在测试执行的过程中突然间发现一个比较好的测试用例,一定要及时给补充进去,你不给它补充上去是你的一大损失,因为你以后的工作中可能还会需要这样的文档,或者以后接手你工作的人,他可能会看到这个文档,这对他以后的工作也会有很大的帮助。在大的公司有专门的测试设计人员来编写这些东西,在小公司就是测试主管或者测试员编写。

像我们公司从测试用例、测试计划、测试执行什么的都是我来做的。当初是因为公司比较小,我自己做,本来是给我招了一个助手,也就用了大概一两个月吧。我个人的感觉是除非你招特别熟练的,对行业,对测试技术各方面都比较熟悉的,一来就能上手工作的还行。如果不这样,招一个刚毕业的应届生,他对测试行业不是很了解,而小公司人手本身就少,你根本就没有时间给他做培训,而你还要工作,也没有那么大的精力去手把手的教人家。

在设计测试用例的时候要考虑周到,不要重复。就我的工作来说做ERP产品就是注意各个模块的借口以及数据测试。有好多的接口,比如说销售模块是和财务模块在测试时是会发生重复的部分,这个要自己注意。行业性比较强接下来说执行测试。要按照测试用例来执行。你不能说做了测试用例而在工作的时候根本就不看,这样对你的工作是没有帮助的。因为你按照测试用例来执行的话基本就是按照自己的思路来做,这样你走到哪一步心里都非常的清楚。这样最大的好处就是减少重复的工作,可以提高工作效率。我想这点无论是在小公司还是大公司,还是就我们工作的本身都是很重要的。

然后,最好是做测试日记录,目的就是明确自己测试到哪里,以免重复工作。就我自己来说,我在做测试的时候每天都会做测试日记,一个是记录我今天发现了多少个bug,工作到哪一步了?做了哪些工作。我发现这个做测试日记录是很有意思的。每天测出了多少各bug,我虽然在那个bag管理工具上录了一遍,但是我还是要把它记录下来。

我当初第一天去上班的时候,第一次接触到这个执行测试的时候,我记得特别清楚,我是找出了65个bug。我觉得这说明两个问题,一个是我工作特别认真,一个是研发部有问题确实是有问题。所以,你不要觉得搞研发的都很厉害,很牛啊,你会有点怵。这是你作为一个测试员最基础的必须的工作,也是你对工作认真负责的态度。

和开发人员的沟通。这个是对测试人员很重要的。这个我在前面提到过,每个人不是独立的在做事情,工作中都是需要相互的配合,特别是测试工作,有问题,你需要及时的和研发人员沟通。如果你连沟通都做不好,那么,你的测试工作根本就没有办法进行。在这当中,你要坚持自己的原则,就是对事不对人,因为,这个产品有问题,它就是存在bug,那么,就要有人负责去修改。你不能说,对方是部门领导你就不敢坚持自己提出的问题。第二,就是要坚守其他的测试原则,这就是我们在学习理论的时候所掌握的一些知识。因为,我们学习时的课程设计就是根据项目来设置的,很多东西基本和实际工作中相吻合。

作为测试负责人,在测试工作中我给自己订了一个基本的工作流程,现在也就当作是部门的规章制度在执行。就是录入bug以后,我会在下面做bug描述,开发人员是否要修改,为什么要修改,大概时间是多少,这样督促对方的话,会有利于工作的进度。不然,如果工作没有完成,就会出现相互推诿的现象。

查出bug后就是督促开发人员修改bug。同时也要注意bug管理工具。自己要用好bug管理工具,也要督促开发人员用好bug管理工具。因为,有很多开发人员还都是比较懒的,他当时会跟你说,都有什么bug,你到我的机器上演示给我看不就行了吗?

这是一个不好的习惯,也很费时间。所以,你一定要督促他们使用bug管理工具。这是我深有体会的,而且,还在两次较大的公司会议上提出,最终是被大家所接受认同。大家都知道,一般开发的男同事较多,做测试的女孩子较多,你在提出问题的时候态度不要太强硬,在日常的工作中委婉的提醒他,大家一般都不会太为难你的。不但工作解决了,同事间的关系也很融洽。

接着就是测试报告的编写。这些我们在就业班的时候都学过,就是测试背景、内容、测试通过率。以及产品的优点、缺陷,还有你对项目的建议。这一切都做好了就是开测试评估会了。
 

关于自动化测试我的个人意见

  • 为什么要进行自动化测试?因为自动化测试的优点显而易见:

提高测试效率,节省时间和人力成本
每次新的build发布之前,可以通过自动化进行BVT测试,大大节省了时间和人力成本。对于回归测试的效果也非常明显。

可以执行难以或不可能用手工完成的测试;
比如网站的压力测试,同时找很多人去测试不现实。便可以以自动化的方式通过机器去模拟。

一致性和可重复性强
由于测试是自动执行的,每次的执行内容和测试的结果的一致性是可以得到保障,从而达到可重复的结果。

项目质量流程需要
比如测试工具的开发,自动化在DevOps中的贡献。
自动化在DevOps中很重要因为它提供了准确性和速度。应用交付需要高效,而手动安全测试难以满足进度要求。更重要的是,第三方在外部手动测试中往往会遗漏测试错误。

一不小心就整理了这么多点滴出来,还真没想到自己还是很能写的嘛。我除了做测试工作,还做些其他工作。一些产品的使用说明、产品的安装说明,包括培训,都是由我来写的。在测试之余,一些和测试无关的工作我也会去做,比如测试制度的编写,OA 产品管理员,售前咨询顾问 这样的工作。我想我就是这么锻炼出来的。

自动化测试人员应具备的能力

1)基础能力。

基础能力是测试能力和代码能力的基础,是对自动化测试人员的基础要求,包括细心,耐心,责任心,学习能力,分析问题和解决问题的能力,沟通能力,团队协作的能力以及总结问题的能力。外企或者国外的项目同时也会有外语能力的要求。

2)测试能力。

测试能力是做自动化测试的基础,能够很好的帮助自动化促使决定什么时候引入自动化,有效的设计自动化测试用例,很好的发现bug,很好的理解自动化测试的目的与价值。测试能力主要包括业务分析能力,bug的洞察能力以及基本的软件测试知识(bug的生命周期,测试理论及方法等)。

3)代码能力。

良好的代码能力是自动化测试人员写出高质量的自动化测试脚本的前提,开发自动化测试脚本的过程中,需要考虑代码的稳定性,健壮性和可扩展性,同时结合数据结构和算法来减少后期的维护成本。代码能力主要包括自动化脚本的设计能力,框架开发能力,框架设计能力。

自动化测试学习资料

 最后:下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行进群免费领取 【保证100%免费】

​​敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值