摘 要: 以某證券公司的測試環境管理為例,闡述了在同類證券行業進行測試環境管理的一些經驗,并對測試環境管理做了框架性的系統研究。充分利用虛擬機和自動化配置技術,構建了一套可用于證券公司的測試環境管理框架。
關鍵詞: IT測試; 管理; 虛擬技術; 證券
中圖分類號:TP393 文獻標志碼:A 文章編號:1006-8228(2014)09-43-03
Practice on securities industry IT testing environment management
Song Zhidan, Wang Wei, Wang Weilu
(CT securities co.Ltd, Hangzhou, Zhejiang 310052, China)
Abstract: Take the test environment management of a securities company as an example, some experience of testing environment management in similar securities industry is introduced. The testing environment management is researched systematically. The virtual machine and automatic configuration technology are fully utilized to construct a set of test environment management framework available for securities company.
Key words: IT testing; management; virtual technology; security
0 引言
證券業信息系統經過幾十年的發展,已經越來越成熟,伴隨著證券公司業務多元化和創新工作的深入,信息系統也越來越復雜,IT運維工作面臨著巨大的挑戰。隨著網絡攻擊技術及其手段的發展,信息系統單純依靠網絡層面的防護已不足以抵擋黑客的攻擊,信息系統自身的強壯性、安全性逐漸成為信息安全管理工作的重點。信息系統軟件的質量不僅直接關系到證券行業的經濟利益,還關系到信息系統的安全性、證券公司形象和用戶體驗。因此,做好信息系統軟件的測試和管理工作,對降低信息系統后臺運行風險,即安全運行管理體系的事中管理,有著非常重要的意義;同時,還十分有助于信息系統相關使用人員熟練掌握新知識,提高業務操作能力,從而有效提高公司隊伍的整體業務素質,節約企業運營成本。
測試環境管理是測試活動的基礎和重要組成部分[1],是對測試環境中包含的所有軟、硬件的管理。其中硬件管理包括對主機服務器、客戶端、網絡設備的管理和維護;軟件管理包括對主機服務器端的操作系統、應用程序的管理和維護,對客戶端的操作系統、應用程序的管理和維護,對主機服務器與客戶端之間、主機與主機之間通訊軟件的管理和維護,還包括對被測軟件的部署、運行、維護等的工作。就IT測試環境管理而言,目前行業中并沒有較為成熟的管理方法。本文以某證券公司的測試環境管理為例,闡述在同類證券行業進行測試環境管理的一些經驗,并對測試環境管理進行框架性的系統研究,充分利用虛擬機和自動化配置技術,構建了一套可供證券公司參考使用的測試環境管理框架。
1 證券公司測試環境建設的發展歷程
信息系統測試系統在證券公司發展主要經歷了三個階段。
1.1 無測試環境階段
在交易系統數據集中化交易之前以及集中化交易初期,由于證券交易處于分散狀態或者集中規模較小,且各項業務系統復雜度較低,在產生系統變更需求時一般以需求方式向軟件開發商提交相關業務及技術需求說明書。軟件開發商在完成需求開發后,在軟件開發商自有測試環境中,通過開發商相關產品測試流程及規范進行產品測試。證券公司沒有建立測試環境,在該階段,軟件的質量完全依靠開發商的測試規范來保證。在這個階段,主要存在以下幾方面的問題:
⑴ 軟件開放商測試平臺硬件環境與最終使用者差異較大;
⑵ 軟件開發商測試平臺用戶環境與最終使用者差異較大;
⑶ 軟件開放商測試過程在業務仿真程度上存在欠缺;
⑷ 軟件開放商測試人員在業務理解上可能存在不足。
這些問題直接造成了軟件開放商在進行產品測試時無法做到對軟件運行環境的最佳模擬。
1.2 簡易測試環境階段
隨著集中交易進程的不斷深入,原來采用的以軟件出廠測試的方式已經不再適合公司業務的發展需要,于是開始了建立測試環境系統的嘗試。
在該階段集中交易系統核心服務器設備一般均采用PC服務器,硬件設備的通用型和易獲取性較高,且該階段核心數據庫軟件架構一般采用Windows+SQL Server的結構,同時客戶業務數據量尚處于小規模的范疇。因此在搭建測試環境時采用了與生產環境架構類似的高端PC機或者普通PC服務器;在軟件結構及用戶數據方面則完全復制生產環境;在測試組織方面,主要通過辦公互聯網絡組織公司總部業務部門及網點有關人員參加?;拘纬闪霜毩y試系統的雛形。
在這個階段的測試應用中,改變了第一階段中軟件測試依靠開發商出廠測試的情況,公司業務部門參與到了軟件測試當中,彌補了以往測試中存在的業務仿真度不高以及測試人員素質差異導致的測試有效性欠缺。但該階段的測試仍存在以下問題:
⑴ 測試硬件平臺與生產硬件平臺性能存在較大差異,造成壓力測試無法進行或者數據可參考性不足;
⑵ 由于測試環境基于辦公互聯網絡,業務參與人范圍有限,同時受到服務器性能限制,無法進行全網規模的測試;
⑶ 由于辦公互聯網桌面管理系統尚未建立,存在較大的業務數據泄露風險。
1.3 獨立測試環境階段
2009年公司完成了信息系統安全等級保護測評工作,根據《信息系統安全等級保護基本要求》中7.2.4.4自行軟件開發(G3)“應確保開發環境與實際運行環境物理分開”[2]的要求,集中交易柜臺系統升級改造以及公司新數據中心機房建設過程中平行開展了公司集中交易系統獨立測試系統的設計與搭建。在測試系統設計過程中主要圍繞三點要求:
⑴ 測試主機系統環境與生產主機環境保持一致,即均采用IBM小型機(生產環境采用590系列,測試環境采用520系列),操作系統及數據庫均采用AIX系統及Oracle數據庫,軟件版本保持一致;
⑵ 測試系統中間件架構與生產系統保持一致;
⑶ 測試系統網絡與生產系統互通且易于隔離。
新建測試系統很好地彌補了以往測試系統所存在的不足。測試系統與生產系統各項軟、硬件基礎環境一致保證了經過測試系統測試的軟件能夠基本無縫移植到生產環境中,避免了由于環境差異造成的系統風險;測試系統與生產系統網絡互通,保證了測試系統的使用范圍可廣泛覆蓋全公司業務部門及分支網點;測試系統與生產系統易于隔離,保證了在進行全網測試時生產系統及測試系統的相互獨立,降低了操作風險。
在建設獨立測試環境的基礎上還利用生產系統的溫備環境作為系統上線測試系統。由于溫備環境在各項軟硬件配置上與生產環境保持嚴格一致,進一步保障了軟件系統變更后測試運行的完全擬真;同時溫備環境為系統壓力測試提供了可能,通過在溫備系統壓力測試可準確獲得生產系統壓力容量的相關數據。溫備環境數據的恢復則可簡單地通過數據同步,即數據由生產環境向溫備環境同步完成,最大程度避免了在測試恢復過程中出現各種操作風險。
2 證券公司測試環境管理設計
2.1 設計思路和框架規劃
軟件開發與測試環境的搭建是整個軟件開發流程的重要環節,不同版本的操作系統、數據庫、網絡服務器以及應用服務的組合,使得要構建的軟件測試環境種類繁多。隨著軟件運行環境的多樣性、配置各種相關參數的復雜性以及測試軟件的兼容性等方面的需求增多,構建軟件開發測試環境的工作變得復雜和頻繁[3]。因此,測試中心和生產中心、災備中心一樣,成為公司IT整體規劃的重要組成部分,是業務系統開發、系統項目建設、系統補丁升級以及供系統用戶進行功能驗證的重要環境。
設計思路:建立日常運維使用、項目實施使用和項目開發使用三大測試環境,分別滿足三類不同的測試使用需求,從而規范公司信息系統上線、升級和業務功能驗證等測試活動,提高測試工作的有效性。證券公司測試環境整體規劃如圖1所示。
2.1.1 日常運維使用環境
該測試環境與生產中心部署模式基本相同,僅有一定程度的性能負載降低。日常運維使用環境主要用于生產系統升級、外部機構(如深滬證通公司、深滬證券交易所、中國登記結算公司深滬分公司等)發起的新業務功能測試、員工內部業務培訓等,使用者為公司所有業務部門、信息技術部和全部營業網點。通常這些證券公司已經建有日常運維使用環境,覆蓋范圍包括:大集中交易系統、融資融券系統、帳戶管理系統、影像管理系統、三方存管系統等。
2.1.2 項目實施使用環境
該環境用于驗證系統升級、新業務系統功能和系統架構部署的有效性,主要供信息技術部內部項目實施人員、系統運維人員和少部分參與驗證的業務部門人員使用。
在測試中心規劃設計時考慮到軟硬件的投入,所以采用虛擬機技術來構建測試環境。虛擬機運行于物理主機操作系統之上,但在功能上完全等同于一臺獨立的主機。用戶無需任何額外開銷就可以根據需要隨時為虛擬機添加或刪除虛擬設備。同時,通過使用虛擬機快照工具,一方面可以省去諸如開機、關機等特定操作的等待時間,另一方面也使用戶從復雜而重復性的配置工作中解脫出來,尤其是無需擔心被測對象對虛擬系統造成任何不良影響[5]。該證券公司項目實施使用測試環境采用虛擬機規劃架構,如圖2所示。
該架構的優勢在于:
⑴ 關鍵系統測試資源長期保留,其他資源因需要快速部署;
⑵ 對系統性能不做要求,主要用于測試系統架構有效性和業務功能;
⑶ 通過虛擬化技術實現非關鍵系統測試環境的快速部署;
⑷ 測試資源由系統管理員負責統一分配;
⑸ 測試環境應擁有獨立的網段。
2.1.3 開發測試環境
該環境主要用于公司新立項或預研階段,新產品、新系統的開發使用,以及公司的業務系統培訓,主要面向信息技術部開發工程師、項目實施工程師和第三方公司開發人員,通過虛擬化技術實現,并應用配置管理自動化技術,幫助使用人員快速建立使用環境;測試環境擁有獨立的網段,并限制互聯網連接。
2.2 測試環境流程管理
測評環境流程管理在測試使用需求和測試資源之間建立了一條清晰的邏輯路徑。這條路徑主要由“四個管理”(配置管理、資源使用管理、變更管理及容量管理)和“兩個辦法”(項目測試管理辦法及日常運維管理辦法)組成,是一套完整、嚴密、科學的測試管理流程系統。管理流程的邏輯拓撲和總體框架如圖3所示。
2.3 測評環境配置管理
測試環境配置管理是軟件測試中非常重要的工作,同時又是一項復雜而又耗費人力的工作。測試人員需要準備不同的測試環境以滿足不同測試用例的需要,每種環境又都可能被部署到不同的機器上[4]。因此,該證券公司的測試環境配置管理從測試環境總量配置信息(包括配置項CI和配置管理數據庫CMDB)、硬件配置手冊、軟件配置手冊等方面著手建立配置規范和流程。
測試管理的使用者需提前向測試管理專員提交《測試環境使用申請表》,其內容包括測試背景、測試需求、測試內容、方案方法、結果報告等。測試結束后,測試管理專員應根據管理流程收回測試資源。
3 測試環境管理實踐的階段性成果
專用測試系統自2009年啟用以來,在各項軟件系統的升級變更過程中起到了非常重要的作用。同時,我們建立了測試系統技術升級測試——測試系統全網業務測試——溫備環境全網業務測試——生產環境正式上線的軟件升級標準變更測試流程。
以2012年集中交易柜臺軟件變更為例,證券公司總共利用測試環境完成了集中交易柜臺2011SP0pack3、2011SP1pack1、2011SP1pack3升級、帳戶管理系統SP2pack9升級、融資融券系統上線測試、上交所跨市ETF基金申贖及交易測試、上交所跨市ETF基網下股份認購升級測試、深交所跨市場ETF全網測試、上??赊D債質押出入庫及回購業務通關測試、深交所中小企業私募債券技術準備升級、登記結算公司關于基金銷售機構加入基金注冊登記數據中央交換平臺技術準備升級、上交所中小企業私募債券全網測試等多項測試。通過在測試環境中進行全網業務測試,對公司各業務人員進行了實踐操作實驗與培訓,提高了溫備環境測試的效率,保障了各項升級變更的安全、順利上線。
4 結束語
雖然軟件測試管理在IT業內已經發展為成熟的科學理論,但當前面臨的主要問題是,成熟的軟件測試管理理論屬于通用理論,而各行業主營業務雖然與IT高度結合,但仍然具有其代表性的行業特點。因此,如何以軟件測試管理理論為指導,將其應用到行業實踐中去,探索出一套適合行業業務特性的實踐指南是目前亟需解決的問題。
本文的研究正是針對這一問題,通過對證券公司測試環境發展三個歷史階段的研究,應用軟件測試管理理論,對證券公司測試環境管理進行了設計和規劃,包括明確了整體設計思路和規劃框架、測試環境流程管理、測試環境配置管理等內容。通過測試環境管理在證券公司的應用實踐,驗證了該測試環境管理設計框架的可行性和有效性。
對于如何持續改進測試環境管理框架設計,使其能隨著證券行業的不斷發展而持續完善,是下一步要研究解決的問題。
參考文獻:
[1] 張媛媛.測試環境管理的研究與應用[D].北京郵電大學碩士學位論
文,2010.
[2] GB/T 22239-2008《信息安全技術信息系統安全等級保護基本要
求》概要.信息技術與標準化,2009.11.
[3] 龔愛斐,張文靜.基于虛擬化架構的軟件開發與測試環境自動化[J].
自動化與信息工程,2008.2.
[4] 于飛.軟件測試環境自動配置工具AutoHCI的研究與實現[D].吉林
大學碩士學位論文,2007.
[5] 王斌,趙正海,張峰.虛擬機技術在網絡軟件測試中的應用. 2008年
中國高校通信類院系學術研討會論文集(下冊),2009.