面经 | 场景问题
一、故障猜测问题-web功能
(一)功能测试出现BUG的原因是哪些?
- 特殊值处理不当导致程序异常退出或崩溃
- 类型边界溢出,导致数据存储和写入不一致
- 取值边界外未返回正确的错误信息
- 权限未处理,可以访问其他用户的信息
- 逻辑校验不完善,可以利用漏洞获取非正当利益
- 状态处理不当,导致逻辑出现错误
- 数组类型item个数为0或者item重复时程序异常退出
- 响应超时
(二)测试时发现网站图片加载不出来,该如何定位问题?
- f12打开控制台
- f5刷新下页面,图片还没加载出来,复现问题
- 定位图片代码,分析图片地址,没有地址算定位了bug
- 有地址,通常图片是get的,构造请求,看返回代码。可以用fiddler
- 根据返回信息判断,200,资源正常,看是否渲染出错被遮挡,或者尺寸位置由BUG,404,资源不可用,记录bug
(三)问了如果一个用户说他登陆不成功,你要怎么定位问题?
(四)客户端收到服务器发来的消息较慢的原因
- 数据库没有正确使用索引导致查询速度较慢
- 数据量太大导致服务器CPU和硬盘不足
- 客户端自身网络问题或DNS解析问题
(五)你在测试过程中遇到最大的BUG是什么?
现象:刷新页面,价格会有变动
原因:库中有一条生效的数据,缓存中存在两条有效数据
BUG定位:为什么 生产中会出现这样的数据误差
外围下发拼购价活动,,报价系统接收时,会根据这个活动和我们本地数据库缓存中存在同纬度生效的数据来判断是否存在,如果存在生效会删除本地数据和缓存数据,插入新的数据,但是删除过程中,数据库中通过活动ID来判断这个纬度比较大,而缓存是根据这个活动的key+value值来判断,导致了数据库数据正常,但缓存数据不正确。
(六)用户很多,越来越多,数据库放不下怎么办?
(七)前端后端问题中,服务端问题有哪些?
二、故障猜测问题-APP功能
(一)手机开不了是什么问题?打开APP后页面空白的原因是什么?
(二)比如一个下拉菜单你会测试什么,如果下拉菜单没显示你认为错误可能是什么?
(三)如果你测试App,突然崩溃了,你该怎么做?
- 连接手机,打开settings,设置debug mode,运行app,重复崩溃程序,在Android Studio或者IOS development tool中查看debugger error messages崩溃时的情况。
- 如果不能重复崩溃程序,手机进入该app的文档,查看任何隐藏.log文件,留意error messgaes。
(四)Monkey稳定性测试出现 Crash怎么复现?
- monkey命令有个seed值,测试时指定,测试事件序列相同,就是两次测试相同!
(五)ANR出现的原因汇总如下
- 主线程执行了耗时操作,比如数据库操作或网络编程
- 其他进程(就是其他程序)占用CPU导致本进程得不到cPU时间片,比如其他进程的频繁读写操作可能会导致这个问题
(六)细分的话,导致ANR的原因有如下原因:
- 耗时的网络访问
- 大量的数据读写
- 数据库操作
- 硬件操作(比如 camera)
- 调用 thread的join0方法、 sleepi0方法、wat0方法或者等待线程锁的时候,service binder的数量达到上限
- system server中发生 Watchdog ANR,ervice忙导致超时无响应
(七)应用的闪退通常是什么原因造成的?
- 应用版本与系统的不兼容
- 运行内存空间不足
- 部分网络速度问题
- 一些大型游戏的数据包未加载完成或未安装
- 手机杀毒软件
- 分辨率不兼容