HTTP 负载测试是一种做法,用于对网站、应用程序和 Web 服务进行性能测试,以便规划、准备和做出有关应用程序基础结构的知情决策。 但是,随着技术堆栈和交互式内容的不断发展,执行 HTTP 负载测试的传统方法是否足以覆盖您的所有基础? 简短的回答是否定的。 为了详细布局答案,了解 HTTP 负载测试的现代方法以及如何执行,让我们从基础知识开始。

 

静态页面与动态页面

静态网页是启动这一切的最简单形式的网站资源。 它们用基本的 HTML、CSS 和 JavaScript 编写。 在进行手动更改之前,这些页面上没有任何重大更改,并且这些页面不需要从服务器端进行计算或处理。 这些页面由浏览器呈现,具有基本请求和响应机制。 浏览器发送请求,服务器响应时除了发送预构建的 HTML 代码外,没有实际执行任何其他内容。 示例包括博客页面、文档页面、个人网站等。

另一方面,动态页面为来自用户的每个后续请求提供交互式资源和元素。 今天创建动态页面的一些更常见的技术是 AJAX、AngularJS、VueJS、ReactJS 等。 AngularJS VueJS ReactJS 动态页面内容根据不同的因素和用例(如时间、区域、用户配置文件等)生成。 例如社交媒体、电子商务、游戏网站、流媒体网站和其他现代应用程序。

 

动态页面的现代应用演进

继续从静态页面和动态页面进行讨论,让我们了解现代应用程序的功能和行为。

 

运行时更改

静态页面在运行时不会更改,而现代应用程序会根据各种分析因素更改内容。

 

互动

虽然静态页面几乎没有基于点击的交互,但现代应用程序具有一系列交互功能,从游戏到视频播放器,到电子商务。

 

模块 化

静态页面每次都是相同的,无处不在,适合每个人。 动态页面可以根据用户交互和用户事务添加多个服务和功能。

 

第三方服务

现代应用程序大量使用第三方服务,而第三方服务又可以动态地更改和访问这些服务。

 

建筑

静态应用程序采用最简单的 GET/POST HTTP 请求形式。 相比之下,现代应用程序请求和响应具有多个相互构建的服务,如身份验证、VPN、实时协作等。

 

单页应用程序的兴起

单页应用程序 (SCA) 现在是开发应用程序的最流行和广泛使用的方法,以最小化甚至消除用户从一个页面到另一个页面的导航。 所有内容呈现和事务都通过大量计算浏览器本身的内容而发生在同一页上,而不是服务器提供即用即用的 HTML 代码。

SCA 已经改变了网站过去的工作方式,在单个页面上在浏览器中完成繁重的工作。 因此,HTTP 负载测试面临挑战,因为传统的 HTTP 负载测试工具无法呈现和执行基于浏览器的计算。 这要求为动态应用程序(尤其是 SCA)采用新的 HTTP 负载测试方法。

 

HTTP 负载测试挑战:负载测试 SPA

随着动态页面的广泛使用,SCA 为 HTTP 负载测试带来了新的挑战,以创建最真实的负载环境。 以下是使传统的 HTTP 负载测试成为过去的关键点。

 

真正的基于浏览器的负载测试

正如我们所讨论的,SCA 依赖于浏览器使用 JavaScript 而不是服务器对 HTML 的大量计算。 这极大地改变了客户端和服务器之间的交互。 为了有效和正确地为应用程序生成 GET/POST 负载,您需要使用从真实浏览器模拟测试用户的工具。

 

基于位置的负载测试

最有可能的,SCA 会考虑基于位置的数据来自定义内容。 例如,货币或本地贸易以及交易表现的不同。 来自多个位置的实际基于浏览器的负载测试将为应用程序生成逼真的负载,以 优化地理位置 性能。

 

基于事务的负载测试

使用 针对单个操作和基于参数的操作 的脚本映射用户操作是负载测试 SCA 的重要组成部分。 例如,它是一个电子商务网站,您希望为它生成实际负载,您需要加载包含筛选器和排序组合的页面,以查看这将如何影响您的网站高流量性能。

 

RIA 负载测试

您的 SCA 将根据业务需求进行改进。 有一天你会有视频内容,有一天你会有一个投票比赛。 如果是游戏应用程序,则它将进行各种用户交互和呈现。 负载测试解决方案应该能够测试几乎任何可以在浏览器中呈现和执行的内容。

 

 

HTTP 负载测试不够的原因:负载测试现代动态应用程序

传统的 HTTP 负载测试无法根据这些因素和要求生成实际负载。 这些挑战需要一种新的、全面的方法,以整体方式将所有内容组合在一起,以产生最现实的负载。 SCA 通常包括为具有多层技术堆栈和 RIA 技术的用户提供操作和解决问题的新创新方法。 因此,传统的 HTTP 负载测试很难达到测试目的。 要解决此问题,您需要一个平台,使您能够记录实际浏览器和多个位置的实际事务和交互。 易于记录这些事务和脚本在选择此类平台时也起着至关重要的作用;否则,你会浪费时间编写脚本,而不是真正的HTTP负载测试。

LoadView 附带 了 EveryStep Web 记录器 ,只需一个简单的点即可创建负载测试方案,并单击脚本,立即启动脚本。 借助 LoadView,您还可以从多个位置的实际浏览器测试用户,以验证您的应用程序是否运行良好,并承受无滞后或瓶颈的情况下提供准确的内容。 EveryStep Web 记录器与 LoadView 平台相结合,创建了一个全面的负载测试平台,您可以主动找出 SCA 在所有负载测试用例下一致和正确地执行所需的一切。

立即试用 LoadView 平台, 并获得多达 5 次免费负载测试 以开始使用!