加载运行器是用于自动化Web应用程序,还是仅用于性能。

时间:2013-09-19 08:37:50

标签: loadrunner

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

2 个答案:

答案 0 :(得分:3)

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

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

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

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

答案 1 :(得分:0)

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

我还观察到,设计性能测试要比功能测试花费相对更长的时间。

虽然了解使用LoadRunner进行功能测试非常诱人,因为LoadRunner脚本的运行速度比UI测试(Selenium / UFT)要快,但考虑到以上两个原因,我不建议这样做。

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