假设我们这9个业务的测试脚本写好了,我们的测试策略有2种:
1、混合场景(混合业务),也就是把这9个业务放一起跑
2、单场景(单业务),也就是一个业务一个业务的跑。
一般情况先单场景后混合场景,单场景的目的一般是为了发现缺陷、发现瓶颈的。而混合场景是评估整个系统性能的。
如项目该验收了,让你去评估一下系统的整体性能如何,这个时候就做的是混合场景的测试。
可以先跑单的,看看每个模块的处理能力是个什么样子,单场景一般意味着咱们系统可能有问题。
先跑一个发帖子(不带附件的),脚本再跑之前最好先运行一下,在vugen中我们是1个用户在跑。运行完后看有没有运行成功。
判断业务成功没成功,不要非在test result里面看,有可能他会展示不出来,最准确的是看看项目,发了帖子有没有成功,或者到数据库里面看看。
接下来去跑发帖子这个模块。发帖这个模块包含的业务:
打开首页、登录、选择一个模块、点发帖提交
打开首页不是登录,就是打开首页和登录不是必然关系的。
放controller里面跑,一个小时期望是15万的帖子量,但结果发了10万,是不是可以说发帖子没满足咱们的性能需求?
不能。还有首页、登录,因为登录很慢就会导致发帖子很慢,就是相对时间内发帖子量会很少,因为就一个小时么,会把很多时间分配到登录上面。
如果我们想把我们的重心放到发帖子上去,就想看发帖子,其他不想关注,那么我们就要弱化登录,比如,登录跑一次,发帖子跑1万次,或登录只跑一次,其他都跑发帖子。
所以如果你想看哪个模块有问题没就把其他模块弱化,把压力都压到你想看的模块上。
比如我们只想测提交帖子这一步,不停的狂提交帖子,这时我们就可以把提交帖子前面的步骤都扔到int里面去,或者再增加一个action,登录一次发100个帖子。。扔int,时间长了可能会失效。
为了真实我们从选择一个模块这开始做性能测试。
我们做随机选择一模块,随机发帖子
我们可以加很多action,左边右键,点Create New Action
然后我们可以把打开首页的代码拷贝到新建的action为index里面;从登录到刷新首页放到login里面。剩下就是选一个模块,发帖子了。
参数是全局的,变量是私有的。打开首页前面的fids参数在脚本中其它action中也是可以用的。
从脚本开始设计场景
1)设置一下执行顺序,点运行时设置,Run Logic,可上下移动。
2)Insert Block
如果想控制index、login只跑一次,Action跑多次,可以点Insert Block,这个是做管理的,Run这就是一个Block,块。
3),把Block移动到下面,把action删掉。选中Block0,点insert action,把Action放到Block中
4)Block属性设置
index、login跑一次,在Block0 上我点属性,可以设置Block0它跑多少次。比如写100次,相当于咱们写一个for循环。
假设我这个脚本迭代10次,那应该发多少帖子:1000个,登录10次。
我们现在先设置简单点首页、登录、发帖都先跑1次。