0530-3433334

网站建设 APP开发 小程序

知识

分享你我感悟

您当前位置>首页 >> 知识 >> 软件开发

软件测试工程师需要懂代码吗?测试人员的开发知识匮乏

发表时间:2023-09-12 20:02:45

文章来源:炫佑科技

浏览次数:114

菏泽炫佑科技

软件测试工程师需要懂代码吗?测试人员的开发知识匮乏

可以说,做初级测试,尤其是手工测试阶段,不需要懂代码,但只能做手工测试。 严格来说,你不能被称为“软件测试工程师”

很多人*初选择这个行业是因为不需要了解测试代码。 这取决于他们的职业定位。 是止步于月薪过万,还是努力突破到2万、3万。 如果是这样的话,它必须能够接口和自动化,并且它必须涉及代码。

如果实在看不懂代码,在实际的后期测试工作中会出现什么样的问题呢?

(1)如果测试人员无法理解开发代码,那么对BUG的描述就会不清楚、不准确。 开发者不会明白这个BUG应该如何复现,或者你想说什么,甚至一些很表面的bug也会被忽略。 测试人员认为这是一个非常严重的问题。

(2)测试人员缺乏开发知识,向开发人员提交不属于BUG的BUG,或者在开发过程中提出难以实施的建议,无法提供合理的解决方案(开发人员容易实施的解决方案)。

(3)在测试BUG时,无法清晰准确地定位BUG的来源,导致与开发者的交涉过于频繁。 时间宝贵,缺乏沟通有害,沟通过多又容易出问题。

因此,测试人员对开发知识的了解是必须的。

(4)如果测试人员不懂开发知识,很容易被开发人员牵着鼻子走。 对于一些bug的PK,他们往往无言以对,因为开发者随便就能忽悠你。 如果你不明白这个秘密,你就不会知道一个字。 说不出来。

(5)自动化测试和性能测试,包括项目管理,将需要对软件开发有深入的了解。 如何设计一个好的自动化框架、好的性能测试用例、如何管理一个开发团队,这些都需要我们从事软件开发。 对它有一些控制。

因此,通过测试了解软件开发知识是必须的。

思考这个问题,我发现无论是行业内还是行业外,对于软件测试仍然存在一些误解。 通过和身边做测试的朋友的深入交流,我也总结了一些问题的集合,所以在这里就占用一些篇幅来说一下。 如果你真的想清楚地了解这个行业,那么无论你的技术高低,都必须耐心阅读!

我整理了软件测试人员*容易陷入的28个误区。 老规则是把思维导图放在文章的*后。 如果需要原图可以私信或者留言。 文章总字数2000余字,预计阅读时间4分钟。 希望对您有所帮助。

1.测试和开发永远是死敌。

测试和开发的工作性质虽然相反,但目的都是为了项目更好的发展。

我之前发起过一个倡议:我们讨论的时候不要用他们(开发人员)和我们(测试人员),而是统一用我们,因为开发人员和测试人员本来是在一起的。 如果测试人员能够和开发人员成为朋友,你会发现工作会非常顺利。 在我公司,测试人员和开发人员的关系非常融洽,互相尊重,也肯定每个人的工作能力和技术。

诀窍在于测试端的沟通。 没有人能接受别人批评自己的工作,所以测试应该帮助开发,让开发的“孩子”更健康,让开发者可以不那么辛苦地“照顾孩子”;

测试是系统之父,开发是系统之母。 生下妈妈太痛苦了,爸爸想打他。 妈妈能同意吗? 当你脾气生气的时候,如果你是父亲,请冷静下来,哄一哄,做一个母亲。 她不是傻子,她也知道是非。 如果妈妈真的很困惑,那你还犹豫什么呢? 打她一巴掌就可以了(哈哈,开个玩笑,还是要以理服人)。

2、测试人员不需要了解软件开发知识

测试人员和开发人员沟通不畅,主要有以下几个原因:

(1)如果测试人员无法理解开发代码,那么对BUG的描述就会不清楚、不准确。 开发者不会明白这个BUG应该如何复现,或者你想说什么,甚至一些很表面的bug也会被忽略。 测试人员认为这是一个非常严重的问题。

(2)测试人员缺乏开发知识,向开发人员提交不属于BUG的BUG,或者在开发过程中提出难以实施的建议,无法提供合理的解决方案(开发人员容易实施的解决方案)。

(3)在测试BUG时,无法清晰准确地定位BUG的来源,导致与开发者的交涉过于频繁。 时间宝贵,缺乏沟通有害,沟通过多又容易出问题。

因此,测试人员对开发知识的了解是必须的。

(4)如果测试人员不懂开发知识,很容易被开发人员牵着鼻子走。 对于一些bug的PK,他们往往无言以对,因为开发者随便就能忽悠你。 如果你不明白这个秘密,你就不会知道一个字。 说不出来。

(5)自动化测试和性能测试,包括项目管理,将需要对软件开发有深入的了解。 如何设计一个好的自动化框架、好的性能测试用例、如何管理一个开发团队,这些都需要我们从事软件开发。 对它有一些控制。

因此,通过测试了解软件开发知识是必须的。

3.软件测试简单

开始软件测试确实比开发人员更容易。 原因在于,开发初期需要掌握一门语言,但测试中后期只需要掌握开发语言技术即可。 测试更注重测试思路、方法、测试工具。 掌握。 但到了中后期,软件测试所需的知识量会远远大于开发人员的知识量。 测试后期需要掌握功能、性能、自动化、接口、协议、抓包、安全,包括移动终端等一系列测试工具,技术难度不亚于开发技术。

4.测试是为了发现bug

测试人员不仅需要找到Bug,还要跟踪Bug直至问题修复,进行确认测试并关闭缺陷。 测试人员还需要分析问题的原因,防止影响其他功能。

不仅如此,测试还需要对软件进行性能测试、自动化测试、安全测试等一系列其他测试手段。 目的是发现系统漏洞、性能瓶颈、服务器耐压和稳定性。 这远远超出了寻找错误的范围。

5.自动化测试太难

很多初学者认为自动化测试比性能和功能困难得多。 事实上,要精通每一个测试方向并不容易。 自动化只是测试的一部分。 将功能测试做到极致并不容易。 精通性能测试并不容易。 还需要各种技术手段。 自动化无非就是理解一些代码。 困难不在于技术,而在于理念和实施。 事实上自动化软件开发,只要付出同样的努力,无论是性能还是自动化,都可以做得很好。

6. 手动测试并不具有挑战性

手动测试是测试的基本功,也是每次测试的必经之路,但真正能做好的人却并不多。 很多人认为手动测试只是一点点。 我认为这种说法是对测试的诽谤。 手动测试的范围非常大。 它很大,涉及的内容也很多,比如数据准确性、表单值字段、逻辑分析、业务梳理、交互易用性、逆向思维、UI兼容性等等……就讲业务逻辑和业务流程测试,太多人没有进行全面的测试和分析,导致发布上线后出现严重问题。

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环境”。 用户环境中无法自由提交数据进行测试,该环境中的测试只能在*终的内测验收阶段使用。

25.开发人员更适合软件测试

我们经常听到这样的问题:“为什么软件开发人员不适合测试他们开发的软件?” 事实上,软件开发人员测试他们开发的软件的行为就像学生在完成试卷后测试自己的软件一样。 成绩是评价的,这种做法没有意义

(1)开发者对自己编写的代码有主观认同感

人们常常对自己的错误视而不见或拒绝承认。 同样,在软件开发的世界里,程序员对待自己开发的应用程序就像对待自己的孩子一样,拒绝承认自己的孩子有什么问题。 这就是为什么软件开发人员很难发现并纠正自己的错误。

(2)开发者对软件过于乐观

开发者的目标是完美地展现软件所需的功能。 当程序的功能正常工作时,他们自我感觉良好,因为他们的主要目标是功能。 但测试人员却有不同的想法。 测试人员通常会从不同角度深入了解软件,打破程序员惯常的思维方式,利用各种测试用例来带出软件潜在的缺陷。

26. bug越多,测试就越有效。

测试Bug的数量并不代表测试的有效性,而是代表开发人员的技术水平。 测试错误数量越多,需要更改的代码就越多。 改动越多,就越有可能出现其他问题,甚至后期会出现更多的Bug。 原本没有问题的模块开始出现问题。 测试的有效性不能由发现的错误数量来决定,而是由问题的隐蔽性或严重性来决定。

27. 关注测试执行但忽略测试设计

测试执行必须按照预先设计的方法进行。 测试方法就是测试用例。 如果不设计测试用例,直接进行测试执行阶段,那么无论测试工程师多么强大,也无法保证测试的全面性。 相信大家都知道编写测试用例的原则,就是100%覆盖需求,由此可见测试设计阶段的重要性。

28.测试是为了证明软件的正确性

测试不仅要证明软件的正确性,还要证明软件是错误的。 测试人员不能只考虑正确的流程。 *常见的错误是逆向思维测试和反逻辑测试。 违背规则的测试才是*有效的测试,所以说测试不是为了证明软件的正确性,而是相反,为了证明软件的错误。

如果您觉得有用,可以将文章和图片保存起来以备后用! 如果上传的图片不清楚,需要原图,记得联系我猫哥!

*后放一个复活节彩蛋。

软件测试视频和教程资料大合集,链接:密码​​:hlcy

如果你路过的话,请点个赞吧! 猫哥,谢谢你!

炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等

相关案例查看更多