51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4196|回复: 0
打印 上一主题 下一主题

[原创] 小话浏览器缓存

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:07
  • 签到天数: 1020 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2020-12-10 09:51:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    最近在参加的一个项目,主要是web相关的产品,经常出现开发更完包之后,验证一些功能出现异常,但是一到别人电脑上又不复现,每次都让清理浏览器缓存。测试的时候可以这么清,到了客户那,客户愿意一直清吗?故尝试了解背后原因。
      现象:怎么刷新都不行,必须清理浏览器才能查看提交的数据。
      1.分析过程
      1)问题发现后,按照刚才的操作仍然可以复现,有必现步骤的
      2)观察日志打印,——这一步暂时因为某些原因没有做
      3)删除配置后,发现数据库中的数据也成功删除了,但是重新添加时,仍存在校验提示配置已存在。——这一步也没做
      4)数据库操作没有问题,于是合理怀疑页面的配置校验读取了缓存,而没有实时的读取数据库信息。
      5)清除浏览器缓存,重启浏览器,再次进行添加,添加成功,证实了4中的猜测。
      问题原因
      页面在新添加配置进行保存时会进行校验,但是校验读取了缓存。导致了删除配置再添加时会失败。
      修改方式
      最后的修改方式,是在每次请求中添加了时间戳。这样,就不会由于每次请求相同,会读取相同的缓存。既保障了缓存的优势(查询反馈速度快),又避免了缓存造成的读取错误的原因
      2.问题定位的思路
      1)大多数情况,问题的原因是后端代码没有处理好,所以问题出现时,首先应该去看日志;
      2)确定问题在前端或者后端日志不能定位的情况下,需要配合使用F12工具或者抓包工具辅助定位;
      3)问题特别难定位时,可以使用假设-预测-试验-分析的方法推测问题的原因。
      3.测试建议
      1)在测试用例设计时,对存在唯一校验的功能应反复操作。像这个缺陷中的类似场景,可以添删除后重新添加相同的数据验证校验时读取的是缓存还是实时读取的后台数据。
      2)如果存在本系统嵌入了其他系统的页面的情况,在本系统中打开其他系统的页面时,需要考虑清除缓存后进行操作。
      3)对列表记录进行修改或者编辑后,列表没有马上刷新,需要手动刷新页面才会更新列表。对于此类问题,可以建议开发在提交修改或者编辑的数据后,再发一个请求获取数据来及时刷新列表数据,提高用户体验。
      4)与缓存或是cookie、session有关的一类问题,测试过程中不能简单的清缓存就可以了,遇到这类问题时除了要多考虑问题的影响还要再多深究原因。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-19 06:38 , Processed in 0.060975 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表