2022年软件测试面试题大全(持续更新)附答案

先祝我的读者们周末快乐。

前阵子一位读者告诉我,某位大厂HR给他发了我之前做的面试题答案合集。

这个消息让我开心了一整天,因为这说明我之前做的面试题系列真的能帮助到部分测试同学,也算是侧面得到了一种认可吧。

但是后来想想总不能这么轻易就放,再坚持一阵子吧。

坚持可是我们程序员家族的优良传统

没想到真的就坚持了快两年。

今天写的这份面试题我之前就整理分享过,但当时有一部分是没有参考答案的。断断续续总有读者来问我要答案。所以今天吃完饭抽空把遗漏的给补上了,分享给出来,希望能帮到大家。

在这里也预祝大家面试顺利!

标签:百度腾讯阿里抖音滴滴京东快手测试开发面试题

开始正文:

排查问题的思路

Q: 页崩溃的原因是什么?

1. 内存泄漏

2. 页代码复杂和浏览器bug

3. 页数据过多

4. Ajax的Web服务漏洞

Q:有个用户反馈上传头像失败,分析原因?

Q:app闪退的原因?

Q:偶然闪退的排查?

  1. 一般成熟的团队都会有 crash 的监控平台,可以从 crash 平台上去查看 crash 发生位点。
  2. 手工尝试复现 crash,一般偶然的闪退,都不会特别容易复现,可能需要适当施加一些比较苛刻的条件(弱 、断 、快速点击、快速划动等等)。
  3. 查看 crash 日志,比如 Android APP 可以用 adb 命令去查看:
// mac 下面adb logcat *:E | grep CRASH// windows 下面adb logcat *:E | findstr CRASH
  1. 执行 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%的用户反馈用不了功能,你讲如何排查?

  1. APP 版本影响,可能是接口改动没有考虑版本控制,对低版本用户造成影响。
  2. 操作系统版本,可能是用户的操作系统过高或过低,没有做好兼容。
  3. 灰度测试或 AB 测试,可能是功能缺陷导致对部分灰度用户产生影响。
  4. 跟会员用户有关,可能是一些功能仅仅只对 VIP 会员开放,然而这部分功能有缺陷。
  5. 跟用户分布地域有关,比如说:有些地区没有开放功能,但是也给这些用户展示了入口。

Q:登录的按钮不能点击,如何排查问题?

登录按钮不能点击,大概率前端会有问题:

  1. 前端没有响应用户点击事件,导致请求发不出去。
  2. 前端发起 HTTP 请求,但是后端接口返回异常,前端捕获异常之后,没有处理。
  3. 络异常,发不出去请求,但是前端也没有作出提示。
  4. 内存不够,导致页面卡死

Q:压测的时候,QPS一直上不去,你会怎么排查?

  1. 看被测服务器的性能,看是否资源被打满,导致请求无法连接 解决办法:被测服务器扩容。
  2. 看接口是否出现 错,以及响应时间是否变慢 解决办法:接口性能优化。
  3. 看压测机器的性能,是不是 络 IO 占满,并发数达不到 解决办法:多台压测机器并发。
  4. 看压测工具是否支持并发请求 解决办法:采用多线程或协程的方式去并发请求

Q:APP提示无法连接 络,你会如何排查?

第一步:检查 络环境

  1. 检查 4G 和 Wifi 是否可用,可以先看手机 络连接图标状态,有无信 ,是否弱 ,并且可以切换其他 APP,测试 络是否可用。
  2. 检查是否有 络限制,比如仅公司内 可用的 APP,你在别的 络环境是无法连接的。
  3. 检查是否连接了代理或代理连接是否出现异常,手机连接电脑代理之后,如果不安装证书,发起 https 的请求将出现异常。

第二步:检查 APP 的 络请求

  1. 抓包,检查 APP 请求的域名是否正确
  2. 抓包,检查后端接口是否响应超时
  3. 抓包,检查后端接口是否返回异常,而 APP 没有做相关的异常提示。

Q:怎么判断一个BUG到底是前端的BUG还是后端的BUG?

  1. 样式和交互层面的 Bug,大概率都是前端的 Bug
  2. 数据和文案相关的 Bug,大概率都是后端的 Bug

拿移动端来说,最简单但是又最实用的办法是对比测试,即 Android 和 iOS 对比测试,

假如说 Android 和 iOS 都有问题,可能是后端 Bug;

假如说 Android 和 iOS 有一端有问题,则可能是 Andorid 或者 iOS 某一终端的 Bug,但也不一定绝对,也有可能是后端的 Bug。

实战案例

Q:微博发动态,设计一下测试点

虽说是发动态,但是测试时不能只是关注发动态这一操作的功能,发完动态之后,我们要确保动态要对外可见(对关注的人可见),单单测试发动态这个操作,实际上意义是不大的,毕竟只测发动态,不能实现测试闭环。

所以测试用例一定要把整个使用流程的case都要涉及到,避免漏测。

Q:对一台自动售货机进行测试用例设计

对于针对于投币支付这个测试点,还可以用因果图法去求解

Q:设计微信发红包测试用例

Q:设计抖音直播功能测试用例

Q:设计微信扫码支付的测试用例

了解更多还可以参考这篇文章:如何进行支付功能的测试?

Q:设计百度首页的测试用例

测试用例设计,除了常规的功能测试之外,还有很多切入点值得考虑,比如:界面测试、性能测试、接口测试、安全测试等等。

界面测试

  • 页面布局是否合理
  • 字体大小, 粗细设计是否合理
  • 页面中间的”Baidu 百度” 是否可以正常显示
  • 界面颜色搭配是否合理
  • 页面上方的链接是否都可以正常显示, 是否可以点击
  • 当鼠标放置到链接上 / 百度搜索框上, 是否会从黑色变成蓝色
  • 百度热榜上1, 2, 3 分别显示不同的颜色
  • 百度热榜第一后显示一个 “热” 字
  • 热榜上的每一条新闻是否都可以点击
  • 百度热榜右侧显示 “换一换”, 是否可以点击
  • 百度搜索框中的”相机图标”是否可以正常显示
  • 页面右下方显示二维码图标
  • 页面最下方显示百度反馈信息以及公司信息
  • 功能测试

  • 点击”设置”, 是否会展示下拉框进行一个设置选择
  • 点击”登录”, 是否可以跳转到登录页面
  • 点击界面上所有的链接, 是否可以跳转到相应的界面
  • 点击”换一换”, 是否可以刷新百度热榜的词条
  • 百度搜索框
  • 什么都不输入, 刷新百度界面
  • 是否可以输入汉字, 英文, 特殊符 (空格, “%”, “#”, “@”…)等
  • 是否有输入字符长度限制
  • 如果超出了这个长度限制, 是否还可以继续输入
  • 如果输入一串空格之后再输入其他字符是否可以正常搜索
  • 点击百度搜索框, 是否可以显示历史搜索
  • 是否可以清除历史搜索
  • 是否可以采用复制粘贴的方式进行搜索
  • 是否可以通过直接输入 URL 进行搜索
  • 是否可以自动提示和搜索相关的内容
  • 如果搜索的内容不存在, 显示”你想要的搜索的是不是 …”
  • 点击相机, 是否可以传入图片
  • 是否可以在手机端和 PC 端同时登录一个百度账
  • 手机端搜索的内容, 是否可以在 PC 端的历史记录中看见. 反之, PC端搜索的内容, 是否 可以在手机端看见
  • 性能测试

  • 点击链接跳转到相应界面的响应时间
  • 如果使用图片搜索, 图片加载的响应时间
  • 不同 速下, 搜索到跳转至搜索页面的跳转时间是多少
  • 使用百度搜索, CPU和内存的利用率是多少
  • 使用搜索框, 耗电量是多少
  • 安全性, 易用性测试

  • 如果搜索内容中包含一些敏感信息, 百度是否可以将其过滤掉
  • 别人登录百度, 是否可以查看到你的历史搜索
  • 如果有 sql 注入时, 是否还可以进行搜索
  • 使用不同的浏览器, 是否会显示相同的历史记录
  • 如果不小心打错了字, 是否有容错机制
  • 是否可以显示历史搜索
  • 是否可以使用回车键代替点击”百度一下”
  • 可以使用扫码的方式直接登录百度
  • 兼容性测试

  • 是否可以在不同的浏览器上正常运行
  • Chrome, Firefox, IE, Edge…
  • 是否可以在不同操作系统的电脑上正常运行
  • Windows 电脑
  • MAC 电脑
  • 是否可以在手机上正常运行
  • 是否可以在不同的手机系统上正常运行
  • 安卓系统
  • 苹果系统
  • 对于不同的手机版本也要进行测试
  • 其他测试

  • 如果在运行的时候忽然断 / 断电, 是否还能正常运行
  • 搜索的时候 络断开后又连接, 是否还可以恢复加载
  • 搜索时, 电脑强制关机 / 重启, 是否会进行保存, 等回复正常后又继续运行
  • 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进行处理,非常感谢!

  • 上一篇 2022年3月8日
    下一篇 2022年3月8日

    相关推荐