指定负载模型

更新:2007 年 11 月

使用负载建模选项可更准确地预测正在进行负载测试的网站或应用程序的预期实际使用情况。执行这种操作很重要,因为未基于准确负载模型的负载测试会生成误导性结果。

在 Visual Studio Team System 2008 Test Edition 中,负载测试功能中添加了下列选项,以使您更容易创建准确的负载模型:

  • 测试组合模型的增强功能。

  • “测试迭代”属性。

  • 初始化测试和终止测试。

测试组合模型增强功能

使用负载测试编辑器或测试组合模型向导,可以为负载测试方案指定下列类型的测试组合:

  • 基于已启动测试数的测试组合百分比。有关更多信息,请参见基于已启动测试数的百分比。

  • 基于启动测试的虚拟用户数的测试组合百分比。有关更多信息,请参见基于虚拟用户数的百分比。

  • 基于用户速度的测试组合。有关更多信息,请参见速度测试组合。

    说明:

    何时选择“百分比测试组合”和“基于虚拟用户数的百分比”? 如果测试组合中某些测试的持续时间明显长于其他测试,则这两个选项之间的区别便尤为重要。在这种情况下,最好选择“基于虚拟用户数的百分比”。此选项可帮助避免运行测试过程中,过多用户运行长时间测试的可能性。但是,如果测试都具有相似的持续时间,则可以更安全地选择“百分比测试组合”。

基于已启动测试数的百分比

对于组合中的每个测试,可以指定一个确定选择测试作为下一个要运行的测试的频率的百分比。例如,可能将下列百分比值分配给三种测试:

  • 测试 A (50%)

  • 测试 B (35%)

  • 测试 C (15%)

如果使用此设置,则下一个要启动的测试将基于分配的百分比。完成操作时不会考虑当前运行每个测试的虚拟用户的数目。

基于虚拟用户数的百分比

此测试组合模型确定将运行特定测试的虚拟用户的百分比。如果使用此测试组合模型,则下一个要启动的测试不仅基于分配的百分比,还基于当前运行特定测试的虚拟用户的百分比。在负载测试的任何时刻,运行特定测试的用户数与分配的分发项尽可能匹配。

速度测试组合

如果指定速度测试组合,则为测试组合中每个测试的每个虚拟用户指定测试执行的速率。对于每个测试,此速率是指每个虚拟用户每小时运行的测试数。例如,可能将下列速度测试组合分配给以下测试:

  • 测试 A:每个用户每小时 4 个测试

  • 测试 B:每个用户每小时 2 个测试

  • 测试 C:每个用户每小时 0.125 个测试

如果使用速度测试组合模型,则负载测试运行时引擎可保证测试启动的实际速率小于或等于指定的速率。如果测试为完成分配的数目而运行时间太长,则会返回错误。

当使用速度测试组合时,“测试迭代之间的思考时间”设置将不适用,因此它将不会显示为方案的属性,而是作为百分比测试组合的属性。

“测试迭代”属性

在“运行设置”属性中,可以为“测试迭代”属性指定值。此值是要在负载测试中运行的测试迭代的数目。一旦启动了指定数目的测试迭代,则不再启动任何其他的测试迭代,而不管任何负载文件的设置。一旦完成了指定数目的测试迭代,则负载测试结束。

初始化测试和终止测试

可以选择要在每个虚拟用户的负载测试会话的开始和结束时运行的测试。若要执行此操作,请右击“测试组合”容器,再单击“编辑测试组合”以显示“编辑测试组合”对话框。然后,在“初始化测试和终止测试”下指定这些测试。

  • 初始化测试。在测试组合中的任何测试运行之前将由每个虚拟用户运行此测试。

  • 终止测试。此测试在某个特定虚拟用户的所有测试运行后运行。

请注意下列有关初始化测试和终止测试的信息:

  • 可以按时间(而不是迭代次数)指定负载测试的持续时间。在这种情况下,当负载测试的运行持续时间完成后,将不会运行终止测试。

  • 如果初始化测试是单元测试或 Web 测试,将在初始化测试完成之后保存 TestContext 或 WebTestContext 对象的状态。然后,它将用作测试组合中的测试迭代的启动上下文。

  • 新的用户(如在“新用户的百分比”方案属性中定义的用户)总是执行初始化测试、测试组合中的某个测试的一次迭代和终止测试。

请参见

任务

如何:启动负载测试向导

如何:指定负载模式

如何:指定测试组合

如何:指定运行设置