先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
正文
C: 经常花费了大量的时间排查和定位bug,最后竟然发现是无效的bug,测试到底有没有搞清楚需求?简直是浪费大家的时间!
D:明明是个Major的bug,却给我报成critical级别,还害我被领导催加班,自己谨慎一点定bug级别不行么?
E:xx测试总是一直在问bug产生原因和解决方法,测试又不懂代码,说了也不明白,一直解释也是浪费大家时间!
F: 测试整天搞一堆流程和文档,要开发提供这个提供那个,开发写代码哪有那么多时间! ……
看着这些言辞相信作为测试工程师的你肯定觉得一点都不陌生。因为立场不一样,职责不一样,出现这样的分歧和矛盾也无可厚非。但是,如果每天工作在这样的氛围里,每天都需要花心思去跟开发斗智斗勇,不止影响我们每天的心情,而且肯定也会影响我们的工作效率。
**所以,作为测试工程师,我们到底可以做些什么来改善这种敌对关系呢?**或者说可以从哪些方面来努力融洽我们的工作氛围呢?
** 测试如何改善?**
> >业务能力
1. 我觉得测试工程师应该提高自己的核心业务能力,让开发挑不出来毛病,从而对你产生信任甚至叹服。
关于这点我自己是有亲身经历的,所以深有体会。我曾经工作2年左右,跳槽到一家外企做一名senior测试工程师。刚到公司参与项目的时候总是格外的谨慎,开bug也要经过再三确认才会发出去。但是就算是这样,跟公司的开发的矛盾也还是没有幸免。当时公司的开发老大是个特别强势的人,声音大气势强,一说话能把人吓懵的那种。我当时开了一个bug,在我的环境下面再三确认过,是个能够稳定复现的严重bug,所以我标记为了critical的级别,并且指派给开发。对应模块的开发大致定位了一下,没有复现出来。然后这个开发老大,就气势汹汹的过来测试办公区,趾高气昂地跟我的测试经理说:
‘你们测试怎么开bug的,是不是bug自己有没有搞明白啊?现在开发的环境里就是OK的,肯定是你们的测试环境的问题或者操作方法的问题!下次搞清楚再发bug,不要浪费开发的时间…’
这些话说的一点都不客气,矛头全指向测试这边,不留任何余地。
我当时内心肯定是很生气的,但是我没有直接站起来跟他理论,因为我知道,需要理论必须要掌握有效的证据,自己才能有底气,不然就是强词夺理,没有胜算。
所以,我在自己的环境下再次成功的把这个问题复现出来,然后再去找到开发,帮助他搭建同样的环境,告知稳定的复现步骤,将bug在他的环境下复现,并且协助开发把问题定位出来,只需要他们修改对应的代码就可以了。
整个事情,我没有去争吵,没有去理论,用自己专业的业务能力,让他们心服口服。
从这次事情之后,整个开发团队对我的态度明显的改善了,不仅不再趾高气昂的指点和质疑我的工作,而且在要修改bug的状态(非修复状态)的时候也会先跟我确认,得到准许之后才做相应状态的修改。
我的工作开展顺利了很多。
所以,要避免落人口舌,请先做好自己。测试做好自己的首要前提,就是必须要提高自己的业务能力:
◆ 一方面要充分的熟悉产品,理解产品的逻辑和实现,在这个基础上,不仅会提高你的测试技能和工作效率,而且在被开发质疑的时候,也能有扎实的产品知识做后盾,有充分的底气去做辩解,理论才有胜利的可能;
◆ 另一方面,也要规范自己的工作的输出。例如保证各种测试文档(测试计划,测试用例和测试报告等)的质量,可以经得起开发、产品等各部门的审核;比如保证输出的bug质量,编写bug的描述和步骤清晰,bug的严重级别定位准确,以及定位日志和现场截图齐全,不给开发留下挑刺的余地。
提高了自己的工作质量,才可以用同等的标准去要求开发,才能在守住测试的立场的同时,也赢得对方的尊重。
> >技术能力
2. 其次,测试人员也需要提高自己的技术能力,包括测试的技能,以及测试相关的技术能力和知识领域。
同样给大家分享一个真实的故事。
我原来有一个同事,也是做测试的,因为是黑盒测试,她并不懂代码。在项目工作过程中,她遇到一个合作很不愉快的开发,每次想更加深入地熟悉产品的功能实现和业务逻辑的时候,咨询开发,他都很不配合。两个人争吵过,也互怼过,甚至双方领导调解过,但是都不见情形的改善。
没有办法,为了保证自己的测试任务能够按时按量的完成,她只能逼着自己去阅读产品的源代码。
虽然一开始都看不懂,但是她坚持,一边找资料,一遍咨询别人,最后终于把这个产品相关模块的代码都熟悉了。
在随后的测试过程中,遇到bug,她可以自己准确的定位出来是那一块代码的缺陷。
从此以后,再也没有听过她跟那个开发争吵了,因为她自己已经成为了那个最熟悉产品的人,不管从功能实现,还是代码逻辑,她都了然于心。
技术在手,无求于人。
所以,测试工程师可以适当的有针对性的提高自己的技术能力。
那从哪些方面提高呢?
◆ 第一,肯定是测试的技能,测试流程以及各种测试方法的掌握是测试工作的基础,所以这个是必须要掌握的;
◆ 第二,第二,最好能熟悉至少一门语言,不管是java,C++,或者其他的脚本语言python,perl以及shell,掌握其中1-2个就可以。有了语言基础,测试可以更加深刻的理解产品的实现,也能够更加清楚的知道bug经常会出现的模块,能够对产品进行更加充分的测试;
◆ 第三,需要至少要掌握一种数据库的使用,如对SQL的操作,能运用JOIN进行查询,或者HAVING用法,测试人员离不开数据库的管理和操作,自己掌握了这方面的技能,就再也不用依赖开发,减少自己的被动性;
◆ 第四,也需要熟悉系统的相关操作,如安装,配置,管理,对于Linux系统需要熟悉常用的操作命令,能在Linux下能安装和配置软件等。
总之,提高了自己各方面的技术能力,才能够在工作中充分发挥自己的主观能动性,不过分依赖开发,才能提高自己在开发心目中的专业性,赢得双方平等的待遇。
> >沟通能力
3. 再者,测试工程师也要提高自己的情商,增强自己的沟通能力,懂得站在开发的角度思考问题,学会去尊重开发人员。
相信大家都知道,无论什么场景,有效的沟通总能让事情完成得事半功倍,测试跟开发之间的关系处理也是一样。
作为测试人员,我们除了坚持自己测试的角度和立场之外,也要有同理心,学会站在开发的角度去看问题。
实际上很多冲突都是源于大家对需求理解不一样造成的,所以当测试和开发对一个bug持有不同观点的时候,不要率先很强硬的否定他,尝试解释为什么他理解的需求有不足之处。找到一些可以站得住脚的论点,从用户角度出发,从安全性考虑,或者从易用性和友好性来看,说服开发接受测试的观点,而不是强加自己的观点给他们;
另外,平时工作之余大家也可以多沟通,有机会就组织一些活动让开发与测试熟悉一下,这样子很多时候面对熟悉的人,在反对对方的观点的时候会更加容易考虑一下对方的感受,只要气氛不对立,很多事情就可以商量了。
这些沟通技巧都是一个人情商的体现,这也是为什么很多公司招聘的时候都要求测试人员善于沟通和表达,高情商的表达和沟通方法,可以让我们的工作氛围少一些凌厉,多一些柔和。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
24b (备注软件测试)**
[外链图片转存中…(img-Nu63jdbi-1713570589362)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!