前段时间公司缺人,也面了许多测试,当然也没指望能来大牛,薪资提供在15K~20k左右,来面试的人有很多,但是平均水平真的让人很失望。
看了简历很多上面都是写有4/5年工作经验,但在面试中,我大为震惊,不说测试工具,就连基础的技术很多也知之不详,大多数人这么多年的工作经验仅仅是由功能测试堆起来的,没有一点深度,且对于APP自动化等一问三不知,大都停留在接口测试的基础方法层面上,自动化进阶问题更是不用说了,很惨烈一问一个死,对于前沿技术最新动态也毫无关注,不说你进来怎么滴,你面试造火箭都不会,我很担心进来连螺丝都不会拧。
但后面没想到来了个让我和同事都特别惊讶的人,他是前不久从字节离职出来的,面试时非常的自信,让在座的几个面试官都打起精神想要深入了解,问到的自动化技术问题全都能够答上来不说,基础部分也是很硬实,根本难不倒他,接下来就是HR直接问他多久来上班…...
还是那句话:人有能力就是不同,在哪里都是会发光的金子!!!
而对于一名测试新人来说,你的基础一定要打牢,不然干了4年甚至7、8年还在原地踏步,在里面划水太过的话,很容易走人的。
接下来根据前辈以及个人的经验,给各位说说测试新人该怎样提升,要往哪个方向前进。
一、测试基础的重要性
作为一名测试新人,测试基础非常非常重要。这里说的基础,不仅仅是什么是软件测试、软件测试的目的,而是测试用例的设计能力。
因工作的原因,近来接触不少毕业3、4年,甚至7、8年的测试同学,对用例设计还是停留在理论阶段,这让人不免有些无力吐槽。
Q:软件测试用例的测试方法有哪些?
回答:等价类、边界值、因果图等等。
Q:结合实际的业务场景,来说说常用到的测试用例设计的方法。
回答:不少回复都是以登录,来做说明的。
其实日常工作中,常用到的用例设计也就那么几种,如果我们能把理论好好应用到实际工作中,那么想拿涨薪其实也很容易。
那么,怎么样才能设计出好的测试用例呢?业务、业务、业务,重要的事情说三遍。结合实际的业务场景设计用例非常重要,用例中不仅仅涉及到当前的功能,还需要把上下游关联的业务考虑进去,尽可能的覆盖完整。下面就来给大家着重介绍一番~
二、提升数据库处理能力
作为一名合格的测试人员,数据库的增删改查,关联查询是必会科目。但对于测试新手来说,这个难度似乎有点大,很多人做事前往往关注的是表象。
比如:点击保存,提交保存,那是否就判断保存功能是正常的呢?
而正确的做法是,我们必须去数据库中查看数据落库的情况,确认字段值是否存储正确,涉及到有业务关联的功能,也需要到数据库中,对数据的准确性进一步确认。对业务数据流向做到心中有数才行。
三、具备定位问题的能力
在测试过程中,我们经常会遇到接口报错、异常错误信息等情况。作为一名测试新人,你可能第一反应就是直接丢给开发:喂,兄弟,你这里报错了。
可是当开发人员问:是前端还是后端报错啊?
你可能就只剩下一脸懵了。因为目前大部分软件都是前后端分离的。所以,此时你要做的,就是学会看日志。
通过日志,初步判断是前端还是后端问题,包括:借助抓包工具,判断是否是前端传值传错了,还是后端逻辑处理错误等相关问题。并通过初步定位问题,帮助开发人员提升解决问题的效率等。
四、具备总结能力
作为测试新人,我们要多总结。
我曾带过一名刚毕业的同学,他有一套自己的总结方式比如:通过x-mind梳理总结/梳理业务,遇到的问题会记录处理方法,在测试工作中也形成自己的经验总结,并将自己的方式分享到团队中,这名同学在公司成长非常快,因表现突出,得到晋升。
作为一名技术同学,总结能力非常重要,在日常工作中我们会踩各种各样的坑,将这些遇到的问题总结汇总形成经验并分享给他人,在竞争中也能够更加突出,在之后的工作中可以时不时翻出来看看,每次都会有不一样的收获。
五、适时做好能力提升
技术人员的永恒话题:技术水平的提升。
新人在前期成长非常快,在测试过程中可以多思考,遇到问题想想是否有更好的方法可以解决这个问题。
之前听说不少新人存在心态比较浮躁,动不动就想用自动化解决问题,但自己的自动化测试水平有限,做起来问题层出不穷。几乎可以说是,走还没有学会就想跑等问题。
我以为我们可以先打好基础,做好功能测试,在理解业务的情况下,考虑如何更加高效/高质量的完成测试工作。
我以为,其实有些同学在处理测试工作时,其实很多时候是为了自动化而自动化,不少自动化框架也没有运用到工作中,没有产生实际的价值,也没有自己的思考。
建议大家可以先做一个框架,然后引入一定的思考,结合业务来的做自动化测试。比如,大家可以从市面上已有的工具入手。
举个栗子:接口测试工具jmeter/postman等等,先通过工具了解接口测试流程以及方法,再结合自己的业务,发现当前测试工具解决不了的问题。后期再结合业务开发平台,不断思考和实践。
相信经过一段时间的磨练,大家一定能在测试水平上有所提升。加油,相信明天会更好。
六、技术助推器
在这我也把字节大佬花了几个月时间整理出来一些软件测试知识及技术及学习资源分享给大家【点击文末小卡片免费领取】
包含基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等,希望能够对你们起到一些作用,帮助到个位!!!
一、软件测试基础
了解测试的基础技能,掌握主流缺陷管理工具的使用,熟练测试环境的操作与运维
二、Linux必备知识
Linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有Linux能力。
三、Shell脚本
掌握Shell脚本:包括Shell基础与运用、Shell逻辑控制、Shell逻辑函数
四、互联网程序原理
自动化必经之路:前端开发基础知识以及互联网网络必备知识四、互联网程序原理
五、MySQL数据库
软件测试工程师必备MySQL数据库知识,不仅仅停留在基本的“增删改查”。
六、抓包工具
Fiddler,Wireshark,Sniffer,Tcpdump各种抓包工具适用于各种项目,总有一款适合你的
七、接口测试工具
接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman
八、Web自动化测试Java&Python
了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理
九、接口与移动端自动化
专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用
十、敏捷测试&TestOps构建
揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心
十一、性能测试&安全测试
软件测试的彼岸:性能测试和安全测试,选个方向努力爬坑吧!
合理的利用每一分每一秒的时间学习来提升自己,不要再用"没有时间“的理由来掩饰自己思想上的懒惰!趁着年轻,使劲拼,给未来的自己一个交代!
我这里也给要去面试的朋友准备了一份《软件测试面试宝典》希望能够帮助到你!
整份文档一共有200多页,全部为大家展示出来肯定是不太现实的,为了不影响大家的阅读体验就只展示了部分内容,还望大家海涵,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!希望大家都能够有些收获!