測試是軟件周期的重要組成部分,是把控軟件質(zhì)量的底層防線。但風險又存在于軟件測試的全但風險又存在于軟件測試的全過程,可能導致軟件產(chǎn)品的測試不夠充分或測試結(jié)果不準確。潛藏的問題一旦爆發(fā)會給銀行帶來巨大的經(jīng)營生產(chǎn)損失。加強軟件測試的風險管理已刻不容緩。

  軟件測試過程中的風險管理通?煞譃槿缦5個步驟。

 。1)風險識別是試圖用系統(tǒng)化的方法來確定威脅項目計劃的因素。軟件測試管理人員需要從項目策劃開始了解項目背景、開發(fā)環(huán)境、技術(shù)難點、進度、成本和人員等因素,憑借以前測試項目曾遇到的風險,建立風險調(diào)查表。

 。2)風險分析階段需要評估已識別風險發(fā)生后對項目目標可能產(chǎn)生的影響,并對風險進行排序。不同的風險發(fā)生后對項目目標造成的影響各不相同。

 。3)制訂風險計劃包括風險標識、風險描述、風險影響程度、責任、資源、時間、活動、應對措施、結(jié)果、負責人等要素。策劃測試方案時,要根據(jù)風險識別和風險分析的結(jié)果制訂風險計劃,針對風險的不同特征和影響程度分配人員、資源及應對措施。

 。4)對于已識別的風險,可能會在事前或事后采取不同措施加以控制,盡量降低風險對項目產(chǎn)生的影響。風險控制的主要方法有風險避免、風險弱化、風險轉(zhuǎn)移和風險承擔。

 。5)在風險受到控制后,要及時進行風險跟蹤。監(jiān)視風險的狀況,例如風險是已經(jīng)發(fā)生、仍然存在還是已經(jīng)消失;檢查風險的對策是否有效、跟蹤機制是否可行;不斷識別新的風險點并制訂應對措施。

  在軟件測試過程中經(jīng)常會遇到的風險主要有以下7類。

 。1)時間進度風險:用戶需求發(fā)生重大變更及設(shè)計計劃的大幅調(diào)整給測試帶來風險,導致測試時間、資金投入增加。

 。2)對產(chǎn)品認識的風險:對產(chǎn)品質(zhì)量需求或產(chǎn)品特性理解不準確,造成測試范圍分析誤差,出現(xiàn)測試盲區(qū)或驗證標準錯誤。

 。3)質(zhì)量目標風險:質(zhì)量標準不是很清晰,如適用性測試、易用性測試等。

 。4)人員風險:測試開始后,相關(guān)測試人員因故不能及時到位。

 。5)測試環(huán)境的依賴性風險:特定測試環(huán)境不到位,包括真實環(huán)境及仿真環(huán)境。

 。6)測試充分性風險:測試用例設(shè)計不到位,忽視了部分邊界條件、深層次的邏輯、用戶場景等;部分軟件缺陷不易重現(xiàn)以及回歸測試一般不運行全部測試用例,有選擇性地執(zhí)行。

  (7)工具風險:能否及時準備相關(guān)測試工具,測試人員對新工具無法熟練運用等情況也時有發(fā)生。

  針對上述風險,可采取以下措施加以控制。

  首先,調(diào)整軟件測試計劃,針對不同情況采取增加工作時間、工作人員和資源等來緩解風險發(fā)生時帶來的威脅。也可與客戶協(xié)商,順延交付日期或在客戶允許的情況下對測試項目進行適當裁剪。

  其次,在測試前期做好計劃,準備好測試環(huán)境并由第三方進行檢查,有效降低因測試環(huán)境不足帶來的影響。

  第三,通過培訓提高測試人員的綜合素質(zhì),降低由于質(zhì)量目標不明確、項目背景不熟悉、測試技術(shù)及工具不能熟練掌握導致的測試風險。

  第四,在做測試計劃時,對人員、資源、時間、成本等估計要留有余量,避免風險發(fā)生時沒有相應的資源及時支持應急方案。

  后,通過建立健全銀行軟件測試模型,加強對測試風險管理的重視,樹立“防患于未然”或“以預防為主”的風險管理意識,有效降低產(chǎn)品的質(zhì)量風險,提高軟件質(zhì)量,為銀行業(yè)務的持續(xù)發(fā)展服務。