# 真实案列分析
> ### 现象:登陆的时候,所有信息输入正确,点击登陆按钮没反应
原因:
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 关键词
- 总章
- Oracle数据库
- 常见的Linux命令
- 理论内容整理
- 给你如下功能怎么测试
- 支付怎么测试
- 购物车怎么测试?
- 搜索功能怎么测试?
- 文件上传功能怎么测试?
- 登录功能怎么测试?
- 还款功能怎么测试?
- 订单功能怎么测试?
- 自动化测试篇
- 必记代码
- 接口测试篇
- 性能测试篇
- app测试篇
- 面试篇
- 项目篇
- 职业素养篇
- 真实案列分析
- 如何预防冷场
- redis
- 琪琪
- 禅道搭建手册
- 禅道搭建手册1
- 禅道的基本使用
- 基于Python3_Selenium的自动化
- Python3安装
- Python3基础
- 列表_元组_集合
- 函数_模块_类
- Python代码
- selenium环境
- selenium定位方式
- Selenium常见操作
- toast读取代码
- 添加用户代码
- 隐式等待与显式等待
- 循环添加用户
- 测试用例练习
- 测试用例优化
- Fiddler抓包工具
- 安装
- Fiddler使用
- 接口测试
- Jmeter的安装
- Jmeter使用
- jmeter+ant+jenkins接口自动化测试框架
- 接口安全测试
- 性能测试
- Nmon监控LInux系统
- Jmeter分布式
- 性能测试-具体案例
- Monkey
- 安装1
- Monkey使用
- appium自动化
- appium的安装
- appium基本使用
- 真机USB连接
- 问题排查
- Jenkins持续集成
- Jenkins安装
- Jenkins配置任务
- Python扩展内容
- Python连接数据库
- Python进行接口测试
- 开启服务