本發(fā)明涉及程序自動(dòng)化測(cè)試領(lǐng)域,尤其涉及一種接口自動(dòng)化用例生成方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、部門(mén)的產(chǎn)品進(jìn)行了產(chǎn)品融合,業(yè)務(wù)架構(gòu)變更,導(dǎo)致接口大量變更,之前積累的大量的接口自動(dòng)化用例都不能使用或者需要去二次更改,同時(shí)新的自動(dòng)化用例需要人工去編寫(xiě),比較費(fèi)時(shí)費(fèi)力,維護(hù)成本比較高,在版本的測(cè)試過(guò)程中,自動(dòng)化用例編寫(xiě)速度跟不上版本的發(fā)布迭代速度,因此我們希望使用一種創(chuàng)新的手段來(lái)讓我們的接口自動(dòng)化用例編寫(xiě)更快,降低維護(hù)成本,提高運(yùn)行時(shí)間,并且可以快速補(bǔ)充接口自動(dòng)化用例的覆蓋度,更好的保證版本的質(zhì)量。
2、目前接口自動(dòng)化用例自動(dòng)生成的方式大多是如下幾種方案:
3、一種是拿到swagger等接口文檔,通過(guò)對(duì)接口文檔的解析來(lái)生成接口自動(dòng)化用例,但是這種方式的缺點(diǎn)是需要依賴(lài)開(kāi)發(fā)人員在編寫(xiě)代碼的時(shí)候?qū)懽⒔?、同時(shí)生成的接口自動(dòng)化用例的參數(shù)比較局限,不是真實(shí)的測(cè)試數(shù)據(jù)。
4、一種是根據(jù)yapi等接口管理平臺(tái),通過(guò)解析yaml的方式來(lái)進(jìn)行接口自動(dòng)化用例的生成,這種方式的缺點(diǎn)是需要人工來(lái)維護(hù)yaml配置文件。
5、一種是通過(guò)charles抓包工具,抓包解析的方式來(lái)進(jìn)行接口自動(dòng)化用例的生成,這種方式的缺點(diǎn)是需要在測(cè)試的時(shí)候打開(kāi)charles等抓包工具,配置好代理才能進(jìn)行接口的抓取,不能做到后臺(tái)的靜默采集。
技術(shù)實(shí)現(xiàn)思路
1、發(fā)明目的:提出一種接口自動(dòng)化用例生成方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),有效解決現(xiàn)有技術(shù)存在的上述問(wèn)題。
2、第一方面,提出一種接口自動(dòng)化用例生成方法,步驟如下:
3、采集測(cè)試環(huán)境中預(yù)定周期的流量數(shù)據(jù),將其視為粗流量數(shù)據(jù);
4、定期將粗流量數(shù)據(jù)匯總成第一數(shù)據(jù)包;
5、對(duì)所述第一數(shù)據(jù)包中的粗流量數(shù)據(jù)進(jìn)行精細(xì)化處理,得到精準(zhǔn)流量數(shù)據(jù),將預(yù)定規(guī)模的所述精準(zhǔn)流量數(shù)據(jù)匯總為第二數(shù)據(jù)包;
6、接收所述第二數(shù)據(jù)包,對(duì)所述第二數(shù)據(jù)包內(nèi)的零散數(shù)據(jù)進(jìn)行用例拼接,生成接口自動(dòng)化用例腳本;
7、將生成的接口自動(dòng)化用例腳本套用于正式環(huán)境中,實(shí)現(xiàn)程序接口的自動(dòng)更新。
8、在第一方面進(jìn)一步的實(shí)施例中,在生成接口自動(dòng)化用例的過(guò)程中,根據(jù)調(diào)用鏈路來(lái)動(dòng)態(tài)替換接口自動(dòng)化用例中對(duì)數(shù)據(jù)的依賴(lài)。
9、在第一方面進(jìn)一步的實(shí)施例中,對(duì)所述第一數(shù)據(jù)包中的粗流量數(shù)據(jù)進(jìn)行精細(xì)化處理,具體包括:
10、在被測(cè)應(yīng)用上部署覆蓋率探針;
11、由所述覆蓋率探針獲取每個(gè)流量走過(guò)的路徑;
12、解析每個(gè)流量、路徑、代碼三者的映射關(guān)系;
13、將所述映射關(guān)系作為去重規(guī)則,去除剩余重復(fù)流量,獲得精準(zhǔn)流量數(shù)據(jù)。
14、在第一方面進(jìn)一步的實(shí)施例中,該接口自動(dòng)化用例生成方法還包括:對(duì)變動(dòng)的程序接口進(jìn)行篩選,只跑變動(dòng)接口的接口自動(dòng)化用例,并根據(jù)覆蓋率進(jìn)行補(bǔ)充測(cè)試,此過(guò)程具體包括:
15、根據(jù)基準(zhǔn)commitid和新提交的commitid進(jìn)行diff解析,解析出變動(dòng)規(guī)則;
16、根據(jù)解析到的所述變動(dòng)規(guī)則,篩選出受影響的接口自動(dòng)化用例集合,生成代碼覆蓋率報(bào)告。
17、本發(fā)明的第二方面,提出一種接口自動(dòng)化用例生成裝置,該裝置包括流量采集器、數(shù)據(jù)中心服務(wù)器、用例生成器、diff解析器四部分。
18、流量采集器部署在測(cè)試環(huán)境中,由流量采集器采集當(dāng)前預(yù)定周期的流量數(shù)據(jù),將其視為粗流量數(shù)據(jù);流量采集器定期將粗流量數(shù)據(jù)匯總成第一數(shù)據(jù)包回傳到數(shù)據(jù)中心服務(wù)器上。
19、數(shù)據(jù)中心服務(wù)器對(duì)所述第一數(shù)據(jù)包中的粗流量數(shù)據(jù)進(jìn)行精細(xì)化處理,得到精準(zhǔn)流量數(shù)據(jù),將預(yù)定規(guī)模的所述精準(zhǔn)流量數(shù)據(jù)匯總為第二數(shù)據(jù)包。
20、用例生成器用于接收所述第二數(shù)據(jù)包并對(duì)其零散數(shù)據(jù)進(jìn)行用例拼接,生成接口自動(dòng)化用例腳本;將生成的接口自動(dòng)化用例腳本套用于正式環(huán)境中,實(shí)現(xiàn)程序接口的自動(dòng)更新。
21、diff解析器用于對(duì)變動(dòng)的程序接口進(jìn)行篩選,只跑變動(dòng)接口的接口自動(dòng)化用例,并根據(jù)覆蓋率進(jìn)行補(bǔ)充測(cè)試;diff解析器根據(jù)基準(zhǔn)commitid和新提交的commitid進(jìn)行diff解析,解析出變動(dòng)規(guī)則;根據(jù)解析到的所述變動(dòng)規(guī)則,篩選出受影響的接口自動(dòng)化用例集合,并生成代碼覆蓋率報(bào)告。
22、第三方面,提出一種電子設(shè)備,該電子設(shè)備包括處理器以及存儲(chǔ)有計(jì)算機(jī)程序指令的存儲(chǔ)器;所述處理器執(zhí)行所述計(jì)算機(jī)程序指令時(shí)實(shí)現(xiàn)如第一方面所述的接口自動(dòng)化用例生成方法。
23、第四方面,提出一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該存儲(chǔ)介質(zhì)中存儲(chǔ)有至少一個(gè)可執(zhí)行指令,所述可執(zhí)行指令在電子設(shè)備上運(yùn)行時(shí),使得電子設(shè)備執(zhí)行如第一方面所述的接口自動(dòng)化用例生成方法。
24、有益效果:本發(fā)明提出一種接口自動(dòng)化用例生成方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),充分利用測(cè)試人員在測(cè)試過(guò)程中產(chǎn)生的數(shù)據(jù)流量,自動(dòng)生成接口自動(dòng)化用例,同時(shí)利用精準(zhǔn)篩選自動(dòng)化用例的方式,解決接口自動(dòng)化用例編寫(xiě)速度慢、運(yùn)行時(shí)間長(zhǎng)、維護(hù)成本高等問(wèn)題,使版本的回歸更快,更高效。
1.一種接口自動(dòng)化用例生成方法,其特征在于,包括如下步驟:
2.根據(jù)權(quán)利要求1所述的接口自動(dòng)化用例生成方法,其特征在于,在生成接口自動(dòng)化用例的過(guò)程中,根據(jù)調(diào)用鏈路來(lái)動(dòng)態(tài)替換接口自動(dòng)化用例中對(duì)數(shù)據(jù)的依賴(lài)。
3.根據(jù)權(quán)利要求1所述的接口自動(dòng)化用例生成方法,其特征在于,對(duì)所述第一數(shù)據(jù)包中的粗流量數(shù)據(jù)進(jìn)行精細(xì)化處理,具體包括:
4.根據(jù)權(quán)利要求1所述的接口自動(dòng)化用例生成方法,其特征在于,還包括:對(duì)變動(dòng)的程序接口進(jìn)行篩選,只跑變動(dòng)接口的接口自動(dòng)化用例,并根據(jù)覆蓋率進(jìn)行補(bǔ)充測(cè)試。
5.根據(jù)權(quán)利要求4所述的接口自動(dòng)化用例生成方法,其特征在于,對(duì)變動(dòng)的程序接口進(jìn)行篩選,具體包括:
6.根據(jù)權(quán)利要求5所述的接口自動(dòng)化用例生成方法,其特征在于:篩選出受影響的接口自動(dòng)化用例集合之后,生成代碼覆蓋率報(bào)告。
7.一種接口自動(dòng)化用例生成裝置,其特征在于,包括:
8.根據(jù)權(quán)利要求7所述的接口自動(dòng)化用例生成裝置,其特征在于,還包括diff解析器;所述diff解析器用于對(duì)變動(dòng)的程序接口進(jìn)行篩選,只跑變動(dòng)接口的接口自動(dòng)化用例,并根據(jù)覆蓋率進(jìn)行補(bǔ)充測(cè)試;
9.一種電子設(shè)備,其特征在于,所述設(shè)備包括:處理器以及存儲(chǔ)有計(jì)算機(jī)程序指令的存儲(chǔ)器;所述處理器執(zhí)行所述計(jì)算機(jī)程序指令時(shí)實(shí)現(xiàn)如權(quán)利要求1至6中任一項(xiàng)所述的接口自動(dòng)化用例生成方法。
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述存儲(chǔ)介質(zhì)中存儲(chǔ)有至少一個(gè)可執(zhí)行指令,所述可執(zhí)行指令在電子設(shè)備上運(yùn)行時(shí),使得電子設(shè)備執(zhí)行如權(quán)利要求1至6中任一項(xiàng)所述的接口自動(dòng)化用例生成方法。