对于有能力的人,除了金三银四、金九银十换工作的季节外,任何时刻都可能出现机会,准备了大半年终于到了换工作的时机。在此给大家分享下个人面试前后的一些准备工作以及面试过程中的一些常见问题分析。
测试思维
面试中很经常看到一个问题就是“给你一个登录页面/给你一根笔,你怎么测试?”,实际上面试官主要考察的是你的测试思维,这个时候你要从以下几个方面去回答:UI测试、功能测试、用户体验、安全性、性能等等几个方面去考虑。然后每个方面进行扩展,简单讲述几个用例即可。
1.熟练背好测试思维的几个方向
背好测试思维的几个方向的目的,是希望在面对面试官问题的时候,你能有条不紊的阐述你的测试思路,除了减少自己内心的紧张感外,同时能给面试官展示你自信的一面。
2.将测试大纲结合到你的实际工作经验中
面试官除了会问你某个东西怎么测试外,还会关注你的简历内的经验,从简历内挑选一个来进行深度考察。
例如简历中如果写了财务模块的测试,那相对应的在面试前你就要对该模块进行简单的总结。以下是我的简单总结,仅供参考:
UI测试:通过对比UI效果图进行支付按钮、支付详情页等ui测试
字段规则校验:检测页面字段的必填、非必填、合法、不合法规则
业务逻辑校验:主要分为正向逻辑、逆向逻辑、前后端交互数据同步等方向
暴力测试:同一条数据重复提交检验、请求超时校验、请求中断校验等
安全测试:支付金额与收款金额不一致测试、重复支付测试
性能测试:关于性能模块,目前个人还没去深入了解。
问题定位能力
面试中经常会遇到以下两种问题:页面崩溃了如何定位?如何定位前后端问题?
web页面问题定位
第一步:web前端与服务端判断
先判断是前端还是后端的问题,如果是接口请求响应数据是正常的,则进一步定位前端问题。
前端问题可以通过F12打开调试模式,切换到source 页面进行查看是否是js文件内的语法错误,或者是资源文件位置未找到等问题
第二部:服务端具体原因分析
后端接口请求异常,则可通过http的请求状态码进行判断
400--请求语法错误,也就是前后端语法定义不一致
401--未授权
403--服务端拒绝访问
404--资源不存在
500--服务器内部错误
如果遇到磁盘满了,就需要看应用程序是否活着,如果活着则返回500(服务器处理异常),若是应用程序已经死了,则返回400资源不存在了
App程序问题定位:
1.安卓和ios对比同时存在的错误,大概率为服务端错误
2.抓包工具/app端调试模式日志/后台日志系统,通过日志内容分析是否服务端错误,常见的服务端错误有如下:
2.1接口请求异常错误:直接提示系统异常等
2.2接口请求成功返回状态码200,但是响应数据内容错误
2.3接口响应返回数据正常,但是前端字段取值错误
专业技术能力
任何一个产品都离不开功能测试,所以作为一个资深测试人员,至少必须具备上述的“测试思维”、“定位分析能力”。除了必备能力外,作为测试人员如果能具备以下能力,无疑再测试过程中能大大加深面试官对你的好评。
1.自动化
自动化类型可以大致划分为接口自动化、UI自动化(appinum、selenium等)、性能等,在写简历时着重写自己熟悉的类型,面试前着重刷该类型的面试题,在遇到不会的问题时,可以通过该问题牵引出其他你会的东西,并表示你不会的时候,是否有其他的解决方案。
场景:
面试官问:你会压力测试么?
应聘人员:关于压力测试我这边没有深入研究,但是我有研究过使用jmeter进行接口自动化,在研究时有简单的通过jmeter 的同步定时器、调度定时器对部分接口进行简单的压测,至于压测的结果和分析以及后续的调优需要开发协助,毕竟性能测试的水比较深,不是个人简单学就能迅速掌握的。
2.Linux/环境部署
将比较常用的linux命令背起来,面试的时候灵活的说出自己常用的命令是哪些,然后不常用的一般在使用时百度一下即可。
3.数据库
如果经常使用数据库那就没问题,如果日常使用比较少,那就要提前背增删改查,然后面试时结合日常测试场景进行描述。
场景:
数据库在日常测试过程中,主要使用增删改查,例如说测试到支付场景,由于支付金额较大,我们需要提前根据订单号查询到对应的收款任务,再将收款任务的相关金额字段修改成0.01进行支付测试。
4.开发语言能力
如果想要凌驾于普通功能测试岗位的薪资,就肯定需要掌握一门开发语言,会java更好,不会的话学习python是一种不错的选择。因为现阶段行业内流行自动化,但是实际上前期很多测试人员都是没有开发语言能力的,后期学习的一般都会选择python比较易懂、快速上手。
所以没有别的选择的情况下,选择python语言进行学习无疑机会会更大(当然这么是针对目前厦门的情况,各个城市有不同的情况,仅供参考)。
至于语言能力的掌握程度至少要能支撑你的自动化框架,对框架内的一些方法进行封装使用。
具体在面试时可以简单告诉面试官,你用python语言写了自动化里面的哪些内容,加深面试官对你的答案的可信度。
总结
以上时个人近期面试的一些经验总结,也明白了作为一个测试人员真的是需要面面俱到的难呀~人员维度方面从上要到产品,下到开发两个方面去提高产品质量;能力方面要具备开发的基本能力,也得具备运维的基础能力,所以无疑这也是测试人员需要游走在整个项目团队的核心人员,相信未来测试的地位也会越来越重要~
作者:绿豆芽呀
来源:http://www.51testing.com/html/39/n-4480039.html