我正在开发一个网站(基本上是一个面向公众的网站)。如何模拟多个用户正在浏览我的网站并进行各种活动,以便我可以了解我的网站在实时环境中的行为方式?
我正在使用 Apache 服务器和 PHP。
我正在开发一个网站(基本上是一个面向公众的网站)。如何模拟多个用户正在浏览我的网站并进行各种活动,以便我可以了解我的网站在实时环境中的行为方式?
我正在使用 Apache 服务器和 PHP。
如前文所述,您将需要一个负载测试工具。好消息是这个领域有很多工具和服务:开源的负载测试,如 JMeter 和 Gatling,商业的如 Loadrunner 和 Neoload,坏消息是你必须回答一些问题并做出一些决定。
您需要做出的一项关键决定是在实验室还是在云中测试您的应用程序。
此外,您需要回答以下问题:
你想模拟多少虚拟客户端来给服务器施加压力
你有多少预算
Web 应用程序有多复杂
测试人员有多少技能。
如果您有高预算、复杂的 Web 应用程序和具有良好技能的测试人员(如开发人员),您可以考虑 Loadrunner、NeoLoad。
如果您的预算较低,但您的测试人员有很好的技能,您可以考虑 Jmeter 和 Gating。
如果您需要模拟大量虚拟客户端(例如 10000 个)来强调您的复杂网站,并且您的测试人员没有开发人员/程序员的技能,您可能需要考虑NetGend。有一个博客站点,您可以在其中了解性能测试的复杂程度(例如填写 HTML 表单、从 JSON 消息中提取值等)以及在 NetGend 平台上测试的简单程度。顺便说一句,您不需要为 NetGend 提供高预算。
在您的负载/性能测试中祝您好运!
由于这是您第一次参与这项任务,因此建议您找一个曾经去过那里、做过并在这项活动中留下战斗伤痕的人。对软件进行性能测试并非易事。如果您听听传统软件供应商的意见,他们会告诉您“任何业务分析师都可以使用此工具并有效”,就好像该工具是您成功测试应用程序性能所需技能的 85-95% 或网站。这是营销 foo 以消除销售障碍。
实际上,您选择的工具占您成功所需的全部技能的 5-15%。此外,如果失败的财务风险高到足以保证进行性能测试,那么您选择哪种工具几乎无关紧要,因为工具的成本和专业知识将与您无法扩展的财务风险相形见绌。
如果您没有时间开发技能或没有足够的准备时间来获得可靠的性能测试员,那么您可能需要考虑市场上的一些托管服务产品,例如 SOASTA,它可以提供专业知识和捆绑的工具交易内。以下是您在任何测试之前需要查看的一些事项(常见问题)
为测试工具评估设置一些维度以模拟用户流量很重要:
如果您赶时间并且没有时间评估选择哪个工具,您可以从 JMeter 开始。
Selenium 可用于回归测试的测试自动化,我想强调它的 API 对性能测试无效。Sahi 是测试自动化的另一种选择。
简单的。
我认为您肯定在寻找像 Blazemeter 这样的负载测试工具。我最近发现了这个网络研讨会,它向您展示了如何使用 PaaS 提供程序作为开发和运行时环境对您的应用程序进行负载测试,您可以在其中部署您的应用程序以运行负载测试。他们将 Blazemeter 与监控工具(在本例中为 New Relic)相结合,以查看您检测新用户在您的网站上冲浪的方式。这真的很酷也很有趣,因为您可以知道使用特定基础架构的应用程序的性能如何。
我建议使用 gatling 进行负载测试。它基于 Scala,但提供了一个记录器来生成工作负载测试用例。
如果你也在搜索 UI-Testing,你应该查看 Sahi Pro 6 自动化测试工具,它也可以与 Jenkins 集成。
在任何浏览器上记录用户操作并播放记录的脚本非常容易。您可以在多个浏览器上同时运行脚本,从而模拟多个用户浏览您的页面: