作为软件测试工程师,不能只关注系统的功能,还必须对系统的性能进行全面的测试,才能确认系统是否满足用户的需求。那么什么是性能测试呢?
“中国软件评测中心将性能测试概括为三个方面:应用在客户端性能的测试、应用在网络上性能的测试和应用在服务器端性能的测试。应用在客户端性能测试的目的是考察客户端应用的性能,测试的入口是客户端。它主要包括并发性能测试、疲劳强度测试、大数据量测试和速度测试等,其中并发性能测试是重点。”(《性能测试:软件测试的重中之重》作者:中国软件评测中心发文时间: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窗口中将看到被录制下来的脚本语句。