[發(fā)明專利]API自發(fā)現(xiàn)方法和基于此的測試覆蓋率統(tǒng)計方法及裝置有效
| 申請?zhí)枺?/td> | 202110940190.5 | 申請日: | 2021-08-17 |
| 公開(公告)號: | CN113392034B | 公開(公告)日: | 2021-10-15 |
| 發(fā)明(設(shè)計)人: | 張濤;寧戈;劉恩炙;周幸 | 申請(專利權(quán))人: | 北京安普諾信息技術(shù)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F16/955 |
| 代理公司: | 北京萬象新悅知識產(chǎn)權(quán)代理有限公司 11360 | 代理人: | 賈曉玲 |
| 地址: | 100085 北京市海淀區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | api 發(fā)現(xiàn) 方法 基于 測試 覆蓋率 統(tǒng)計 裝置 | ||
本申請公開的實施例提供了一種API自發(fā)現(xiàn)方法和基于此的測試覆蓋率統(tǒng)計方法及裝置。其中,前面述及的API自發(fā)現(xiàn)方法,包括:通過在目標(biāo)Web應(yīng)用程序初始化路由規(guī)則注冊到路由系統(tǒng)后基于插樁自發(fā)現(xiàn)目標(biāo)Web應(yīng)用程序中的全量API;上述的API自發(fā)現(xiàn)方法,能夠一次性且低開銷地獲取目標(biāo)Web應(yīng)用的(初始化注冊的)全量API信息。而前面述及的測試覆蓋率統(tǒng)計方法,則能夠在測試過程中統(tǒng)計/實時統(tǒng)計得到準(zhǔn)確、可靠的API測試覆蓋率,進(jìn)而更有效地評估測試完整性,以客觀認(rèn)識軟件質(zhì)量和更好改進(jìn)測試工作。
技術(shù)領(lǐng)域
本申請公開的實施例主要涉及Web后端API相關(guān)的技術(shù)領(lǐng)域以及相關(guān)的軟件測試技術(shù)領(lǐng)域,且更具體地,涉及一種API自發(fā)現(xiàn)方法和基于此的測試覆蓋率統(tǒng)計方法及裝置。
背景技術(shù)
Web應(yīng)用程序通常采用主從式架構(gòu)。而主從式架構(gòu)的Web應(yīng)用程序又被視為前端(一般地,是指瀏覽器、客戶端程序上運行的部分或客戶端程序本身)和后端(一般地,是指服務(wù)器端運行的部分)兩部分。得益于前端技術(shù)的發(fā)展,前后端分離已經(jīng)成為行業(yè)內(nèi)開展互聯(lián)網(wǎng)項目、開發(fā)相關(guān)Web應(yīng)用程序的標(biāo)配模式。通過前、后端的有效解耦,實現(xiàn)前后端分離,前端開始更加注重頁面開發(fā)的工程化、自動化,后端則更專注于API(這里的API,主要是指前后端分離模式下一種非常重要的后端路由實現(xiàn)方式)的提供和數(shù)據(jù)庫的保障,如此才為軟件系統(tǒng)的大型分布式架構(gòu)、彈性計算架構(gòu)、微服務(wù)架構(gòu)、多端化服務(wù)等提供了可能。
而在軟件項目的全生命周期中,正因為后端提供的API的重要作用(后端路由)及意義(實現(xiàn)前后端解耦),故若能夠掌握Web應(yīng)用程序中后端提供的全量API,將有助于軟件項目的開發(fā)、測試、運維等工作的開展;尤其 是在測試過程中,若能掌握Web后端的全量API,將有助于測試覆蓋率統(tǒng)計。
然而,無論是通過開發(fā)團(tuán)隊人工統(tǒng)計,還是通過傳統(tǒng)手段——爬蟲爬取,對于獲取Web后端全量API的目標(biāo)而言,都是力有不逮力的。因此,如何獲取目標(biāo)Web應(yīng)用程序后端提供的全量API,特別是如何一次性獲取其中全量API以減少獲取過程開銷,進(jìn)而為其后相關(guān)測試的覆蓋率統(tǒng)計提供可靠全量API信息,是本領(lǐng)域亟待解決的技術(shù)問題。
發(fā)明內(nèi)容
根據(jù)本申請公開的實施例,提供了一種API自發(fā)現(xiàn)的方案(注:所述API,即Web后端提供的API,其主要是指前后端分離模式下一種非常重要的后端路由實現(xiàn)方式),以及一種基于所述API自發(fā)現(xiàn)的測試覆蓋率統(tǒng)計的方案。
在本公開的第一方面中,提供了一種API自發(fā)現(xiàn)方法。該方法包括:在目標(biāo)Web應(yīng)用程序初始化路由規(guī)則注冊到路由系統(tǒng)后,基于插樁自發(fā)現(xiàn)目標(biāo)Web應(yīng)用程序中的全量API;其中包括:通過預(yù)先插樁的第一探針獲取路由規(guī)則對應(yīng)的URL路徑與實際處理程序的映射集合;根據(jù)所述映射集合中的每條URL路徑與實際處理程序的映射關(guān)系信息,分別生成相應(yīng)的API信息,并輸出全量API信息;每條所述API信息都包括對應(yīng)的URL路徑信息。
在本公開的第二方面中,對應(yīng)地,提供了一種API自發(fā)現(xiàn)裝置。該裝置包括:API自發(fā)現(xiàn)模塊,以及插樁模塊;其中,API自發(fā)現(xiàn)模塊被配置為在目標(biāo)Web應(yīng)用程序初始化路由規(guī)則注冊到路由系統(tǒng)后基于插樁自發(fā)現(xiàn)目標(biāo)Web應(yīng)用程序中的全量API;API自發(fā)現(xiàn)模塊,包括第一探針;具體地,其被配置為通過預(yù)先插樁的第一探針獲取路由規(guī)則對應(yīng)的URL路徑與實際處理程序的映射集合;根據(jù)所述映射集合中的每條URL路徑與實際處理程序的映射關(guān)系信息,分別生成相應(yīng)的API信息,并輸出全量API信息;其中,使每條所述API信息都包括對應(yīng)的URL路徑信息;插樁模塊,則被配置為對目標(biāo)Web應(yīng)用程序插樁所述第一探針。
在本公開的第三方面中,提供了一種基于上述API自發(fā)現(xiàn)的測試覆蓋率統(tǒng)計方法。該方法包括:對于目標(biāo)Web應(yīng)用程序,以第一方面述及的方法,自發(fā)現(xiàn)并獲取目標(biāo)Web應(yīng)用程序中全量API信息;對于進(jìn)行中的目標(biāo)測試(即需要統(tǒng)計其API覆蓋率的測試),在其測試過程中,統(tǒng)計/實時統(tǒng)計目標(biāo)Web應(yīng)用程序中被執(zhí)行的API信息,并根據(jù)記錄的至少被執(zhí)行一次的API數(shù)與所述的全量API的總數(shù),確定所述測試的API測試覆蓋率。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京安普諾信息技術(shù)有限公司,未經(jīng)北京安普諾信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110940190.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 知識發(fā)現(xiàn)裝置、知識發(fā)現(xiàn)程序和知識發(fā)現(xiàn)方法
- 規(guī)則發(fā)現(xiàn)程序、規(guī)則發(fā)現(xiàn)處理和規(guī)則發(fā)現(xiàn)裝置
- 發(fā)現(xiàn)協(xié)議
- 對等發(fā)現(xiàn)
- 小區(qū)發(fā)現(xiàn)
- 漏洞發(fā)現(xiàn)裝置、漏洞發(fā)現(xiàn)方法以及漏洞發(fā)現(xiàn)程序
- 使用發(fā)現(xiàn)節(jié)點的設(shè)備發(fā)現(xiàn)
- 漏洞發(fā)現(xiàn)裝置、漏洞發(fā)現(xiàn)方法以及存儲介質(zhì)
- 用于提供虛擬場景的裝置及方法
- 接入語音服務(wù)的方法、裝置和數(shù)據(jù)載體





