刚入行不久转载的文章,想不到这么多人看,这博文最早我记得应该是2010左右发布的,十个年头过去了,文章内容看看就好,其实测试会python,自动化测试,压力测试,白盒测试,最重要的做事带着脑子,有一颗好奇心,善于沟通就够了,这是我对测试的岗位要求。
燕子(化名)从前是学经济贸易的,由于对测试行业的强烈兴趣,毕业后在北京学校学习软件测试工程专业。工作不到一年的时间里,她已经从测试员升职到测试主管了。对于学习、工作,她积累了许多点点滴滴的经验,愿意与大家分享。
走入测试行业:兴趣、知识
说实话,我做测试工作的时间不是很长,学完软件测试工程师的课程后,到现在也就是一年多的时间吧,不过,我愿意自己学习和工作中积累起的这些点滴与大家分享。
我走入测试行业完全是因为兴趣,兴趣产生学习和工作的热情,真的是一点都不假。从我选择走入这个行业,学习、工作,从测试员到测试主管,我都是快乐的,也很充实,很有成就感。
我觉得,在决定走入测试行业后,就要在这方面多做准备和积累,首先要有坚实的测试理论基础,这些知识不仅是学习的时候要学的扎实,在以后的工作中还要继续不断的完善。其次,要有一定的行业知识。毕业后找工作时,有做手机测试的,也有做外包测试的。我做的是ERP产品。大家都知道,ERP(Enterprise ResourcePlanning)就是企业资源计划系统,是指建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台。我在学习测试专业前曾接触到ERP,所以,在毕业的找工作的时候就往这方面发展了。
说到找工作,我觉得精心制作简历是一方面,同时还要有灵活的面试技巧。有时还要把在生活中学到的东西应用到面试中去。我记得我第一次去面试的时候比较凑巧,面试前的头天晚上我在电视里刚好看到一个和面试有关的节目,结果,第二天在我自己去面试的时候就被我用到了。当时是在问到薪金待遇时。我觉得这是很多人包括我自己在面试时都会觉得是比较头疼的问题,因为,说的多了,不行;说的少了,也不行。这时,你就要用一些技巧了。
这时你可以先试探性的询问对方公司在招聘这个职位的时候是怎么规定的?等你了解了这些后,你再就自己的技术能力来衡量相应薪金的比价,另外就是看这个公司的实力,还有一点就是行业内这个职位的大致待遇情况。这样的话,在你说出你对薪金的要求的时候,如果,应聘的公司较小,但是还是存在一定发展空间而且你也想试试的情况下,你要得工资低,对方会考虑到可能是你已大致了解了公司的实力所以才开出这样的条件,而不是你自己的技术不行;如果你看到这个公司的状况还是比较好的,是家有一定实力的公司,这时,你可以适当抬高自己的身价。
我的应聘还是比较顺利的,第一天应聘,第二天就上班了。我记得当时面试的时候大约谈了两个半小时,就一次性面试过关。另外我自己也比较引以自豪的是我是我们公司唯一一个在两个月之内转正的。
初来乍到:熟悉环境,尽快融入
开始进入公司的时候首先要熟悉公司的环境。在一些大的公司可能会给大家熟悉环境的时间,还会安排一些相应的培训什么的。我当时进的那家公司比较小,没有什么相关的培训,当初只是我们部门经理拿来一些相关的资料,文档,让网管给配置工作环境。不过小公司有小公司的好处,他会很快让你介入到工作当中,给你分配任务。
所以,你必须尽快的在一到两周之内熟悉公司各个方面的环境,尤其是人员环境。我觉得人际关系在整个公司里面也是很重要的一方面,夸张一点说甚至是比你的本职工作还要重要的。因为,掌握技术是你智商方面的问题,而与人交往就不是那么简单,因为我们的兴趣、爱好可能差别很大,性格也有内向和外向的,所以在进入社会步入工作岗位后与人交往真的是很考验一个人。如果你在公司人际关系搞得好的话,工作各方面的协调顺利,工作的进展也会很顺利。
还有就是要尽快的熟悉公司的测试环境,操作系统、开发语言、平台,接着就是要了解公司的产品,掌握产品相关的知识。像我们公司是自己研发的经销群、财务这样的一个系统。你要了解公司产品的时候,可以向产品研发部,或设计部要些相关的说明文档,尽快的介入这个行业,熟悉自己要做的测试项目。说实话,我是学习经贸专业的,不是学计算机的,所以我当初的时候有点晕,我就直接拿着产品自己在那儿摸索,自己写出一个产品使用说明。向这样的事情,可能在大的公司会有专门的配选,在小公司可能就要自己学习产品了。不过,我觉得这样是挺锻炼人的,又发掘了你另一方面的潜能呢。
尽可能多的参加研发部的会议
员工间的技术交流。在我们公司像这样的会一周大概要有一到两次,大家相互交流工作进展情况,或者是一些相关的技术方面的交流。不一定是非常正式的,但我感觉这样的会议是非常有必要的。
还有就是公司研发部召开的会议,你也要一定要也应该的介入、参加。我当初介入最早的是他们的研发意向,然后他的一些需求调研啊,还有其他的一些设计啊等等一些会议。像这样的会议我觉得是一定要抽出时间来参加的,因为这确实是对你的工作有很大的帮助的。因为在立项会议上,你可以了解项目的可操作性,以及项目的特点;在调研会议上,了解需求,市场需求是开发的依据,也是测试的依据。同时一定要参加需求更改会议,以便你更好的进行测试工作。在这些都做到位后,我们就开始写测试计划了。
测试计划
写测试计划就像我们在课堂上学到的那些,测试计划、测试用例,开始我们的测试流程。这时就是具体应用的时候。写测试计划的时候要跟研发部要详细设计文档、产品规格说明书和需求调研的说明(产品使用说明)这样的相关文档。如果在大公司的话,他的设计部会写产品使用说明或者是一些测试规约。还有就是一定要他的开发计划,因为你做每一步测试是根据开发进度来进行的,开发计划是必不可少的。
最后根据上述的文档,从时间、内容、资源、所用工具,还有人力安排,这样一份简单的测试计划已经成形。像一般小的公司,他会对哪个人在哪天完成那项工作是很关注的,像我们原来学的那种比较完整的文档,在这样小的公司是需要变通的,因为他们也没有很多的人力物力没有很多的时间去看那样的文档。
编写测试用例首先要根据产品的特点编写。你的产品的特点在产品没有成型之前,你肯定不是特别了解也不是特别清楚,但是你可以根据它的框架大概的给搭出来,你能想到的尽量给细化写到文档里面,然后在测试过程中不断的完善。
如果在测试执行的过程中突然间发现一个比较好的测试用例,一定要及时给补充进去,你不给它补充上去是你的一大损失,因为你以后的工作中可能还会需要这样的文档,或者以后接手你工作的人,他可能会看到这个文档,这对他以后的工作也会有很大的帮助。在大的公司有专门的测试设计人员来编写这些东西,在小公司就是测试主管或者测试员编写。
像我们公司从测试用例、测试计划、测试执行什么的都是我来做的。当初是因为公司比较小,我自己做,本来是给我招了一个助手,也就用了大概一两个月吧。我个人的感觉是除非你招特别熟练的,对行业,对测试技术各方面都比较熟悉的,一来就能上手工作的还行。如果不这样,招一个刚毕业的应届生,他对测试行业不是很了解,而小公司人手本身就少,你根本就没有时间给他做培训,而你还要工作,也没有那么大的精力去手把手的教人家。
在设计测试用例的时候要考虑周到,不要重复。就我的工作来说做ERP产品就是注意各个模块的借口以及数据测试。有好多的接口,比如说销售模块是和财务模块在测试时是会发生重复的部分,这个要自己注意。行业性比较强接下来说执行测试。要按照测试用例来执行。你不能说做了测试用例而在工作的时候根本就不看,这样对你的工作是没有帮助的。因为你按照测试用例来执行的话基本就是按照自己的思路来做,这样你走到哪一步心里都非常的清楚。这样最大的好处就是减少重复的工作,可以提高工作效率。我想这点无论是在小公司还是大公司,还是就我们工作的本身都是很重要的。
然后,最好是做测试日记录,目的就是明确自己测试到哪里,以免重复工作。就我自己来说,我在做测试的时候每天都会做测试日记,一个是记录我今天发现了多少个bug,工作到哪一步了?做了哪些工作。我发现这个做测试日记录是很有意思的。每天测出了多少各bug,我虽然在那个bag管理工具上录了一遍,但是我还是要把它记录下来。
我当初第一天去上班的时候,第一次接触到这个执行测试的时候,我记得特别清楚,我是找出了65个bug。我觉得这说明两个问题,一个是我工作特别认真,一个是研发部有问题确实是有问题。所以,你不要觉得搞研发的都很厉害,很牛啊,你会有点怵。
当初我们公司也是联想、方正、惠普的这三个主力支柱,但是我没有觉得怵,虽然他们很自负。基本上很小的错误都能提出来,他们认为那根本不是bug。但是你到了讨论会或技术交流会、评估会的时候可以提出来,因为这是你作为一个测试员最基础的必须的工作,也是你对工作认真负责的态度。
和开发人员的沟通。这个是对测试人员很重要的。这个我在前面提到过,每个人不是独立的在做事情,工作中都是需要相互的配合,特别是测试工作,有问题,你需要及时的和研发人员沟通。如果你连沟通都做不好,那么,你的测试工作根本就没有办法进行。在这当中,你要坚持自己的原则,就是对事不对人,因为,这个产品有问题,它就是存在bug,那么,就要有人负责去修改。你不能说,对方是部门领导你就不敢坚持自己提出的问题。第二,就是要坚守其他的测试原则,这就是我们在学习理论的时候所掌握的一些知识。因为,我们学习时的课程设计就是根据项目来设置的,很多东西基本和实际工作中相吻合。
作为测试负责人,在测试工作中我给自己订了一个基本的工作流程,现在也就当作是部门的规章制度在执行。就是录入bug以后,我会在下面做bug描述,开发人员是否要修改,为什么要修改,大概时间是多少,这样督促对方的话,会有利于工作的进度。不然,如果工作没有完成,就会出现相互推诿的现象。
查出bug后就是督促开发人员修改bug。同时也要注意bug管理工具。自己要用好bug管理工具,也要督促开发人员用好bug管理工具。因为,有很多开发人员还都是比较懒的,他当时会跟你说,都有什么bug,你到我的机器上演示给我看不就行了吗?
这是一个不好的习惯,也很费时间。所以,你一定要督促他们使用bug管理工具。这是我深有体会的,而且,还在两次较大的公司会议上提出,最终是被大家所接受认同。大家都知道,一般开发的男同事较多,做测试的女孩子较多,你在提出问题的时候态度不要太强硬,在日常的工作中委婉的提醒他,大家一般都不会太为难你的。不但工作解决了,同事间的关系也很融洽。
接着就是测试报告的编写。这些我们在就业班的时候都学过,就是测试背景、内容、测试通过率。以及产品的优点、缺陷,还有你对项目的建议。这一切都做好了就是开测试评估会了。
关于自动化测试我的个人意见
我个人认为现在是自动化成风。现在很多的公司,无论是大是小,无论这公司有没有用过这个测试工具,他都会问你会用几种测试工具,会自动化测试吗?我当时去面试的时候,也遇到这个问题,当时我首先问他的是,咱们公司做过手工以外的不管是性能啊还是功能其他测试吗?他们回答说没有。一个没有做好手工测试的产品,是坚决不能用工具代替手工的。
自动化测试是不能代替手工的。自动化测试用好了可以节省时间提高效率。但是如果你用不好,反而会增加自己的工作量。如果你的需求和界面一直在增加,那么自动化也是用不起来的。我觉得适合自动化测试的公司,一个是产品对安全和性能要求严格的;一个可以有专人对教本文档进行维护的。像那些手工测试不过关,需求经常变动,人员少,产品的GUI 经产改动的公司都不太适合用自动化测试。
一不小心就整理了这么多点滴出来,还真没想到自己还是很能写的嘛。估计这和我在公司除了做测试工作,还做些其他工作有关。我说过,因为我们是小公司,所以,一些产品的使用说明、产品的安装说明,包括客服培训,都是由我来写的。在测试之余,一些和测试无关的工作我也会去做,比如测试制度的编写,OA 产品管理员,售前咨询顾问 这样的工作。我想我就是这么锻炼出来的。