1、“为什么要实现性能测试自动化?”
自动化性能测试是利用产品、人员和流程来降低应用程序、升级程序或补丁程序部署风险的一种手段。自动化性能测试的核心是向预部署系统施加工作负载,同时评估系统性能和最终用户体验。
性能测试可以清楚:1.响应是否快速;2.用户负载处理是否游刃有余;3.业务所需事物数是否能够处理.4.预期和非预期用户负载下程序是否稳定;5.用户在使用此程序是是否满意。
自动化性能测试可以量化业务状况的更改所带来的影响。反过来可以让用户清楚部署此应用程序的风险。有效的自动化性能测试可以帮助我们做出更明智的发行决定,防止发行应用程序带来的系统停机和可用性问题
2、“LoadRunner 包含哪些组件?”
? Virtual User Generator: 录制最终用户业务流程并创建自动化性能测试脚本,即 Vuser 脚本。
? Controller :组织、驱动、管理并监控负载测试。
? Load Generator :通过运行 Vuser 产生负载。
? Analysis :用于查看、剖析和比较性能结果。
? Launcher :使您可以从单个访问点访问所有 LoadRunner 组件
(第一次看着几个概念有点模糊,下来会专门针对这几个概念来重新组织学习)
3、“了解 LoadRunner 术语”
场景:在LR中主要表现为controller中设计与执行测试用例中的用户场景。主要工作有,在controller中选择虚拟用户脚本、设置虚拟用户数量、配置虚拟用户运行时的行为、选择负载发生器、设置执行时间等。
负载发生器:用来产生压力的真实机器,受controller控制,可以使用户脚本在不同的主机上执行。在性能测试工作中,通常由一个controller控制多个load generator以对被测试系统进行加压。
虚拟用户:对应于现实中的真实用户,使用LR模拟的用户称为虚拟用户。其本质是通过虚拟用户脚本来模拟真正用户的行为。
虚拟用户脚本:通过Vuser Generator录制或开发的脚本。这些脚本用来模拟用户的行为。
事务:LR通过事务来衡量服务器的性能。在业务上事务通常时用户的一个或一系列操作,代表一定的功能,而在程序上则表现为一段代码区块。测试人员可以将一个或多个操作步骤定义为一个事务,以便衡量这部分的用户并发响应时间。
思考时间:为了在模拟时更加接近用户的真实行为而引进的概念。在实际中,用户进行一系列操作后往往会进行处理,例如浏览网页内容,而处理过程对服务器是没有压力的。因此在虚拟用户脚本中用函数lr_think_time(double time)来模拟用户处理过程,执行该函数时用户线程会按照相应的time值进行等待。
集合点:对应于真实用户中的并发点。LR通过集合点实现了真正意义的并发。集合点在虚拟用户脚本中对应函数lr_rendezvous(const char* rendezvous_name),当执行到该函数时会按照场景的并发策略来执行。
事务响应时间:事务响应时间是一个统计量,是评价系统性能的重要参数。定义好事务后,在场景执行过程和测试结果分析中即可以看到对应事务的响应时间。通过对关键或核心事务的执行情况进行分析,可以快速定位性能问题。
4、“什么是负载测试流程?”
负载测试一般包括5部分:1.规划负载测试-->创建Vuser脚本-->定义场景-->运行场景-->分析结果
- 规划负载测试:定义性能测试要求例如并发用户数量,典型业务流程和要求的响应时间。
- 创建Vuser1脚本:在自动化脚本中录制最终用户活动。
- 定义场景:使用Loadrunner11 Controller 设置负载测试环境。
- 运行场景:使用Loadrunner11 Controller驱动,管理并监控负载测试。
- 分析结果:使用Loadrunner11 Analysis创建图和报告并评估性能。