?實(shí)戰(zhàn) – 增服務(wù)強(qiáng)管理,構(gòu)建測(cè)試全流程工作平臺(tái)
文 / 華夏銀行信息科技部 繆翔宇 荀竑 王志軍
在金融行業(yè)數(shù)字化轉(zhuǎn)型的背景下,華夏銀行秉承“智慧金融、數(shù)字華夏”的戰(zhàn)略愿景,持續(xù)提升軟件研發(fā)質(zhì)效。本文圍繞華夏銀行軟件測(cè)試領(lǐng)域一體化平臺(tái)的建設(shè)歷程,從“增服務(wù)”和“強(qiáng)管理”兩個(gè)角度探索企業(yè)級(jí)測(cè)試支持類系統(tǒng)的重構(gòu)之路。
問題與挑戰(zhàn)
華夏銀行在大集中時(shí)代就已建設(shè)了用于測(cè)試支持的相關(guān)系統(tǒng)和工具,包括缺陷管理系統(tǒng)、用例管理系統(tǒng)以及輔助回歸測(cè)試的自動(dòng)化測(cè)試工具等。近幾年,伴隨華夏銀行企業(yè)級(jí)集團(tuán)化和敏捷研發(fā)體系的建設(shè),既有的測(cè)試系統(tǒng)和工具已成為提升開發(fā)質(zhì)效的短板,主要體現(xiàn)在以下幾個(gè)方面。
一方面,由于測(cè)試需求、用例以及缺陷分別位于不同的獨(dú)立系統(tǒng)內(nèi),無(wú)法實(shí)現(xiàn)有效的互聯(lián)互通,制約對(duì)整個(gè)測(cè)試流程的全局管控。
另一方面,自動(dòng)化測(cè)試工具、代碼版本管理工具以及持續(xù)集成工具分散應(yīng)用于開發(fā)測(cè)試的不同環(huán)節(jié),無(wú)法對(duì)其進(jìn)行統(tǒng)一的調(diào)度與管理,需求分析、用例設(shè)計(jì)與評(píng)審、缺陷分析等關(guān)鍵測(cè)試活動(dòng)也缺乏相應(yīng)的工具支持。
此外,考慮到“測(cè)試左移”與“測(cè)試自動(dòng)化”是提升軟件產(chǎn)品質(zhì)量、縮短產(chǎn)品上市周期的主要途徑,如何落地“測(cè)試左移”、如何實(shí)現(xiàn)“最恰當(dāng)”的測(cè)試自動(dòng)化也是當(dāng)前銀行測(cè)試領(lǐng)域面臨的共同挑戰(zhàn)。
探索與實(shí)踐
圍繞上述問題和挑戰(zhàn),華夏銀行自主研發(fā)了集服務(wù)能力和管理能力于一體的“測(cè)試服務(wù)管理平臺(tái)”。該平臺(tái)的主要功能包括需求管理、用例管理、缺陷管理、執(zhí)行管理、工具管理、評(píng)審管理、風(fēng)險(xiǎn)管理、資源管理(含測(cè)試數(shù)據(jù)、接口信息、測(cè)試知識(shí)庫(kù)、測(cè)試環(huán)境)等,尤其是針對(duì)華夏銀行的實(shí)際情況,對(duì)軟件測(cè)試中的需求、用例及缺陷的傳統(tǒng)管理方式進(jìn)行了重構(gòu),對(duì)手工測(cè)試與自動(dòng)化測(cè)試的驅(qū)動(dòng)模式進(jìn)行了改造,對(duì)測(cè)試過程支持工具進(jìn)行了完善,最終走出了一條適合華夏銀行特色的企業(yè)級(jí)軟件測(cè)試管理與服務(wù)之路。
特色與亮點(diǎn)
1.軟件測(cè)試三要素管理
軟件測(cè)試的關(guān)鍵三要素就是測(cè)試需求、用例和缺陷。如圖1所示。
圖1 需求、用例及缺陷管理
首先是對(duì)測(cè)試需求的管理,該平臺(tái)提供測(cè)試需求分析工具,輔助測(cè)試人員對(duì)自動(dòng)同步過來(lái)的項(xiàng)目需求進(jìn)行分析,創(chuàng)建和維護(hù)測(cè)試需求,并基于需求變更自動(dòng)映射標(biāo)注對(duì)應(yīng)的測(cè)試用例及相關(guān)缺陷。
其次是對(duì)測(cè)試用例與缺陷的管理。該平臺(tái)中的測(cè)試用例管理包括分析、設(shè)計(jì)、評(píng)審、準(zhǔn)備數(shù)據(jù)以及執(zhí)行等過程,每個(gè)過程都提供了相應(yīng)的工具及服務(wù)。分析過程通過思維導(dǎo)圖、需求分析矩陣等工具完成對(duì)測(cè)試需求的全面解析;設(shè)計(jì)過程充分利用歷史資產(chǎn)用例庫(kù),實(shí)現(xiàn)資產(chǎn)復(fù)用,盡量避免重復(fù)造輪子;評(píng)審過程通過規(guī)則可配的評(píng)審工具完成輔助評(píng)審;數(shù)據(jù)準(zhǔn)備過程通過智能測(cè)試數(shù)據(jù)池(可自動(dòng)探查消耗性數(shù)據(jù)的剩余比例,實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)補(bǔ)充),實(shí)現(xiàn)測(cè)試數(shù)據(jù)的智能準(zhǔn)備(規(guī)則化獲取數(shù)據(jù),永不失效);執(zhí)行過程可根據(jù)標(biāo)簽匹配手工執(zhí)行還是自動(dòng)執(zhí)行,執(zhí)行成功會(huì)自動(dòng)生成測(cè)試報(bào)告,如果執(zhí)行失敗,自動(dòng)執(zhí)行的測(cè)試用例會(huì)自動(dòng)提交相應(yīng)的缺陷進(jìn)入缺陷管理模塊,并同步通知相關(guān)干系人,對(duì)于手工執(zhí)行的失敗用例,該平臺(tái)會(huì)輔助測(cè)試人員填充必要的缺陷信息,加快測(cè)試人員提交缺陷的效率。
2.測(cè)試及發(fā)版全流程聯(lián)動(dòng)管理
傳統(tǒng)的持續(xù)集成生態(tài)包括發(fā)版、編譯構(gòu)建、部署以及冒煙測(cè)試,華夏銀行通過測(cè)試服務(wù)管理平臺(tái)對(duì)傳統(tǒng)的持續(xù)集成生態(tài)進(jìn)行了進(jìn)一步的完善,將缺陷狀態(tài)的變化融入其中。該平臺(tái)中管理的缺陷與源碼管理系統(tǒng)實(shí)時(shí)聯(lián)動(dòng),開發(fā)人員修復(fù)完缺陷代碼發(fā)版后,源碼管理系統(tǒng)自動(dòng)觸發(fā)持續(xù)集成完成編譯構(gòu)建、制品部署,然后,平臺(tái)中的缺陷狀態(tài)會(huì)自動(dòng)修改為待驗(yàn)證,同時(shí)觸發(fā)平臺(tái)中的測(cè)試任務(wù)(手工或自動(dòng)),完成對(duì)缺陷的回歸驗(yàn)證。
3.測(cè)試全流程風(fēng)險(xiǎn)管理
借助該平臺(tái),風(fēng)險(xiǎn)管理將貫穿測(cè)試項(xiàng)目的整個(gè)過程,支撐測(cè)試的左移,如圖2所示。
圖2 雙軌開發(fā)模式
測(cè)試項(xiàng)目伴隨開發(fā)項(xiàng)目同步啟動(dòng),經(jīng)歷需求階段、設(shè)計(jì)段、實(shí)現(xiàn)階段、測(cè)試階段及上線發(fā)布階段,每個(gè)階段都會(huì)進(jìn)行風(fēng)險(xiǎn)的識(shí)別、分析、應(yīng)對(duì)和控制。該平臺(tái)支持人工與自動(dòng)兩種風(fēng)險(xiǎn)識(shí)別模式,對(duì)于進(jìn)度、質(zhì)量、流程、審計(jì)規(guī)則、評(píng)審規(guī)則等可以自動(dòng)識(shí)別的風(fēng)險(xiǎn),該平臺(tái)將通過企業(yè)微信及郵件的形式及時(shí)提示相關(guān)干系人,對(duì)風(fēng)險(xiǎn)提前預(yù)警;而對(duì)測(cè)試人力資源、測(cè)試環(huán)境資源等由測(cè)試干系人主動(dòng)發(fā)現(xiàn)的風(fēng)險(xiǎn),對(duì)應(yīng)的測(cè)試經(jīng)理可以在該平臺(tái)內(nèi)進(jìn)行登記、跟蹤與升級(jí)處理,實(shí)現(xiàn)對(duì)風(fēng)險(xiǎn)全生命周期的掌控。
4.實(shí)現(xiàn)最“恰當(dāng)?shù)摹弊詣?dòng)化
(1)動(dòng)態(tài)分層測(cè)試的支撐
在軟件測(cè)試中,手工測(cè)試與自動(dòng)化測(cè)試的占比該如何決策,一直是長(zhǎng)期困擾測(cè)試業(yè)界的一個(gè)問題。結(jié)合該平臺(tái)的投產(chǎn)應(yīng)用,我們可以真正實(shí)現(xiàn)測(cè)試的左移,在需求階段根據(jù)具體項(xiàng)目的實(shí)際情況制定后續(xù)各個(gè)階段中自動(dòng)與手工測(cè)試的策略,也就是說(shuō),在該平臺(tái)中手工測(cè)試與自動(dòng)化測(cè)試的占比不是一成不變的,是根據(jù)不同項(xiàng)目動(dòng)態(tài)調(diào)整適應(yīng)的,并且輔以相應(yīng)的探索測(cè)試,如圖3。
圖3 動(dòng)態(tài)分層測(cè)試模式
該平臺(tái)通過專家判斷和歷史信息參照等方式確定某個(gè)功能點(diǎn)是應(yīng)該手工測(cè)試還是自動(dòng)化測(cè)試,判斷的因子包括使用頻度、是否有金融交易(轉(zhuǎn)賬、取款、查詢)、歷史缺陷、用戶重要級(jí)別、用戶范圍、開發(fā)及測(cè)試人員的數(shù)量和技能水平、整個(gè)項(xiàng)目的時(shí)間限制、成本限制及質(zhì)量限制等等。同時(shí),每個(gè)項(xiàng)目的測(cè)試策略都會(huì)及時(shí)入庫(kù),保持積累與更新,為后續(xù)項(xiàng)目提供參考借鑒。
(2) 在手工測(cè)試中注入“自動(dòng)”基因
理論上,軟件測(cè)試主要分為單元、接口、WebUI、移動(dòng)APP以及桌面應(yīng)用等幾種形式,每種形式的測(cè)試都包括手動(dòng)測(cè)試和自動(dòng)化測(cè)試兩部分。在該平臺(tái)中,不僅實(shí)現(xiàn)了不同形式測(cè)試用例的“歸一化”設(shè)計(jì),而且實(shí)現(xiàn)了測(cè)試用例“執(zhí)行”的同臺(tái)驅(qū)動(dòng)。例如,對(duì)于B/S架構(gòu)的應(yīng)用,不論是手工測(cè)試還是自動(dòng)化測(cè)試,測(cè)試用例都擁有一致的標(biāo)準(zhǔn)模板,執(zhí)行時(shí),如果是手工測(cè)試,測(cè)試用例會(huì)自動(dòng)驅(qū)動(dòng)對(duì)應(yīng)的瀏覽器,打開相應(yīng)頁(yè)面,測(cè)試人員的后續(xù)操作會(huì)被同步記錄在對(duì)應(yīng)的測(cè)試用例內(nèi),這樣就從技術(shù)上杜絕了測(cè)試用例與測(cè)試截圖不匹配的情況發(fā)生。
另外,銀行軟件項(xiàng)目的特點(diǎn)就是復(fù)雜度高,往往一個(gè)項(xiàng)目要同時(shí)涉及多個(gè)子系統(tǒng),如存款、貸款、銀行卡、結(jié)算、綜合前置等,因此,其測(cè)試報(bào)告要匯總統(tǒng)計(jì)多個(gè)子系統(tǒng)的測(cè)試用例、執(zhí)行結(jié)果以及缺陷等相關(guān)信息,手工編寫過程繁雜且費(fèi)時(shí)。隨著該平臺(tái)的上線,測(cè)試報(bào)告可以依據(jù)標(biāo)準(zhǔn)模板自動(dòng)生成,大大提高了測(cè)試報(bào)告編寫的速度與質(zhì)量。
建設(shè)實(shí)效
隨著測(cè)試服務(wù)管理平臺(tái)的上線應(yīng)用,華夏銀行軟件測(cè)試服務(wù)能力和管理水平都有了大幅提升。
1.強(qiáng)化測(cè)試控制手段。通過規(guī)則配置的評(píng)審工具對(duì)測(cè)試用例開展正反例、邊界值、等價(jià)類等強(qiáng)制校驗(yàn),避免了人工疏漏。
2.提升測(cè)試節(jié)點(diǎn)效率。經(jīng)對(duì)比分析,測(cè)試執(zhí)行效率提升 20%,用例評(píng)審效率提高了 30%,缺陷處理效率提升 30%以上。
3.優(yōu)化報(bào)告生成模式。通過該平臺(tái)自動(dòng)生成測(cè)試報(bào)告功能,將原來(lái)小時(shí)級(jí)手工編制測(cè)試報(bào)告的方式調(diào)整為分鐘級(jí)系統(tǒng)自動(dòng)生成,且報(bào)告更客觀準(zhǔn)確。
平臺(tái)投產(chǎn)半年來(lái),已留存2萬(wàn)余次測(cè)試用例評(píng)審記錄,積累了近40萬(wàn)條測(cè)試用例和上萬(wàn)條測(cè)試缺陷,結(jié)合測(cè)試各環(huán)節(jié)的埋點(diǎn)數(shù)據(jù),為測(cè)試過程多維度全方位的動(dòng)態(tài)分析和風(fēng)險(xiǎn)度量提供了客觀依據(jù)和有效支撐。
未來(lái)展望
按照華夏銀行數(shù)字化、集團(tuán)化轉(zhuǎn)型發(fā)展的要求,測(cè)試服務(wù)管理平臺(tái)也將從深度和廣度兩方面持續(xù)拓展,從線上化到信息化再到數(shù)字化,從支持具體軟件項(xiàng)目的測(cè)試到實(shí)現(xiàn)全集團(tuán)測(cè)試資產(chǎn)的整合與管理,并且逐步引進(jìn)業(yè)界先進(jìn)的測(cè)試模型和分析工具,為智能化軟件測(cè)試服務(wù)和管理奠定堅(jiān)實(shí)基礎(chǔ)。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。