一種分布式可視化Dubbo接口測試平臺(tái)
發(fā)布時(shí)間:2021-07-17 08:53
隨著互聯(lián)網(wǎng)金融的發(fā)展,金融業(yè)務(wù)變得更加復(fù)雜,產(chǎn)品功能迭代更加快速.為了支持業(yè)務(wù)的發(fā)展,金融應(yīng)用開始進(jìn)行支持Dubbo協(xié)議的開發(fā).現(xiàn)有的接口測試框架和工具在支持Dubbo協(xié)議、多人協(xié)作及測試用例維護(hù)及數(shù)據(jù)分析上都存在問題:首先,沒有很好的工具支持Dubbo協(xié)議的測試,已有的Dubbo測試框架無法很好地推廣;其次,復(fù)雜業(yè)務(wù)會(huì)涉及多個(gè)應(yīng)用,目前的框架很少考慮多系統(tǒng)間的自動(dòng)化配合;再次,單機(jī)版自動(dòng)化測試工具或純編碼方式的自動(dòng)化測試框架不利于多人協(xié)作編寫自動(dòng)化測試用例及腳本的維護(hù);最后,數(shù)據(jù)分析一般是查看單個(gè)子系統(tǒng)測試用例的執(zhí)行結(jié)果,無法很好地對(duì)數(shù)據(jù)進(jìn)行全局分析.為了更好地管理大批量用例及支持多子系統(tǒng)版本迭代,在已有老框架基礎(chǔ)上,使用分布式技術(shù)設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)靈活的可視化的Dubbo接口自動(dòng)化測試平臺(tái):基于界面操作,提供基于可視化的數(shù)據(jù)驅(qū)動(dòng)及關(guān)鍵字驅(qū)動(dòng)方式,支持編寫復(fù)雜測試用例,并基于接口解析的方式,自動(dòng)生成測試用例.詳細(xì)表述了可視化的Dubbo接口測試平臺(tái)的架構(gòu)、用例管理及用例執(zhí)行;展示了新平臺(tái)與老框架的耗時(shí)對(duì)比、用例增長對(duì)比和新平臺(tái)日常自動(dòng)化執(zhí)行情況.
【文章來源】:華東師范大學(xué)學(xué)報(bào)(自然科學(xué)版). 2019,(04)北大核心CSCD
【文章頁數(shù)】:14 頁
【部分圖文】:
圖1?Dubbo接口測試平臺(tái)架構(gòu)??Fig.?1?Architecture?of?the?Dubbo?interface?testing?platform??
第4期??李艷麗,等:一種分布式可視化Dubbo接口測試平臺(tái)??127??圖3?Dubbo接口測試平臺(tái)技術(shù)架構(gòu)圖??Fig.?3?The?technical?architecture?of?the?Dubbo?interface?testing?platform??執(zhí)行負(fù)載均衡模塊中的負(fù)載均衡策略基于spring?cloud?round?Ribbon^26],自定義了負(fù)載均??衡規(guī)則?HashRule,此類繼承自?AbstractLoadBalancerRule.?RequestContext?類定義了子系統(tǒng)運(yùn)??行的線程上下文,可以獲取當(dāng)前子系統(tǒng)的標(biāo)識(shí)性信息appld.選取執(zhí)行work的規(guī)則算法偽代碼??見算法1.???算法1負(fù)載均衡規(guī)則算法???輸入:負(fù)載均衡對(duì)象ILoadBalancer?lb??輸出:選取的執(zhí)行server??1??2??3??4??5??6??7??8??9??10??11??12??13??14??15??16??17??18??19??20??21??22??23??24??25??26??27??28??29??hashKey?—從線程上下文中獲取子系統(tǒng)對(duì)應(yīng)版本的唯一標(biāo)志appld??while?true??do?servers.clear();//servers?保存負(fù)載均衡需要選取的?work(server)??if?server?=?null?且count++?<?10?then?//try?ten?times??reachableServers?—?lb.getReachableServers()?;//reachableS
更好地設(shè)計(jì)自動(dòng)化測試用例,避免漏測.??2.4用例編寫示例??編寫示例為兩個(gè)系統(tǒng)之間的測試串聯(lián),主要涉及兩個(gè)子系統(tǒng)A、B和工具類tool-util.如??果A系統(tǒng)需要調(diào)用B系統(tǒng)的Dubbo接口?bizOrderAiFacade的方法bizOrder,用于落業(yè)務(wù)單操作??并使用工具類的方法打印自定義日志,則A系統(tǒng)需要添加B系統(tǒng)和工具類tool-util作為依賴.??由于開發(fā)迭代,一個(gè)子系統(tǒng)或工具類會(huì)對(duì)應(yīng)多個(gè)版本,需要選擇選擇依賴的子系統(tǒng)及對(duì)應(yīng)的版本??進(jìn)行添加,依賴關(guān)系可視化頁面展示如圖5所示.??板本對(duì)比??Esrnm行鍛表??璽生成指告??圖5依賴系統(tǒng)信息??Fig.?5?Information?on?Dependent?Systems??編寫測試用例.測試步驟為落業(yè)務(wù)單、支付、交易通知.第一步,創(chuàng)建接口步驟,選擇接口??方法bizOrderAiFacade的方法bizOrder,并使用變量的形式給參數(shù)賦值;第二步,選擇A系統(tǒng)的??接口?TransAiFacade中方法payOrder做支付操作;第三步,選擇接口?MessageNotifyAiFacade的??方法payNotify做交易通知.在每個(gè)步驟編寫完之后,可以執(zhí)行單個(gè)步驟或整個(gè)測試用例并獲取??執(zhí)行結(jié)果.界面展示如圖6所示.??Un*a9??3?L1????〇?|2|?[3Q?*??交颶暹*?KOSK?ilCM?fltKS??t?UKMvBbOdM/tfKad*??2?p^Oidw?TimATacadt??3RSB???aum??sn??I?(-utCo*'?loooiooeaoor?,,。?Q|||?rm??ll.dMp.--ctalS
【參考文獻(xiàn)】:
期刊論文
[1]金融軟件的自動(dòng)化測試探索與創(chuàng)新之路[J]. 周永紅,張彥祥. 中國金融電腦. 2018(01)
[2]大數(shù)據(jù)時(shí)代互聯(lián)網(wǎng)產(chǎn)品的迭代創(chuàng)新設(shè)計(jì)方法研究[J]. 席濤,鄭賢強(qiáng). 包裝工程. 2016(08)
碩士論文
[1]基于分布式服務(wù)框架Dubbo的集群式服務(wù)器的研究與實(shí)現(xiàn)[D]. 楊超.北京郵電大學(xué) 2017
本文編號(hào):3287856
【文章來源】:華東師范大學(xué)學(xué)報(bào)(自然科學(xué)版). 2019,(04)北大核心CSCD
【文章頁數(shù)】:14 頁
【部分圖文】:
圖1?Dubbo接口測試平臺(tái)架構(gòu)??Fig.?1?Architecture?of?the?Dubbo?interface?testing?platform??
第4期??李艷麗,等:一種分布式可視化Dubbo接口測試平臺(tái)??127??圖3?Dubbo接口測試平臺(tái)技術(shù)架構(gòu)圖??Fig.?3?The?technical?architecture?of?the?Dubbo?interface?testing?platform??執(zhí)行負(fù)載均衡模塊中的負(fù)載均衡策略基于spring?cloud?round?Ribbon^26],自定義了負(fù)載均??衡規(guī)則?HashRule,此類繼承自?AbstractLoadBalancerRule.?RequestContext?類定義了子系統(tǒng)運(yùn)??行的線程上下文,可以獲取當(dāng)前子系統(tǒng)的標(biāo)識(shí)性信息appld.選取執(zhí)行work的規(guī)則算法偽代碼??見算法1.???算法1負(fù)載均衡規(guī)則算法???輸入:負(fù)載均衡對(duì)象ILoadBalancer?lb??輸出:選取的執(zhí)行server??1??2??3??4??5??6??7??8??9??10??11??12??13??14??15??16??17??18??19??20??21??22??23??24??25??26??27??28??29??hashKey?—從線程上下文中獲取子系統(tǒng)對(duì)應(yīng)版本的唯一標(biāo)志appld??while?true??do?servers.clear();//servers?保存負(fù)載均衡需要選取的?work(server)??if?server?=?null?且count++?<?10?then?//try?ten?times??reachableServers?—?lb.getReachableServers()?;//reachableS
更好地設(shè)計(jì)自動(dòng)化測試用例,避免漏測.??2.4用例編寫示例??編寫示例為兩個(gè)系統(tǒng)之間的測試串聯(lián),主要涉及兩個(gè)子系統(tǒng)A、B和工具類tool-util.如??果A系統(tǒng)需要調(diào)用B系統(tǒng)的Dubbo接口?bizOrderAiFacade的方法bizOrder,用于落業(yè)務(wù)單操作??并使用工具類的方法打印自定義日志,則A系統(tǒng)需要添加B系統(tǒng)和工具類tool-util作為依賴.??由于開發(fā)迭代,一個(gè)子系統(tǒng)或工具類會(huì)對(duì)應(yīng)多個(gè)版本,需要選擇選擇依賴的子系統(tǒng)及對(duì)應(yīng)的版本??進(jìn)行添加,依賴關(guān)系可視化頁面展示如圖5所示.??板本對(duì)比??Esrnm行鍛表??璽生成指告??圖5依賴系統(tǒng)信息??Fig.?5?Information?on?Dependent?Systems??編寫測試用例.測試步驟為落業(yè)務(wù)單、支付、交易通知.第一步,創(chuàng)建接口步驟,選擇接口??方法bizOrderAiFacade的方法bizOrder,并使用變量的形式給參數(shù)賦值;第二步,選擇A系統(tǒng)的??接口?TransAiFacade中方法payOrder做支付操作;第三步,選擇接口?MessageNotifyAiFacade的??方法payNotify做交易通知.在每個(gè)步驟編寫完之后,可以執(zhí)行單個(gè)步驟或整個(gè)測試用例并獲取??執(zhí)行結(jié)果.界面展示如圖6所示.??Un*a9??3?L1????〇?|2|?[3Q?*??交颶暹*?KOSK?ilCM?fltKS??t?UKMvBbOdM/tfKad*??2?p^Oidw?TimATacadt??3RSB???aum??sn??I?(-utCo*'?loooiooeaoor?,,。?Q|||?rm??ll.dMp.--ctalS
【參考文獻(xiàn)】:
期刊論文
[1]金融軟件的自動(dòng)化測試探索與創(chuàng)新之路[J]. 周永紅,張彥祥. 中國金融電腦. 2018(01)
[2]大數(shù)據(jù)時(shí)代互聯(lián)網(wǎng)產(chǎn)品的迭代創(chuàng)新設(shè)計(jì)方法研究[J]. 席濤,鄭賢強(qiáng). 包裝工程. 2016(08)
碩士論文
[1]基于分布式服務(wù)框架Dubbo的集群式服務(wù)器的研究與實(shí)現(xiàn)[D]. 楊超.北京郵電大學(xué) 2017
本文編號(hào):3287856
本文鏈接:http://sikaile.net/guanlilunwen/bankxd/3287856.html
最近更新
教材專著