OpenSTA是一款开源的Web性能测试軟件,除了免费、源代码开放等优点外,还能对录制的测试脚本进行分析,并且按指定的语法进行编辑。在录制完测试脚本后,可以对测试脚本进行编辑,以便进行特定的性能指标分析。其较为丰富的图形化测试结果大大提高了测试报告的可阅读性。需要的朋友赶紧来欧普园下载吧!

OpenSTA簡介
OpenSTA 是一个免费的、开源的的 web 性能测试工具。OpenSTA 是专用于 B/S 结构的、免费的性能测试工具。它的优点除了免费、源代码开放等优点外,还能对录制的测试脚本进行分析,并且按指定的语法进行编辑。軟件测试工程师在录制完测试脚本后,只需要了解该脚本语言的特定语法知识,就可以对测试脚本进行编辑,以便于再次执行性能测试时获得所需要的参数,而后进行特定的性能指标分析。OpenSTA 以最简单的方式让大家对性能测试的原理有较深的了解,其较为丰富的图形化测试结果大大提高了测试报告的可阅读性。
OpenSTA安裝方法
1、在欧普园下载軟件压缩包,解压后双击运行OpenSTA.msi安装文件
2、進入歡迎界面,點next

3、選擇安裝位置,默認是c盤,可以不用更改

4、继续点next直到軟件安装完成为止。
OpenSTA測試組成
OpenSTA 测试是一组用户控制的定义,其中包括脚本、性能指标收集器还有用于运行测试的参数。测试运行会生成由图形或者表格显示的结果。脚本和性能指标收集器是测试的构建模块。可以被许多不同的测试所引用。脚本决定了测试的内容,指标收集器则定义了测试运行期间将被收集的数据。添加到测试中的脚本和性能指标收集器会被放在测试任务组中。通过对每个测试任务组采用不同的设置来控制测试的运行以及目标 WAE 的负载水平。测试任务组的设置包括虚拟用户的数量、所使用的主机数目和一次测试运行脚本的回放次数。性能测试的开发首先需要对结构和内容进行规划。然后按序创建测试所需要的脚本和性能指标收集器。
OpenSTA 脚本
脚本构成了 HTTP/S性能测试的内容,记录了用户通过浏览器向目标网络应用环境(WAE)发出的请求。脚本是通过代理服务器或者 Gateway 传输 HTTP/S 通信,使用 SCL(脚本控制语言)命令取代原来的 HTTP/S 命令生成的。脚本建模器根据 Web 会话期间的 HTTP/S 通信来创建脚本,使用 SCL 语言记录了 HTTP/S 活动。当测试开始运行,该脚本就会回放所有原始请求。这意味着目标 Web 应用环境(WAE)将接收来自模拟浏览器用户,或虚拟用户的并发,异步连接和请求,就如同真实的终端用户一样。使用 SCL 编写脚本,可以对内容进行控制。通过引入变量来取代脚本录制生成的固定值,可以在指定的负荷水平上测试 Web 活动,从而使性能测试更为灵活有效。
脚本的录制,会产生一个 .HTP 文件和一个 .ALL 文件。.HTP 文件包含了在 SCL 编写过程中,Web 会话期间发出的所有 HTTP/S 浏览器请求。这个文件就是脚本,它会作为 Web 性能测试的一部分被建模和回放。而 .ALL 文件则将 WAE 响应保存在不同分类下,包括可以被用来对附属脚本进行建模的 DOM。所有的脚本都保存在存储库中,可以被不同的测试所引用。
OpenSTA Gateway
Gateway 是 OpenSTA 的一个组件,它与脚本建模器直接对接,记录 HTTP/S 通信,并创建脚本。它相当于一个代理服务器,位于客户端浏览器和承载了 WAE 环境的远程 Web 服务器之间。当你开始使用脚本建模器进行录制,Gateway 会覆盖浏览器的一些 Internet 连接设置,强迫使用代理服务器,在这里特指的就是 Gateway。Gateway 可以记录浏览器和 WAE 之间的网络活动,并产生一个 SCL 语言描述的脚本。 Gateway 将所有的浏览器请求存储在 HTP 文件中,WAE 对浏览器请求的响应则存储在 .ALL 文件中。.ALL 文件包含的 HTML 数据与 .HTP 文件中的内容有着直接联系。通过对 .ALL 文件的信息进行处理,可以实现脚本的建模。
OpenSTA 脚本和 SCL
SCL 是用于控制和记录 HTTP/S 通信的脚本控制语言。使用的 SCL 编写脚本,给开发切合实际的性能测试提供了建模能力。当你运行一个测试的时候,为了给一个或者多个目标 WAE 环境提供足够的负载,你可以编写一个脚本或者一个脚本序列,来模拟成千上万的虚拟用户。
OpenSTA 脚本和测试运行
HTTP/S 的通信是 Web 会话期间生成的关键信息。对它进行捕获,使你能够记录各种浏览器类型在不同平台的的活动。脚本可以被编写,然后在测试中被引用。录制和编写脚本后,你可以重放脚本从而重现原始的浏览器命令。HTTP/S 请求并发异步运行,建立起和原始的 Web 对话一样多的 TCP 连接,连接数目可以因为你选择运行测试的虚拟用户数量而成倍增加。与其它仿真技术相比,开发和执行基于 SCL 的测试消耗更少的资源。这使 OpenSTA 可以支持虚拟用户数量较大的测试。
OpenSTA Repository
Repository 是 OpenSTA 在硬盘驱动器或网络计算机上的一个存储区域。其中保存了所有测试定义文件,包括脚本和性能指标收集器。另外,测试运行期间产生的所有结果文件也都存储在这里。Repository 的内容和结构可以通过 commander 的 Repository 窗口来查看。它位于主窗口的左侧,能够显示存储的所有脚本、性能指标收集器和测试。你可以从 Repository 窗口开始创建新的脚本或者打开现有脚本。
OpenSTA 脚本开发
脚本包含了测试的内容,需要进行提前的录制。通过 OpentSTA Commander来启动脚本建模器,进行脚本的录制和编辑并把它添加到你的测试中。在你开始录制脚本前,应该先选择配置。对于不同的计算机网络配置,OpenSTA 提供了几种选择。你可以选择用来录制脚本的浏览器类型以及连接方式。
如何進行性能測試
測試的創建
測試的創建步骤如下:
打开 Commander,选 择 File->New Test->Tests。
或者,在 Repository 窗口中,右键单击 Tests 文件夹,并选择 New Test->Tests。测试将出现在 Repository 窗口,测试的图标上会出现一个红色小叉,表明该文件没有任何内容。只要打开测试,添加一个脚本或性能指标收集器,图标上的红色小叉就会消失。
右键单击新测试的图标,选择 Rename,输入一个符合 OpenSTA Dataname 的唯一名称,最多 60 个字符。
当切换到不同的功能界面或退出 Commander 时,性能测试会自动的保存到 Repository 中。
在 Commander 窗口双击测试图标,打开测试窗格。测试窗格中的 Configuration 选项卡上显示了一个测试列表。
注:同一时间只能打开一个测试或者性能指标收集器。当测试被打开,Repository 窗口的测试图标上会出现一个黄色小锁。表示打开的测试不能被重命名或删除。
添加腳本到測試
添加腳本到測試的步骤如下:
打开测试窗格,并选择测试窗格中的 Configuration 选项卡。
在 Repository 窗口双击展开 Scripts文件夹 . 左键点击一个脚本,然后,将其拖放到测试窗格中的Task列,结果如图 5 所示:
图1. 添加腳本到測試

注:選定的腳本會成爲新任務組的第一個任務,你也可以在同一行添加其它的腳本。
添加性能指標收集器到測試
添加性能指標收集器到測試的步骤如下:
打开测试窗格,并选择测试窗格中的 Configuration 选项卡。
在 Repository 窗口双击展开 Collectors文件夹 . 左键点击一个脚本,然后,将其拖放到测试窗格中的Task列,结果如图 6 所示:
图2. 添加性能指標收集器到測試

注:選定性能指標收集器會成爲新任務組的第一個任務,一個基于收集器的任務組只能包含一個任務。
編輯任務組調度設置
打开测试窗格,并选择测试窗格中的 Configuration 选项卡。
点击任务组中的 Start 单元格,初始的默认设置是 Immediately,表示测试运行时立即启动。
在 start 的属性栏里,展开下拉框并选择 Start Task Group选项:
Scheduled:任務組從你設置開始,一定時間後啓動,使用天數和時間文本框輸入一個時間段。
Immediately:測試運行時,立即啓動任務組。
Delayed:任務組從任務開始運行開始,一定時間後啓動,使用天數和時間文本框輸入一個時間段。
在 start 的属性栏里,展开下拉框并选择 Stop Task Group选项:
Manually:該工作組將持續運行,直到單擊“停止”按鈕,激活測試運行期間的工作小組,在狀態列。
After fixed time:工作组在运行指定的时长后结束。使用时间文本框输入一个时间段。
On Completion:工作组在运行指定迭代次数后结束。使用迭代次数文本框输入一个时间段。
運行性能測試
运行测试,可以模拟真实终端用户的 Web 活动,从被测的系统组件收集性能数据。产生的测试结果可以用来帮助评估目标 Web 应用程序环境(WAEs)的性能。
运行测试前,点击工具栏的编译按钮或选择 Test-> Compile Test来编译当前测试。如果测试编译成功,会出现一个提示信息,点击 OK 信息关闭对话框。
如果與性測試前還沒有編譯過測試,點擊工具欄的運行測試按鈕也可以直接編譯並運行。編譯好的測試會按照任務組的設置被分發到各個測試機上運行。
使用工具欄的停止按鈕停止測試,或用中斷按鈕中斷測試。
注:停止測試將保存所有測試結果,而中斷測試將清除所有測試結果。
当你运行一个测试,一个带有时间戳的测试结果文件夹会自动的创建到 Repository 中。点击测试窗格中的 Results 选项卡,点击测试结果文件夹选择要在结果窗口显示的测试运行期间收集的性能数据。
图3. 性能测试结果图
