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

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

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

现代应用性能测试

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

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