【編者按】為深入貫徹落實(shí)黨的二十大精神,引導(dǎo)基金行業(yè)機(jī)構(gòu)踐行《證券期貨業(yè)科技發(fā)展“十四五”規(guī)劃》,共促基金行業(yè)數(shù)字化轉(zhuǎn)型,按照中國證監(jiān)會總體工作部署,于2022年11月開展“證券期貨業(yè)數(shù)字化轉(zhuǎn)型主題宣傳月”活動。通過開展“證券期貨業(yè)數(shù)字化轉(zhuǎn)型主題宣傳月”活動,搭建交流平臺,展現(xiàn)數(shù)字化轉(zhuǎn)型成果案例,激發(fā)金融科技創(chuàng)新活力,營造金融科技長效發(fā)展新生態(tài)。該篇為“證券期貨業(yè)數(shù)字化轉(zhuǎn)型主題宣傳月”系列宣傳之二十。
IT自動化測試項(xiàng)目
——匯添富基金
我司測試團(tuán)隊(duì)于2015年正式成立,最早介入的是電商直銷測試項(xiàng)目,隨著直銷業(yè)務(wù)的發(fā)展及我司IT項(xiàng)目逐漸增多,測試團(tuán)隊(duì)規(guī)模從最初的三人擴(kuò)充至目前的四十多人(含外包),經(jīng)過幾年發(fā)展,吸取了其他金融行業(yè)的測試經(jīng)驗(yàn),現(xiàn)已形成了一整套適合我司自身IT特點(diǎn)、成熟的測試體系,覆蓋的測試類型包含功能、自動化、性能、接口測試等。
一、測試工作活動周期
二、數(shù)字化轉(zhuǎn)型需求與自動化測試建立
國內(nèi)自動化測試[1]在2008年左右興起,金融業(yè)最早使用自動化測試的主要是銀行、券商、外匯交易中心等大型的金融機(jī)構(gòu)。隨著市場對于公募基金的認(rèn)可增加,為了適應(yīng)需求激增的市場,我司對于直銷項(xiàng)目的迭代速度要求越來越高,迭代頻率也越來越快。我司IT測試在人力資源投入有限的情況下于2016年自主研發(fā)了第一款基于GUI的自動化測試產(chǎn)品-Excel-Driven-HTF自動化測試框架(圖2)。
該套框架是基于當(dāng)時主流PC端的GUI自動化測試基礎(chǔ)上研發(fā)的,擁有運(yùn)行錯誤自動截屏、錯誤恢復(fù)機(jī)制、自定義函數(shù)、自動生成Excel報告[2]等功能,也有腳本[3]易于維護(hù)、業(yè)務(wù)人員只要填寫Excel便能參與自動化測試等特點(diǎn)。該套Excel驅(qū)動框架在數(shù)字驅(qū)動、關(guān)鍵字驅(qū)動的基礎(chǔ)上,隨著業(yè)務(wù)的發(fā)展不斷更新升級。
(一)建立自動化測試體系
在自動化測試體系[4]的建立過程中,首先,確定自動化測試適用范圍、梳理測試對象,并開展自動化測試可行性調(diào)研等工作;其次,制定自動化測試流程、規(guī)范;最后,執(zhí)行自動化測試。并以基礎(chǔ)交易為試點(diǎn),以例行上線為場景,構(gòu)建了日常自動化驗(yàn)證機(jī)制與手工測試相結(jié)合的測試體系。
自動化測試不能單純地理解為優(yōu)于手工測試的一種測試方式。自動化測試、性能測試、手工測試、接口測試、白盒測試等不同的測試手段都是作為測試效能的一種實(shí)現(xiàn)方式,不能簡單地做橫向比較。所有的測試手段都是為了提升項(xiàng)目質(zhì)量為目標(biāo),以項(xiàng)目能夠高質(zhì)量上線為導(dǎo)向,能夠容納接受并服務(wù)于所有IT項(xiàng)目,這是建立測試體系的初衷。
(二)自動化團(tuán)隊(duì)建設(shè)
團(tuán)隊(duì)建設(shè)方面,以自有員工為基石,招聘自動化測試資深外包人才,組建團(tuán)隊(duì)。同時提升自動化測試團(tuán)隊(duì)的業(yè)務(wù)知識和測試技能,定期培訓(xùn)、交流并建立了與手工測試不同的項(xiàng)目化考核體系。
自動化團(tuán)隊(duì)不僅要能夠?qū)懩_本、改框架,同時也要熟悉業(yè)務(wù)。所有測試人員不僅要求有良好的測試相關(guān)技術(shù),也要對業(yè)務(wù)有深入的了解。在自動化測試做到一定程度后,自動化測試團(tuán)隊(duì)的業(yè)務(wù)水平應(yīng)不亞于業(yè)務(wù)人員,甚至可以根據(jù)實(shí)踐的操作經(jīng)驗(yàn)給專業(yè)的業(yè)務(wù)人員提出專業(yè)的見解或建議。
(三)自動化測試服務(wù)階段
自動化測試在完成了調(diào)研及框架搭建后,便可以在參與的項(xiàng)目中進(jìn)行實(shí)踐。在服務(wù)階段,有如下的定位:
(1)建議自動化測試腳本完成后,服務(wù)于自動化回歸測試[5]、冒煙測試[6]。
(2)參與回歸測試階段(每一輪手工測試最后幾天執(zhí)行自動化測試)。
(3)執(zhí)行環(huán)境為測試環(huán)境[7]。
(4)每一輪測試手工測試與自動化測試同步進(jìn)行,不存在執(zhí)行順序區(qū)別。
(5)自動化測試定位于日常版本的回歸測試。
(6)自動化測試也可用于緊急版本的回歸測試。
依托于以上的定位來劃分與手工測試職能,能夠較好地與手工測試結(jié)合,也便于后期進(jìn)行相關(guān)的問題排查,并更好地補(bǔ)充測試腳本或測試案例。
自動化測試在服務(wù)階段也并不是一成不變的,會根據(jù)實(shí)際測試情況不斷地進(jìn)行調(diào)整。
(四)與手工測試結(jié)合
自動化測試和手工測試應(yīng)合作執(zhí)行,前期手工測試可與自動化測試并行,待此模式成熟后,手工測試可不用測試自動化所覆蓋的范圍。如有需求,自動化測試可協(xié)助手工測試部署自動化測試框架,以便在手工測試有小量需求時,可自行運(yùn)行自動化測試腳本。
同時,手工測試和自動化測試也應(yīng)定期進(jìn)行工作互換,只有真正實(shí)踐后才能理解兩者的共同處和不同處,工作中才能更緊密的配合。
由于自動化測試工具的特性,自動化測試案例不同于手工測試案例,自動化測試案例的編寫更機(jī)械化、細(xì)致化。在編寫案例過程中著重于從框架執(zhí)行的角度,同時也依賴于手工測試回歸案例。自動化的測試案例的要求是覆蓋于手工回歸案例,又不僅限于手工回歸案例。
(五)評價自動化測試的作用
對于實(shí)施了自動化測試的直銷項(xiàng)目,形成了以下3點(diǎn)的評價:(1)縮減單個項(xiàng)目測試時間。(2)提升系統(tǒng)整體測試效率。(3)因成本問題并不是所有項(xiàng)目都適用。隨著自動化測試的逐步深入,自動化測試的作用也越來越顯著,并得到了各方的支持與認(rèn)可。
三、問題與解決
自動化測試實(shí)施的初期遇到過很多問題和困難,比如前期調(diào)研不足,導(dǎo)致未正常獲取都需求相關(guān)文檔;以手工用例為基準(zhǔn),導(dǎo)致高度依賴,產(chǎn)生了很多額外的工作量;部分子功能模塊手工用例數(shù)據(jù)不完整,自動化同步不完整;業(yè)務(wù)知識理解或掌握不足;減少測試工作量的目標(biāo)及效果不是很明顯等。
基于這些問題,結(jié)合以往項(xiàng)目經(jīng)驗(yàn),測試團(tuán)隊(duì)進(jìn)一步地熟悉了解系統(tǒng)相關(guān)業(yè)務(wù),以便更精確地定位腳本開發(fā)調(diào)試執(zhí)行過程中的問題,豐富腳本數(shù)據(jù)、案例,加強(qiáng)與業(yè)務(wù)人員的溝通協(xié)助與配合機(jī)制,提高對工具的使用程度,最大程度地利用自動化測試資產(chǎn)。豐富自動化測試手段,不能只局限于自動化測試工具的使用上,要隨著對系統(tǒng)的了解不斷加深,不斷地加強(qiáng)和完善自動化實(shí)施和應(yīng)用策略。
四、數(shù)字化轉(zhuǎn)型需求升級
隨著應(yīng)用軟件市場APP化的全面推廣,我司APP需求占據(jù)越來越大的比重,APP相關(guān)的測試工作量也隨之激增,因此在測試過程中面臨著既要兼顧傳統(tǒng)PC端又要測試APP的問題。
在測試案例及回歸測試工作量增加到一定程度后,初期測試團(tuán)隊(duì)采用了selenium+python的框架來進(jìn)行APP的自動化測試工作。由于都是基于開源工具研發(fā)的框架,在自有測試人員有限的情況下,無法投入更多的人力在框架及腳本維護(hù)上,因此測試團(tuán)隊(duì)及時改變了策略,選用了外購成熟的APP界面UI自動化測試產(chǎn)品。經(jīng)過半年多的使用,APP自動化測試的效果逐漸體現(xiàn),主要體現(xiàn)在以下兩點(diǎn):一是減輕了手工回歸測試的工作量,在一定程度上取代了手工回歸測試。二是彌補(bǔ)了手工測試受限于測試時間無法覆蓋到歷史版本的問題。
除了電商直銷APP測試外,我司的“添富小i”也使用了同一套APP自動化測試體系。在使用了該套自動化測試體系后,該APP的手工測試工作量也有所降低。
在手工測試人員減少的情況下,2021年全年共計(jì)實(shí)現(xiàn)手工回歸用例替代1.2萬余條,全年共計(jì)運(yùn)行版本共計(jì)1530+輪次,運(yùn)行腳本數(shù)量超過38萬個。且隨著版本的更新,自動化占比逐步提高,2021年累計(jì)發(fā)現(xiàn)手工不易發(fā)現(xiàn)的bug二百余個。此外跟隨我司APP發(fā)版節(jié)奏,在APP上線后1-2周內(nèi)實(shí)現(xiàn)自動化,為下一個版本發(fā)布提供回歸自動化支持。
目前我司APP自動化測試已建立DailyRun機(jī)制,即每日在凌晨12點(diǎn)至次日早上8點(diǎn)會在無人值守的情況下自動執(zhí)行測試計(jì)劃。整體手工案例覆蓋率-增加回歸案例集后的橫向覆蓋率達(dá)到86%左右。部分項(xiàng)目手工測試人員也已參與執(zhí)行自動化測試案例。
自從數(shù)字化轉(zhuǎn)型需求升級以來,APP自動化測試?yán)塾?jì)共覆蓋我司自研APP產(chǎn)品“現(xiàn)金寶”、“添富小i”共計(jì)63個版本,共實(shí)現(xiàn)Android&IOS腳本數(shù)量2.5萬余個,共計(jì)運(yùn)行版本共計(jì)5000+多輪次,運(yùn)行腳本數(shù)量大于103萬個。去除環(huán)境因素導(dǎo)致的運(yùn)行失敗,運(yùn)行成功率大于91%。共計(jì)實(shí)現(xiàn)手工回歸用例替代5萬余條,腳本總體實(shí)現(xiàn)自動化占比85%以上,且隨著版本的更新,自動化占比還在逐步提高。
在數(shù)字化轉(zhuǎn)型這條路上同樣遇到了不少問題,比如單版本的腳本運(yùn)行時間在5-6個小時,運(yùn)行時間較長;單版本的自動化腳本數(shù)量近500個,維護(hù)成本越來越大;每個版本由于環(huán)境問題導(dǎo)致的腳本運(yùn)行失敗占比在60%左右,不但影響腳本的運(yùn)行速度和運(yùn)行質(zhì)量,而且為事后的腳本分析增加了很大的干擾。面對以上問題測試團(tuán)隊(duì)采取了增加端口、定時清理日志、新增一套自動化測試環(huán)境、增加腳本運(yùn)行可運(yùn)行時間等措施。目前所有已知問題都已經(jīng)得到了有效改善。
注:[1]自動化測試,本文中所有“自動化測試”都指“自動化功能測試”。利用GUI自動化測試工具來開發(fā)和執(zhí)行測試腳本,以此驗(yàn)證是否滿足規(guī)定的需求或識別出期望的結(jié)果和實(shí)際結(jié)果之間有無差別。[2]Excel報告,指“自動化功能回歸測試報告”。描述對系統(tǒng)和系統(tǒng)部件進(jìn)行的自動化功能回歸測試行為及結(jié)果的文件。[3]腳本,指“自動化功能回歸測試腳本”。能夠被自動執(zhí)行的自動化功能回歸測試案例,它和一個自動化功能回歸測試需求相對應(yīng)。[4]自動化測試體系,指“自動化功能回歸測試體系”。對給定的自動化測試,就其建立、運(yùn)行和結(jié)果估計(jì)所作的詳細(xì)說明。常常把一組有關(guān)的過程組織起來形成自動化功能回歸測試過程文件。[5]自動化回歸測試,本文中“自動化回歸測試”都指“自動化功能回歸測試”。選擇性的重新自動化功能測試。利用GUI自動化測試工具來開發(fā)和執(zhí)行測試腳本,目的是通過檢測系統(tǒng)和系統(tǒng)部件在修改時所引起的故障,以此來驗(yàn)證上述修改未引起不希望的有害效果,證明修改后的系統(tǒng)和系統(tǒng)部件仍能滿足規(guī)定的需求。[6]冒煙測試,在某一版本build建立后,對系統(tǒng)的基本功能進(jìn)行簡單的測試。這種測試強(qiáng)調(diào)功能的覆蓋率,而不對功能的正確性進(jìn)行驗(yàn)證。冒煙測試的對象是每一個新編譯的需要正式測試的軟件版本,目的是確認(rèn)軟件基本功能正常,可以進(jìn)行后續(xù)的正式測試工作。[7]環(huán)境,指自動化測試執(zhí)行工作所需的環(huán)境,它包括手工測試環(huán)境,即自動化測試被測系統(tǒng)環(huán)境和自動化測試腳本運(yùn)行的相關(guān)環(huán)境,即自動化測試運(yùn)行環(huán)境。
5年后再啟航 全面實(shí)施自貿(mào)區(qū)提升戰(zhàn)略
自貿(mào)試驗(yàn)區(qū)作為我國對外開放的重要窗口……[詳情]
13:14 | 大商所就純苯期貨、期權(quán)合約及相關(guān)... |
13:14 | 證監(jiān)會舉辦2025年“5·15全國投資... |
12:59 | TCL華星攜APEX臻圖與印刷OLED“全... |
12:48 | 這一板塊持續(xù)爆發(fā),4股斬獲3連板! |
12:47 | 剛剛!吳清出席,證監(jiān)會重磅發(fā)聲! |
12:44 | 淘寶在哈薩克斯坦推出俄語版及包郵... |
12:21 | 電廣傳媒聯(lián)合達(dá)晨1.15億元投資馬欄... |
11:37 | 技術(shù)創(chuàng)新引領(lǐng)發(fā)展 中策橡膠即將開... |
11:24 | 恒瑞醫(yī)藥正式啟動H股全球公開發(fā)售 ... |
11:22 | 八連板!603389,公告后再漲停! |
11:19 | 網(wǎng)宿科技重磅升級邊緣AI平臺 三大... |
11:12 | 3天3板!集泰股份“一字板”漲停 |
版權(quán)所有證券日報網(wǎng)
互聯(lián)網(wǎng)新聞信息服務(wù)許可證 10120180014增值電信業(yè)務(wù)經(jīng)營許可證B2-20181903
京公網(wǎng)安備 11010202007567號京ICP備17054264號
證券日報網(wǎng)所載文章、數(shù)據(jù)僅供參考,使用前務(wù)請仔細(xì)閱讀法律申明,風(fēng)險自負(fù)。
證券日報社電話:010-83251700網(wǎng)站電話:010-83251800 網(wǎng)站傳真:010-83251801電子郵件:xmtzx@zqrb.net
掃一掃,即可下載
掃一掃,加關(guān)注
掃一掃,加關(guān)注