测试开发面试题答案汇总(第2期)
面试题来源:**《【面试干货】2020年软件测试面试题大全(持续更新)附答案 》 **
3.1 排查问题的思路
「Q:有个用户反馈上传头像失败,分析原因?」
「Q:app 闪退的原因?」
「Q:偶然闪退的排查?」
一般成熟的团队都会有 crash 的监控平台,可以从 crash 平台上去查看 crash 发生位点。
手工尝试复现 crash,一般偶然的闪退,都不会特别容易复现,可能需要适当施加一些比较苛刻的条件(弱网、断网、快速点击、快速划动等等)。
查看 crash 日志,比如 Android APP 可以用 adb 命令去查看:
// mac 下面
- 执行 Monkey 或遍历测试,暴力操作手机,尝试复现 bug。
「Q:网页卡顿的原因是什么?」
原因一:http 请求次数太多
解决:规范接口设计,减少 http 请求次数。
原因二:接收数据时间过长,如下载资源过大
解决:对 HTTP 传输进行压缩,可采用 gzip 无损压缩,压缩效果最佳。
原因三:JavaScript 脚本过大,阻塞了页面的加载
解决:将 JavaScript 脚本放在标签前。script 没有 async 和 defer 时,JS 文件将在下载后立即执行。这种情况下,script 放在顶部会阻塞页面呈现,在网速慢的情况下会导致“白屏”,直到脚本下载完毕才继续呈现页面。因此,script 放在底部可以让页面尽快呈现。
原因四:CSS、JavaScript、图片等需要重复加载
解决:静态资源统一放在一个静态域名上,减轻重复下载静态资源的负担。
原因五:cookie 影响
解决:减小 cookie 的影响 。去除没有必要的 cookie,如果网页不需要 cookie 就完全禁掉。此外,对 cookie 瘦身和设置合适的 cookie 过期时间,也能削弱 cookie 的影响。
原因六:网页资源过多
解决:使用 CDN 部署网络以提高***,可以先通过免费的 CDN 供应商来分发网页资源。
❝
https://blog.csdn.net/zhouziyu2011/article/details/71453126
❞
「Q:10%的用户反馈用不了功能,你将如何排查?」
关键词是10%
,说明只对部分用户产生影响,考虑的思路有以下几点:
APP 版本影响,可能是接口改动没有考虑版本控制,对低版本用户造成影响。
操作系统版本,可能是用户的操作系统过高或过低,没有做好兼容。
灰度测试或 AB 测试,可能是功能缺陷导致对部分灰度用户产生影响。
跟会员用户有关,可能是一些功能仅仅只对 VIP 会员开放,然而这部分功能有缺陷。
跟用户分布地域有关,比如说:有些地区没有开放功能,但是也给这些用户展示了入口。
「Q:登录的按钮不能点击,如何排查问题?」
登录按钮不能点击,大概率前端会有问题:
前端没有响应用户点击事件,导致请求发不出去。
前端发起 HTTP 请求,但是后端接口返回异常,前端捕获异常之后,没有处理。
网络异常,发不出去请求,但是前端也没有作出提示。
内存不够,导致页面卡死
「Q:压测的时候,QPS 一直上不去,你会怎么排查?」
看被测服务器的性能,看是否资源被打满,导致请求无法连接 解决办法:被测服务器扩容。
看接口是否出现报错,以及响应时间是否变慢 解决办法:接口性能优化。
看压测机器的性能,是不是网络 IO 占满,并发数达不到 解决办法:多台压测机器并发。
看压测工具是否支持并发请求 解决办法:采用多线程或协程的方式去并发请求
「Q:APP 提示无法连接网络,你会如何排查?」
第一步:检查网络环境
检查 4G 和 Wifi 是否可用,可以先看手机网络连接图标状态,有无信号,是否弱网,并且可以切换其他 APP,测试网络是否可用。
检查是否有网络限制,比如仅公司内网可用的 APP,你在别的网络环境是无法连接的。
检查是否连接了代理或代理连接是否出现异常,手机连接电脑代理之后,如果不安装证书,发起 https 的请求将出现异常。
第二步:检查 APP 的网络请求
抓包,检查 APP 请求的域名是否正确
抓包,检查后端接口是否响应超时
抓包,检查后端接口是否返回异常,而 APP 没有做相关的异常提示。
「Q:怎么判断一个 BUG 到底是前端的 BUG 还是后端的 BUG?」
样式和交互层面的 Bug,大概率都是前端的 Bug
数据和文案相关的 Bug,大概率都是后端的 Bug
拿移动端来说,最简单但是又最实用的办法是对比测试,即 Android 和 iOS 对比测试,
假如说 Android 和 iOS 都有问题,可能是后端 Bug;
假如说 Android 和 iOS 有一端有问题,则可能是 Andorid 或者 iOS 某一终端的 Bug,但也不一定绝对,也有可能是后端的 Bug。
关注我的微信公众号【程序员臻叔】,
回复「java」:即可获得java经典学习资料,带你轻松入门java编程。
回复「java面试题」:领取java相关经典面试资料,面试之前突击一把,大厂不是梦。
回复「python」:免费获取「python入门」高分好书,业余时间偷偷变牛逼。
回复「面试」:24个常见的测试面试题,你一定不想错过。
回复「书单」:获取2020年软件测试工程师必看的书单
回复「测试用例」:获取本人常用的 Excel 和 Xmind 测试用例模版