中國(guó)工商銀行數(shù)據(jù)中心(北京) 陳林軼 蘭秋穎
早在2009年的時(shí)候,美國(guó)財(cái)政部部長(zhǎng)蓋特納就曾表明“美國(guó)大型銀行十分有必要進(jìn)行壓力測(cè)試,而壓力測(cè)試的重要性在于其透明性”。隨后,美聯(lián)儲(chǔ)(FED)主席伯南克也明確表示“金融測(cè)試和財(cái)政部的注資計(jì)劃將有利于美國(guó)金融體系的穩(wěn)定性”,由此金融測(cè)試一詞再度活躍在人們眼前。在國(guó)內(nèi),“十二五”期間就指出金融監(jiān)管必須日益重視風(fēng)險(xiǎn)的防控,對(duì)金融系統(tǒng)的穩(wěn)定性也提出越來越高的要求。如何保證系統(tǒng)的穩(wěn)定和做好風(fēng)險(xiǎn)的防范,這對(duì)產(chǎn)品質(zhì)量提出了更為嚴(yán)格的要求,加之國(guó)內(nèi)商業(yè)銀行系統(tǒng)的多次升級(jí),同時(shí)城市商業(yè)銀行和農(nóng)村信用合作社由于自身研發(fā)人員與專業(yè)測(cè)試力量的不足,對(duì)專業(yè)化的測(cè)試人員衍生出更多的需求。
所謂測(cè)試是指“為發(fā)現(xiàn)軟件錯(cuò)誤而執(zhí)行程序的過程”,是一種對(duì)程序的驗(yàn)證過程。在日新月異的科技信息時(shí)代,這種過程被運(yùn)用到各行各業(yè),其中不乏銀行、保險(xiǎn)等金融機(jī)構(gòu),而國(guó)內(nèi)四大銀行也均成立了相關(guān)測(cè)試機(jī)構(gòu),以此提高產(chǎn)品的質(zhì)量、項(xiàng)目的質(zhì)量和客戶滿意度。金融系統(tǒng)是一個(gè)風(fēng)險(xiǎn)與機(jī)遇并存的行業(yè),由于風(fēng)險(xiǎn)的不可控性,開發(fā)出的金融產(chǎn)品往往帶著不可預(yù)知的問題并可能會(huì)出現(xiàn)在實(shí)際運(yùn)營(yíng)中,并給金融系統(tǒng)埋下隱患。一旦觸發(fā)了這些潛在的危機(jī),會(huì)給金融行業(yè)帶來不可估量的損失。比如:所供服務(wù)的不穩(wěn)定導(dǎo)致服務(wù)的中斷、柜員操作過程中遇到程序的錯(cuò)誤提示等等,這就要求產(chǎn)品在推向客戶之前經(jīng)過大量的測(cè)試以維護(hù)其穩(wěn)定性。由此可見,測(cè)試是銀行業(yè)乃至整個(gè)金融行業(yè)面臨的最大挑戰(zhàn)之一。
測(cè)試有很多種類,包括性能測(cè)試、壓力測(cè)試、功能測(cè)試、容錯(cuò)測(cè)試、界面測(cè)試、安全測(cè)試等等,每個(gè)測(cè)試類型中都有自己的測(cè)試方法,比如白盒測(cè)試、灰盒測(cè)試、黑盒測(cè)試等,測(cè)試人員運(yùn)用這些測(cè)試方法保證金融產(chǎn)品能夠正確滿足客戶的需求、產(chǎn)品設(shè)計(jì)流程的正確。但是誰負(fù)責(zé)承擔(dān)測(cè)試角色,是設(shè)計(jì)出產(chǎn)品的開發(fā)人員,還是產(chǎn)品的項(xiàng)目經(jīng)理,還是具備計(jì)算機(jī)基礎(chǔ)知識(shí)的測(cè)試人員,或者說金融背景出身的業(yè)務(wù)人員等?這些一直是學(xué)者們討論與爭(zhēng)論的焦點(diǎn),本文將從實(shí)際業(yè)務(wù)的角度和定性分析的角度探析獨(dú)立測(cè)試的重要性。
所謂的第三方機(jī)構(gòu)獨(dú)立測(cè)試,就是指在測(cè)試過程中扮演測(cè)試角色的人員是由經(jīng)濟(jì)和管理上獨(dú)立于開發(fā)機(jī)構(gòu)的組織進(jìn)行的。他們?cè)诮?jīng)濟(jì)資源和測(cè)試工作上不受開發(fā)機(jī)構(gòu)的控制,而是單獨(dú)的職能部門,專門負(fù)責(zé)產(chǎn)品與產(chǎn)品關(guān)聯(lián)性的測(cè)試工作,因此他們測(cè)試的結(jié)果往往更具有客觀性和可靠性,具有其他機(jī)構(gòu)擔(dān)任測(cè)試角色時(shí)所無法比擬的優(yōu)勢(shì)。
第一,獨(dú)立的第三方測(cè)試機(jī)構(gòu)是由專門的測(cè)試隊(duì)伍構(gòu)成,其目標(biāo)就是為了在投產(chǎn)前發(fā)現(xiàn)產(chǎn)品缺陷來進(jìn)一步提高產(chǎn)品的質(zhì)量。早期開發(fā)人員在設(shè)計(jì)產(chǎn)品的同時(shí)會(huì)兼顧測(cè)試的角色,他們不單是程序編碼人員,還是程序檢測(cè)人員、程序維護(hù)人員等,這種多重身份不僅會(huì)給程序員增加工作負(fù)擔(dān),還會(huì)使他們的目標(biāo)變得矛盾而不可協(xié)調(diào)。作為開發(fā)人員總是希望自己的產(chǎn)品是優(yōu)良的、無缺陷的、能夠滿足用戶需求的;但是作為程序檢測(cè)人員總是希望自己能發(fā)現(xiàn)更多的缺陷,產(chǎn)品的設(shè)計(jì)過程是有漏洞的。如果程序員既承擔(dān)開發(fā)的角色又承擔(dān)測(cè)試的角色,則其目標(biāo)難以統(tǒng)一并且不協(xié)調(diào),既希望自己的產(chǎn)品是完美的又希望測(cè)試過程能發(fā)現(xiàn)更多的缺陷,最終的結(jié)果難免會(huì)出現(xiàn)偏差,工作目標(biāo)變得矛盾而不統(tǒng)一。所以,研發(fā)人員開發(fā)出的金融產(chǎn)品,不應(yīng)該由自己負(fù)責(zé)測(cè)試工作,而是應(yīng)該由專門的測(cè)試人員測(cè)試,這樣測(cè)試的目標(biāo)不再是矛盾而不可協(xié)調(diào)的,而是希望在測(cè)試的過程中暴露出產(chǎn)品更多的缺陷與漏洞。
第二,金融產(chǎn)品的使用用戶分類繁多,比如按資產(chǎn)規(guī)模、受教育程度、風(fēng)險(xiǎn)偏好程度分類等等,不同類型的客戶對(duì)產(chǎn)品的需求是不統(tǒng)一的。比如:風(fēng)險(xiǎn)偏好高的客戶會(huì)偏向于風(fēng)險(xiǎn)高的金融產(chǎn)品,而風(fēng)險(xiǎn)偏好低的客戶會(huì)偏向于風(fēng)險(xiǎn)低的金融產(chǎn)品;對(duì)于資產(chǎn)規(guī)模較高的客戶可能偏向理財(cái)產(chǎn)品(增值產(chǎn)品),而資產(chǎn)規(guī)模較低的客戶可能偏向于基本的儲(chǔ)蓄產(chǎn)品(保值產(chǎn)品)。多樣化的客戶群體、多樣化的產(chǎn)品需求下,如果開發(fā)人員既設(shè)計(jì)金融產(chǎn)品又測(cè)試軟件程序,測(cè)試任務(wù)不但繁重,而測(cè)試的重點(diǎn)可能會(huì)在程序的代碼編碼上,設(shè)計(jì)出的產(chǎn)品難免功能單一化、簡(jiǎn)單化。相反,如果測(cè)試由獨(dú)立的第三方機(jī)構(gòu)測(cè)試,測(cè)試人員的重點(diǎn)就放在測(cè)試工作上,從客戶的角度出發(fā)去驗(yàn)證產(chǎn)品是否符合自己的要求,從柜員的角度出發(fā)驗(yàn)證產(chǎn)品設(shè)計(jì)流程是否合理。而測(cè)試員作為產(chǎn)品最直接的體驗(yàn)者,在測(cè)試的同時(shí)體驗(yàn)產(chǎn)品的功能,再將體驗(yàn)結(jié)果反饋至開發(fā)人員,比如產(chǎn)品界面展現(xiàn)是否合理、用戶操作是否方便等。
第三,測(cè)試參與人員角色的多樣化,意味著測(cè)試人員在測(cè)試過程中應(yīng)該做到測(cè)試與業(yè)務(wù)融合。最初開發(fā)人員擔(dān)任測(cè)試人員,其專業(yè)背景比較單一,可能局限在計(jì)算機(jī)專業(yè),導(dǎo)致對(duì)產(chǎn)品的業(yè)務(wù)背景與設(shè)計(jì)原理了解不是很透徹。而如今參與測(cè)試的人員專業(yè)背景越來越多樣化,包括金融相關(guān)專業(yè)、計(jì)算機(jī)相關(guān)專業(yè)、會(huì)計(jì)相關(guān)專業(yè)等。在測(cè)試的過程中,由這些具有多樣化專業(yè)背景的測(cè)試人員測(cè)試,可以拓寬思路,設(shè)計(jì)出更多有實(shí)際意義的測(cè)試案例,測(cè)試案例也可以更加貼近真實(shí)的業(yè)務(wù)運(yùn)用。相反,如果由程序員擔(dān)任測(cè)試角色,其專業(yè)知識(shí)可能局限在計(jì)算機(jī)知識(shí),而不了解產(chǎn)品背后真正的含義,在這樣的情況下,測(cè)試只能從代碼的正確性驗(yàn)證產(chǎn)品的質(zhì)量,而不能更好地站在使用者的角度去檢驗(yàn)金融產(chǎn)品功能是否正確。
第四,由于第三方測(cè)試機(jī)構(gòu)在其經(jīng)濟(jì)和管理上具有獨(dú)立性,所以可以充分發(fā)揮自己的測(cè)試角色,對(duì)產(chǎn)品以及產(chǎn)品之間的關(guān)聯(lián)性做出驗(yàn)證。在產(chǎn)品設(shè)計(jì)成功后,測(cè)試人員應(yīng)該盡早介入測(cè)試工作,了解項(xiàng)目的需求說明書。測(cè)試方法可以簡(jiǎn)單地分為靜態(tài)測(cè)試、動(dòng)態(tài)測(cè)試,而靜態(tài)測(cè)試貫穿在整個(gè)測(cè)試過程中。在項(xiàng)目啟動(dòng)前期,測(cè)試人員應(yīng)該認(rèn)真審查項(xiàng)目的文檔資料,其中包括軟件需求說明書等,在分析文檔的過程中,應(yīng)當(dāng)注意文檔設(shè)計(jì)思路是否正確、是否有遺漏的地方,而測(cè)試員還可以在這個(gè)過程中提前學(xué)習(xí)項(xiàng)目的流程,包括項(xiàng)目中新加功能、刪除功能、修改功能,這些都是在測(cè)試中需要特別注意第地方;動(dòng)態(tài)測(cè)試,是靜態(tài)測(cè)試的補(bǔ)充,在測(cè)試過程中發(fā)揮極其重要的角色,指的是通過運(yùn)行軟件程序來驗(yàn)證產(chǎn)品的質(zhì)量。在動(dòng)態(tài)測(cè)試過程中,獨(dú)立的測(cè)試人員可以發(fā)揮自己的想象設(shè)計(jì)多樣化的測(cè)試案例,測(cè)試中可以用等價(jià)類劃分法、邊界值分析法、錯(cuò)誤猜測(cè)法等去驗(yàn)證產(chǎn)品設(shè)計(jì)的正確性。比如存款金額輸入項(xiàng),在測(cè)試過程中開發(fā)人員可以輸入負(fù)數(shù)(邊界值法)或者特殊字符,驗(yàn)證程序運(yùn)行過程中是否有正確的提示。
軟件測(cè)試保證產(chǎn)品的質(zhì)量,而專業(yè)的測(cè)試是提升軟件質(zhì)量的重要手段,也是金融業(yè)防范風(fēng)險(xiǎn)的重要途徑。承擔(dān)軟件測(cè)試角色的人員,應(yīng)該是第三方專業(yè)化的測(cè)試團(tuán)隊(duì),在經(jīng)濟(jì)與管理上獨(dú)立于開發(fā)機(jī)構(gòu),充分發(fā)揮自己的測(cè)試角色。不但可以在測(cè)試過程中利用多種測(cè)試方法如靜態(tài)測(cè)試、動(dòng)態(tài)測(cè)試、功能測(cè)試、性能測(cè)試、壓力測(cè)試、容錯(cuò)測(cè)試等,保證產(chǎn)品的質(zhì)量;還可以從產(chǎn)品使用者的角度驗(yàn)證產(chǎn)品是否滿足需求;同時(shí)對(duì)產(chǎn)品設(shè)計(jì)提出優(yōu)化與建議反饋至開發(fā)部門,在開發(fā)部門的再次設(shè)計(jì)與修改后,再對(duì)產(chǎn)品做出功能性驗(yàn)證。在這種循環(huán)模式下,開發(fā)人員與第三方測(cè)試機(jī)構(gòu)既是相互補(bǔ)充也是相互制約的,這種彼此制衡的關(guān)系不但有利于產(chǎn)品的穩(wěn)定,還可以提升產(chǎn)品的質(zhì)量甚至提升客戶的滿意度,讓金融行業(yè)的創(chuàng)新與穩(wěn)定都得以保證。所以測(cè)試的角色應(yīng)該由第三方獨(dú)立機(jī)構(gòu)扮演,利用他們資源上、專業(yè)上、技能上等方面的優(yōu)勢(shì),設(shè)計(jì)出更多精細(xì)化并且符合業(yè)務(wù)場(chǎng)景的測(cè)試案例,并及時(shí)將測(cè)試情況反饋至開發(fā)部門進(jìn)行維護(hù)與調(diào)整,以此保證金融產(chǎn)品的質(zhì)量與穩(wěn)定性和靈活性。
[1] 黃錫滋.軟件可靠性、安全性與質(zhì)量保證[M].北京:電子工業(yè)出版社,2002.
[2] 徐中偉,吳芳美.軟件測(cè)試質(zhì)量的量度[J].計(jì)算機(jī)工程與運(yùn)用,2002.
[3] 張麗波.基于自動(dòng)化的軟件測(cè)測(cè)與運(yùn)用[J].廣州:華南理工大學(xué),2004.