这样的场景是否熟络于你日常的工作中;
它在我的本地是好的;
你清缓存了吗?
是不是网络有问题
在许多情况下,这些都是IT从业者众所周知的充分理由。今天我们来看看GUI下浏览器缓存可以解决问题,但是什么事浏览器缓存,我们不清为什么就不能让我们使用呢?我们应该在开始测试执行前清缓存吗?自动化跟缓存的管理是否需要并行?
接下来的文章里,我将跟大家一起分享这些问题的一些思路,以期望能够帮你更好的理解缓存在软件测试中的意义;这里的观点只是个人所感,若有不同意见,我们也可以在评论区讨论和解惑;
浏览器缓存
缓存就是文件备份在临时的存储位置存储,这样可以在发生访问时,速度更快;So,缓存就是文件或者数据的备份在临时的存储位置存放;
缓存这个名称通常跟互联网技术挂钩。
Web 浏览器缓存包含如“ HTML 文件、JavaScript 和图像”这样在我们打开网站时能够更快地加载,而 DNS 服务器缓存DNS记录以加快查找速度,CDN服务器缓存内容以减少延迟。
缓存和浏览器性能
浏览器在首次加载时,会缓存内容。这样便可以在后续再次请求打开时更快的加载内容;这样能够让用户更快更流畅的浏览;
虽然这样的方式会让慢的网站会很稀有,但是加载网站需要好几分钟的也是时有出现。所以节省几秒钟的加载也可能会产生巨大的差异,速度的提高源于浏览器缓存;
这样大家可能会有一个疑问,咱们咱在这个5G高速时代,是不是浏览器缓存的刚需没有那么重要了;但是,结合我们现在网站迭代的频率,以及需要再用户无感的情况下进行静默优化,足以显得缓存的重要性;
在测试执行期间如何管理浏览器缓存
为什么要清除缓存?
网站经常会发生内容的变化,So 缓存中反映了很多的变化,设备上缓存的网站版本与实际用户从服务器重新加载的版本间会存在差异;
这种差异极有可能导致一些莫名其妙的故障,当我们好像没有什么解决办法是,清除缓存应该会获得意想不到的效果
应该什么时候清除缓存呢?
到此:我们已经就浏览器缓存了解到它的好处,缘由以及什么是浏览器缓存,但是作为测试从业者的我们应该什么时候清除缓存呢?
按照我自身的从业经验来说,我会抱歉的告诉大家没有标准,也没有单一具有指向性的方法。但是有个启发式的建议跟大家做分享,其最终取决于大家的项目、浏览器、经验以及偏好来确定其有用性:
- 测试前 —— 执行测试之前,清除缓存能够更好的确保你的受测场景贴合用户使用场景;
- 测试后 —— 执行完成之后,清除之后其实跟测试前相似,更多的是个人偏好问题,测试完成之后清除的话,在下一次测试之前就不需要再做清除;
- 从不清除—— 这种方式基于网站开始就不需要清除的原则,因为取决于用户从来不清除。当然如果网站本身就需要自动缓存的前提,那么就不需要清除缓存才能够进行测试;
- 隐身—— 隐身或者说隐私浏览可用于网站上(或者说这叫做无痕模式),这样只会保留“原始”缓存
大家最常用哪种方法呢?还是说都会有运用到?这里还缺失什么吗?欢迎评论区补充!
如何清除缓存?
定期清除缓存,会强制清空浏览器以便重新开始,从而确保咱们查看更新的页面和信息。
但是根据经验,大家有时认为缓存已清除,但实际上并非如此。
那么如何确保缓存已被清除?清除缓存的方法有哪些?应该使用哪一个,何时使用?
使用浏览器扩展程序清除缓存
浏览器扩展程序对于测试人员来说是测试工具包里重要的组成部分,因为这些可以提高我们的测试效率,当然也可以为我们的工作提供帮助。
扩展程序允许我们浏览缓存数据或通过单击按钮将其清除。比如说Chrome浏览器的这个扩展程序,允许大家自定义要清除的数据类型:应用程序缓存,缓存,cookie,下载,文件系统,表单数据等。
使用本机浏览器命令清除缓存
如果大家喜欢使用本机浏览器命令而不是扩展程序,可以试试下面的两种方法。
在Windows计算机上使用Chrome,Firefox或Internet Explorer,则可以使用以下组合键“Ctrl + Shift + Delete”来调出清除缓存的选项。
上图就Chrome浏览器做示例,这也是目前我在工作使用频率较高的浏览器之一;
另外咱们可以更好地控制可以删除的内容,还可以更深入地了解特定网站存储的内容。
通过选择“开发人员工具>= 应用程序”,通常也可以通过F12来快速点开;可以查看缓存中存储了哪些文件。在此视图中,您可以删除单个文件或一起清除缓存的特定部分。
清除缓存或Cookie...还是两者兼得?
缓存和 Cookie 都表示浏览器存储的信息,但其用途却有天差地别。
- 缓存存储直接从我们访问的网站下载的文件,包括字体、图像等。存储的文件独立于用户配置文件:为所有用户存储相同的文件。
- Cookie 是不同的——其存储有关特定用户的信息以及他们在网上所做的事情。例如,如果我们浏览在线商店并将商品添加到购物清单或购物车,则该信息将保存在 Cookie 中。
清除缓存不会清除 Cookie,反之亦然。
浏览器缓存与自动化测试
就实际工作经验而言,缓存于自动化测试中起着非常重要的作用,因为其可以显著的映射到执行中的测试任务性能,比如:
- 测试数据管理:自动化测试涉及对不同的数据集进行大量测试。缓存测试数据有助于减少检索测试数据所花费的时间,从而使执行过程更快、更高效。
- 测试执行速度:缓存可以提高测试执行速率,因为减少了获取测试经常使用的数据或资源所需的时间。
- 测试结果验证:当测试需要将以前存储的数据与来自新请求的缓存数据进行比较时,缓存还可以帮助验证测试结果。这有助于识别测试结果中的任何差异和不一致。
- 资源管理:自动化测试涉及使用不同类型的资源,例如内存、CPU 和网络带宽。缓存可以通过减少系统负载和防止资源耗尽来帮助有效地管理这些资源。
整体来说,缓存可以通过有话资源使用以及减少测试执行的时间来提高自动化测试的性能及其可靠性。
写在最后
随着软件行业日益复杂,浏览器缓存在GUI方面对于瞒住用户需求上的作用越发重要,缓存有助于缩短应用的响应时间,提高其整体性能并加强用户体验;
然对于测试人员来讲,了解缓存的工作原理可以映射到测试策略的工作中,从而确保软件在各种条件下以最佳的方式运行;
最后,如果大家在指定测试策略的时候具备缓存的扎实基础,会直接在测试结果上得到改善;这样在对于浏览器的了解也能够更好的助力大家提高软件产品的质量。