【问题标题】:Web performance testing with datasource in vs 2012在 vs 2012 中使用数据源进行 Web 性能测试
【发布时间】:2013-06-01 08:59:21
【问题描述】:

我在 Visual Studio 2012 中创建的 Web 性能测试遇到了一些问题。我创建了一个测试来通过我们的订单系统,但在第一次运行测试时,页面上出现错误您选择订单。如果我再次运行相同的测试,它似乎可以工作。

由于我使用的是包含用户名和密码的数据源,因此我只有一个性能测试,它为数据源中的每个用户运行一次。当它运行时,它通过了第一个测试,但每个额外的用户都会在该页面上导致错误,从而导致购物车为空。在测试中的第一个用户之后,没有为每个用户生成或传递 POST 变量似乎是一个问题。

有谁知道如何解决这个问题,而无需专门为每个用户创建网络性能测试?对数据源使用一项性能测试要好得多。

谢谢!

【问题讨论】:

    标签: visual-studio load-testing performance-testing


    【解决方案1】:

    网络性能系统旨在允许以您想要的样式进行数据驱动测试。您的网站可能有一些 Visual Studio 未检测到的参数。 Visual Studio 内置的动态参数检测机制很好,但并非万无一失。

    第一步。只需阅读记录的测试,包括查找可能遗漏的内容的表单参数。您可以通过经验了解它们。

    又一个步骤。记录同一测试的两个版本,尽可能执行相同的步骤。 (但不要担心思考时间。)然后比较两个记录的测试。寻找表单发布参数和其他不同的值,并考虑是否应该从早期的响应中获取它们。找出值来自哪些响应,并编写适当的提取规则来创建上下文参数。

    还值得记录和比较使用相同的用户名和密码的两个测试。

    除了使用 Visual Studio 记录测试并比较文件外,还值得使用 Fiddler 等程序进行记录。

    我发现将“.webtest”文件与一个好的文本比较程序进行比较有助于发现差异,然后在 Visual Studio 中进行编辑。如果您有信心并保留备份,您可以编辑“.webtest”文件中的 XML。

    更新:关于比较 .webtest 文件的注意事项。查看 RecordedValue="..." 字段的不同之处,但相关的参数字段没有被上下文变量替换。

    【讨论】:

    • 使用 Fiddler 进行网络测试要好得多。它不会出错,但我仍然对不同的用户和选择订单有疑问。我认为为一个用户选择订单与另一个用户不同,所以我不确定我是否可以使用 1 webtest 来做到这一点?有什么想法吗?
    • @chobo 生成可靠工作的 Web 测试并不总是那么容易。查找动态数据项可能很困难。但是,您应该能够通过一次 Web 测试完成所有操作。要重复我的部分答案,请记录两个版本并比较 .webtest 文件。 Fiddler“不会出错”的事实可能是因为它没有那么努力。
    猜你喜欢
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多