每周一个测试面试题(持续更新)
- 1.如何判断一个Bug是前端的还是后端的?
- 2.网站打开太慢,该怎么办?
- 3.请说一下postman、Jmeter的区别
- 4.请说出10个linux常用命令?
- 5.给你一个新项目,你怎么开展测试?
- 6.app与web的不同点是什么?
- 7.上线后的跟踪如何做的?
- 8.为什么要做上线后的回归测试?
- 9.上线后发现的问题如何处理?
- 10.为何测试验收通过后,上线还是会有问题,如何避免?
- 11.如何进行风险把控?
- 12.http 请求包含哪几个部分?
- 13.Jmeter一个线程组里添加了多个Header管理器,将会运用哪个?
- 14.Jmeter一个线程组里添加了多个Cookie管理器,将会运用哪个?
- 15.如何提升测试效率和质量
- 16.性能测试中发现cpu占用过高,应该如何进行分析?
1.如何判断一个Bug是前端的还是后端的?
一般可以通过直接调用对应接口,查看接口状态来核查
比如:前端无数据展示
若接口状态正常,预期应有数据返回,但实际接口无数据返回,则为后端Bug。
若状态异常,需根据状态码区分到底是哪端的Bug,举几个例子
500:后端接口异常,一般是后端Bug。
502 / 504:一般为服务器异常,所以既不是前端页不是后端,是服务器的锅。
404:有可能为服务器异常,也有可能是后端异常,首先排查url地址是否正确,其次排查服务器运行是否正常,如以上都正常,则大概率是后端Bug。
400:一般为前端BUG,考虑参数错误。
又比如:前端有数据显示,但是不符合预期
可以查看调用接口返回数据,对照api文档(如有)核实对应字段的值,查看字段值是否符合预期,如果符合,前端BUG。
如不符合,排查数据库对应字段是否鱼后端返回数据一致,不一致则说明为后端Bug,一致,则需要排查为何连数据库的数据都不符合预期,是认为修改还是在程序执行中被修改(后端Bug)。
2.网站打开太慢,该怎么办?
通过整理研究:用户打开网站,最满意的时间是2-5秒,如果超过10秒以上,98%的用户会选择直接关闭这个网站。
今天给大家分析下网站打开速度慢的解决方法:参考
1.域名问题
域名解析不正常,过期,或者终止服务,会导致找不到服务器,这样的情况解决的方法就是检查域名以及联系域名注册商确认原因。
2.测试内在原因还是外在原因导致
当你发现网站打开速度慢的时候,首先要先查明是网站的问题,还是其他因素引起的问题,这里的其他因素指的是:
(1) 网络是否正常,可以浏览其他网页检测一下网络情况。
(2) 设备问题:当你使用当前设备浏览网站出现问题时,可以换其他设备浏览网站,看打开是否正常。
(3) 浏览器问题:打开网站不同的浏览器打开的速度也不一样,如果出现问题建议更换多种浏览器进行测试,更换浏览器记得要清理缓存来测试
(4) 网段问题:电信、网通等其他不同网段访问的速度也不一样,可以更换不同网段来进行测试
3.检查是否服务器(主机、空间)性能过差
访问量问题
如果你网站已经是一个高知名度或者是人气很高的网站,网站每天的访问量都很高,在这种情况下,你需要考虑该换置一个更大的服务器了。
如果服务器环境异常、不稳定、存储空间不足就会导致网站打开慢,甚至打不开。当网站访问出现问题时,就要去检查服务器是否出问题了。如果你网站更新内容越来越多,当前的服务器已经承受不了,建议尽快更换服务器。
3.请说一下postman、Jmeter的区别
从操作步骤比如http请求,postman的url是一个整体,Jmeter则分成了4个部分(协议,主机,端口,路径)。另外,postman可以很直接的填写请求头信息,而jmeter需要添加http请求头管理器组件才能对请求头进行编辑。整体来看,其实也是大同小异,就是一些细节不太一样,比如两者都可以对请求响应进行断言,但postman有很多自带的函数,利用函数它可以对响应进行断言,而jmeter他有很多断言组件,可以利用组件进行断言,jmeter的断言比较丰富,比如它可以用正则表达式进行断言,这一点比如要用postman实现可能就需要编程进行辅助。另外,jmeter有很多方式进行参数化,感觉比较适合进行数据与操作分离的请求,而postman比较适合把数据和操作放在一起,显然postman操作比较简单,但是jmeter更便于维护。
4.请说出10个linux常用命令?
进入目录cd,复制文件用cp,移动用mv,删除用rm,编辑文件用vi,更改文件权限用chmod,
查看当前绝对路径pwd,查看文件内容可以用【cat,tac,nl,more,less,head,tail】
查看进程用ps,查找文件用find,查找文本用grep,查看内存用free,查看网络用netstat,杀死进程用kill。
5.给你一个新项目,你怎么开展测试?
6.app与web的不同点是什么?
7.上线后的跟踪如何做的?
软件上线前后测试需要做哪些事情
软件上线前后测试需要做哪些事情
8.为什么要做上线后的回归测试?
上线后可能会出现Bug,然后指定了开发进行修复,之后开发通过了单元测试,但是可能该部分修复代码对整个系统存在影响,所以这个时候回归测试就非常的重要。
9.上线后发现的问题如何处理?
1、分析线上问题并尽快解决;
2、搞清楚线上问题产生原因(开发流程处理不当还是测试不到位等等);
3、如何处理该问题 – 解决问题方案;
4、后续如何规避。
总体来说:
线上出现问题后应先把问题都收集起来,把原因了解清楚,责任人分清楚。前期不以惩罚为目的,以收集信息为目的。
测试主导回溯文档,开发配合,主要包括以下内容:
1、问题现象
2、影响范围
3、故障原因
4、责任界定
5、故障修复过程
6、解决方案
7、后续Action
10.为何测试验收通过后,上线还是会有问题,如何避免?
项目上线时间紧急,导致很多细节上的问题没来得及测到,并且没有时间做回归测试;
项目在临近上线时,开发还在更改代码,很容易导致出现其他的问题,而且也来不及发现;
项目需求更改频繁,导致很多需求不明确;
产品、开发、测试人员需求同步问题,比如说:有需求更改的地方,很多时候产品只是跟开发说了,并没有跟测试同学说,存在需求不同步;
遇到开发人员重构代码,可能没有跟测试同学说,导致回归测试的时候,这块功能只是走走主流程,并不会测试细节部分;
测试用例评审不过关,有些场景可能没有考虑到,导致测试遗漏;
上线后,未做冒烟测试,出现的问题未及时发现;
测试计划没做好,导致有些模块可能没有充足的时间测试;
如何避免这样的问题呢
合理评估测试时间,确保有充足的时间测试;
回归测试
项目临近上线时,应不允许再改动代码,需封版,这样可以避免因改动导致其他的问题,却没有被发现;
提测前,保证需求已经全部熟知,且对需求没有疑问;
可借助jira工具进行管理需求文档,避免需求不同步问题;
开发若有重构代码,需重新评估上线时间或者下一个小版本再迭代;
合理安排测试计划,例如:3天测试时间的话,可在test环境测试2天,beta环境测试1天,尽量在test环境将问题都解决了再上beta环境。
上线后进行冒烟测试,及时发现问题并解决问题后再邮件通知上线公告。