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