基于用户体验的性能测试:第三章 模拟个别的用户模式

发表于:2007-8-15 12:19

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:pent    来源:pent的博客

2.用TestStudio模拟用户模式

Rational TestStudio提供了很多种创建和模拟虚拟测试用户的方法,但就是因为有太多的方法,有时也会变得难以选择。下文将以在线书店为例,描述并论证三种用户模式的模拟方法,这同时也是个人觉得最简单和最通用的方法:

  • 全路径脚本方法:为每条浏览路径录制单独的脚本,并在测试套件(suite)中分配适当的用户比例。
  • 路径片段方法:为图形中的每一段线录制单独的脚本,并在测试套件中正确的组织起来。
  • 灵活的脚本方法:在录制的脚本中创建灵活的脚本,处理大部分浏览路径中的少数例外。

每个方法都可以与其它方法结合起来使用,模拟更复杂的用户模式。每种方法都有其固有的优点和缺点,下文将会提到。

2.1.全路径脚本方法

        三种方法中全路径脚本方法最容易描述和执行。这种方法为每个可能的浏览路径录制单独的端到端脚本,然后创建测试套件以适当的分布组织执行这些脚本。图2展示了购买小说的脚本中所包括的三种可能的路径。

?1

图2 全路径脚本方法的购书路径

        录制3个这样的脚本是相当简单的事情。请注意,图中主页访问和购书活动在所有的脚本中都是重复的,这会在其它方法的论述中再次提到。图3展示了脚本在TestManager测试套件中的用户比例情况。

                        2

                                      图3 全路径脚本执行方法的测试套件

        这是模拟简单用户模式的一个好方法,只需少量的脚本就能覆盖所有可能的用户路径。而且,也不需要手工修改任何脚本来模拟用户模式。由于每种用户都直接匹配一个脚本,当测试有安全的会话ID或cookie的站点时比较容易处理安全问题,也许这就是这种方法最大的优势。(我会在后续的文章中论述关于安全会话的处理)

        但另一方面,这种方法也有较大的缺陷。首先,脚本中重复的功能意味着更多的开销,会降低当前测试环境下的虚拟测试用户数。如果你的测试实验室和我一样的话,你需要为这些消耗巨大的测试保留所有的资源,而你当然不希望硬件设备成为瓶颈而使得性能测试结果变得很糟糕。就个人而言,在大多数情况下我会尽量使每个套件的测试脚本数量少于12个。在不影响性能测试结果的情况下,你的主站点和代理站点的硬件越好,测试套件中就能容纳更多的脚本。

        其次,还有关于动态数据方面的缺点。脚本中的冗余部分有时会包含一些每个虚拟用户都不同的数据(例如登录信息),可能会用到数据池。这会导致每个脚本都有独立或非常相似的数据池,以及用于控制这些数据逻辑的共享变量或持久变量。如果管理不当的话,这些将产生大量的开销。通常,尽可能地消除持久变量,并减少数据池的数量和大小,只产生必要的数据,是一个不错的做法。

        最后,如果脚本中主页或者购书部分发生了变化,所有脚本都需要修改。如果变动较大的话,3个脚本都需要重新录制。对于已经稳定的已发布应用来说,这可能不会有这个问题,但如果测试的系统还在开发当中,那要好好考虑一下了。

62/6<123456>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号