那些让我印象深刻的bug--03
随着近期发布的一篇文章印象深刻的bug,也被小伙伴问到之前写过的一篇文章中的印象深刻的bug没看的太明白,今天再回过头来重新解答一下,原文如下:那些让我印象深刻的bug--01
之前的文章在描述的是一个由于开发缓存的key设置的不合理导致的缺陷,今天还是围绕这个现象来展开描述。
先来看一下为什么要加缓存?
比如我们访问一个网站的时候,页面是不是经常会去加载一些图片以及js之类的静态文件,访问网站到加载完的这个过程中耗时可能比较长,对用户的体验不太好,如果每次都要这么长的时间,那久而久之用户是不是就会失去耐心呢,因此,浏览器一般会将这种访问过的静态资源缓存起来,下次再需要加载的时候,就直接从缓存中去取,这样会提高页面渲染的速度。
同理,相同的一个接口,如果同样的查询条件,返回的都是同样的数据,那为什么在一个比较短的时间内,每次都要从数据库去查数据呢?为了减轻数据库的压力,也为了提高接口的性能,针对一些访问量比较大并且数据变化比较小的数据,接口会将查询结果缓存起来。其中一种可选的方案就是将结果缓存到redis中。
接口加了缓存之后,测试的时候有什么要注意的?
接口加缓存之后,会有什么显著的效果呢?比如原来一个接口查询需要1分钟才能返回结果,那么第二次用相同的条件查询的时候,可能就只需要1秒不到了。看上去缓存很方便,但是使用不当的话,容易造成重大的问题。
1、测试人员在测试接口的时候,要跟开发确认一下接口是否有缓存,缓存失效/刷新的时间是多长,以及缓存是以哪几个关键字段去设置唯一key的。尤其要检查这个唯一的key设置的规则是否合理 ,一般相同的条件会命中缓存,但如果设置错误,就会返回错误的数据。
2、做压测的时候,要确认下缓存的开关是否关闭
3、测试人员要了解缓存的设计和实现的大致细节,便于更好的测试这块相关的业务是否均合理,返回的数据是否正确
举例说明缓存的key设置不合理可能会出现的bug
假设现在有一个查询部门每个月使用的成本的接口,入参的话要传入token以及部门id进行查询。
那如果在这个接口上加上缓存,并且设置部门id是缓存的key,理论上不同的用户去查询相同的部门id的数据时,应该返回相同的数据。
但是,实际上,可能业务场景并不是你想的这样,假设你和你的上级领导都要查本部门的成本数据,你觉得你看到的数据和你上级看到的数据会一样吗?有可能接口层面还会有数据权限的概念,也就是说,你看到的数据和你领导看到的数据可能不一样,领导看到的是整个部门所有员工的数据汇总,而你作为下属只能看到自己的数据,因此,像这种接口的话 ,最起码设置key的时候,可能还得把userid加进去了。
看到这,当面试官下次问你缓存相关的问题或者问你有没有什么印象深刻的bug时,你的心中有思路了吗?
那些让我印象深刻的bug--03相关推荐
- 软件测试时印象深刻的bug案例,请问你遇到过哪些印象深刻的bug,接口测试出现bug的原因有哪些?...
参考回答: 面试官询问遇到过哪些印象深刻的bug,其实它并不关心你描述的这个bug是否真的有价值,或有多曲折离奇?他只是:了解你平时工作中的测试能力 所以,这就要求的你平时工作中遇到bug时试着自己去 ...
- 软件测试作业1 令我印象深刻的bug
令我印象深刻的bug的是有一次,在测试包含虚函数的类时,我创建了一个包含虚函数的类被另一个类继承,并且在子类的构造函数中将父类的很多属性都清零,随后子类实现父类中产生的虚函数,但是产生了无法访问内存的 ...
- 6月30日,入职感悟、未来规划、本周工作总结,记录印象深刻的BUG。
时间真的过的飞快,不知不觉已经入职三周了.感谢天上的妈妈保佑,让我就这样入职了一家国企单位.作为软件公司,不用加班,朝九晚五,福利齐全,并且还有自己的学习时间. 来这边写博客的主要原因是为了让自己不要 ...
- 记一些印象深刻的 Bug
一.iOS 加载超大尺寸图片 Crash 的调研及解决方案 1.1.问题描述 前段时间遇到一个工单,客户反馈,只要进入订单列表界面 1~2 秒,客户端就会 Crash,订单列表界面示意如下: 1.2. ...
- 软件测试面试题-那些让我印象深刻的bug
相信大家在工作中面试过程中经常被问到,让你印象最深刻的一个bug是什么,这是一个开放性的题目,并没有标准答案,每个人接触过的系统都不一样,遇到过的问题也不一样,可能面试官只是想看一下你的表达能力,以及 ...
- 工作中遇到的印象深刻的Bug(APP端)
1.学生做题的过程中,手掌误触屏幕会出现笔迹,然后将手掌误触的笔迹擦除,学生提交作业后,教师端看到学生做题时正常书写的笔迹也消失了 2.作业排序问题:作业A在上面,作业B在下面,长按作业A放到作业B的 ...
- 工作中那些让人印象深刻的BUG(3)
1.需求背景 消金行业,助贷公司. 百信银行的LPR利率查询接口时间只到2022年3月,且其它合作机构LPR利率查询接口不可用. 需求分析结果是,所有渠道放款前都会调用LPR利率查询接口,其中部分资金 ...
- 工作中那些让人印象深刻的BUG(1)
1.需求背景 消金行业,助贷公司. 银行要求,授信/用信申请接口新增GPS,IP相关地址信息字段. 2.技术方案 (1)新客户: APP端获取相关信息,借款流程中透传给后台服务系统-资金平台.资金平台 ...
- 印象深刻的bug汇总(持续更新)
文章目录 请求异步问题(20220627) 问题表象 根本原因 解决方案 下拉到底部后点击不动的问题(20220705) 问题表象 根本原因 解决方案 登录注册登陆页面没有重定向(20220719) ...
- 工作中那些让人印象深刻的BUG(2)
1.需求背景 消金行业,助贷公司. APP端客户贷后协议展示内容,合同号取值逻辑变更,需要展示银行生成的合同号. 2.技术方案 资金平台,银行用信查询接口,放款成功返回合同号并落库. 协议系统,通过系 ...
最新文章
- rman备份恢复总结
- Handling Errors Exceptionally Well in C++ 在C++中良好地捕获意外的错误
- android自定义底部中间突出导航栏,Android选中突出背景效果的底部导航栏功能
- 卡尔曼滤波 -- 从推导到应用(一)
- 在consul上注册web服务
- memcached部署安装文档
- 【LeetCode】【字符串】题号:*13. 罗马数字转整数
- ORBSLAM3 的改进
- Linux:搭建web服务器(二)
- InDesign CS3完全自学视频教程
- H5开发和原生开发的区别
- 计算机excel猪肉价格分析,猪肉价格的统计模型.doc
- sql md5或shal加密
- w ndows无法完成格式化,windows 无法完成格式化2种解决方案
- 使用Pytorch搭建U-Net网络并基于DRIVE数据集训练(语义分割)学习笔记
- 美国国防科研情报追踪系统发布,200余所美国实力高校尽收眼底!
- c语言搜题答案软件软件,大学c语音搜题
- 宇视摄像头安装水晶头防护套步骤
- 用计算机能改装成万用表吗,电脑机箱风扇改装成DIY空调扇USB风扇
- 解决Win10系统由于INF文件失效导致安卓MTP驱动安装失败的问题
热门文章
- C语言中,求三个数中最大数
- 液滴模板水凝胶的温度控制形状变化(定制PNIPA/膨润土复合水凝胶/聚乙烯醇/魔芋胶复合凝胶/海藻酸钠(SA)/氧化石墨烯(GO)复合水凝胶/壳聚糖(CS)-g-PAM/氧化石墨烯(GO)复合水凝胶)
- 解决 Word 中空格下划线居中后下划线不显示的问题
- MySQL重做日志文件放在磁盘_重做日志文件
- 谷歌浏览器插件打包ChromePackage-extention
- Widget Extention开发笔记
- 微信小程序loding
- WEB——LNMP服务搭建
- 如何快速批量修改图片名称?
- [HNOI2004]高精度开根