负载测试工具与自己制作

软件测试 自动化测试 工具 负载测试
2022-01-21 13:29:28

我以前从来不需要使用商业负载运行工具,因为我们的测试基础设施在这里非常不成熟,而且我过去使用过内部工具。我们正在开发一个使用 Visual Studio TFS 作为主要开发环境/源代码控制的 .NET 技术堆栈,并且在不久的将来需要进行负载测试。我们将在多个级别上对系统进行负载测试——数据库、客户端应用程序(例如,当客户端应用程序的 X 多个实例同时访问后端 API 时会发生什么?)等等浏览器负载在 Web 应用程序上进行测试作为负载测试的较低优先级形式之一。我看到两个明确的选择(但对其他人开放):

  1. 购买像 LoadRunner 这样的工具
  2. 扩展我为测试而构建的基础设施,在多台机器上同时运行负载测试用户模拟,使用 AWS 为机器和模拟用户(我们的 IT 部门工作过度、资金不足、沟通不畅;他们不能有望为虚拟机提供良好的支持或硬件)

购买负载测试工具与开发自己的负载测试工具的优缺点是什么?如果开发自己的工具,我应该注意哪些陷阱?此外,除了 LoadRunner 之外,还有哪些用于一般负载测试的商业选项,我在看什么价格范围?

4个回答

根据我的经验,我会对 VSTS 测试版说“是”

我们能够模拟所需的负载、测量性能、查询中的延迟问题、复制、Web 服务响应。VSTS 在功能、支持方面改进了很多。请花时间尝试一下。

需要考虑的事项:

  • Load Runner 的学习曲线,由于我对它的有限接触,它非常陡峭。
  • 由于您已经使用 TFS,请查看 VS2010 负载测试功能。它可能会满足您的所有需求。
  • 从现有的测试解决方案中提取必要的负载/性能指标有多难。我已经看到这是一个技术上优秀的自定义负载测试解决方案的失败。它解决了,但带来了很多额外的工作和压力。
  • 维护向前。每个版本有多少变化,版本的频率以及升级测试脚本以匹配新版本需要多长时间。
  • 当前和未来的成本。不要忽视这两种解决方案的维护成本。

我的团队目前正在试验 VS2010 负载测试。到目前为止,它看起来很棒,但仍然需要尝试一些更高级的场景。我们的部门最近让 Load Runner 在我们没有经过什么培训的情况下就派上用场了。说学习曲线陡峭是轻描淡写的。此外,您希望找到一些具有 .NET 之外经验的测试人员和/或开发人员。从我们所见,如果您想自己创建/修改脚本,似乎需要用 Java 或 C 来完成(对于我们的 .NET 商店来说并不是那么好)。许可也可能是一个杀手,因为运行测试的每个协议都需要不同类型的许可。目前,我们在让它与我们的一些 Web 服务正确交互时遇到了很多困难。尽管 Load Runner 似乎被认为是标准,

使用任何性能测试工具都会体验到的一件事,它需要大量维护。试想一下您当前对测试自动化所做的维护,然后必须再做一次。它与任何其他测试自动化一样脆弱。

其他选项: Visual Studio 2010 负载测试:可以从 Visual Studio 2010 Ultimate 运行。在客户端机器上,最多可以处理 250 个并发用户(尽管我永远不会相信一台机器可以做到这一点)。如果与 MSDN 许可证结合使用,似乎可以很好地使用您自己的机器作为控制器和其他物理或虚拟机作为代理来运行测试。提供不错但不是很好的浏览器和连接类型组合。目前,只有代理只能是 Windows 操作系统。

JMeter:开源。有些人对这个解决方案发誓。我在这方面取得了有限的成功。在同一台机器上大约有 20 个并发用户之后,我注意到结果有偏差。我已经完成了测试,在其他人使用具有完全相同规格的机器之后立即运行小脚本,并看到了 50% 的差异。

还有许多其他的,包括开源。其中很多将取决于您的实际需求。让您的团队和利益相关者坐下来决定您希望从测试中推断出什么样的指标可能是值得的。然后,您可以开始缩小最适合您的技术。

我绝不是这个主题的专家,只是我的 2 美分。

试试 SOASTA CloudTest Lite 怎么样?它是免费的,带有实时分析功能,当您准备好进行扩展时,您可以从 SOASTA 全球云运行您的测试。

看看,也许这就是你需要的:http: //www.soasta.com/cloudtest/lite/ 这里还有一堆视频教程:http ://cloudlink.soasta.com/t5/Training-Videos /bg-p/培训视频

弗雷德