孫萌婧
(陜西職業技術學院,710100)
軟件測試的地位隨著軟件開發規模的逐漸擴大、軟件系統的逐漸復雜以及軟件開發難度變大,加之開發和管理軟件的投入成本的提升,導致軟件測試變得極其重要。尤其是自動化測試的產生,使得其他非自動化測試方式逐漸淡出市場,而自動化測試慢慢變為普及的測試方式,有效的提高了軟件檢測的準確度與精準度。這與傳統的檢測相比具有極大的優勢。由此可見,在金融軟件測試領域中自動化測試不僅得到了廣泛的應用,而且具有較為廣闊的發展前景。
自動化測試是指由機器測試代替人為測試的一種過程,機器執行檢測精準度遠高于人工檢測的準確率。自動化測試通常是通過應用相應的自動化測試試軟件編寫測試腳本,通過審查后,得出一系列的數據結果,再將實際結果和期望結果相比較,從而進一步實現軟件測試的最終目。
在目前的金融行業項目測試中,銀行、保險以及相關的金融機構都是其包含的內容。其中,銀行項目自動化檢測的使用是最為廣泛的。自動化檢測一般在銀行使用都是起到為測試中心、程序中心保證項目質量的作用,其能夠進一步協調、開發測試工作。筆者會對銀行項目中公信貸項目的生成,與測試系統的方案綜合運用,綜合的立體分析自動化檢測需要的前期準備工作以及實施自動化檢測的工作流程。自動化測試實施步驟一般分為下列10個步驟:首先,檢測需要對測試的數據進行分析;再次,研究測試案例的規劃與設計;然后對測試數據進檢查;其次,QTP自動化框架的搭建、錄制腳本、開發腳本、調試腳本。
在對數據資料進行測試的過程中應該熟悉掌握銀行公信貸項目測試的系統框架,并且獲取相關的數據資料。在執行這個流程中需要銀行技術人員在成立自動化測試項目組之初對相關工作人員進行一定的培訓,讓工作人員了解并掌握系統架構、獲取資料的方式、制定測試范圍等。分析公信貸系統與其他系統的關系圖,如圖1所示。其次,銀行業務交易的分類。一般來說,業務系統包含了多種隸屬模塊,而每個模塊中存在著多個交易項目。相關工作人員充分了解系統模式以及相關的資料后就可以開始進行交易的類別劃分。之后的工作都由交易為單位進行。
最后,提取交易規則。提取交易規則主要是“手工額度占用”的規則,“手工額度占用”主要是手工調整有與系統處理錯誤導致沒有正常占用或釋放的額度數據信息。交易規則為:(1)保證、抵押、信用、保證金等為銀行手工額度占用的擔保方式;(2)客戶的業務評級包含1至10級,客戶在信貸系統的還款能力以及信譽取決與評級高低。

圖1 對公信貸系統和其他系統之間的關系
根據上文中提到的手工額定占用交易規則可以明確,使用正交分析法來進行測試案例。首先提取正交因素與因素水平。首先提取4個正交因素,可以得出表2的內容。表2中符號的含義分別為①表示占用起始日;②表示占用到期日;③表示授信額度起始日;④表示授信額度到期日;⑤表示占用金額;⑥表示當前系統日期;⑦表示授信可用額度。第二步,采用正交分析。將水平1對應的因素與其他水平的因素相替換并組合。第三步,根據正常條件與特殊條件的替代關系,便可產生一套新測試案例,如表3所示。

表2 水平采用等價類思想選取

表3 案例
測試數據的檢測與準備首先要明確使用數據,并且將其整合。從表3中可以得出,其中的24個測試案例,每個數據的評價水平都不同,存在明顯差異,在準備數據的過程總要選擇案例與數據進行匹配。每個數據都不盡相同,所以應該準備24條以上的數據進行。使用的24條數據進行檢查核對。數據準備的流程為:1)編寫SQL語句查詢數據庫;2)若數據不足,則補充數據。因為必須要將數據庫的安全性、可靠性考慮在內,因此交易界面做數據是最好的選擇。交易界面具有即時性,最數據時可以保證精確度。最后,備份數據庫。備份數據庫的意義非常重要,因為部分數據具有消耗性,用過后就不能再使用,因此必須先將數據備份,等調試成功后,在還原數據庫。
首先要使用關鍵字實施驅動自動化框架的準備。因為QTP使用的是關鍵驅動模式,能夠完全簡化測試的構建與維護工作,構建QTP自動化測試框架時,要將測試案例以及測試數據放置在Excel表格中,然后利用DataTable功能將表格中的測試案例、測試數據、用戶資料直接導入,最后進行自動化生成,如圖2所示。

圖2 自動化框架詳情
對腳本進行參數化轉變是開發腳本的過程,而增加部分擴展函數是二次開發腳本的過程。該過程一般使用vbs、SQL語言,并結合QTP自帶的方法和接口,對所錄制的腳本進行二次開發。二次開發是指對腳本進行重組和調整的過程,錄制后的二次開發腳本主要涉及增添logout和login函數、增加擴展函數、測試數據參數化、增加交易日志和截圖輸出功能等。
調試腳本過程主要是修整和優化對庫函數、測試數據參數化、增添logout和login函數、主腳本函數以及數據表等。調試完成后就可以正式進行運行工作。在運行二次開發腳本過程中首先要還原數據庫,因為在調試運行過程中,有些數據具有單次使用性,由于二次使用而消耗了。當運行過程中出現異常,就必須有針對性地修改相應配置,直到正常運行。
自動化測試在金融行業中普及開展不僅提高了金融行業系統的測試效率、工作效率、測試準確率,本文的銀行公信貸測試案例具有重要的參考價值,為金融行業節省了大量人力、物力以及財力的開支。現階段我國的金融行業發展迅速,金融軟件的開發與完善將越來越重要,因此,在如此龐大的數據案例中急需更多、更科學、更精確化、更智能化的自動化測試技術給予技術支持。在未來幾年,自動化測試的使用不僅僅是在金融領域,自動化測試技術在金融軟件應用將會越來越成熟、先進,并且普及到各行各業中。
[1]朱菊,王志堅,楊雪.基于數據驅動的軟件自動化測試框架[J].計算機技術與發展,2006,16(5):68-70.
[2]侯勇,張海林.自動化測試中的關鍵字驅動腳本技術[J]電子科技,2006,20(2):51-54.
[3]常征.功能測試中自動化測試框架的測試與應用[D].北京北京林業大學,2007:29-32.