一条不归路之软件测试
最近跟一些刚刚进入软件测试行业的朋友去交流,发现了一个有趣的现象,就是对于这个行业的很多问题的认识都是一致的片面,当然也可以理解为误区。自己利用一点时间,把他们对于这个行业的认识误区都罗列出来,然后结合自己这么多年的工作经验和大家一同交流一下,毕竟自己也是从这个阶段走过来的,后来者能少走些弯路是最好的。1、测试和开发永远都是死对头虽然测试与开发的工作性质是对立的,但是目的都是为了项目更好的发展。我以前发起过一个倡议:我们讨论的时候不要用他们(开发人员)和我们(测试人员),而是统一用咱们,因为开发人员和测试人员本来就是一起的。如果测试人员能与开发人员成为朋友,你会发现,工作会非常顺心,在我所在的企业中,测试人员和开发人员关系非常融洽,互相尊重,对大家的工作能力和技术表示肯定。其中的诀窍重点在于测试这边的沟通,谁也接受不了别人指责自己得意之作,所以测试要以帮助开发让开发的‘孩子’更健康,让开发‘带孩子’别那么辛苦;测试是系统它爹,开发是系统它妈,当妈的那么痛苦的生出来,当爹的要揍,当妈的能同意么,脾气上来了,当爹你就缓一下,哄哄,当妈的也不是傻子,她也知道对错的,当妈的要实在糊涂,那你还犹豫什么,抽她(哈哈,开个玩笑,还是要以理服人)。2、测试人员不需要了解软件开发知识测试人员跟开发人员交流不畅,主要是有以下几个原因:(1)测试人员如果看不懂开发代码,会导致BUG描述不清晰,不准确,开发人员不明白BUG应该怎么重现,或者你想说的是什么,甚至是一些很肤浅的bug,却被测试人员认为是非常严重的问题。(2)测试人员的开发知识匮乏,将不是BUG的BUG提交给开发人员,或者提出的建议性意见在开发中实现起来比较困难,又无法给出一个合理的解决办法(开发人员易于实现的办法)。(3)测试出BUG的同时,无法清晰准确地定位BUG出现的源头,导致与开发人员交涉次数过于频繁,时间是宝贵的,缺乏交流有害,交流过多也容易出问题。所以,测试人员对开发知识的了解是必须的。(4)如果不了解开发知识,测试人员很容易被开发人员牵着鼻子走,对于一些BUG的PK,经常是理屈词穷,因为开发人员随便一忽悠,你如果不了解个中奥妙,你一个字也说不上来。(5)自动化测试和性能测试包括项目管理,都会要求对软件开发有深入的理解,如何能设计一个好的自动化框架,好的性能测试用例,如何管理一个开发团队,这都需要我们在软件开发方面有所掌握。所以,测试了解软件开发知识是必须的。3、软件测试很简单软件测试入门相对比开发人员确实更容易一些,原因是开发一开始就要掌握一门语言,而测试到中后期才需要掌握开发语言技术,测试更重视的是测试思路,方法,以及测试工具的掌握。但是到了中后期,软件测试需要掌握的知识量将远大于开发人员,测试后期要掌握功能,性能,自动化,接口,协议,抓包,安全性,包括移动端等一系列测试工具,技术难度性丝毫不亚于开发技术。4、测试就是为了找到bug测试人员不仅需要找到bug,还要跟踪bug直至问题得以被修复,对缺陷进行确认测试并关闭缺陷,测试员还需要分析问题原因,避免因此问题影响到其他功能。不仅如此,测试还需要对软件进行性能测试、自动化测试和安全性测试等一系列其他测试手段,目的是找出系统漏洞,找出性能瓶颈,服务器抗压能力及稳定性。这已经远远超过找bug的范畴。5、自动化测试太难很多初学者都认为自动化测试相比性能和功能都要难很多,实际上每个测试方向做精通都不容易,自动化只是测试其中的一部分,功能测试做到极致也不容易,性能测试做到精通也同样需要各种技术手段,自动化无非就是需要懂一些代码,难点不在技术,而是思路和实施操作,实际上只要付出同样多的努力,无论是性能还是自动化,都可以做的很好。6、手工测试没有挑战性手工测试是测试的基本功,也是每一个测试必经之路,但是真正做好的人没有几个,很多人认为手工测试就是点点点,我认为这个说法就是对测试的污蔑,手工测试的范围很大,包含涉及的内容也非常多,例如数据准确性,表单值域,逻辑分析,业务梳理,交互易用性,逆向思维,UI兼容性,cookie等...单单说业务逻辑和业务流程测试,就有多少人测试不全面,分析不到位而导致发布上线后出现严重问题。7、软件测试工作重复又枯燥软件测试的范围很广,测试的手段和方法也是不一样的,而且每个人测试一个项目的思路也不同,实际上认为重复性工作的人,往往是技术差的人,因为他始终没有任何成长。真正做好测试的人对待每一个项目都可以使用不一样的测试方法,接口测试结束就测功能,功能测完了就做做自动化,上线之前做做性能测试,测试工具也可以随意更换,对于我来说,每一个新项目的开始,都是一次新的挑战,工作8年,丝毫没有感觉到枯燥乏味。8、女生比较适合做软件测试很多人都觉得女生做测试比较吃香,事实上身边做测试的也确实女生比男生要多,一个是因为女生天生比男生细心,二是很多人都觉得因为开发大多是男生,女生做测试跟开发沟通会更顺畅,这其实是一些客观的实际因素,但是并不代表男生不适合做测试。经过统计,各大公司的测试负责人男生比女生要更多。9、白盒测试是开发人员干的事:一个合格的测试人员必须掌握白盒测试,理解其中的原理。不管什么样的测试,都必须要有测试人员的思维才能做好,白盒测试有着其测试理论与技术,完全可以有专职的白盒测试人员进行,避免开发人员自己测试自己的程序。10、测试就是给开发擦屁股的大家应该都清楚,在实际的工作中通常是测试驱动开发的,也就是说是测试在主导着项目的进展,开发人员的技术水平直接体现在bug的数量上,开发的能力测试一清二楚,也是测试人员在驱动着开发人员做出改变。如果测试不能驱动开发,被开发牵着鼻子走,只有一个原因,就是测试人员能力弱,无法胜任这个角色。11、我不适合做开发,做测试吧这个观点特别适应于应届毕业生,在以前面试的过程中,有些人就觉得我代码写的不好,所以入行转做测试的工作,还有一部分人稍微明白一点开发,但是觉得自己在开发方面没什么优势,主动给自己定位做测试工作。其实测试要掌握的技能远比开发多得多,至少面要广得多,要做一个好的测试人员,远比做一个开发人员难得多。12、机器自动化将会代替手工测试现在很多人都在传自动化测试将会替代手工测试,首先有这种想法的人,一定还没有真正了解自动化测试,自动化是为了做回归测试的,自动化脚本是人工编写或录制完成的,只能覆盖大体的业务流程,并不能对软件进行详细的测试覆盖,详细的测试还是需要手工完成的,不然自动化脚本维护的时间成本将会大大增加,适得其反。而且新功能是必须进行手工测试的,只有老功能才可以进行自动化测试。自动化是为了提高测试效率而存在的测试手段,而不是为了替代手工测试而出现的。
观点上的误区啊 好的测试比开发牛
页:
[1]