基於開源工具的測試平臺搭建

1、  簡介

隨着web系統的越來越複雜,規模越來越龐大,使得軟件測試在軟件質量保證環節變得越來越重要。近些年來,商業化的軟件測試工具越來越多,使用越來越繁瑣,價錢越來越昂貴,這無疑對中小型公司的web產品的質量保證的成本越來越高。筆者通過研究衆多的windows平臺的開源測試工具,比對這些工具的優越性和差異性,最後設計了包含自動功能測試、前端性能評價、性能測試、故障診斷以及測試管理系統在內的一套基於開源軟件的web系統測試平臺。其結構圖如下所示:


2、  自動化功能測試和前端性能評價

2.1 相關工具簡介

         自動化功能測試是通過selenium實現的,selenium是一個web應用程序自動化測試工具,通過Selenium IDE可以將其直接運行在火狐瀏覽器中,就如同真是用戶訪問行爲。本平臺採用Selenium IDE部署在Firefox之上進行自動化功能測試。

         前端性能檢測工具YSlow,YSlow是由雅虎公司開發的免費前端性能檢測工具,YSlow通過檢測頁面上的所有組件,其中包含了JavaScript動態創建組件、分析頁面前端性能。該工具依據桑德斯提出的前端性能優化黃金法則進行測試,對不滿足項會提出改進意見,是前端性能評價的優秀工具。

         前端性能評價結果收集是通過ShowSlow工具實現的,showslow能夠存儲YSlow、PageSpeed等工具的測試結果,幫助前端工程師分析頁面載入耗時的歷史變化,由此來幫助web項目的前端性能提升。

         通過2.2中介紹的方法,selenium、YSlow和ShowSlow工具已經集成爲一個平臺,每次做自動化功能測試的時候,只要啓動了YSlow自動運行,那麼ShowSlow會自動收集前端性能信息到Mysql數據庫中。

2.2 安裝部署過程

上述工具下載和firefox安裝再次不再累述,本平臺應用了appserv-win32-2.5.9提供php和mysql服務,YSlow和Selenium的都安裝firefox插件在firefox的擴展程序找到安裝即可。下面詳述一下配置過程:

第一步:將ShowSlow解壓到appserv的www文件夾下,修改config.sample.php文件的

$showslow_root = '/path/to/showslow/root/';

$showslow_base = 'http://www.example.com/showslow/'; # don't forget the trailing slash

 

# Database connection information

$db = 'showslow';--

$user = 'root';--mySQL用戶名一般不用改

$pass = 'chenlei';--用戶名密碼

$host = 'localhost';--mySQL服務器IP地址

第二部:配置數據庫:MySQL創建數據庫

//創建一個數據庫,名字和第二步你填寫的保持一致

create database showslow ‘;

//切換到新建的數據庫

use showslow;

// 將ShowSlow文件夾的tables.sql(數據庫表)導入到新建的數據庫中,注意無分號

source c:\tables.sql

//查看下是否導入成功了,貌似有個表名叫showslow,汗

show tables;

第三步:修改appserv的php.ini

;;;;;;;;;;;;;;;;;;;;;;

; Dynamic Extensions ;

;;;;;;;;;;;;;;;;;;;;;;

;extension=php_mbstring.dll

;extension=php_bz2.dll

;extension=php_curl.dll

;extension=php_dba.dll

extension=php_dbase.dll

;extension=php_exif.dll

;extension=php_fdf.dll

;extension=php_filepro.dll

extension=php_gd2.dll

;extension=php_gettext.dll

;extension=php_ifx.dll

;extension=php_imap.dll

;extension=php_interbase.dll

;extension=php_ldap.dll

extension=php_mbstring.dll

;extension=php_mcrypt.dll

;extension=php_mhash.dll

;extension=php_mime_magic.dll

;extension=php_ming.dll

;extension=php_mssql.dll

;extension=php_msql.dll

extension=php_mysql.dll

extension=php_mysqli.dll

;extension=php_oci8.dll

;extension=php_openssl.dll

;extension=php_oracle.dll

;extension=php_pgsql.dll

;extension=php_shmop.dll

;extension=php_snmp.dll

extension=php_sockets.dll

;extension=php_sqlite.dll

;extension=php_sybase_ct.dll

;extension=php_tidy.dll

;extension=php_xmlrpc.dll

;extension=php_xsl.dll

;extension=php_pdo.dll

;extension=php_pdo_sqlite.dll

;extension=php_winbinder.dll

第四步:配置YSlow

1.打開Firefox輸入:about:config

2.filter中輸入:yslow

3.修改以下三條數據

extensions.yslow.beaconUrl = http://localhost/showslow/beacon/yslow/

如果測試和服務器不在同一機器上,請將localhost改成實際地址

extensions.yslow.beaconInfo = grade

extensions.yslow.optinBeacon = true

         上述配置完成後,重啓Firefox,平臺搭建好了可以開始前端性能優化之旅了,平臺如下圖所示。


3、  性能測試及故障診斷

3.1 相關工具介紹

         性能測試及故障診斷部分主要應用開源性能測試工具fwptt和glassbox,其中fwptt是基於.net平臺開發的web應用負載測試工具,它可以記錄http交互請求,記錄Ajax交互。可以用來測試asp.net、JSP、PHP等web應用,該工具能夠將錄製的http交互信息轉換成c#代碼,方便閱讀。

         Glassbox是是一個自動故障排除和監控的應用程序。通過一次點擊診斷常見的問題。無論是在生產或測試,你都可以拖放到您現有的Java應用服務器中。它故障排除的知識很簡單,任何人都可以找出失敗的原因。通過筆者的研究,除了目前通用的tomcatapache等中間件外,也能部署在國產的金蝶、東方通等中間件之上。  上述兩個工具下載安裝部分本文就不再累述。

3.2 安裝部署過程

         首先介紹一下fwptt工具的應用方法,該工具的執行包是一個綠色版本,但是需要.NET支持。下載啓動後如下圖所示:


         這是一個功能的集成界面,通過開始錄製(start recording)啓動錄製頁面,錄製頁面提供了一個代理的地址和端口號,是fwptt工具集成的代理功能。

         將被測試瀏覽器的代理設置成如上圖所示,然後點擊開始錄製(start recording),接可以將訪問過程的http信息記錄到錄製頁面中,如上圖所示,點擊停止錄製(stop recording)結束錄製,錄製完成後可以直接關閉錄製頁面,系統會返回到集成界面。

         點擊開始測試(runtests),進入壓力測試部分,該部分可以設置併發線程數,每次響應的等待時間(本部分建議600ms以上),執行策略等。設置完成後,點擊開始,該工具會開始進行壓力測試公司統計各部分響應時間等信息。該工具還提供了對記錄下來的腳本的保存,參數的修改等功能。

         其次,介紹一下Glassbox診斷工具以及相關配置方法。Glassbox是基於中間件的故障診斷工具,通過部署在中間件之上監控運行在中間件上各個服務的響應時間、資源利用等信息,通過對比其自身的分析模型,預警故障服務並提供可能產生原因和解決方法等輔助信息。本文以部署在tomcat上爲例進行簡單介紹。運行tomcat進入tomcat管理部分(進入時需要用戶名和密碼,是當初安裝時設定的)。


 輸入正確的用戶名和密碼後,進入tomcat的管理界,然後 在部署war文件部分選擇,選擇呢glassbox.war文件所所在位置。點擊部署按鈕。然後進入glassbox的安裝界面:http://(tomcat的服務器地址):(端口):glassbox/Install.form;    進入安裝界面,點擊安裝按鈕,進行安裝。

安裝完成後,停止tomcat服務,雙擊tomcat圖標進入tomcat的屬性配置界面,選擇java標籤。在javaoption中添加如下啓動項,然後重啓tomcat服務。

-Dglassbox.install.dir=tomcat所在目錄)commonlibglassbox

-Djava.rmi.server.useCodebaseInly=true

-javaagent: tomcat所在目錄)commonlibaspectjweaver.jar

 最後,在瀏覽器上輸入http://(tomcat服務器):tomcat配置端口)/glassbox/Client.form

    就可以進入並看到glassbox監控的內容了。


4、  測試管理

4.1 相關工具介紹

         本文介紹的測試管理工具是TestLink,TestLink是基於web的測試管理系統,能夠分項目、分角色的管理測試項目,測試構建之間相互獨立。測試結果也可以通過接口導出到excel中,方便測試結果的保存歸檔。本文使用自動化功能和前端性能模塊中應用的appserv-win32-2.5.9提供相關php和mysql的支持。

4.2 安裝部署過程

         在Testlink網站上下載TestLink解壓到www目錄中。通過http://localhost/testlink/install/index.php進行選擇newinstallation進行安裝。通過一系列下一步後,到達配置數據庫頁面。其中上面的用戶名密碼是數據庫的管理用戶名和密碼,

         配置完數據庫連接後,點擊process TestLink Setup按鈕,即可開始應用TestLink了。系統默認用戶名和密碼都是admin。

5、  總結

本文介紹了筆者在實際工作中通過開源工具搭建的web系統測試平臺,其中覆蓋了自動化功能、前端性能、性能測試、故障診斷以及測試管理等相關功能。該平臺完全採用開源工具,自動化實現測試。但是該平臺在單元測試部分還需進一步完善。

參考:

1)  http://seleniumhq.org/

2)  https://github.com/marcelduran/yslow/wiki/User-Guide

3)  桑德斯. 高性能網站建設指南. 劉彥博譯. 北京: 電子工業出版社, 2008:5-102.

4)  http://www.showslow.com/

5)  http://glassbox.sourceforge.net/glassbox/Home.html

6)  http://fwptt.sourceforge.net/

7)  http://sourceforge.net/projects/testlink/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章