步入软件测试这行,是因为毕业后找到的工作实在不怎么样,去上海的同学说你也来上海做软件测试吧,软件测试入门的门槛不高,只要点点鼠标就行了,初级的工资也有2.5K左右。拿着“高工资”,坐在写字楼里当白领,这比当时窝在一个东北的小镇做一名职高的老师,每天上班14个小时,每天要喝胖大海来保证嗓子不哑,下一节课能正常讲课,每个月只能拿到600块,简直就是天堂和地狱的差距呀。听完同学讲后,义无反顾的打好行礼,踏上去上海的火车,从东北的小镇一路奔到上海。
不久就找到了软件测试的工作,还一直做了下来,风风雨雨的居然做了5年了。刚开始的时候工作还真就是每天点点鼠标,测试用例长啥样都不知道,还真是轻松的不行。做的时间越长越感觉不是那么回事,点点鼠标完事了,总感觉自己好像哪里有欠缺,但又说不是出来。原来对于测试自己没有一个很好的框架,全是凭着感觉走,写过的测试用例,回过头来再看,自己都感觉看不下去,开始上网找资料,找模板,看别人是怎么写的。模模糊糊的总算能给别人讲清楚测试到底是怎么一回事了。测试不是自己一个人闷着干的活,总得与人打交道,打交道最多的就是开发人员,遇到好的开发人员还好,对于你提出的BUG,他们会给你讲是什么原因引起的,他的代码里哪里的问题,怎样改一下就好了,遇到不好说话的开发人员(别说你没遇到过这种人)直接啥都不对你讲,只对你讲一句“嗯”,你问他是为啥引起了这个BUG,他也不愿意答理你,或者给你讲一堆他们的语言,总要显得他们有多高深,足够把你气死。好吧,不是跟你们讲不到一起去吗?哪我就学你们的语言,我学开发语言,和你们有共同语言了吧,沟通的鸿沟缩小了吧。再继续做下去,发现同是做测试的,自己会的别人也会,别人会的,自己很多都不会,当别人问起说你最擅长的是什么,突然发现没有,总不能说自己擅长看书吧。总得有一样是自己拿的出手的。快速理解业务,梳理需求,设计和撰写出测试用例,这是最基本的,还有咋样才能提高工作效率呀,不能每天都是迷糊着撞钟,自动化测试、性能测试、安全测试就全都上来了,每一样测试都需要先深入理解业务、准备定位并整理出测试的需求点、设计出合理的方案和测试用例、能筛选出合适的测试工具并掌握工具的使用、对测试结果进行分析、定位问题......要使用工作进行测试,少不了得编写代码,只会录制回放会被人笑掉大牙的,分析结果就少不了和代码打交道,和硬件设备打交道,和数据库打交道......哪样欠缺了,拿出来的证据不充分,开发的就有可能不理你这根弦。
总结一下,要做好一名软件测试人员到底有多难
1、得有一颗保持“白痴”的心:测试往往都在被丢在最后才开始进行的,作为发布前的最后一道门,就得担当起用户的角色,想着用户是怎么用的,怎么用才感觉到好用。用户往往都是很笨的(虽然他们是我们的衣食父母,但经常被很多人这么描述),找不到哪是哪,做为测试人员就得把自己想像成对面前的这个东西不认识。即使你闭着眼都知某一个按钮在哪里,你也得保持对他不认识的态度,这叫返朴归真。
2、不厌其烦的重复工作:开发人员提交测试的版本很少有一次测试通过的,发现的BUG,开发人员要改,改好了要继续测试,往往复复,你不能厌烦,如果厌烦了,就会有疏忽遗漏,小打小闹的BUG跑到了用户那里还好,要是影响了公司生计的BUG跑去了,最后背黑锅的肯定是你没商量。
3、脑子够清醒,记忆力够好:不是有了测试用例就有了保障卡了,跑完了测试用例就跑完了测试的,测试用例也是人写的,人写的就会犯错和遗漏的,很多的BUG是你在不经意间搞出来的,这个时间你就得像录像一样,能回放刚才的操作。发现了100个BUG,有99个不记得是怎么操作才出现的,那跟没发现是一样的。
4、清晰的逻辑思维:在测试前要写测试用例,干测试这行的都知道,可是测试用例写出来后,覆盖率能达到多少,这就不一定的,有的人的逻辑足够好,覆盖的面就足够广,有的人写来写去,最后把自己写迷糊了,他写出来的东西可想而知,有几个人能看懂了。
5、要有良好的书写能力:写测试相关的文档,不是写散文和小说,用简单的语句就可以,不需要太多华丽的词语,重点突出别人能看懂就行,但也得书面化一点,不能口头语大白化太多,这是要给别人看的,要存档的。
6、眼睛够毒,心思够细:能抓住别人容易忽略的细节,如果你是一个粗线条神经的人,你会漏掉很多美好的东西;
7、与人沟通的能力:没有人生活是真空的,有人的地方就得有沟通,项目延期了,要压缩测试时间,得去沟通;几个人一起测试一个项目得去互相沟通,发现BUG了;对BUG的意见与开发人员不一致,得去沟通;因为项目的需要,得借助其他项目组成员帮忙,得去沟通;有那种很讨厌的开发负责人,自己手下烂的要命,他还特别护犊子,不让你说他手下的不是,你又得去沟通。总之沟通的没完没了。
8、团队协作能力:每个人都是有个性的,在家你是万人宝,在外面就不一定了,不可能还是所有人都是围着你一个人转的,所以请收收你大小姐,大少爷的脾气。团队不是个人英雄主义。你帮了别人,反过来别人也会帮你的,记住这样一句话,“帮完了所有了,也就帮了你自己。”
9、有危机意识:如果你真的认为测试就是点点鼠标,用个这个法那个法的写个测试用例,就完了,那你也离彻底完蛋就不远了。
10、会点开发语言和对数据库有一定的了解:工作中沟通最多的是开发人员,他们有自己的一套语言,如果我不懂他们的语言,与他们沟通就会很麻烦,所以要了解他们的语言;如果你想做到你够牛,在开发人员提到你这个测试的时候,不会条件反射的想到你只是点点鼠标然后给他们找一堆麻烦的人,那你除了给他们找到麻烦外,最好还能告诉他们,他们的的麻烦在代码的哪一行,是哪个方法引起的,怎样改,他们的麻烦就解决了,这样的话,他们就把你当神一样崇拜了;做测试的时候,总免不了要写一些测试的脚本之类的,写代码是开发人员的特长,但你不能总是麻烦别人吧,如果你跟他的私人关系好,他可能会很快的帮你写,如果关系不好,他可能就不帮你写或者把你的事情排到后面,明明是公家的事,却沦为了私人交情,这也太怪异了吧。如果你愿意天天抱怨和丢下不做了,那没关系,到时候你可以去你头头那里讲你的困难和理由,还很充分的。
11、有点不怕死的精神:你的头有不对的地方,你合作的开发人员的头有不对的地方,除了听他们手下的人抱怨外,敢对他们去讲他们的错,你是一个旁观者,讲出来会更客观。
12、会除了黑盒手动功能测试外的另外一种测试:功能自动化测试、性能测试、安全测试、灰盒测试,很多,精通一样,自己就有了一种资本, 没办法,行业趋势如此,如果你对人讲你会测试,测试方案设计的很好,测试用例写的很好,别人大脑里映射的是你只会点鼠标,就连做测试的也会这样认为,只要和性能测试、自动化测试沾上边,就认为你是神了。请注意这里的会性能测试、自动化测试不是说会使用某个或某些工具,是会。工具就是给人来用的,如果你不能确认你想做的事情是不是对的,事情的方向是否正确,结果中发现的错误是什么原因引起的,那你就是不会。但是很多人就是那么肤浅,衡量一个人就是看会不会用某个工具,一些很牛X的公司在面试的时候居然也会问出某某个函数与某某个函数的区别是什么,现在的人不缺的就是google,在哪里都能google出他想要的结果,两个函数的区别,或者说在一个脚本的代码里用哪个函数比较好,只要长了脑子的都能弄出来,真搞不明白,他们还会问这种问题,对于前期准备、方案设计倒是不问。
本文转载自51Testing软件测试网,查看全文:http://www.51testing.com/html/25/n-821925.html