[發明專利]一種微服務架構下模擬執行環境的接口自動化測試方法在審
| 申請號: | 202211412176.9 | 申請日: | 2022-11-11 |
| 公開(公告)號: | CN115563018A | 公開(公告)日: | 2023-01-03 |
| 發明(設計)人: | 汪慶順;丁炫文;竇亮 | 申請(專利權)人: | 華東師范大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 上海藍迪專利商標事務所(普通合伙) 31215 | 代理人: | 徐筱梅;張翔 |
| 地址: | 200241 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 微服 架構 模擬 執行 環境 接口 自動化 測試 方法 | ||
本發明提供了一種微服務架構下模擬執行環境的接口自動化測試方法,該方法包括執行環境交互信息獲取、執行環境模擬、接口測試數據生成步驟,所述執行環境交互信息獲取指收集與被測服務所依賴的外部資源交互的接口;所述執行環境模擬通過代理上述交互接口的方式模擬外部資源,虛擬出被測服務的執行環境;所述接口測試數據生成包括同時生成參數數據和用于模擬執行環境的數據。本發明模擬被測服務與外部資源的交互,將被測服務從外部資源處獲取的數據重定向為從用于模擬該外部資源的數據中獲取,使得自動化測試環節可以將被測服務所依賴的外部資源與參數數據進行統一處理,從而解決微服務架構下容易出現的測試結果不穩定與執行路徑不可達等問題。
技術領域
本發明涉及軟件自動化測試領域,具體地說是一種微服務架構下模擬執行環境的接口自動化測試方法。
背景技術
軟件測試環節一直是軟件工程中的重要組成部分,無論軟件架構與開發模式如何變化,軟件測試對于保障軟件系統的質量而言都是不可或缺的。
傳統的軟件測試方法在測試單個接口時會根據接口的參數數量和類型生成相應的測試數據,此時的測試數據中僅包含由接口的函數簽名所定義的輸入數據。然而在微服務架構的許多軟件系統中,單個服務的行為不僅依賴于輸入參數,還高度依賴于從其他微服務或組件獲取到的數據,包括數據庫查詢的結果、遠程過程調用的返回值、網絡請求的響應等一系列參數外的輸入數據。
現有的軟件自動化測試方法往往忽略了對這些參數外數據的控制,從而造成以下問題:
第一,當兩次測試執行過程之間被測服務所依賴的服務被更新時,就可能造成測試環境不穩定,即在多次測試執行過程之間可能出現數據庫內容變化、相同的遠程過程調用得到不同的返回值、相同的網絡請求得到不同的響應等情況。由于這些參數外數據對代碼執行的影響,有很大概率會造成測試不能穩定重現:相同的測試數據在不同的測試執行過程中可能得到不同的測試結果。當采用持續交付的開發模式時,被測服務的更新是頻繁的,因此不穩定的測試結果也變得常見。相關的研究表明不能穩定重現的測試會給問題的跟蹤排查帶來許多困難,對開發人員而言是極大的負擔。
第二,當測試環境較為穩定,即參數外輸入數據在多次測試執行過程之間不發生變化時,仍可能造成部分代碼路徑不可達的問題。舉例來說,微服務架構下服務的代碼中存在這樣一種常見的模式:同一功能存在不同的執行策略,而實際使用的策略在運行時由外部的配置微服務決定。即在代碼中存在多條分支,在運行中根據向配置微服務發起的遠程過程調用或網絡請求的返回值決定執行哪一條分支。顯然,若自動化生成測試數據時沒有對這些參數外輸入數據進行處理,那么當測試環境穩定時,部分分支在整個自動化測試環節都不可能被執行和驗證,從而留下一定的安全隱患。
綜上所述,現有的軟件自動化測試方法缺少對被測服務所交互的外部資源的控制,導致測試執行環境是不穩定的,容易出現測試結果不穩定與執行路徑不可達等問題。
發明內容
本發明的目的是針對現有技術的不足而提供的一種微服務架構下模擬執行環境的接口自動化測試方法,收集與被測服務所依賴的外部資源交互的接口,通過代理所述交互接口的方式模擬外部資源,虛擬出被測服務的執行環境,從而使得被測服務可以不再從外部資源獲取數據,轉而從用于模擬該外部資源的數據中直接獲取,將從外部資源處獲取的數據轉化為測試數據的一部分,與參數數據進行統一處理,同時生成參數數據和用于模擬執行環境的數據,從而解決了微服務架構下容易出現的測試結果不穩定與執行路徑不可達等問題。
本發明的目的是這樣實現的:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華東師范大學,未經華東師范大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211412176.9/2.html,轉載請聲明來源鉆瓜專利網。





