- 真实案例分析
- 登陆的时候,所有信息输入正确,点击登陆按钮没反应
找1~2个真实案例,记一下问题一: 现象:原因: 1、浏览器兼容性问题; 2、网速太慢; 3、系统卡顿; 4、代码处理逻辑问题,没有做页面跳转。 |
问题二:
- 面试官:如果一个购物平台充值的时候有重复入款的情况 从测试的角度,你会怎么复现问题,结合什么工具来进行测试!
参考答案: 用Fiddler工具抓包,查看点击一次充值按钮,发起了几次充值请求,如果超过一次请求,说明前端的处理逻辑出了问题,发起的充值请求次数错误; 如果前端的请求次数是正确的,就查看应用服务器的日志,让开发定位是否是应用层的代码有问题;应用层没问题,就是数据库的代码出问题了。 |
- 3、实际案例:
我们当时是申请退费100,但是实际退费了双倍,退费金额就直接被改了。但是仍然是一次请求。 原因:客户申请退费的时候,系统弹出确认退费对话框的同时,前端把退费金额发给了后台的一个变量,用户点击取消按钮,变量的值没有清空;用户再次退费的时候,就退了双倍。 |
- 4、系统并发200个用户,Jmeter 提示 http status-code = 500
原因:数据库连接没有来得及关闭,就有用户访问上来了,导致数据库崩溃 。这个就是数据库的链接这块开发没有处理好 |
- 5、面:给你一个项目,已经上线了,现在要增加两个功能点,星期五要上线,你会怎么安排
先做需求分析,判断这两个功能点能否在短时间内完成,如果可以完成,不会影响其他的模块,然后做后面的安排。第一天写用例,后面两三天测试,提交缺陷,做回归。最后写报告,给客户验收。 |
- 6、面:那如果你这边测试是1+1=3,开发那边是1+1=2那怎么办?
1、先确认测试环境的代码是不是和开发那边的是一致的,因为有可能是开发没把代码提交到服务器,我们现在测试的版本还不是最新的; 2、如果测试环境的代码和开发的是一致的,就用fidder抓个包,看看问题是在前台还是后台,如果服务器返回的数据有问题,就把响应的服务器的日志取下来发给开发定位。 |
参考答案:
- 7、测试过程中项目紧急,测试环境有问题,数据提供不了(构造不了数据),你该怎么办?
参考答案:从生产环境上把数据导到测试环境上测试;如果生产环境的数据包含了用户的个人信息,需要进行脱敏处理,就是导入到测试环境上之后再把用户的信息修改下,再测试。 |
- 页面有个日期控件,我需要写入一个开始时间和结束时间,有没有遇到过这种场景?
参考答案: 1)、如果可以直接修改值,就用send_keys()输入值; 2)、如果输入日期的输入框不能直接修改,一般来说,这个输入框有一个readonly的属性,调用js将这个属性删除,然后再用send_keys()输入值; |
- 9、怎么验证前端加密的信息是不是正确的?
参考答案:我们在客户端输入好了信息,提交,然后用Fiddler抓包,看客户端加密后的数据,与开发给到的加密脚本是否一致,如果一致就是没有问题。其次,还要看返回的数据是不是正确的。 |
- 10、app版本升级具体应该怎么做?
参考答案:app的升级,我们可以在后台设置,只对指定的手机进行版本的推送,然后现在这几台手机上进行升级的测试,如果没有问题,再去全量推送。 |
- 11、升级出现问题怎么办?
升级出现问题,就先修复问题,然后修复完成之后,再在测试机上进行测试,没有问题,再全量推送了。 |
- 12、怎么去找到难以复现的问题 ?
1)、查找日志,看是那个环节出现了问题 2)、尽量去重复操作出现问题的步骤,从不同角度去尝试 |
- 13、你怎么查看日志的前后行数?
参考答案1:一般情况是当前端页面报错时,我们会立即分析一下问题及产生原因。比如页面出现500,那肯定就是服务器内部报错,开发写的代码出问题了。这时候会去服务器日志文件里面定位问题,日志里一般都有时间和操作的记录,可以把日志导到本地来查看分析结果。 参考答案2: 或者使用Linux命令根据关键词查看日志并返回关键词所在行:cat 路径/文件名 | grep 关键词 |