摘要:
本文将介绍一个免费的、源代码开放的web性能测试工具OpenSTA,包括它的原理、组成部分、录制脚本的过程。另外,还将介绍如何在OpenSTA的测试脚本中引入变量,并给变量赋不同值,比如,将登陆被测试网站的用户名称设置为一个变量,在执行性能测试时,虚拟多个不同的用户同时登陆被测试网站,通过将访问网站的用户名称打印出来的方法,验证该变量在测试执行过程中被赋与了不同值。
正文:
作为测试工程师,不能只关注系统的功能,还必须对系统的性能进行全面的测试,才能确认系统是否满足用户的需求。那么什么是性能测试呢?
“中国软件评测中心将性能测试概括为三个方面:应用在客户端性能的测试、应用在网络上性能的测试和应用在服务器端性能的测试。应用在客户端性能测试的目的是考察客户端应用的性能,测试的入口是客户端。它主要包括并发性能测试、疲劳强度测试、大数据量测试和速度测试等,其中并发性能测试是重点。”(《性能测试:软件测试的重中之重》作者:中国软件评测中心 发文时间:2003.08.26)?
目前比较的并发性能测试工具有Rational Robot、QALoad、LoadRunner和微软的WAS等。这其中QALoad、LoadRunner、Rational Robot都是比较不错的商业测试工具(价格也很贵哦),微软的WAS是一个免费的测试工具,使用起来比较简单,但是由于不能显示和编辑所录制的测试脚本,其可控性和图形化测试结果都较弱,故造成一定的局限性。
OpenSTA是专用于B/S结构的、免费的性能测试工具。它的优点除了免费、源代码开放的优点外,还能对录制的测试脚本进行,按指定的语法进行编辑。测试工程师在录制完测试脚本后,只需要了解该脚本语言的特定语法知识,可以对测试脚本进行编辑,以便于再次执行性能测试时获得所需要的参数,之后进行特定的性能指标分析。OpenSTA以简单的方式让大家对性能测试的原理有较深的了解,其较为丰富的图形化测试结果大大提高了测试报告的可阅读性。
OpenSTA是基于Common Object Request Broker Architecture (CORBA)的结构体系。它是通过虚拟一个proxy, 使用其专用的脚本控制语言,记录通过proxy 的一切HTTP/S traffic。测试工程师通过分析OpenSTA的性能指标收集器收集的各项性能指标,以及HTTP数据,对被测试系统的性能进行分析。
首先,OpenSTA都有哪些组成部分?
★OpenSTACommander – 主要控制应用程序;
★ NameServer – CORBA背景处理器,保证OpenSTA各个组成部分之间的交流;(NameServer是安装OpenSTA的同时被安装的,正常运行时,可以在Windows任务栏的右侧看到图标qqq?,如果没有正常运行或者被停止了,图标显示为qq。)
★ ScriptModeler – 配置、启动HttpGateway的工具程序,同时也是录制脚本的工具程序;
★ HttpGateway – 模拟proxy 处理器,执行录制;(接受用户手工配置的proxy设置,不接受任何自动配置proxy机制);
★ TestExecuter – 真正执行测试的背景处理器;
★ WebRelayDaemon? –使用XML RPC在internet上过滤 CORBA限制;
★ Repository–测试脚本、配置和测试结果存贮目录;
★ TestManager–管理测试运行的背景程序;
★ TaskGroupExecuter–运行TaskGroup的处理器。
其次,什么是性能指标收集器(即Collector)呢?这是用户定义的一组问题,决定在测试过程中哪些性能指标需要记录。包括两种类型:
1)NT Performance Collectors 用于采集运行WinNT或Win 2000的主机的性能指标.
2)SNMP Collectors 用于采集主机和其他运行 SNMP agent 或 proxy SNMP agent的SNMP数据. Collector的设置将在下面如何录制测试脚本中介绍。
第三,如何录制测试脚本呢?
1、安装OpenSTA后,在“程序”中出现OpenSTA的三个工具程序,如下图:
图1-1安装后的界面