最近和一些刚进入软件测试行业的朋友交流,发现了一个有趣的现象,那就是对这个行业很多问题的认识是一致的、片面的,也可以理解为误解。利用你的时间列出他们对这个行业的所有误解,然后结合你多年的工作经验和你交流。毕竟你是从这个阶段过来的,后来者最好少走弯路。
1.测试和开发总是死对头:
虽然测试和开发的本质是相反的,但目的是为了项目更好的发展。我之前发起过一个倡议:我们在讨论的时候称呼不应该用他们(开发人员)和我们(测试人员),而是用统一的方式使用我们,因为开发人员和测试人员是在一起的。
如果测试人员能和开发人员成为朋友,你会发现工作其实也没有那么糟心。在我的公司,测试人员和开发人员的关系非常融洽,互相尊重,他们认可每个人的工作能力和技术。其中,关键点在于测试方的沟通,没有人能接受别人指责自己引以为傲的工作。
因此,测试应该帮助开发的“孩子”健康成长;测试是系统的父亲,开发算是系统的母亲,孕育一个孩子出生那么不容易,父亲却要揍他,当妈的能同意才怪了。脾气上来了。当父亲的哄一哄,妈妈也不是傻,她也知道对错。关键就在于要以理服人。
2.测试人员不需要知道软件开发的知识:
造成测试人员和开发人员沟通不畅的原因有以下几个:
- (1)如果测试人员不能理解开发代码,就会导致bug描述不清晰不准确,开发人员无法清楚理解就无法重现bug,甚至有些很浅显的bug,却被测试人员当作非常严重的问题。
- (2)测试人员缺乏开发知识,向开发人员错误提交bug,或者提出的建议在开发那里难以实施,又无法给出合理的解决方案(开发人员容易实施的方案)。
- (3)在测试bug的同时,无法清晰准确地定位bug的来源,导致与开发人员的沟通频繁,时间宝贵,缺乏沟通有害,沟通过多容易也引发问题。因此,测试人员有必要了解开发知识。
- (4)如果不了解开发知识,测试人员很容易被开发人员牵着走。对于一些bug的探讨,往往是一场争论,如果不了解其中奥妙,被开发随便忽悠两句,你就会败下阵来。
- (5)自动化测试和性能测试,包括项目管理,都需要对软件开发有深刻的理解。如何设计一个好的自动化框架,好的性能测试用例,如何管理一个开发团队,都需要我们具备一定的软件开发知识。
如果你在工作中也遇到一样的问题,不知道测试应该如何介入开发知识的学习,不知道如何与开发人员友好顺畅地沟通,不知道如何写好框架、测试用例,那么下面给大家准备了一个软件测试进阶资料,对在职测试有非常大的帮助的,感兴趣的朋友可以关注公众号:程序员二黑,免费领取。
3.软件测试非常简单:
软件测试的初期会比开发人员更容易。原因是开发在入门时就需要掌握一门语言,而测试到了中后期阶段才要学习开发语言。测试更注重对测试思路、方法和测试工具的掌握。但是在中后期,软件测试所需的知识量会远远大于开发人员。测试后期要掌握包括功能、性能、自动化、接口、协议、包抓取、安全等一系列测试工具,技术难度不亚于开发技术。
4.测试的目的只是找到bug:
测试人员不仅需要找到bug,还需要跟踪bug,直到问题解决,对缺陷进行确认测试,关闭缺陷。测试人员还需要分析问题的原因,避免问题影响其他功能。除此之外,测试还需要一系列其他的测试方法,如性能测试、自动化测试和安全测试,以找出系统漏洞、性能瓶颈,以及服务器的抗压能力和稳定性。
5.自动化测试太难:
许多初学者认为自动化测试比性能和功能要困难得多。其实要掌握每一个考试方向并不容易。自动化只是测试的一部分,要实现最终的功能测试并不容易。熟练掌握性能测试还需要各种技术手段。自动化无非是需要理解一些代码。困难不在于技术,而在于思维和执行。事实上,通过同样的努力,性能和自动化都可以做得很好。
6.手动测试没有挑战性:
手工测试是测试的基本功,也是每一次测试的必经之路。然而,很少有人真正做得好。很多人认为手工测试就是在那“点点点”。我认为这种说法是对测试的一种抹黑。人工测试涵盖的范围很广,包括很多相关的内容,比如数据准确性、表单价值范围、逻辑分析、业务梳理、交互可用性、逆向思维、UI兼容性、cookie等。
7.软件测试是重复和枯燥的:
软件测试的范围很广,测试的手段和方法也各不相同。此外,每个人对测试项目都有不同的想法。事实上,认为重复性工作的人往往是技能差的人,因为他们从来都没有成长。真正做好测试的人可以对每个项目使用不同的测试方法。接口测试之后,他们会测试功能,功能测试之后,他们会做自动化。上线前,他们会做性能测试,测试工具可以随意更换。对测试来说,每个新项目的开始都是一个新的挑战。
8.女生更适合软件测试:
很多人认为女生更适合做测试,事实上,在他们周围做测试的女孩比男孩多。一是女生天生比男生细心。另一个是很多人认为女生和开发沟通更顺畅,因为开发大部分都是男生。这其实是一些比较客观的因素,但这并不代表男生不适合做测试。据统计,各大公司负责测试的男性多于女性。
9.白盒测试是开发人员要做的事情:
一个合格的测试人员必须掌握白盒测试并理解其原理。无论什么样的测试,都要有测试者的思维才能做好。白盒测试有其测试理论和技术,所以可以由专职的白盒测试人员进行,避免开发人员对自己的程序进行测试。
10.测试就是在给开发擦屁股:
每个人都应该知道,在实际工作中,测试通常会驱动开发,这意味着测试主导着项目的进度。开发者的技术水平直接体现在bug。开发的能力测试是明确的,驱动开发人员做出改变的也是测试人员。如果测试不能带动开发,就会被牵着鼻子走,原因只有一个,那就是测试人员对这个角色软弱无能。
11.机器自动化将取代人工测试:
现在很多人都说自动化测试会取代人工测试。首先,有这种想法的人一定没有真正理解自动化测试。自动化是为了回归测试。自动化脚本是手工编写或记录的,只能覆盖一般的业务流程,不能覆盖软件的详细测试。详细的测试还是需要手动完成,否则自动化脚本维护的时间成本会大大增加,适得其反。而且新功能必须手动测试,只有旧功能可以自动测试。自动化是一种提高测试效率的测试手段,而不是取代人工测试。
最后:送给测试人的福利
技术行业,一定要提升技术功底,丰富自动化项目实战经验,这对于你未来几年职业规划,以及测试技术掌握的深度非常有帮助。
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取