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