目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
软件测试面试题:https://www.bilibili.com/video/BV1Lq4y137aR/
面试题:有没有抓过包,为什么要抓包,具体怎么做的?
答:
抓包这块,其实我们在工作用得是比较多的,一般我们都在测试过程碰到问题,我们有的候通过抓包去看一下前端与后台的数据交互,通过分析这个数据,来定位到底是前端问题,还是后台问题。
主要用的就是 fiddler工具,如果只是抓取Web端数据的话,只要在浏览器上设置代理服务器,指定代理服务器为本地的fiddler这个工具,设置好端口:8888 就可以了,如果要抓取手机端的包,首先需要保证手机与电脑(安装了 fiddler的这个电脑)在同一个网络,在手机上要设置http代理服务器为手动,然后服务器指定为电脑的ip地址,端口设置为8888
例外,如果要抓取https包,可能还需要在电脑上安装证书,手机端这边也要安装证书,差不多这样就可以。
面试题:为什么要进行抓包?具体怎么分析的?
答:
主要是我们在测试过程中,出现Bug的时候,为了定位问题,分析问题,需要抓取前端后台的数据交互过程,通过看数据,从而来分析到底是前端问题还是后台问题
分析这块的话:
1、首先看发的请求是否有问题,请求的接口url是否有错误,参数是否有错误,如果url或传参有问题那就是前端Bug
2、如果请求没有问题,看下后台返回的数据是否有问题,状态码5开头的基本都是后台问题,状态码为200,响应数据与预期不一致,那也是后台Bug,不过这里有可能是数据库问题,也有可以是后台代码问题,这里首先我一般会查看下数据库的数据,如果数据库没有问题,那就需要查看下后台的日志文件,具体分析下看是后台代码哪里出问题了,然后把日志信息信息截图给开发
3、返回的数据没有问题,请求参数,u也没有问题,那可能是前端代码是否转换有问题,那就是前端Bug
面试题:给你一个需求,你具体讲下,你怎么测试?
答:
第一点:首先我要熟恶这个需求的背景,这个需要功能,我至少要知道这个需求做的是什么吧,做的是一个什么样的解决方法这个要搞清楚。
第二点:这些搞清楚,看这个需要和其他模块有哪些交互,需不需要关联起来分析,有没有影响到其他模块,或者数据有没有流向其他模块。
第三点:这些都清楚了,那么我会根据熟悉的情况看下工作量,哪个时间点交付,在这个时间点我需要做一个计划给老大说下,如果时间充分,一个人能搞定,那么就一个人搞定,搞不定,我会向老大申请人力。其实接下来也差不多了,分析需求,尽量要评审,在前期就保证好质量,如果没有问题。其他也就是用例实例化,执行啊,bug跟踪啊等,最后出个报告就好了。
基本我做的活,会这么做主要看你在最短时间把需求吃透,做好计划,展开工作。
面试题:给你一个项目,你怎么展开工作,请详细说一下,你具体怎么做的?
面试官考的点:进我公司,给你一个项目,你怎么做,看你有没有独立做项目能力
答:
第一点:首先我要熟悉这个项目的背景,我至少要知道这个项目做的是什么吧,做的是一个什么样的解决方法这个要搞清楚
第二点:这些搞清楚,那么必须要清楚这个项目的核心模块和业务,我们给这个模块做一个优先级,先测试哪些核心模块,再做哪些模块
第三点:根据刚刚信息,我会熟悉这个业务,这个业务相关模块,以及写数据前后台交互等
第四点:这些都熟恶了,那么我会根据熟悉的情况看下工作量,哪个时间点交付,在这个时间点我需 要做一个测试计划一般需求分析的话,根据我的经验基本2天差不多了,编写用例时间,执行时间,bug修复时间,我会做一个工作量评估,如果还有其他测试,我会把这个计划发给大家,让大家评审这个计划和安排,看安排是否合理。
大家能不能在这个计划时间段完成,基本需求分析等多给个2天左右,那么大家要再这个时间段完成,完成后我会安排大家讲解需求,做需求评审和需要讲解,前期时间多投入点,后面风险小一点,这个我主要跟进下进度就行。
第五点:那么接下来,大家按照计划去编写用例,用例在时间点完成后,我会组织大家评审,这个两个我必须把控,减少后面测试风险,前面分析和用例把握到位,后续执行和bug这块不会有太多 问题后续的话,那么大家执行就行,我主要跟进这个进度,每天大家bug解决情况,以及测试进度,做成日报。
像些问题不好解决的,有问题的,我去协助那么测试完成后,我会收集大家测试 数据,做一份测试报告,这个我会评估这个测试有没有风险,没有的话,发送给开发老大,开发 所有人,测试所有人。这块评审下,后续组织测试人员安排上线,我基本是这么做的
面试题:返回数据现在有问题,怎么排查问题?
答:
这个可能需要抓包,首先抓包看下前后台的数据交互情况,确认下是不是前端请求发送,有问题导致返回数据有问题。如果是请求有问题,那提Bug给前端,让前端修复。
如果请求没有问题,与接口文档对比,查看下返回数据具体是哪里出问题了,这里还得,首先查看下数据库,看是不是数据库中本身数据就有问题,如果数据库数据没有问题,那可能是后台代码问题,这个时候可以查看下后台的日志文件,通过分析日志文件的错误信息排,查具体什么原因导致问题出现
面试题:有时候下订单成功有时候下单失败是什么原因?
答:
对于订单成功和失败的情况,各自去抓包,把两次抓取的数据来做对比,分析原因
1、假如发送的请求不同,那肯定是前端问题。
2、假如是返回数据不同,那基本判定是后台代码出了问题,这时候可以去看日志,看数据库,把这些信息提交给开发处理,也可能是网络问题没发出去的。
面试题:APP出现崩溃时怎么抓取日志?
# adb logcat android studio logcat
答:
这种情况我肯定要去看手机端的日志,去分析崩溃日志,通过 adb logcat去直看日志。
根据崩溃时间段去查找这个时间段日志,去查看是否有 Error,Exception,Crash,OOM等显现,分析日志,不懂的可以百度查看下原因,然后发给开发处理。
面试题:微信里面,如果大家都看不到你发的朋友圈信息,分析下什么原因?
答:
1、A删除了那条朋友圈信息
2、A屏蔽了所有好友查看自己的朋友圈
3、如果没有屏蔽,多发几条看看,如果发的所有朋友圈,好友都看不到,也可能是微信后台出问题了,或者A的微信账号有异常等等,不过这种情况不太可能。
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
时间从不等待任何人,唯有抓住当下,才能创造出属于你的未来。因此,请勇敢地去追逐自己的梦想,开创属于自己的精彩人生。
生命中最重要的是幸福和快乐,而最可贵的是对自己的追求和实现,因此请勇敢地拥抱人生的挑战,永不放弃。
把握每一个机会,迎接每一个挑战,即使面临困难和阻碍,也要坚信自己的能力和价值,勇往直前,开创出属于你的辉煌。