百度测试工程师汇总28个误区,80%的测试工程师都不知道,你知道吗?

Posted 程序员小捣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百度测试工程师汇总28个误区,80%的测试工程师都不知道,你知道吗?相关的知识,希望对你有一定的参考价值。

在这里插入图片描述

误区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-机器自动化将会代替手工测试

现在很多人都在传自动化测试将会替代手工测试, 首先有这种想法的人,一定还没有真正了解自动化测试,自动化是为了做回归测试的,自动化脚本是人工编写或录制完成的,只能覆盖大体的业务流程,并不能对软件进行详细的测试覆盖,详细的测试还是需要手工完成的,不然自动化脚本维护的时间成本将会大大增加,适得其反。而且新功能是必须进行手工测试的,只有老功能才可以进行自动化测试。 自动化是为了提高测试效率而存在的测试手段,而不是为了替代手工测试而出现的。

误区13-使用了测试工具,就是进行了有效的测试

测试工具是为了协助测试工程师更高效的完成测试工作,是否能够有效测试,完全取决于使用工具的人的技术水平。水平强,则测试结果有参考价值,水平弱,则测试结果一塌糊涂。 建议大家还是要以手工测试为基础,工具只是为了提高测试效率,为了更好的完成测试工作,并不是用工具测试就一定有效。

误区14-规范化软件测试是增加项目成本

一个软件测试过程如果不规范的话,结果一定不会很理想,规范严谨的测试过程,可以大大提高测试质量,这不是增加项目成本,而是减少了项目的隐患,甚至是上线后的损失。 一家不重视测试规范的公司,其产出的软件一定不会有太大的市场竞争力。其后果,也不应该由测试人员承担。

误区15-期望短期通过增加软件测试投入,迅速达到零bug率

测试人员都应该知道一个原则,就是完全测试是不可能的,所谓的零BUG,就连阿里巴巴也做不到,并且软件测试是贯穿整个项目生命周期的,需要尽早的介入测试,如果在项目后期加大测试力度,也并不能有效的提高测试质量。因为测试人员没有时间理解软件的业务流程和接口逻辑。

误区16-忽视需求阶段的参与

软件测试的开展一定是从需求阶段展开的。没有需求文档就无法衡量测试周期和测试范围,也就无法编写测试计划和测试用例,所以忽视需求阶段的参与,对于项目质量来说是灾难性的结果。

误区17-忽视用户操作密集和核心功能的回归测试

很多人认为用户经常操作的地方就不会出现问题,但是一个项目更新后,很可能导致以前的核心功能受到了影响,新的代码对老的业务造成了破坏,所以说,回归测试一定不能忽视核心功能以及用户密集操作的模块。相反,应该重点回归!
在这里插入图片描述

误区18-忽视软件测试建档

软件测试建档,指的是软件的测试记录是否有效的存储,是否可查询,如果测试不建档,那么测试报告就无从考察,测试结果也有没有了依据,所以测试建档是必要环节,不可忽略。

误区19-软件开发完成之后进行软件测试

软件测试是贯穿整个项目生命周期的,必须要在需求阶段的时候介入,在单元测试完成后就进行集成测试也就是接口测试,这可以发现80%的软件缺陷。如果开发完成才介入测试,那么项目发布上线的时间即将会大大延长。而且很多问题修复成本也将会大大增加。

误区20-软件发布后如果发现质量问题,都是测试人员的错

很多人都觉得测试通过后,在用户使用时发现bug一定是测试人员没有测试到位而导致的,我曾经的工作中就经历过多次这类问题,但是测试人员坚持认为该功能确实测试过,并且没有出现这类问题。后来经过本人的辩论终于找到了问题的原因,就是开发人员的疏忽导致封包封版时,没有保存最新代码导致问题出现。 首先,如果大家以后遇到这样的情况出现,千万不要心急如焚,手忙脚乱。要先确定该功能是否测试过,是否通过测试了。如果没有测试,那么毫无疑问测试背锅,如果测试通过还出现了问题,极有可能是开发人员封版时没有保存最新的代码而导致的。或者是开发人员在发布最终版本时擅自修改了部分代码。

误区21-项目进度紧的时候少做些测试,时间富裕时多做测试

项目测试时间紧张的时候很容易出现测试不到位,测试不全面,导致发布后出现问题的情况,正常的处理办法,应该是使用敏捷测试方法,测试范围坚决不能缩水,测试用例可以忽略掉表单值域的用例,着重编写流程性测试用例。并且开发完成了一个模块,测试就测试一个模块,这样可以大大加快测试效率。本人很喜欢使用敏捷测试的方法,不仅可以减少测试时间,质量也不会打折扣。记住一点,敏捷测试一定要对人员进行明确的分工。避免重复性测试带来的效率降低。

误区22-软件测试工作没有前途,只有程序员才是软件高手

相信很多人都认为测试没有开发人员厉害,这确实是市场现状,很多测试技术确实不如开发强,但是论前途,我觉得测试比开发更有挖掘潜力,测试的发展是多样化的,而且范围很广,薪资也完全不亚于开发人员。真正的全栈测试工程师,技术也绝不会输给开发,甚至超越开发。小编在工作中,也经常会遇到开发人员前来向我请教性能技术和自动化技术。

误区23-软件测试就是保证软件无故障运行

软件测试不仅要保证软件无故障运行,更要保障软件的易用性,健壮性,稳定性,安全性,兼容性,用户体验等一系列的因素,所以单纯为了无故障则显得有些肤浅了。

误区24-软件测试的环境就选用户的环境

软件测试分为三个环境,分别是“测试环境”、“HA环境”(准线上环境)、“线上环境”,用户环境指的是第三个“线上环境”,而测试的重点用该是在“测试环境”和“HA环境”中。用户环境中并不能随意提交数据进行测试,只能在最后beta验收阶段时才会采用这个环境的测试。

误区25-开发人员更适合做软件测试

(1)开发人员对其所写代码有主观认同感 人们通常会对自己所犯错误视而不见或者拒绝承认。同样的,在软件开发领域,程序员们对待其开发的应用程序就像对待自己的孩子一样,拒绝承认自己的孩子有什么不好的地方。这就是为什么软件开发人员难于发现和改正自己的错误。

(2)开发人员对软件过于乐观的心态 开发人员进行开发的目标是将软件所需的功能完美的展现出来。当程序的功能运转正常的时候他们会自我感觉良好,因为他们的主要目标就是功能二字。而测试人员与他们想的却不一样。测试人员通常会从不同的角度切入进软件内部,打破程序员们惯有的思维方式,通过各种不同的测试用例把软件潜在的不足之处引发出来。

误区26-bug越多测试越有效

测试Bug的数量并不能说明测试的有效性,反倒能说明开发人员的技术水平。测试bug数量多则改的代码就多,改的越多,越可能引发其他问题的出现,甚至到后期bug越来越多。原本没有问题的模块也开始出现问题。测试的有效性不能以发现bug的数量而决定,更应该根据问题的隐蔽性或严重性来决定。

误区27-关注测试的执行而忽略了测试的设计

执行测试一定是按照提前设计好的方法进行的,测试的方法就是测试用例,如果不进行测试用例的设计,直接进行测试执行阶段,再强大的测试工程师也无法保证测试的全面性。相信大家都知道编写测试用例的原则,是100%的覆盖需求,可见测试设计阶段的重要性。

误区28-测试是为了证明软件的正确性

测试不仅要证明软件的正确性,更应该证明软件是错的,测试人员不能只考虑正确的流程,往往出错最多的是逆向思维测试,反逻辑测试,违背常规的测试是最有效的测试,所以说测试不是为了证明软件的正确性,而是恰恰相反的证明软件的错误性。

随着我国IT企业逐渐认识到软件测试的重要性,人才需求量逐年增加;而由于现阶段专业测试人才培养途径不健全,仅有部分培训机构开设专业测试人才培养课程,每年培养的人才不过万人,这就导致人才供需不平衡。至于教学资料及面试技巧可以在群文件下载即可-【152 015 953】。同时也整理了思维导图给小伙伴们捋清学习思路,也会不定期分享软件测试经验

最后:【可能给予你帮助】

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你

.
关注我的微信公众号【软件测试小dao】免费获取~

我的学习交流群:1033482984 群里有技术大牛一起交流分享~

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

以上是关于百度测试工程师汇总28个误区,80%的测试工程师都不知道,你知道吗?的主要内容,如果未能解决你的问题,请参考以下文章

清华大学教授:软件测试已经走入一个误区——“非代码不可”

软件测试最容易陷入的28个误区

软件测试工程师经典面试题汇总

探索式测试中的几种误区

2020软件测试工程师推荐软件测试学习工具汇总!有你用过的吗?

2020软件测试工程师推荐软件测试学习工具汇总!有你用过的吗?