先祝我的读者们周末快乐。
前阵子一位读者告诉我,某位大厂HR给他发了我之前做的面试题答案合集。
这个消息让我开心了一整天,因为这说明我之前做的面试题系列真的能帮助到部分测试同学,也算是侧面得到了一种认可吧。
但是后来想想总不能这么轻易就放,再坚持一阵子吧。
坚持可是我们程序员家族的优良传统
没想到真的就坚持了快两年。
今天写的这份面试题我之前就整理分享过,但当时有一部分是没有参考答案的。断断续续总有读者来问我要答案。所以今天吃完饭抽空把遗漏的给补上了,分享给出来,希望能帮到大家。
在这里也预祝大家面试顺利!
标签:百度腾讯阿里抖音滴滴京东快手测试开发面试题
开始正文:
排查问题的思路
Q: 页崩溃的原因是什么?
1. 内存泄漏
2. 页代码复杂和浏览器bug
3. 页数据过多
4. Ajax的Web服务漏洞
Q:有个用户反馈上传头像失败,分析原因?
Q:app闪退的原因?
Q:偶然闪退的排查?
- 一般成熟的团队都会有 crash 的监控平台,可以从 crash 平台上去查看 crash 发生位点。
- 手工尝试复现 crash,一般偶然的闪退,都不会特别容易复现,可能需要适当施加一些比较苛刻的条件(弱 、断 、快速点击、快速划动等等)。
- 查看 crash 日志,比如 Android APP 可以用 adb 命令去查看:
// mac 下面adb logcat *:E | grep CRASH// windows 下面adb logcat *:E | findstr CRASH
- 执行 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 供应商来分发 页资源。
Q: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。
实战案例
Q:微博发动态,设计一下测试点
虽说是发动态,但是测试时不能只是关注发动态这一操作的功能,发完动态之后,我们要确保动态要对外可见(对关注的人可见),单单测试发动态这个操作,实际上意义是不大的,毕竟只测发动态,不能实现测试闭环。
所以测试用例一定要把整个使用流程的case都要涉及到,避免漏测。
Q:对一台自动售货机进行测试用例设计
对于针对于投币支付这个测试点,还可以用因果图法去求解
Q:设计微信发红包测试用例
Q:设计抖音直播功能测试用例
Q:设计微信扫码支付的测试用例
了解更多还可以参考这篇文章:如何进行支付功能的测试?
Q:设计百度首页的测试用例
测试用例设计,除了常规的功能测试之外,还有很多切入点值得考虑,比如:界面测试、性能测试、接口测试、安全测试等等。
界面测试
功能测试
性能测试
安全性, 易用性测试
兼容性测试
其他测试
Q:微信的点赞功能怎么测试?
功能测试
1.点赞后,点赞数+1,点赞蓝显示点赞人的人头像
2.点赞后,共同好友在点赞区应能看见点赞人
3.点赞后,非共同在点赞区不能看见点赞人
4.点赞后,通知该用户
5.取消点赞,不通知该用户
6.第一次点赞,通知该用户,取消点赞,再点赞,不通知该用户
7.点赞后,通知该用户和点过赞的用户
8.多人同时点赞,点赞数正常
9.通过点赞区名字,点击名字进入个人界面
10.最多显示多少个赞——边界值
11.最多显示多少点赞人的名字——边界值
12.点赞是否按时间顺序显示
13.点赞后,取消点赞,再点赞,是否按最后点赞时间排序
14.点赞前是否能正常评论
15.点赞后是否能评论
16.反复点赞、取消点赞,功能是否正常
APP测试
1.弱 测试,弱 情况下点赞是否实时更新
2.点赞时,有干扰(电话和短信),是否显示点赞情况
3.耗电量和流量是否正常
性能测试
1.大量用户并发点赞,接口的响应时间,最大承受的qps
2.大量用户并发点赞,此时界面点赞,功能是否正常
兼容性测试
1.不同手机型 、oppo 移动版和全 通
2.不同手机版本,OPPO r7,r10 ios 7,8
3.不同系统,安卓,iOS
UI测试
1.根据UI图显示位置,颜色,图标,字体是否显示正常
2.未点赞时,是否显示灰色
3.点赞后,是否图标点亮
4.点赞后,点赞人的名字,位置,图标,颜色,字体是否正常
5.取消点赞后,是否显示灰色
Q:微信红包是先计算每个人能获得的钱还是当这个人点了再计算。
当这个人点了抢红包再进行实时计算,
目的:预先算好每个人获得的钱,会占用大量存储空间,而采用红包算法进行纯内存计算,不需要预算空间存储,节约成本。
Q:微信朋友圈评论功能怎么测试?
功能测试
接口测试
兼容测试
可用性测试
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!