负载测试单页应用程序 (SCA)

单页应用程序 (SPA) 有时也称为单页界面 (SPI),是一个 网络应用程序或网站,它”适合”单个页面并动态更新页面,而不是加载新页面。 SCA 的主要好处是它们提供了更被动、更流畅的用户体验。 SPA 概念已经存在了 15 年以上,但仅在上些年才获得关注。 技术和框架的进步使 SCA 成为开发人员和组织真正可能实现的可能性。

网络浏览器 JavaScript 框架(如 AngularJS、Ember、Ext JS、挖空、反应和 Vue)都支持 SPA 原则。 一些世界上最大的公司使用SPA,包括谷歌(Gmail)、Netflix、Facebook、特雷洛和推特。

带负载视图的 JMeter 负载测试

使用负载视图克服您的 JMeter 负载测试限制

多页应用程序:快速摘要

大多数网站和应用程序以下列方式运行:用户通过浏览器访问互联网,并输入网址。 发生这种情况时,浏览器会向服务器发送请求,要求它发送主页。 加载页面后,用户将浏览该页面,为服务器创建其他请求。 任何操作(如单击或搜索)都会导致其他页面请求。 此方法称为多页应用程序 (MPA),是当今构建的网站和应用程序数。

单页应用程序:下一件大事

Testing Page Applications
另一方面,单页应用程序使用完全不同的方法。 对普通用户来说,他们甚至可能没有意识到这种差异。 如果他们正在关注,他们会注意到浏览器中的刷新按钮在初始页面加载后不会重新加载。 借助 SPA,浏览器可立即下载、保存和运行 JavaScript 程序。 这是一个完整的应用程序,仿佛用户下载并安装了他们的计算机上的应用程序,但只有这一次,它是在他们的浏览器。

此应用程序运行后,页面无需再次重新加载。 如有必要,程序控制用户看到和与服务器通信的一切。 同样,页面实际上不是重新加载,只是 DOM 更改的某些部分。 这节省了大量的带宽、时间,最重要的是,为用户提供了更流畅的体验。 此外,在加载 SPA 后,它通常可以在不存在 Internet 连接时在浏览器中运行。

MPA 与 SPA:优点和劣势

这听起来不错,对吧? 那么,SPA怎么会有什么缺点呢? 嗯,和生活中任何东西一样,有一些,我们将在这里覆盖其中一些。

  • SCA遇到与SEO的问题
    • SPA 会异步加载页面上的内容,这意味着应用程序中的数据更新无需刷新页面。 SEO爬行器不喜欢这样,因为它们依赖于爪哇脚本。 使用 SPA,一旦页面加载,爬网程序的工作就完成了。 爬网程序代理不知道数据会随着用户浏览页面而更改,并最终在页面上呈现该数据。
  • 没有 JavaScript,SPA 就无法运行
    • 大多数页面都有 JavaScript, 所以这不是问题, 但如果 JavaScript 关闭, 您的页面将无法正常工作。
  • SCA倾向于现代浏览器
    • 如果您尝试为应用程序使用尽可能多的浏览器版本,这可能是一个限制。 你可能会发现自己处于一个不支持它的位置。 《公约》将是这里更好的选择,因此,将有更多的现有框架和最佳做法。 作为一个新的开发人员,这使得与 MPA 合作更加容易(在开发 MPA 或 SPA 时 ,监控您的 API 仍然很重要。

结论:负载测试SCA的最佳选择是什么?

如您了解,在决定使用 MPA 或 SPA 之前,您需要考虑应用程序的目标。 如果您的网站可以开发为单页体验,SPA 可能是要走的路。 例如,如果您有一个包含多个类别和大量内容的在线商店,MPA 可能是更好的选择。 无论您做出什么决定,在任何应用程序投入生产之前,都必须执行各种测试方法,尤其是负载和压力测试,以确保用户体验尽可能无缝。

SPA 的目标是提供响应迅速、功能驱动的用户体验。 为了确保用于创建 SPA 的开发工作不会浪费,因此必须测试您的 SPA 负载,以确保在类似生产负载的情况下实现一流的用户体验。 您希望为您的访客提供最好的体验,因此请确保您的应用程序能够满足其提出的要求。

LoadView平台可以像测试任何其他 网络应用程序一样测试 SPA,并支持 JavaScript 框架以及其他协议和技术,如 AJAX、Flash、HTML5、WebSockets 等。 快速轻松地编写多步骤操作和行为脚本,旋转虚拟用户,并使用真正的浏览器在负载下执行这些任务。 这可确保您获得尽可能最好的报告数据,并且您的应用程序能够满足客户和访客的需求。

现代应用性能测试

例如,市场上 使用 JMeter 的其他负载测试工具可能足以执行基于协议的请求,但不太擅长负载测试 SPA,因为 JMeter 不是浏览器,在协议级别工作,无法执行 JavaScript。 是的,有解决方法,但这需要更多的时间和资源,即使与熟练的工程师或开发人员。 它不像使用 LoadView 这样的解决方案那么简单或简单。 无需再从本地设备配置硬件资源和创建负载喷油器。 使用传统的 网络性能工具进行现代框架和技术,无法从访客的角度模拟体验。 LoadView 使整个过程变得简单,从为关键用户场景创建脚本,到从全球 20 多个地点进行配置和执行负载测试。

从今天开始 免费试用 ,我们将为您提供 20 美元的初始测试积分。 或者,负载视图解决方案的演示更多的是您要找的内容? 我们的性能工程师团队可以运行整个 LoadView 解决方案。 只需选择最适合您和您的团队的一天和时间即可。 我们的团队很乐意回答您的所有问题。 立即安排您的演示