请教《软件性能测试过程详解与案例剖析》中的一些疑问(关于场景)

问题:

段老师:
您好!
我最近刚开始学习一些性能测试方面的知识,阅读了您编写的《软件性能测试过程详解与案例剖析》一书,觉得这本书写得非常好,尤其是案例剖析部分非常详细实用,受益良多。其中有一处关于场景的用例,我不太理解,希望能得到段老师的指点,非常感谢!
书上第141页至第143页的用例场景中,业务的用户数与第136页中的用户数为什么不完全相同呢?为什么要分为几个典型场景来测试而不直接在一个场景中包含所有的业务操作?我们公司要求评估出各业务模块分别能支持的最大并发用户数,如果我分别对单个业务模块进行性能测试,系统的负载应该与实际多个业务模块一起运行时的情况有出入,不知道这样的测试结果是否还具有参考价值?如果这样的测试方法不对,我应该如何测试各业务模块分别能支持的最大并发用户数呢?
非常感谢段老师在百忙之中抽时间阅读此信,希望能老师的指点,谢谢!

场景指的是应用运行中的一个用户应用剖面。说得更直白一点,场景就是在某一个时间点上该应用实例被用户使用的方式。之所以有不同的场景,是因为在不同的时间段和不同的情况下,该应用被用户使用的方式不同。

例如,对于一个进销存管理软件,使用这个应用的公司可能规定周五盘点库存,周三个周四进程出货。在这个例子中,可以预见,周五的所有请求都是和“查询”相关的(盘点),而周三和周四中主要是“入库”和“出库”操作,周一和周二主要是“入库”操作。(这是一个极度简化的例子,只是为了说明场景和为什么要使用不同的场景)。

所以,根据上面的描述,你应该容易理解了:针对单个业务进行压力测试,得到的结果是每个单独业务的最大容量。但根据“短板理论”,在实际应用中,可能有些业务会在其他业务远未达到最大容量的时候达到最大容量。所以单个业务的最大容量衡量的是每个业务的单独的最大容量。但只有通过场景测试才能知道你的应用本身在具体的场景中可能达到的最大容量。你可以考虑将你的应用被使用的具体场景提取出来(可以考虑通过不同时间段内的典型应用行为确定)。

Posted at 五月 21st, 2010.

Leave a Reply