本站小編為你精心準(zhǔn)備了銀行自動(dòng)化測(cè)試技術(shù)研究與應(yīng)用參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
隨著金融科技蓬勃發(fā)展,基于大數(shù)據(jù)、人工智能、云計(jì)算和物聯(lián)網(wǎng)等新興技術(shù)應(yīng)用的金融創(chuàng)新不斷涌現(xiàn)。這在給金融系統(tǒng)安全風(fēng)險(xiǎn)防范帶來巨大挑戰(zhàn)的同時(shí)也加劇了銀行同業(yè)以及銀行與科技金融公司之間的競(jìng)爭(zhēng)。快速推出具有創(chuàng)新性、體驗(yàn)好的產(chǎn)品,就能快速搶占市場(chǎng),取得先機(jī)。測(cè)試作為產(chǎn)品研發(fā)生命周期的重要一環(huán),已成為銀行信息科技領(lǐng)域一項(xiàng)專業(yè)工作。傳統(tǒng)人工測(cè)試方式因投入大、效率低和受環(huán)境制約等弊端,在很多情況下無法滿足產(chǎn)品快速交付和投產(chǎn)要求,因此,通過技術(shù)手段開展自動(dòng)化測(cè)試勢(shì)在必行。
一、自動(dòng)化測(cè)試基本概念及分類
1.基本概念自動(dòng)化測(cè)試是指軟件測(cè)試(SoftwareTesting)的自動(dòng)化,是把以人為驅(qū)動(dòng)測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行的一種過程。通過研發(fā)自動(dòng)化工具,可將常用的、穩(wěn)定的工作流程通過工具進(jìn)行固化,以實(shí)現(xiàn)快速測(cè)試,提高測(cè)試效率,嚴(yán)控測(cè)試質(zhì)量。2.自動(dòng)化測(cè)試分類自動(dòng)化測(cè)試從技術(shù)實(shí)現(xiàn)特征上可分為單元測(cè)試(Unit)自動(dòng)化、接口級(jí)(API)自動(dòng)化和界面級(jí)(UI)自動(dòng)化三個(gè)層級(jí)。從實(shí)現(xiàn)內(nèi)容上,又可分為案例設(shè)計(jì)自動(dòng)化、案例執(zhí)行自動(dòng)化、測(cè)試結(jié)果核對(duì)自動(dòng)化、測(cè)試缺陷提交自動(dòng)化以及測(cè)試報(bào)告生成自動(dòng)化等。下面主要從技術(shù)實(shí)現(xiàn)特征上進(jìn)行闡述。(1)Unit單元測(cè)試自動(dòng)化主要是開發(fā)人員開發(fā)測(cè)試程序或依托專用測(cè)試軟件對(duì)軟件程序單元模塊開展自動(dòng)化測(cè)試,比如適用于Java的測(cè)試工具JUnit。單元測(cè)試需要有一定編程技能,由于邏輯簡(jiǎn)單,維護(hù)案例成本較低,實(shí)現(xiàn)自動(dòng)化測(cè)試較為容易,受益率高。(2)API接口層自動(dòng)化測(cè)試基于程序接口或報(bào)文格式開展的自動(dòng)化測(cè)試需要依據(jù)系統(tǒng)接口特點(diǎn)和報(bào)文格式進(jìn)行適應(yīng)性開發(fā),工具研發(fā)周期較長(zhǎng),可實(shí)現(xiàn)復(fù)雜案例設(shè)計(jì),能屏蔽案例對(duì)某些特殊環(huán)境依賴,適用范圍廣,受益率適中。(3)UI界面層自動(dòng)化測(cè)試該測(cè)試一般通過專用自動(dòng)化工具實(shí)現(xiàn),模擬用戶對(duì)交易界面操作進(jìn)行錄制、識(shí)別和回放,檢驗(yàn)應(yīng)用程序能否達(dá)到預(yù)期功能及正常運(yùn)行。門檻相對(duì)最低,但案例維護(hù)成本較高,受益率較低。三種分類及維護(hù)成本如圖1所示。
二、自動(dòng)化測(cè)試案例實(shí)踐
對(duì)于單元測(cè)試自動(dòng)化,業(yè)界已有很多經(jīng)典案例,不再贅述。本文僅選取所實(shí)踐項(xiàng)目中基于API接口層自動(dòng)化和UI界面層自動(dòng)化開展的兩個(gè)案例介紹。1.基于API接口層自動(dòng)化實(shí)現(xiàn)無人值守的全天候測(cè)試測(cè)試某一項(xiàng)目,需要與人行系統(tǒng)對(duì)接,按人行規(guī)定從2018年1月22日起,系統(tǒng)實(shí)行521小時(shí)運(yùn)行,即:從T-1日20:30到T日17:15正常受理來賬和往賬,同時(shí),節(jié)假日首日的前一日20:30至節(jié)假日首日8:30為特殊工作日,該段時(shí)間雖然人行大額狀態(tài)為開啟,但不允許做大額交易。上述場(chǎng)景測(cè)試案例執(zhí)行時(shí)間都在節(jié)假日及工作日的非工作時(shí)間段,為減少節(jié)假日人員加班,并實(shí)現(xiàn)正常測(cè)試,基于該系統(tǒng)的特點(diǎn),我們自主開發(fā)了基于交易API接口層自動(dòng)化測(cè)試腳本,并在腳本中增加了定時(shí)執(zhí)行功能,實(shí)現(xiàn)測(cè)試案例在特殊時(shí)間點(diǎn)無人值守自動(dòng)化執(zhí)行,且在執(zhí)行結(jié)束后自動(dòng)生成測(cè)試報(bào)告。測(cè)試人員在工作日可通過自動(dòng)化測(cè)試報(bào)告了解交易詳細(xì)執(zhí)行情況,取得了事半功倍的效果。2.基于UI界面層自動(dòng)化實(shí)現(xiàn)大數(shù)量測(cè)試快速?gòu)?fù)現(xiàn)生產(chǎn)問題某系統(tǒng)投產(chǎn)后,在生產(chǎn)環(huán)境中出現(xiàn)了交易返回報(bào)文中內(nèi)容有錯(cuò)位現(xiàn)象,影響了客戶數(shù)據(jù)正確性。為盡快分析和定位生產(chǎn)出現(xiàn)的問題,需要對(duì)20多萬(wàn)筆生產(chǎn)數(shù)據(jù)逐一驗(yàn)證測(cè)試,如果采用手工測(cè)試,需要在兩個(gè)環(huán)境執(zhí)行40多萬(wàn)條案例,短期內(nèi)無法完成。測(cè)試人員通過使用UFT自動(dòng)化測(cè)試工具,很好地解決了上述問題:首先用UFT工具錄制上述交易執(zhí)行腳本,然后通過參數(shù)化技術(shù)調(diào)試腳本,增強(qiáng)腳本健壯性,使20多萬(wàn)條數(shù)據(jù)在腳本中自動(dòng)替換;通過VBS編程,判斷交易返回報(bào)文是否成功,如果不成功則獲取失敗原因;通過使用并發(fā)技術(shù),在多臺(tái)機(jī)器上連續(xù)(7×24小時(shí))執(zhí)行20多萬(wàn)條數(shù)據(jù)。經(jīng)過7天連續(xù)測(cè)試,完成了所有數(shù)據(jù)的回歸測(cè)試,找到了生產(chǎn)環(huán)境交易返回報(bào)文錯(cuò)位的根本原因,并附帶發(fā)現(xiàn)了程序存在的2個(gè)嚴(yán)重缺陷,項(xiàng)目組據(jù)此采取了相應(yīng)措施,解決了生產(chǎn)環(huán)境中出現(xiàn)的問題。本次自動(dòng)化測(cè)試應(yīng)用在很短時(shí)間內(nèi)鎖定了生產(chǎn)環(huán)境缺陷,測(cè)試時(shí)間和取得的效果遠(yuǎn)遠(yuǎn)超過了項(xiàng)目組預(yù)期,得到了項(xiàng)目組充分肯定。
三、自動(dòng)化測(cè)試的優(yōu)點(diǎn)分析
通過上述實(shí)例,可以看出自動(dòng)化測(cè)試的確能帶來很好的效果,自動(dòng)化測(cè)試優(yōu)點(diǎn)歸納如下:一是回歸測(cè)試更快捷。一般而言,系統(tǒng)投產(chǎn)后會(huì)面臨不斷改造、升級(jí),相應(yīng)回歸測(cè)試任務(wù)會(huì)很繁重。自動(dòng)化測(cè)試則能很好地解決此類場(chǎng)景,特別是在程序修改比較頻繁時(shí)效果非常明顯。由于回歸測(cè)試的用例是提前設(shè)計(jì)好的,測(cè)試的預(yù)期結(jié)果也是完全可以預(yù)料的,此種條件下回歸測(cè)試通過自動(dòng)化實(shí)現(xiàn),則可以極大提高測(cè)試效率,縮短回歸測(cè)試時(shí)間。二是案例批量執(zhí)行更簡(jiǎn)捷。通過自動(dòng)化技術(shù),使案例參數(shù)化并批量執(zhí)行,可實(shí)現(xiàn)7×24小時(shí)運(yùn)行,解放手工測(cè)試,減少人力投入。三是使手工測(cè)試的不可能成為可能。對(duì)于需要進(jìn)行大量用戶同時(shí)測(cè)試的場(chǎng)景,不可能有足夠多測(cè)試人員現(xiàn)場(chǎng)同時(shí)測(cè)試,此場(chǎng)景可通過自動(dòng)化測(cè)試模擬多用戶并發(fā)執(zhí)行,滿足測(cè)試場(chǎng)景需要。四是測(cè)試資源更合理使用。將繁瑣的任務(wù)自動(dòng)化,可以提高準(zhǔn)確性和測(cè)試人員的積極性,將測(cè)試技術(shù)人員解脫出來從而投入更多精力設(shè)計(jì)更好的測(cè)試用例,使自動(dòng)化測(cè)試和手工測(cè)試相輔相成,更充分地利用資源,提高測(cè)試效率。五是測(cè)試質(zhì)量更有保障。由于測(cè)試是自動(dòng)執(zhí)行的,每次測(cè)試的結(jié)果和執(zhí)行內(nèi)容的一致性是可以得到保障的,從而達(dá)到測(cè)試可重復(fù)的效果。
四、適合自動(dòng)化測(cè)試場(chǎng)景分析
自動(dòng)化測(cè)試雖然有很多優(yōu)點(diǎn),但受技術(shù)、人力投入成本和系統(tǒng)投產(chǎn)時(shí)間性要求等因素影響,并不能完全替代人工測(cè)試。迭代開發(fā)、周期短和程序變動(dòng)頻繁的系統(tǒng)則不太適合自動(dòng)化測(cè)試,是否進(jìn)行自動(dòng)化測(cè)試一般可從以下三方面均衡考慮。一是軟件需求變動(dòng)不頻繁。測(cè)試腳本的穩(wěn)定性決定了自動(dòng)化測(cè)試維護(hù)成本,如果軟件需求變動(dòng)過于頻繁,測(cè)試人員需要根據(jù)變動(dòng)的需求來不斷更新測(cè)試用例及相關(guān)測(cè)試腳本,而腳本維護(hù)本身就是一個(gè)代碼開發(fā)過程,需要修改、調(diào)試,必要時(shí)候還要修改自動(dòng)化測(cè)試的框架。如果所花費(fèi)成本高于其節(jié)省測(cè)試成本,那么自動(dòng)化測(cè)試便得不償失。如果系統(tǒng)中某些模塊相對(duì)穩(wěn)定,而某些模塊需求變動(dòng)很大,則可針對(duì)相對(duì)穩(wěn)定模塊進(jìn)行自動(dòng)化測(cè)試,變動(dòng)較大模塊仍采用手工測(cè)試,兩種方式結(jié)合起來,達(dá)到有機(jī)統(tǒng)一。二是項(xiàng)目周期較長(zhǎng)。由于自動(dòng)化測(cè)試需求的確定、自動(dòng)化測(cè)試框架的設(shè)計(jì)以及測(cè)試腳本的編寫與調(diào)試均需要相當(dāng)長(zhǎng)的時(shí)間來完成,這個(gè)過程本身就是一個(gè)測(cè)試軟件的開發(fā)過程。如果項(xiàng)目周期比較短,沒有足夠時(shí)間去支持這樣一個(gè)過程,那么自動(dòng)化測(cè)試便是空中樓閣。三是自動(dòng)化測(cè)試腳本是否可重復(fù)使用。自動(dòng)化測(cè)試腳本可重復(fù)使用也是一個(gè)參考因素,具體可從三方面考量:(1)所測(cè)試項(xiàng)目之間是否有很大差異性(比如銀企通系統(tǒng)與交易銀行)。(2)所選擇測(cè)試工具是否適應(yīng)這種差異。(3)測(cè)試人員是否有能力開發(fā)出適應(yīng)這種差異自動(dòng)化測(cè)試框架。銀行系統(tǒng)具有結(jié)構(gòu)復(fù)雜、客戶數(shù)據(jù)量大和相互關(guān)聯(lián)性強(qiáng)等特點(diǎn)。一旦生產(chǎn)系統(tǒng)出現(xiàn)問題,則會(huì)影響眾多客戶,并對(duì)銀行聲譽(yù)造成極大損害。完備和高效的產(chǎn)品和系統(tǒng)測(cè)試,是保障軟件質(zhì)量的有效手段。在測(cè)試工作中,我們應(yīng)積極大膽地對(duì)測(cè)試方法進(jìn)行創(chuàng)新,不斷研究和實(shí)踐業(yè)界先進(jìn)的自動(dòng)化測(cè)試技術(shù),并嘗試在測(cè)試過程中引入不同自動(dòng)化測(cè)試工具(比如UFT、TestComplete、UIautomation和Pywinauto等)。適當(dāng)?shù)淖詣?dòng)化測(cè)試成本投入實(shí)現(xiàn)了手工測(cè)試和自動(dòng)化測(cè)試的有機(jī)結(jié)合,并可達(dá)到事半功倍的效果。
作者:劉躍光 齊坤 單位:中國(guó)農(nóng)業(yè)銀行研發(fā)中心