1.网页崩溃的原因
a. 内存泄漏
b. 网页代码复杂和浏览器bug
c. 网页数据过多
d. Ajax的Web服务漏洞
2.用户上传头像失败,分析原因
a.图片限制(图片尺寸有限制、图片大小有限制、图片格式有限制)
b.前端异常(上传图片组件有Bug)
c.图片上传接口异常(上传图片接口挂了、调用接口时,参数传递不正确、服务器文件上传大小受限、数据库异常、命中风控策略)
d.对象存储服务异常(访问对象存储服务超时)
3.app闪退原因?
a.外部因素(手机内存不足、缓存垃圾太多、软件冲突,资源竞争、系统版本过低、杀毒软件误判、网速不稳定)
b.自身因素(APP版本过低,与后端接口不再兼容、不兼容新版操作系统、缺少数据包、内存泄漏、程序本身Bug【比如空指针异常、数组越界、程序本身Bug、堆栈溢出、并发操作、逻辑错误】)
4.偶然闪退的排查
a.可以从 crash 的监控平台上去查看 crash 发生位点。
b.手工尝试复现 crash,可能需要施加一些条件(弱网、断网、快速点击、快速划动等等)
c.查看 crash 日志,比如 Android APP 可以用 adb 命令去查看:
// mac 下面
adb logcat *:E | grep CRASH
// windows 下面
adb logcat *:E | findstr CRASH
d.执行 Monkey 或遍历测试,暴力操作手机,尝试复现 bug。
5.网页卡顿的原因
a.http 请求次数太多
解决方法:规范接口设计,减少 http 请求次数。
b.接收数据时间过长,比如下载资源过大
解决方法:对 HTTP 传输进行压缩,可采用 gzip 无损压缩,压缩效果最佳。
c.JavaScript 脚本过大,阻塞了页面的加载
解决方法:将 JavaScript 脚本放在标签前。script 没有 async 和 defer 时,JS 文件将在下载后立即执行。这种情况下,script 放在顶部会阻塞页面呈现,在网速慢的情况下会导致“白屏”,直到脚本下载完毕才继续呈现页面。因此,script 放在底部可以让页面尽快呈现。
d.CSS、JavaScript、图片等需要重复加载
解决方法:静态资源统一放在一个静态域名上,减轻重复下载静态资源的负担。
e.cookie 影响
解决方法:减小 cookie 的影响 。去除没有必要的 cookie,如果网页不需要 cookie 就完全禁掉。此外,对 cookie 瘦身和设置合适的 cookie 过期时间,也能削弱 cookie 的影响。
f.网页资源过多
解决方法:使用 CDN 部署网络以提高下载速度,可以先通过免费的 CDN 供应商来分发网页资源。
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。