VS2010编码UI测试与Web性能测试有什么区别?

4

我已经花了几个小时玩弄这两个东西。

你可以使用编码 UI 测试来记录一些操作,并通过断言进行验证。

你可以使用 Web 性能测试来记录一些操作,并通过验证测试/提取测试进行验证... 基本上是相同的... 然后你可以选择将其转换为代码,就像编码 UI 测试一样。

但似乎你只能将 WEB 性能测试添加到负载测试中...

但它们不都是差不多的东西吗?我哪里理解错了?为什么不允许在负载测试中使用编码 UI 测试呢?


@user193189:在制作标签时,请在复合词中的单词之间加入连字符(“-”)。应该是“visual-studio-2010”,而不是“visual studio 2010”。 - John Saunders
4个回答

13

编码UI测试是用于自动化功能测试的。这些测试将模拟用户与UI的交互,例如按钮点击和输入文本。编码UI测试需要一个交互式桌面环境,因为它们实际上与您的应用程序的窗口和对象进行交互。在VS2010中,编码UI测试相当于使用类似于HP QuickTest Pro或Selenium来驱动你的自动化功能回归测试。

负载测试会在HTTP层面记录并驱动您的应用程序。这些测试通过直接发送HTTP请求而不使用UI来模拟无头用户与您的应用服务器的交互。负载测试通常假定您的应用程序对于一个用户正常工作,但旨在查看其在重负载下是否正常运行。负载测试是无头的,因为使用交互式UI模拟数千个用户是不可行的。通过无头,单个负载代理机器可以模拟数百或数千个用户。在VS中进行负载测试相当于使用HP LoadRunner或JMeter来驱动虚拟用户负载。

功能测试和性能测试是两种不同的类型,具有不同的策略和流程。在一个项目中,您可能有数百个自动化功能测试(例如编码UI测试),但只有几十个自动化性能测试。您有更多的功能测试,因为您在相对于业务需求的许多不同场景下测试您的应用程序。而对于性能测试,您将选择使用最常用的十二个交易并在负载下运行它们。


3

我认为这篇文章在这次讨论中有很大的价值。

CodedUI测试 - Coded UI测试是用于自动化功能测试的。这些测试将模拟用户与UI的交互,例如按钮点击和输入文本。Coded UI测试需要交互式桌面环境,因为它们实际上与应用程序的窗口和对象进行交互。VS2010中的Coded UI测试相当于使用类似于HP QuickTest Pro或Selenium来驱动您的自动化功能回归测试。
Web性能测试 - Web测试远不止GUI测试。Web性能测试用于测试Web页面、Web应用程序、Web站点、Web服务以及所有这些组合的功能和性能。Web性能测试可以通过记录HTTP请求和事件来创建,这些请求和事件在用户与Web应用程序进行交互时被记录下来。录制还捕获Web页面重定向、验证、视图状态信息、身份验证和所有其他活动。它可以分为两种方式,包括简单的Web性能测试和编码的Web性能测试。
简单的Web性能测试按照记录生成并执行测试,具有一系列有效的事件流。一旦开始测试,就不会有任何干预,也不是有条件的。
编码的Web性能测试更加复杂,但提供了很多灵活性。这些类型的测试用于基于值的条件执行。编码Web测试可以手动创建或从Web性能测试录制生成。
负载测试 - 负载测试记录并驱动您的应用程序在HTTP级别上。这些测试通过直接发送HTTP请求而不使用UI来模拟对您的应用服务器的无头用户交互。负载测试通常假定您的应用程序对1个用户有效,但旨在查看它是否在重负载下运行。负载测试是无头的,因为使用交互式UI模拟成千上万的用户是不实际的。通过无头,单个负载代理机器可以模拟数百或数千个用户。VS负载测试相当于使用HP LoadRunner或JMeter来驱动虚拟用户负载。
结论功能和性能测试是两种不同类型,具有不同的策略和过程。在给定的项目中,您可能会有数百个自动化功能测试(例如编码UI),但只有几十个自动化性能测试。您有如此多的功能测试,因为您正在根据业务要求测试您的应用程序的许多不同情况。而对于性能测试,您将采取您最常用的前十二个事务并在负载下运行它们。

1

我明白了,但为什么不允许在编码的UI测试中进行负载测试呢?从VS2008到VS2010是否有负载测试/分析方面的变化? - punkouter
有关负载测试/分析,是否有常见问题解答?我只处理小型项目,所以不必担心服务器上的大量数据。但模拟多个用户并查看哪个类方法花费了大量时间或查看哪个页面会很有趣。 - punkouter
很可能有两个原因。1. 你不需要测试 UI 的负载,因为每个人都会有一个副本。2. 在服务器上测试负载并不是真正必要的,并且会占用运行负载测试代理的机器的处理器时间和内存。 - kemiller2002
能否在负载测试上运行分析器?我一直在尝试,但它只是启动并打开IE,等待我手动执行一些操作并关闭它...但我希望分析器可以对负载测试进行分析。我不清楚您对第一个问题的回答...您是否在说Coded UI测试实际上只是为了测试DOM中的值,因为用户在DOM上执行操作?而Web性能测试是关于从页面到页面...并且它并不真正关注测试客户端错误...那种东西? - punkouter
我想我明白了!Profiler 用于实际在单台机器上运行的单个用户的代码,以及哪些代码部分会减慢您的速度...而负载测试则用于 Web 应用程序以及扩展如何影响您的 Web 应用程序...所以毕竟对负载测试进行分析并不是很有意义。 - punkouter

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接