-1

到目前为止,我已经尝试了性能工具的负载运行器,我的朋友建议负载运行器也将用于自动化 Web 应用程序,如 QTP ,selenium 。请任何人分享您对上述标准的了解。

4

2 回答 2

3

你的朋友在架构上面临挑战。查看 OSI 模型和您的客户端架构。对于大多数协议,LoadRunner 不在功能自动化工具运行的 OSI 应用层的顶部运行。

除了特定需求和接口的少数例外,性能测试工具作为一个类被设计为在 OSI 模型的较低层而不是应用程序层的顶层运行。它们旨在重现应用程序发送到服务器的消息,而不一定重现鼠标在对话框上的点击(除非这是生成消息和加载所需的唯一方法)。GUI 往往非常昂贵,在某些情况下,您甚至不能在每台主机上运行多个 GUI 实例,因此能够从应用程序中剥离消息的生成对于能够通过主机与测试用户数量的比例低于 1:1。

LoadRunner 确实有一个 GUI 虚拟用户,它使用 QuickTest Professional (QTP) 作为此类虚拟用户的实现模型。从历史上看,WinRunner 和 XRunner,也是自动化功能测试工具,在 QTP 包含之前已用于此类用户。所以这就是工具交叉的地方,在 GUI 虚拟用户处,它将在 OSI 的应用程序层的顶部运行。对于其余的虚拟用户类型(Citrix|RDP 和 Truclient 除外),您将看到它们从应用程序层的 API 中间传播到会话层 (Winsock)。

虚拟用户映射到的堆栈(OSI 模型)越高,则越接近 GUI,执行测试的每个虚拟用户的资源成本就越昂贵。这是真正独立于工具提供商的。最终,您可以拥有一个虚拟用户,其在负载下执行的成本和资源要求与物理用户没有什么不同:每个主机一个虚拟用户。这意味着需要 500 台计算机来执行 500 个虚拟用户测试。此类测试将通过前端 GUI 专门针对一个应用程序进行,该应用程序不利于在共享应用程序服务器空间中运行,例如 Citrix 或 RDP 托管,并且其架构不适合抓取从客户端发送的消息到服务器。这种对环境不利的应用非常罕见。

于 2013-09-19T16:20:13.887 回答
0

在功能测试中,我们验证了很多。每个 UI 或 API 功能测试都会有很多验证点/检查点。事实上,选择功能测试工具的关键标准之一是检查它是否提供丰富的验证功能。如果我没记错的话,LoadnRunner 或任何其他性能测试工具并不是为了提供这些丰富的验证功能而设计的。它们可能会提供一些基本功能,例如“查找文本”或“计数出现次数”。

此外,我观察到设计性能测试比功能测试需要更长的时间。

虽然理解使用 LoadRunner 进行功能测试非常诱人,因为 LoadRunner 脚本比 UI 测试 (Selenium/UFT) 运行得更快,但考虑到上述两个原因,我不推荐它。

免责声明:截至 2020 年 3 月,本人仅具备性能测试或 LoadRunner/JMeter 的基础知识

于 2020-03-09T19:36:37.557 回答