作为软件测试工程师,不能只关注系统的功能,还必须对系统的性能进行全面的测试,才能确认系统是否满足用户的需求。那么什么是性能测试呢?
“中国软件评测中心将性能测试概括为三个方面:应用在客户端性能的测试、应用在网络上性能的测试和应用在服务器端性能的测试。应用在客户端性能测试的目的是考察客户端应用的性能,测试的入口是客户端。它主要包括并发性能测试、疲劳强度测试、大数据量测试和速度测试等,其中并发性能测试是重点。”(《性能测试:软件测试的重中之重》作者:中国软件评测中心发文时间: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
任务栏的右侧看到图标,如果没有正常运行或者被停止了,图标显示为。) u ScriptModeler —配置、启动HttpGateway 的工具程序,同时也是录制脚本的工具程序; u HttpGateway —模拟proxy 处理器,执行录制;
(接受用户手工配置的proxy 设置,不接受任何自动配置proxy 机制); u TestExecuter —真正执行测试的背景处理器; u WebRelayDaemon —使用XML RPC 在internet 上过滤CORBA 限制; u Repository—测试脚本、配置和测试结果存贮目录; u TestManager—管理测试运行的背景程序; u TaskGroupExecuter—运行TaskGroup 的处理器。
其次,什么是性能指标收集器(即Collector)呢?这是用户定义的一组问题, 决定在测试过程中哪些性能指标需要记录。包括两种类型:
1)NT Performance Collectors 用于采集运行WinNT 或Win 2000 的主机的性能指标. 2)SNMP Collectors 用于采集主机和其他运行SNMP agent 或proxy SNMP agent 的SNMP 数据. Collector 的设置将在下面如何录制测试脚本中介绍。
第三,如何录制测试脚本呢? 1、安装OpenSTA 后,在“程序”中出现OpenSTA 的三个工具程序,如下图:
检查OpenSTA NameServer 状态为运行中,即图标为,运行“OpenSTA Commander”,界面显示为下图:
2、录制新脚本1)鼠标点“Scripts”,通过右键菜单“New Script”->“HTTP”生成新脚本,脚本名称缺省为NEWSCRIP(如下图);
2) 双击新脚本,打开Script Modeler 窗口,在Options 菜单中设置Browser 和Gateway,一般情况下,保持Gateway 的缺省设置;
3)按工具栏中的红色圆钮,自动打开指定的浏览器,输入需要录制的系统URL, 显示被测试网站的首页内容。在登陆成功之后,执行各个既定的操作步骤。按工具条上的方框按钮,或直接退出浏览器,可以停止脚本的录制,这是在Script Modeler 窗口中将看到被录制下来的脚本语句。
3、生成Collector
1) 鼠标点“Collectors”,通过右键菜单生成新指标收集器,缺省为NEWCOLLECTOR;
2) 通过browse Queries 浏览并设置需要收集的性能指标。(各个性能指标的含义不是这篇文章所包含的内容,这里不做介绍)
4、组成测试环境
与脚本和性能收集器同样的方法,在Tests 中新建一个NEWTEST(下图中已将新建的Test 进行了重新命名), 将测试脚本和性能指标收集器拖到该Test 中,如下图;
5、按工具栏中的,执行测试,测试过程中可以查看“Monitoring”页签的内容,测试结束后,该页签为空;
6、测试结束后,点工具按钮下方的Results 页签,显示所记录的测试结果数据,如下图。
至此,读者对如何使用OpenSTA 这个测试工具应该有了一个大概的了解,如果需要详细了解使用的细节,可以查看该工具的使用手册,不过是E 文的哦:)。需要下载OpenSTA 工具的朋友可以访问网站http://www.opensta.org/ ,使用手册也可以在这个网站上下载。
另外,需要注意,OpenSTA 是GUI 界面,同时也支持命令行、批处理文件,但是,不支持使用嵌入技术(如Applets, ActiveX, Flash or javascript),以及通过HTTP/S 以外的协议访问Web Server。