原文发表于2008-10-08 21:29:19
上一个项目的V1版本结束,但是休息了数日之后马上就开始了V2版本的计划,当然还有V1版本的一些维护性质的工作,测试这块的任务已经不是太重。上头鉴于另外一个项目的测试工作会更加重要,所以决定抽调我到另外的项目组(真应该感谢老大的赏识和信任~~),前些日子承诺要在自己学习LR的同时写一些学习笔记,可是半个月来却没有多大的进展,一是因为工作,而是因为自己确实有惰性,先自我批评一下~
新项目的用户群比较大,所以对于质量的要求更高,而且性能测试在突然之间也显得很重要了,这时候正好捞得时间来学习LoadRunner了,边学边做,这也算是本次测试工作中的一个风险吧。对于俺来说,要有一千分的信心,老大赏识,所以自己就要好好干,再加上前些日子修炼了LoadRunner,作为一个工具来说,不应该成为我们做性能测试的拦路虎,这点信心一定要有:) 废话不说,开始LR的学习笔记正文——
继上次看了刘群策的那本关于LR的著作之后,对于LR的了解已经有了,而且当时已经结合书上的实例运行了LR的很多功能,所以这次再看陈绍英老师的《LoadRunner性能测试实战》就不会有太大的困难了。这本数前面介绍的性能测试思想要比刘群策的那本书好,中间部分关于LoadRunner的基本操作大概浏览了一下,没有多少新的内容,但是再看这本书,发现了一些LoadRunner中的东西。LoadRunner中有几个点是比较重要的,这里不是指场景,事务这些常见的测试术语,而是关联,集合点,检查点,参数化这几个概念。关于关联的这部分我就暂且不聊,因为自己还没有比较成熟的想法或者见解,所以主要侃一下对于集合点、检查点和参数化。
集合点: 集合点可以控制各个虚拟用户以便在同一时刻执行任务,借助集合点可以在LoadRunner中实现真正意义上的并发。使用集合点时可以在系统上模拟较重的用户负载。当某个虚拟用户到达集合点时,LoadRunner会将它截留,直到所有的虚拟用户到达该集合点。当满足集合条件时,LoadRunner释放虚拟用户,产生密集的同一类用户操作或请求。另外,在脚本录制过程中和结束后都可以创建集合点。集合点只能在虚拟用户的Action部分。
检查点: 进行压力测试时候,可以通过检查点检查web服务器返回的网页结果是否正确,在LoadRunner中可以通过函数来实现,这就类似于NUnit framework中的断言(Assert)了。
参数化:参数化就是将测试脚本中的一些常量剥离出来,并使用参数来取代,当运行脚本时候就可以使用指定数据源中的值来替换参数。这样做最大的好处就是可以更好模拟真实的用户行为,也可以避免使用常量带来的一些麻烦,如:某系统登陆功能增加了验证,检查请求用户是否为已登录状态,如是则发出登陆失败的response。这样如果我们使用录制的源脚本的话,里面的用户名,密码是不支持并发操作的,这个时侯参数化就显得很重要了,我们可以在将数据库中存在的所有用户名密码设置为参数表,并将此参数的选择下一行(Select next row)属性设置为“Unique”,这样我们就可以避免出现登陆失败的问题了。LoadRunner中的这个设计的确是个不错的主意~~