本發明屬于軟件測試,具體涉及一種基于線上新聞流量的接口風險評估方法及裝置。
背景技術:
1、在當前的新媒體軟件測試行業實踐中,評估開發團隊修改代碼可能引入的風險成為了一項尤為艱巨的挑戰;其中,當代碼庫發生變動時,都可能不經意間的波及系統的其他組成部分,如新媒體調用的接口等;因此,在接口風險評估時,測試人員不僅需要精通各類測試技巧,還須具備扎實的編程基礎,如此,才能夠深入理解代碼邏輯及其承載的業務邏輯,從而精準地追溯和預判變更可能潛藏的風險。
2、為了應對這一挑戰,測試人員通常會借助靜態和動態代碼分析工具來輔助代碼審查,然而,這些工具在實際應用中并非盡善盡美,誤報和漏報的情況時有發生,這就要求測試人員不僅要熟練掌握這些工具的使用方法,還需具備綜合考量工具特性、項目需求以及開發流程特點的能力,以確保能夠全面、準確地識別并解決代碼中的潛在問題,從而精確的完成接口風險評估;基于此,前述現有技術不僅對測試人員的能力要求較高,還高度依賴于個人經驗,這就降低了測試的準確率,同時,采用人工評估接口風險,還降低了測試的效率;因此,如何提供一種準確率以及效率高的接口風險評估方法,已成為了一個亟待解決的問題。
技術實現思路
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、利用所述測試風險接口、所述預發布風險接口和所述發布風險接口,組成所述風險接口。
30、在一個可能的設計中,利用各個目標接口在發布階段時的請求參數和請求頻次,對各個目標接口進行接口風險評估處理,以從若干目標接口中篩選出預發布風險接口,包括:
31、基于各個目標接口的請求頻次,從各個目標接口中,去除請求頻次低于頻次閾值的目標接口,以得到多個第二待評估接口;
32、獲取接口部署的預發布環境和正式發布環境;
33、根據所述預發布環境和各個第二待評估接口的請求參數,生成各個第二待評估接口的第一調用請求,以及根據所述正式發布環境和各個第二待評估接口的請求參數,生成各個第二待評估接口的第二調用請求;
34、利用各個第二待評估接口的第一調用請求和第二調用請求,調用各個第二待評估接口,以得到各個第二待評估接口在預發布環境中的第一調用響應結果,以及在正式發布環境中的第二調用響應結果;
35、根據各個第二待評估接口對應的第一調用響應結果和第二調用響應結果,從多個第二待評估接口中,篩選出所述預發布風險接口。
36、在一個可能的設計中,根據各個第二待評估接口對應的第一調用響應結果和第二調用響應結果,從多個第二待評估接口中,篩選出所述預發布風險接口,包括:
37、對各個第二待評估接口的第一調用響應結果和第二調用響應結果進行對比處理,得到各個第二待評估接口的對比結果,其中,任一第二待評估接口的對比結果為調用內容一致或調用內容不一致;
38、基于各個第二待評估接口的對比結果,從多個第二待評估接口中,篩選出對比結果為調用內容不一致的第二待評估接口,以作為所述預發布風險接口。
39、在一個可能的設計中,對所述網絡請求日志進行解析處理,以得到接口調用信息,包括:
40、利用正則表達式,對網絡請求日志進行解析處理,以得到接口請求數據和接口響應數據;
41、利用所述接口請求數據和所述接口響應數據,生成所述接口調用信息。
42、第二方面,提供了一種基于線上新聞流量的接口風險評估裝置,包括:
43、獲取單元,用于獲取網絡請求日志以及用于進行新媒體接口調用的代碼倉庫;
44、接口選擇單元,用于基于所述代碼倉庫,確定出若干目標接口,其中,所述若干目標接口用于表征新媒體調用的所有接口中,因所述代碼倉庫中的代碼發生變化而受到影響的接口;
45、解析單元,用于對所述網絡請求日志進行解析處理,以得到接口調用信息;
46、風險評估單元,用于根據所述目標接口和所述接口調用信息,對所述若干目標接口進行風險評估處理,以從若干目標接口中,篩選出風險接口,以在得到所述風險接口后,完成新媒體調用接口的風險評估。
47、第三方面,提供了另一種基于線上新聞流量的接口風險評估裝置,以裝置為電子設備為例,包括依次通信相連的存儲器、處理器和收發器,其中,所述存儲器用于存儲計算機程序,所述收發器用于收發消息,所述處理器用于讀取所述計算機程序,執行如第一方面或第一方面中任意一種可能設計的所述基于線上新聞流量的接口風險評估方法。
48、第四方面,提供了一種存儲介質,存儲介質上存儲有指令,當所述指令在計算機上運行時,執行如第一方面或第一方面中任意一種可能設計的所述基于線上新聞流量的接口風險評估方法。
49、第五方面,提供了一種包含指令的計算機程序產品,當指令在計算機上運行時,使計算機執行如第一方面或第一方面中任意一種可能設計的所述基于線上新聞流量的接口風險評估方法。
50、有益效果:
51、(1)本發明通過監控新媒體接口調用的代碼倉庫,然后,通過自動化手段抓取受影響的接口,并結合網絡請求日志,來進行受影響的接口的風險評估;如此,不僅可助力測試人員精準識別因代碼變動而受影響的接口,還能夠根據網絡請求日志,來更加精確地評估因代碼變化而給接口帶來的風險;基于此,本發明創新性地引入了智能分析技術,構建出了接口風險測試體系,其降低了對測試人員的能力要求,減少了對個人經驗的高度依賴,且顯著提升了整個測試流程的效率與準確性;因此,本發明非常適用于大規模應用與推廣。
52、(2)本發明通過獲取網絡請求日志,來進行接口風險檢測,因此,接口風險監測可涵蓋了測試、預發布以及正式發布階段,即:通過自動捕捉因代碼變更而受影響的接口信息,并結合線上接口的訪問次數來進行風險評估,從而來得到測試階段的風險接口(即著重測試訪問次數越多的接口),如此,本發明能夠智能引導測試人員設計更具針對性的測試用例,從而確保測試工作的精準高效。
53、同時,請求參數和頻次在預發布階段具有重要作用,因此,本發明利用請求參數和請求頻次,分別驅動接口在預發布環境與線上正式環境進行訪問請求,并對兩個環境的響應結果進行對比,從而來得出預發布階段的風險接口,如此,這一步驟對于預判新版本可能引入的問題風險至關重要,有助于團隊在正式發布前及時發現并修復潛在問題。
54、最后,在發布階段,本發明持續關注并收集受影響接口的訪問成功率數據,并以此作為監控線上運行狀況的重要指標,從而來得出發布階段中的風險接口,如此,這一措施確保了團隊能夠迅速響應線上可能出現的異常,從而保障了系統的穩定運行。