空格的转义字符,空白符号粘贴

首页 > 实用技巧 > 作者:YD1662024-01-11 07:04:14

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

现在回想,当初的坚持还是很值得的。虽然现在阅读量还是不高,但至少我知道我在做的事情真正能帮助到别人,也帮助到我自己。(大家可以感兴趣的可以关注一下,公众号“特斯汀软件测试”)

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

老规矩,看到面试题,还是希望大家先不要马上看答案。先自己心里想一遍,如果是你你会怎么回答。另外,因为是面试题,所以回答时思维展现尽量全面一些。本文为抛砖引玉,如果大家对哪题有更好的答案,非常欢迎在评论区留言讨论。

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

空格的转义字符,空白符号粘贴(5)

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

开始正文:

排查问题的思路

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

1. 内存泄漏

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

3. 网页数据过多

4. Ajax的Web服务漏洞

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

空格的转义字符,空白符号粘贴(6)

Q:app闪退的原因?

空格的转义字符,空白符号粘贴(7)

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都要涉及到,避免漏测。

空格的转义字符,空白符号粘贴(8)

上一页1234下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.