- 快捷搜索
- 全站搜索
" />
行業現狀:信息化建設從輔助業務、實現業務到驅動業務,早已成為銀行的核心競爭力。為了保證信息化建設過程質量,確保產品和服務滿意度,銀行測試逐步受到重視,進入了快速發展期,其投入也隨之逐年增長。其實從投入產出的角度來講,測試是成本和回報的博弈,兩者并非是永恒的線性變化關系。目前大部分商業銀行已跨越投入回報趨于線性變化的初級階段,邁進了邊際效益遞減的成熟階段。如何使得銀行測試更加“經濟”已成為當前從業人員重點研究的課題。
銀行測試的“經濟學”研究
在經濟學中,投入產出比是用來評價經濟效果的重要指標。如果用I表示為投資總額,IN表示為產出總和,其計算公式可以表示為:R=I/IN。該值越小,表明經濟效果越好。在測試過程中,“投入”可以是開展測試活動所需人力、時間和環境等資源的成本,“產出”可以是通過測試解決缺陷、降低風險等手段最終提高的軟件質量。因此,也可以通過分析投入產出之間的關系,來評價銀行測試的經濟效果。
測試為什么要開展“經濟學”研究
近幾年,新科技在金融領域的應用呈井噴式發展,人工智能、大數據、區塊鏈、物聯網、云計算等技術方法的廣泛應用,引領了銀行產品創新發展的新方向、新思路,也使得銀行科技底層架構調整和開發新型產品的需求層出不窮。不斷增長的需求、成本約束以及質量提升之間的矛盾日益突出。如果一味控制測試方面的投入,可能不足以及時識別和有效應對因軟件缺陷造成的系統風險;如果一味追求質量保證和控制,則可能造成項目工期延誤、成本失控,甚至高于系統所能帶來的效益。那么該如何平衡需求、成本和質量之間的關系,發揮測試資源的最大效益呢?銀行測試的“經濟學”研究就是要利用經濟學的理論知識,從測試過程中的投入產出入手,從而分析研究解決問題的有效舉措。
幾項做到“經濟”的最佳實踐
01.適度測試。
(1)適度測試的理論意義。測試規劃階段,設計者經常會糾結于人員、時間和環境資源有限,無法確保每個測試需求都能按期做到全量覆蓋,需要合理分配有限資源,有所取舍,從而最大程度確保測試質量,做到適度測試。
目前行業內普遍采用的適度測試實踐有三種。一是基于經驗的選擇。由經驗豐富的測試人員分析測試需求,根據發現缺陷的可能性程度確定測試的優先級別和資源需求,從而根據現有的資源現狀縮小測試范圍。這種方法多用于有歷史數據積累和經驗參考的項目。二是基于對本期開發變更可能影響業務范圍的評估。這種方法在實施前,一般都建立了一套比較完備的“系統功能、接口與業務需求對應關系圖”,根據開發人員修改變動的部分來分析評估可能影響到的業務范圍,重點對這些業務進行測試。這種方法多應用于系統較為成熟的升級優化項目。三是基于缺陷預測。首先需要分析可能影響缺陷數量的各項因素,然后根據以往積累的數據,將各項影響因素與缺陷數量之間的關系建立數學模型。在新項目測試過程中,可將各項影響因素的現時數據導入模型,形成對缺陷數量的趨勢分析。當缺陷出現明顯收斂時,便可結束測試,從而避免造成資源浪費。這種方法多用于有大量數據積累的項目。
(2)適度測試的經濟學意義。理論上來說,適度測試減小了測試的范圍,也設置了衡量測試結束的標準,應該是一種經濟的方法。從經濟學的角度來分析,假設某測試需求有n個測試功能點,每個功能點的執行案例數分別為PC1、PC2、……、PCn,發現的缺陷數分別為D1、D2、……、Dn,其投入產出比R就可以表示為:

根據前面提到的適度測試方法,更有針對性地選擇i個功能點進行測試,公式可調整為:

由于選擇的功能點為關鍵功能點,可以覆蓋絕大部分的缺陷,因此分母D1+D2+…+Di并沒有明顯減小,而分子執行案例數PC1+PC2+…+PCi則明顯減少,因此R'<R,投入產出比變小,表明經濟效果更好。
(3)適度測試的風險和應對方法。適度測試的確起到了經濟效果,但選擇的測試范圍是否能夠發現絕大多數的重大缺陷,確保測試質量,是一個潛在風險點。相比之下,基于經驗的適度測試完全取決于測試人員的個人能力,風險較高,可應用在探索性測試。另外兩種方法則需要充分的積累,如果能不斷完善優化“系統功能、接口與業務需求對應關系圖”和數學模型,風險將能得到有效控制。
02.眾測。
(1)眾測的理論意義。眾測是通過變革測試主體和統籌方法來提升測試效益的一種嘗試。該模式利用眾包的形式快速拓展測試人員屬性族群,特別針對兼容性、用戶體驗等測試需求。當然,銀行業出于信息安全的考慮,主要還是“內主外輔”,即由業務部門或分行用戶參與測試,少數任務也有嘗試通過外部機構組織公眾用戶來完成。
對銀行測試來說,常規性的功能、非功能測試仍是主要測試方式。眾測的價值則主要體現在:一是發現常規測試人員不能發現的問題。因為常規測試人員已經存在一定的思維定式,很難完全站在用戶的角度進行體驗測試,或者難以全面考慮所有的用戶場景。二是特殊的激勵機制能夠進一步挖掘測試人員潛力。眾測一般采取對測試任務和發現缺陷分別計費的方式,而且不重復支付。因此能夠鼓勵參與人員積極搶單,“千方百計”第一個發現缺陷,使得參與者更愿意發揮主觀能動性。
(2)眾測的經濟學意義。常規測試方法,假設P為測試人員單位工作量的費用,M1、M2為測試花費的工作量,D1、D2為發現的缺陷數,則投入產出比:

若在進行常規測試的同時,部分任務采用眾測模式,即M2的工作量由眾測替代。假設常規測試部分眾測任務的獎勵費用一般為測試任務數J2乘以獎勵單價Pj,再加上發現缺陷數D2乘以獎勵單價Pd,則投入產出比為:

常規測試時,M2以人月來進行衡量,P是已經確定好的人月單價,也就是說測試人員的費用由服務的時間來決定,但在這段時間內,測試的產出會受到環境、版本等各種因素的影響,P并沒有“物盡其用”。如果采用眾測的模式,總花費是由J2和D2共同決定,也就是說“多干多得”、“優者多得”。因此同樣的任務,采用眾測模式時可以使得花費盡量少,發現的缺陷卻更多。從公式來看,分子中Pj×J2+Pd×D2減小,分母中的D2增大,因此R'<R,投入產出比變小,由此表明經濟效果更好。
(3)眾測的風險和應對方法。眾測作為一種新型的測試模式,對銀行測試有一定的幫助作用,但眾測并不是萬能的,如眾測人員缺乏統一管理,水平也參差不齊,對于重要系統的測試并不適合。另外,如果安排了不恰當的測試任務,很可能造成測試成本失控,眾測成本遠遠大于常規測試成本,從而喪失它本身的優勢。因此,目前眾測模式多用于用戶體驗測試和兼容性測試。若想進一步推廣眾測,則需要在加強眾測管理的同時,平衡好常規性測試和眾測之間的關系,真正實現“花小錢,辦大事”的目標。
03.自動化測試。
(1)自動化測試的理論意義。自動化測試其實由來已久,為了改善傳統測試依靠“人海戰術”的模式,銀行測試人員一直在研究利用自動化的方式提高測試效率。從最早的“錄制回放”模式,到數據驅動的自動化測試模式,再到基于“關鍵字”的自然語言自動化框架,自動化測試在測試人不懈地鉆研中飛速發展。無論采用哪種方式,主要的目的就是要提高測試執行效率,縮短軟件交付周期,完成人工測試無法完成的測試任務。
(2)自動化測試的經濟學意義。自動化測試的投入成本包括前期的建設成本(C1),即自動化測試框架平臺開發、測試設備準備、腳本編寫等方面的花費,測試過程中腳本維護的成本(C2),以及運行成本(C3),其產出包括常規測試缺陷(D1)和回歸測試缺陷(D2'),N'為自動化測試的輪次,因此投入產出比:

如果采取手工測試,投入主要為人力成本(C),N為手工測試輪次,則投入產出比:

由此可見,自動化測試前期建設成本較高,在短期內優勢難以體現,甚至成本高于手工測試。只有自動化測試腳本不斷被重復使用,即N=N'越來越大,而每次腳本維護變動較少時,C2+C3小于C且趨于0,才能使得C1+(C2+C3)×N遠小于C×N。另一方面,在同一測試周期中,由于自動化測試效率遠高于手工測試,N'遠大于N,如采用自動化測試進行回歸測試,則可有效擴大回歸測試范圍,提高缺陷產值,即D2'>D2。使得R'<R,經濟效果更好。
(3)自動化測試的風險和應對方法。一是自動化測試前期建設成本普遍較高,因此自動化測試的經濟效益在短期內并不明顯,只有長期使用才能體現出更大價值。二是自動化測試實施期間,同樣存在較高的腳本維護投入,對于待測系統更新較快、變動較大的項目,也需要慎重考慮。當然,新科技的應用會給自動化測試的發展帶來哪些新的契機,也可拭目以待。
04.“實習生計劃”。
(1)“實習生計劃”的理論意義。目前絕大多數銀行都會使用外協人員參與測試。這些銀行會普遍性地遇到兩個難題。一是較高的外協人員流失率造成難以降低的人員招聘和培訓成本。二是外協人員的服務年限和級別逐年增長,存量人員的費用成本同樣年年攀升。“實習生計劃”是近幾年在銀行業測試梯隊建設方面出現的一種創新。這種創新是通過銀行、外協公司和高校的三方合作,招收大四學生作為實習生,到銀行實際測試崗位開展實習,并簽訂“三方協議”;然后將通過實習具備合格能力的應屆畢業生補充到正式測試團隊,以填補人員流失缺口和替換高成本測試人員的方式。該計劃讓銀行能夠主動地控制測試外協人力成本。
(2)“實習生計劃”的經濟學意義。假設M為測試工作量(人月),如果不使用實習生時平均人員單價為P,D為發現缺陷數,C為人員流失成本,則投入產出比:

采用“實習生計劃”后,實習期間銀行需要投入基礎設施成本(C'),優秀實習生留用成為正式外協人員后,P'為平均人月單價,則投入產出比:

表面上,采用“實習生計劃”增加了基礎設施成本,但“實習生計劃”形成了一個可持續的人員培養機制。短時間來看,實習期已經培養過的人員可以很快進入工作狀態,也擺脫了招不到合適人員的困境,可以有效彌補人員流失成本C;長時間來看,隨著時間的推移,高成本的存量人員逐步被這些人員所替代,從而使得外協人員整體的平均單價降低,即P'<P。當留用人員的人數達到一定比例,使得C'+P'×M<P×M,采用“實習生計劃”后的投入產出比將小于之前,即R'<R,投入產出比變小,由此表明經濟效果更好。
(3)“實習生計劃”的風險和應對方法。“實習生計劃”促使銀行、外包服務供應商和實習生達到了三贏的效果,但也存在一定風險。其關鍵點在于:一是要合理估算每期招收實習生的數量和實習周期;二是要在實習期間完善培養方案,確保較高的畢業入職轉化率。因此,實施該計劃的相關方還需要不斷磨合和積極探索。
總的來看,銀行測試對銀行信息化建設的作用還是十分關鍵的。為了把好“最后一道關”,銀行測試從業人員始終嚴陣以待,不敢松懈。隨著新科技的不斷引入,銀行測試也將面臨著更嚴峻的考驗。但不管怎樣發展創新,高效的“投入產出”應該是銀行測試從業人員和管理者永恒的追求。以上這些最佳實踐僅僅是“經濟學”研究應用在該領域的前期嘗試。希望圈內同仁能共同探討、研究和實踐,尋求更多更好的方法來推動銀行測試的進一步發展。
(文章來源:金融電子化雜志)
掃碼即可手機
閱讀轉發此文
目前Hadoop/HBase廣泛應用于各類具有大數據需求的企業,尤其是互聯網企業,
工商銀行啟動業務集中處理改革,研發了具有自主知識產權的業務集中處理平臺