我在VS中创建了负载测试项目。有5种情况可以作为正常的单元测试来实现。 测试混合模型:基于测试开始的测试混合百分比。 情景A:10% 情景B:65% 情景C:9% 情景D:8% 情景E:8% 加载模式:步骤。初始用户数:10。步骤用户数:10。步骤持续时间:10秒。最大用户数:300。 运行时间:10分钟。
我想知道所有场景的负载情况如何?如何及时在场景之间分配用户?
如果我将100个用户作为初始用户数,那么10个虚拟用户(10%来自100个)一次开始重播场景A?他们完成后会发生什么?如果有人能解释我知道用户分发是否有效,我将非常感激。
答案 0 :(得分:1)
请使用正确的术语。负载测试中的每个“场景”都有自己的负载模式。这个答案假定有5个测试用例A到E.
负载测试开始测试用例的确切方法尚未定义,但文档非常清楚。此外,最初创建负载测试时使用的负载测试向导具有对测试组合模型的良好描述。
负载测试还会在思考时间和选择下一个要运行的测试时使用随机数。这往往意味着最终的测试结果显示执行的测试用例的数量与所需的百分比不同。
我对负载测试的观察让我相信它的工作原理如下。在不同的时间,负载测试将当前执行的测试数量与应该处于活动状态的虚拟用户数量进行比较。这些时间是负载测试的时钟滴答和步进负载模式改变的时间,也就是测试用例结束时。如果比较显示的虚拟用户数多于正在执行的测试用例,则会启动足够的新测试以使数字相等。选择测试用例以匹配所需的测试组合,但请记住选择中存在一些随机化。
您的步骤模式最初为10,每10秒步进10,最多为300.最大用户应在之后(每步10秒)*(300个用户)/(每步10个用户)= 300秒=( 5分钟)。 10分钟的运行持续时间意味着最多用户增加5分钟然后稳定5分钟。
对于你问题的最后一段。给定相同的百分比但用户数为100,那么您可以预期每个测试用例的初始数量接近百分比。因此,A中的10个,B中的65个,C中的9个,D中的8个和E中的8个。当任何测试用例完成时,visual studio将选择一个新的测试用例,试图遵循测试混合模型,但是,正如我之前所说,那里是选择中的一些随机化。