管理功能的軟件產(chǎn)品的質(zhì)量在保障銀行的穩(wěn)定運轉(zhuǎn)方面發(fā)揮著越來越重要的作用。作為提高軟件產(chǎn)品質(zhì)量的一個重要手段,加強對軟件產(chǎn)品的測試得到了各家銀行的充分重視。

  中國農(nóng)業(yè)銀行股份有限公司(以下簡稱“農(nóng)行”)于2008年10月在信息技術(shù)管理部內(nèi)設(shè)置了專職測試機構(gòu)??備援測試中心,細(xì)化了對軟件產(chǎn)品的測試職責(zé),進一步增強了專業(yè)測試力量。在備援測試中心的籌備期間,農(nóng)行首先從風(fēng)險管理角度分析了軟件產(chǎn)品測試的價值。新《巴塞爾資本協(xié)議》把操作風(fēng)險與信用風(fēng)險、市場風(fēng)險并列,作為商業(yè)銀行面臨的三大風(fēng)險之一。操作風(fēng)險在軟件產(chǎn)品方面集中表現(xiàn)為,由于缺乏相對獨立和專業(yè)的軟件質(zhì)量評測機制,應(yīng)用軟件在需求分析、業(yè)務(wù)功能、技術(shù)實現(xiàn)等方面的錯誤和缺陷不能及時發(fā)現(xiàn),導(dǎo)致記賬錯誤、運行錯誤、結(jié)算錯誤等交易差錯時有發(fā)生,越權(quán)操作、欺詐交易、不合理流程等導(dǎo)致相關(guān)風(fēng)險難以有效控制。因此,軟件產(chǎn)品在投入市場前, 只有通過有效的測試, 對內(nèi)確保運行秩序, 對外確保服務(wù)質(zhì)量, 才能真正成為商業(yè)銀行獲取差異化競爭優(yōu)勢的利器。

  在充分認(rèn)識軟件測試必要性和重要性的同時, 農(nóng)行結(jié)合自身軟件開發(fā)和軟件運維的實際需要, 對軟件測試進行了體系化的研究和實踐, 不斷探索如何在適應(yīng)各方面約束的基礎(chǔ)上, 更加有效和高效地開展軟件測試工作的方式和方法。

  一、明確軟件測試領(lǐng)域的定位和組成

  明確軟件測試領(lǐng)域的定位,對發(fā)揮軟件測試的作用至關(guān)重要。從領(lǐng)域構(gòu)成角度來看,軟件生命周期可劃分為軟件開發(fā)、軟件測試和軟件運維三大領(lǐng)域,這三大領(lǐng)域是相互關(guān)聯(lián)和作用的。同時,根據(jù)目前軟件測試工程實踐的需要和發(fā)展的現(xiàn)狀,可以把軟件測試領(lǐng)域分為軟件測試調(diào)度體系、軟件測試方法體系和軟件測試技術(shù)支持體系三個部分。上述劃分,有利于充分利用當(dāng)前的理論研究成果和標(biāo)準(zhǔn)規(guī)范,有利于條件成熟的系統(tǒng)先行,更有利于推進對多用戶、大數(shù)據(jù)量、大交易量的大型信息處理系統(tǒng)的軟件測試工程實踐的發(fā)展。

  軟件測試領(lǐng)域在整個軟件生命周期中的定位如圖1所示。在軟件測試領(lǐng)域中,軟件測試技術(shù)支持體系是軟件測試調(diào)度體系和軟件測試方法體系的基礎(chǔ),應(yīng)該能夠支持各種方式的軟件測試調(diào)度體系和各種軟件測試方法體系;而軟件測試領(lǐng)域則應(yīng)能支持各種軟件開發(fā)領(lǐng)域和軟件運維領(lǐng)域。軟件開發(fā)領(lǐng)域、軟件測試領(lǐng)域和軟件運維領(lǐng)域共同滿足相干方的期望。

 

  二、以企業(yè)標(biāo)準(zhǔn)方式規(guī)范軟件測試活動

  在軟件測試活動中,重要和基本的要素是軟件測試要關(guān)注的實質(zhì)性內(nèi)容,即那些不管怎樣管理調(diào)度測試、用怎樣的方法測試、按怎樣的流程測試,都必須要考慮的事宜。這些事宜的共同特點是, 即便不事先考慮預(yù)案, 在實際測試工作中也有可能要面對和解決;即便在總結(jié)時沒有進行分析, 在被測試的軟件投產(chǎn)上線后, 也往往會引起關(guān)注。

  農(nóng)行根據(jù)自身軟件測試的實際,在研究有關(guān)軟件測試的文獻和標(biāo)準(zhǔn)、國際標(biāo)準(zhǔn)與國外先進標(biāo)準(zhǔn)的基礎(chǔ)上, 認(rèn)為目前對軟件測試的實質(zhì)性要素描述為全面和穩(wěn)定的文獻,是標(biāo)準(zhǔn)GB/T9386-2008《計算機軟件測試文檔編制規(guī)范》和IEEE Std 829-2008《Standard for Software and SystemTest Documentation》。

  標(biāo)準(zhǔn)GB/T 9386-2008《計算機軟件測試文檔編制規(guī)范》自1988年發(fā)布第一版以來,實施了將近20年。IEEE Std 829-2008《Standard for Software and SystemTest Documentation》已經(jīng)發(fā)布了多達3個版本,其中2008年發(fā)布的第三個版本改進較大,增加了“MasterTest”的概念,即明確了多個被測試軟件或軟件多個測試階段并存的情況下的軟件測試策略。

農(nóng)行在2006年即開始關(guān)注軟件測試實質(zhì)性要素的規(guī)范問題, 并于2007年編制了《軟件測試文檔規(guī)范》企業(yè)標(biāo)準(zhǔn)第一版。此后,在學(xué)習(xí)消化GB/T 9386-2008《計算機軟件測試文檔編制規(guī)范》和IEEE Std 829-2008《Standard for Software and System Test Documentation》的基礎(chǔ)上,以標(biāo)準(zhǔn)為基干,以IEEE標(biāo)準(zhǔn)為補充, 編制了基于農(nóng)行企業(yè)標(biāo)準(zhǔn)的《軟件測試文檔規(guī)范》第二版,并于2010年正式發(fā)布,在企業(yè)范圍內(nèi)實施。基于農(nóng)行企業(yè)標(biāo)準(zhǔn)的《軟件測試文檔規(guī)范》第二版在將軟件測試文檔分為4級規(guī)范度的基礎(chǔ)上,提出了 “4級測試規(guī)范度”和 “3級測試聯(lián)動度”的概念,并給出了不同規(guī)范度的選擇指南,進一步提高了該企業(yè)標(biāo)準(zhǔn)在軟件測試工作實踐中的可操作性。

  與此同時,農(nóng)行陸續(xù)開展了軟件測試流程相關(guān)研究,不斷探索能夠滿足農(nóng)行自身管理需要的軟件測試流程規(guī)范。目前, 已在研究分析相關(guān)標(biāo)準(zhǔn)和國際標(biāo)準(zhǔn)的基礎(chǔ)上, 歸納總結(jié)了軟件測試通用基本流程和軟件測試通用精化流程, 并針對目前軟件開發(fā)采用的主要過程模型進行了相應(yīng)的軟件測試活動分析。

  三、加強軟件測試環(huán)境建設(shè)

  農(nóng)行的軟件測試環(huán)境由軟件測試運行環(huán)境、軟件測試數(shù)據(jù)環(huán)境和軟件測試工具環(huán)境組成。

  軟件測試運行環(huán)境是軟件動態(tài)測試執(zhí)行的依托。農(nóng)行根據(jù)自身軟件測試的需求和目標(biāo),以“虛實結(jié)合、高度共享、靈活調(diào)度、持續(xù)可用、綠色環(huán)!睘槔砟顦(gòu)建了軟件測試運行環(huán)境。采用虛擬化技術(shù)和實際物理資源結(jié)合的方式,分別建立了基于不同平臺的私有云(或資源池)。資源部署可以根據(jù)實際情況進行靈活的組合,可以由一個物理資源變?yōu)槎鄠虛擬資源或者由多個虛擬資源整合為一個物理資源。使用虛擬化技術(shù)降低了物理資源的采購成本,減少了能源消耗,節(jié)省了維護成本。在使用虛擬化技術(shù)的同時,通過對測試階段、業(yè)務(wù)類型的分析,實現(xiàn)了對多個測試并行實施、多個測試共享數(shù)據(jù)的管理,構(gòu)建了通用的測試運行環(huán)境。

  軟件測試數(shù)據(jù)環(huán)境是軟件動態(tài)測試執(zhí)行的基礎(chǔ)。農(nóng)行對銀監(jiān)會提出的“商業(yè)銀行應(yīng)制定并落實相關(guān)制度、標(biāo)準(zhǔn)和流程,確保信息系統(tǒng)開發(fā)、測試、維護過程中數(shù)據(jù)的完整性、保密性和可用性”進行了認(rèn)真的學(xué)習(xí)和分析,建立了由測試數(shù)據(jù)敏感性與脫敏方法二維模型(靜態(tài)模型)和測試數(shù)據(jù)脫敏加工模型(動態(tài)模型)共同組成的測試數(shù)據(jù)脫敏工作機制。靜態(tài)模型是指,按照測試數(shù)據(jù)可能導(dǎo)致風(fēng)險的大小程度,將測試數(shù)據(jù)敏感性分為七級;按照脫敏處理方法的不同實現(xiàn)方式,將脫敏處理方法分為三類,由此形成由測試數(shù)據(jù)敏感性和脫敏處理方法構(gòu)成的二維模型。動態(tài)模型是指,根據(jù)需求約束(包括外部監(jiān)管要求和測試實施需求)以及資源約束(包括數(shù)據(jù)資源、人力資源和設(shè)備資源等)要求的變化,通過對測試數(shù)據(jù)脫敏加工策略、加工能力和加工方法進行適當(dāng)?shù)卣{(diào)整,使測試數(shù)據(jù)的脫敏加工結(jié)果滿足軟件測試實際需要的動態(tài)工作調(diào)整模型。