云計算時代的到來將改變?nèi)藗兊腎T應用方式,同時也會帶來軟件研發(fā)、軟件測試模式的巨大改變。尤其是隨著云計算應用的逐步升溫,云測試也在銀行業(yè)應用軟件的研發(fā)中嶄露頭角。

  所謂云測試是一種基于云計算的新型軟件測試模式,它為用戶提供了數(shù)種軟件測試平臺,測試人員可遠程登錄到這些平臺上,在完成硬件配置、操作系統(tǒng)、中間件、工具軟件、網(wǎng)絡拓撲等環(huán)境參數(shù)的設置后,只要2-4個小時即可創(chuàng)建一套虛擬測試環(huán)境,進而在此環(huán)境中展開應用軟件的全套測試。

  單一測試已成明日黃花

  在商業(yè)銀行后臺業(yè)務實現(xiàn)集中處理后,系統(tǒng)開發(fā)規(guī)模將不斷加大,軟件測試作為系統(tǒng)研發(fā)中極為關鍵的一環(huán),已得到銀行科技部門的高度重視,不僅大部分銀行設立了專業(yè)化的測試部門,而且測試人員在項目開發(fā)中所占比例也在不斷擴大。不過,由于以往被廣泛采納的獨立系統(tǒng)測試方案已無法滿足核心系統(tǒng)的研發(fā)測試,因此,如今各銀行信息系統(tǒng)的測試工作都在尋求一種新的測試方式。

  當前各大銀行軟件測試確實存在一些問題,如整個測試過程缺乏關聯(lián)協(xié)調(diào)、沒有功能強大的測試工具、測試人員在經(jīng)驗和能力等各方面都有待提高等。因而在銀行核心業(yè)務系統(tǒng)的開發(fā)中,傳統(tǒng)的單一測試法已成明日黃花,自動化、支持多系統(tǒng)多平臺的云測試必將在銀行核心應用系統(tǒng)的研發(fā)中大行其道。

  目前商業(yè)銀行所研發(fā)的應用軟件基本上都要受到運行環(huán)境的影響。云測試可為各類應用軟件的測試提供不同場景下的硬件環(huán)境,并能模擬不同的操作系統(tǒng)、數(shù)據(jù)庫、瀏覽器等軟件環(huán)境,以測試應用軟件對不同系統(tǒng)環(huán)境的適應性。而在安裝了防火墻及防病毒軟件后,還可測試相關應用軟件運行的可靠性,進而完成軟件性能和壓力的測試。

  以B/S架構的網(wǎng)上銀行程序為例,它能否正常運行受到以下因素影響:防火墻配置、本地網(wǎng)絡配置、企業(yè)防火墻配置、本地安全性設置、注冊表設置、用戶賬戶配置、同時運行的其他的應用程序等。這些參數(shù)的組合往往呈現(xiàn)爆炸性增長。即便有虛擬化軟件輔助,在短時間內(nèi)也難以完成相應的配置測試。而云測試則可預先構建好大量配置各異的虛擬測試環(huán)境,提供詳細的配置說明,推薦給測試人員。測試人員可以選擇少數(shù)典型的測試環(huán)境,自行實施配置測試,也可以將測試用例提交給云測試,讓測試并發(fā)地運行在大量的測試環(huán)境中,并在短時間內(nèi)獲得大量的測試反饋。

  “云”中實現(xiàn)測試工具整合

  云測試不但可以提供完整的測試環(huán)境,還可以提供許多附加服務。對于測試專用的虛擬機,它可以提供還原點,以便測試人員將虛擬機重置到指定狀態(tài)。在應用軟件測試過程中,云測試可以監(jiān)控被測試程序的每一次操作,例如注冊表訪問、硬盤文件讀寫、網(wǎng)絡訪問、系統(tǒng)日志寫入、系統(tǒng)資源占用率、內(nèi)存映像序列化、屏幕錄像等。并將這些信息與測試用例一起展示出來,以幫助測試人員發(fā)現(xiàn)問題,定位錯誤。對于大規(guī)模的系統(tǒng)壓力測試,云測試可以模擬多臺客戶終端同時執(zhí)行統(tǒng)一的測試用例,并將測試結果匯總后報告給相關的測試人員。

  云測試還可提供銀行專業(yè)知識和業(yè)務流程的測試服務。這些知識和流程可以通過測試用例、測試數(shù)據(jù)、自動化測試等形式提供。例如,許多應用需要讀取文件,云測試可以提供針對文件讀取的模糊測試。測試人員將被測試的應用程序提交給云測試,云測試將其部署到多臺測試機上。對每一臺測試機而言,這些被測試的程序要讀取海量的文件,每一個文件都是特意構造的攻擊文件。一旦遇到堆棧溢出等問題,云測試可立即保存被測試程序的內(nèi)存映像,并提供一份內(nèi)存映像文件和詳細的分析報告。

  以往這些附加服務都是通過數(shù)種不同的測試工具提供的,而云測試則對這些測試工具的服務功能進行了整合,為應用系統(tǒng)的研發(fā)提供統(tǒng)一、完備的測試服務。從而使銀行的測試人員無需再為測試工具的選擇而絞盡腦汁,而將更多的精力投入到業(yè)務系統(tǒng)的測試工作中。

  滿足應用系統(tǒng)多樣化需求

  當前商業(yè)銀行核心業(yè)務應用系統(tǒng)在設計時首先會考慮到各種各樣的業(yè)務需求,因而其復雜程度越來越高,例如客戶服務系統(tǒng)中包含信貸管理子系統(tǒng)、風險分析和監(jiān)控子系統(tǒng)、資金交易和分析子系統(tǒng)、網(wǎng)上銀行子系統(tǒng)等。同時還會涉及銀行賬務處理,而賬務處理流程相對來說是比較復雜的,精確性要求很高。其次銀行軟件系統(tǒng)開發(fā)使用的編程語言、工具、技術很雜,往往采用了一些非常用的技術,需要特別考慮。

  這些核心業(yè)務應用系統(tǒng)在研發(fā)過程中,由于系統(tǒng)關聯(lián)度太高,架構過于復雜,往往缺乏合適的測試用例,在模糊測試、安全性測試等需要專家經(jīng)驗的測試項目中尤其如此。而云測試可以為各項目組的測試人員預先準備好各類海量的復雜測試用例。與虛擬化的測試環(huán)境對比,此項服務專注于特定的測試領域,并提供了稀缺的專業(yè)技能,附加值應該更高。

  對中小商業(yè)銀行而言,系統(tǒng)的一些端到端的功能測試、性能測試、容量測試可直接采納云測試提供的測試用例,進而完成相關測試。利用云測試測試后會生成詳細的測試報告,測試報告除了包括常見的性能指標,還會提供特有的建議信息。

  隨著云測試的進一步發(fā)展以及云計算理念的不斷深化,云測試必將在銀行業(yè)的軟件研發(fā)中大規(guī)模地普及。同時在采用這種新技術的同時,銀行科技部門還要考慮將其與銀行業(yè)的特殊性相結合,進行動態(tài)實時調(diào)整并自動計算資源調(diào)用情況,以便進一步提高測試效率。

  當然云測試這種測試模式從出現(xiàn)至今,也飽受業(yè)內(nèi)人士的質(zhì)疑,其面臨的問題還有很多,目前尚處于應用的初級階段。但這并不能阻止它向前發(fā)展的趨勢,只要這種技術的應用能真正帶來測試效率的提升,相信在不久的將來,更多的金融機構會考慮以云測試的方式來實現(xiàn)信息系統(tǒng)的虛擬化測試,以滿足銀行各應用系統(tǒng)個性化、多樣化的需求。