随着近期发布的一篇文章印象深刻的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相关推荐

  1. 软件测试时印象深刻的bug案例,请问你遇到过哪些印象深刻的bug,接口测试出现bug的原因有哪些?...

    参考回答: 面试官询问遇到过哪些印象深刻的bug,其实它并不关心你描述的这个bug是否真的有价值,或有多曲折离奇?他只是:了解你平时工作中的测试能力 所以,这就要求的你平时工作中遇到bug时试着自己去 ...

  2. 软件测试作业1 令我印象深刻的bug

    令我印象深刻的bug的是有一次,在测试包含虚函数的类时,我创建了一个包含虚函数的类被另一个类继承,并且在子类的构造函数中将父类的很多属性都清零,随后子类实现父类中产生的虚函数,但是产生了无法访问内存的 ...

  3. 6月30日,入职感悟、未来规划、本周工作总结,记录印象深刻的BUG。

    时间真的过的飞快,不知不觉已经入职三周了.感谢天上的妈妈保佑,让我就这样入职了一家国企单位.作为软件公司,不用加班,朝九晚五,福利齐全,并且还有自己的学习时间. 来这边写博客的主要原因是为了让自己不要 ...

  4. 记一些印象深刻的 Bug

    一.iOS 加载超大尺寸图片 Crash 的调研及解决方案 1.1.问题描述 前段时间遇到一个工单,客户反馈,只要进入订单列表界面 1~2 秒,客户端就会 Crash,订单列表界面示意如下: 1.2. ...

  5. 软件测试面试题-那些让我印象深刻的bug

    相信大家在工作中面试过程中经常被问到,让你印象最深刻的一个bug是什么,这是一个开放性的题目,并没有标准答案,每个人接触过的系统都不一样,遇到过的问题也不一样,可能面试官只是想看一下你的表达能力,以及 ...

  6. 工作中遇到的印象深刻的Bug(APP端)

    1.学生做题的过程中,手掌误触屏幕会出现笔迹,然后将手掌误触的笔迹擦除,学生提交作业后,教师端看到学生做题时正常书写的笔迹也消失了 2.作业排序问题:作业A在上面,作业B在下面,长按作业A放到作业B的 ...

  7. 工作中那些让人印象深刻的BUG(3)

    1.需求背景 消金行业,助贷公司. 百信银行的LPR利率查询接口时间只到2022年3月,且其它合作机构LPR利率查询接口不可用. 需求分析结果是,所有渠道放款前都会调用LPR利率查询接口,其中部分资金 ...

  8. 工作中那些让人印象深刻的BUG(1)

    1.需求背景 消金行业,助贷公司. 银行要求,授信/用信申请接口新增GPS,IP相关地址信息字段. 2.技术方案 (1)新客户: APP端获取相关信息,借款流程中透传给后台服务系统-资金平台.资金平台 ...

  9. 印象深刻的bug汇总(持续更新)

    文章目录 请求异步问题(20220627) 问题表象 根本原因 解决方案 下拉到底部后点击不动的问题(20220705) 问题表象 根本原因 解决方案 登录注册登陆页面没有重定向(20220719) ...

  10. 工作中那些让人印象深刻的BUG(2)

    1.需求背景 消金行业,助贷公司. APP端客户贷后协议展示内容,合同号取值逻辑变更,需要展示银行生成的合同号. 2.技术方案 资金平台,银行用信查询接口,放款成功返回合同号并落库. 协议系统,通过系 ...

最新文章

  1. rman备份恢复总结
  2. Handling Errors Exceptionally Well in C++ 在C++中良好地捕获意外的错误
  3. android自定义底部中间突出导航栏,Android选中突出背景效果的底部导航栏功能
  4. 卡尔曼滤波 -- 从推导到应用(一)
  5. 在consul上注册web服务
  6. memcached部署安装文档
  7. 【LeetCode】【字符串】题号:*13. 罗马数字转整数
  8. ORBSLAM3 的改进
  9. Linux:搭建web服务器(二)
  10. InDesign CS3完全自学视频教程
  11. H5开发和原生开发的区别
  12. 计算机excel猪肉价格分析,猪肉价格的统计模型.doc
  13. sql md5或shal加密
  14. w ndows无法完成格式化,windows 无法完成格式化2种解决方案
  15. 使用Pytorch搭建U-Net网络并基于DRIVE数据集训练(语义分割)学习笔记
  16. 美国国防科研情报追踪系统发布,200余所美国实力高校尽收眼底!
  17. c语言搜题答案软件软件,大学c语音搜题
  18. 宇视摄像头安装水晶头防护套步骤
  19. 用计算机能改装成万用表吗,电脑机箱风扇改装成DIY空调扇USB风扇
  20. 解决Win10系统由于INF文件失效导致安卓MTP驱动安装失败的问题

热门文章

  1. C语言中,求三个数中最大数
  2. 液滴模板水凝胶的温度控制形状变化(定制PNIPA/膨润土复合水凝胶/聚乙烯醇/魔芋胶复合凝胶/海藻酸钠(SA)/氧化石墨烯(GO)复合水凝胶/壳聚糖(CS)-g-PAM/氧化石墨烯(GO)复合水凝胶)
  3. 解决 Word 中空格下划线居中后下划线不显示的问题
  4. MySQL重做日志文件放在磁盘_重做日志文件
  5. 谷歌浏览器插件打包ChromePackage-extention
  6. Widget Extention开发笔记
  7. 微信小程序loding
  8. WEB——LNMP服务搭建
  9. 如何快速批量修改图片名称?
  10. [HNOI2004]高精度开根