本技術涉及計算機領域,尤其涉及一種測試方法及裝置。
背景技術:
1、在軟件開發的早期階段,基于冒煙測試技術測試軟件/服務的基本功能。在測試過程中,常通過mockserver或者契約測試構造被測服務調用的模擬服務。
2、模擬服務用于響應被測服務發送的請求,邏輯串聯腳本通過隨機生成第一響應并存儲至kafka中。被測服務從kafka中獲取第一響應。然而,由于模擬服務與生成的第一響應存在斷聯,導致被測服務接收到的數據為隨機的,即請求與第一響應不對應,最終影響被測服務的測試效果。
技術實現思路
1、本技術提供了一種測試方法及裝置,以解決在對服務進行測試時,服務向模擬服務發送的請求與接收到的第一響應不對應,影響被測服務的測試效果的問題。
2、第一方面,本技術提供了一種測試方法。該測試方法可應用于計算機系統或應用于支持該計算機系統實現測試方法的計算設備。該計算設備如服務器、終端等。在一種可能的示例中,該測試方法由計算機系統中的模擬服務mockserver模塊執行,mockserver模塊用于檢測服務模塊的運行狀態,服務模塊用于執行至少一種業務,該測試方法包括:mockserver模塊接收用戶配置的第一規則,以及服務模塊發送的調用請求,該第一規則用于指示mockserver模塊在通過中間件返回對調用請求的響應時,對調用請求的處理方式。進而,mockserver模塊根據第一規則處理調用請求,以生成第一響應,并向中間件發送第一響應,從而,服務模塊從中間件獲取該第一響應。
3、在本技術中,mockserver模塊向中間件發送第一響應,進而,服務模塊從中間件中獲取該第一響應,從而,實現mockserver模塊模擬服務模塊通過中間件進行異步響應,服務模塊根據該mockserver模塊完成異步任務的冒煙測試,有利于提高冒煙測試效果。以及,服務模塊接收到的第一響應為根據服務模塊發出的調用請求得到的,實現調用請求與第一響應對應,進一步提高了對服務模塊進行冒煙測試的效果。
4、在一種可能的實現方式中,上述方法還包括:mockserver模塊接收用戶配置的第二規則,并根據第二規則處理調用請求,以生成第二響應,并向服務模塊發送第二響應。其中,第二規則用于指示mockserver模塊直接向服務模塊返回對調用請求的響應時,對調用請求的處理方式;第二響應包括標簽,服務模塊具體用于從中間件中獲取標簽指示的第一響應。
5、在本技術中,mockserver先直接向服務模塊返回包括標簽的第二響應,進而,服務模塊可基于該標簽從中間件中準確獲取到標簽指示的第一響應,有利于實現服務模塊獲取的第一響應與發出的調用請求匹配,進一步提高冒煙測試效果。
6、在一種可能的實現方式中,上述第一規則包括了調用請求與第一響應的映射關系,mockserver模塊根據第一規則處理調用請求,以生成第一響應,包括:mockserver模塊根據映射關系得到調用請求對應的第一響應。
7、在本技術中,mockserver模塊根據提前配置好的調用請求與第一響應的映射關系,可準確且快速的確定出與調用請求對應的第一響應,提高了響應速度,降低了響應時延。
8、在一種可能的實現方式中,第一規則包括了調用請求與指令的映射關系,指令用于指示mockserver模塊采用計算或查詢的方式處理調用請求,mockserver模塊根據第一規則處理調用請求,以生成第一響應,包括:mockserver模塊根據指令對調用請求執行計算或查詢操作,以生成第一響應。
9、在本技術中,mockserver模塊通過映射關系指示的調用請求對應的指令對調用請求進行處理,得到第一響應,實現模擬真實服務模塊對請求的響應處理,提高了模擬效果,進而提升了mockserver模塊對服務模塊的測試效果。
10、在一種可能的實現方式中,中間件包含存儲中間件和/或消息中間件。
11、在一種可能的實現方式中,調用請求為服務模塊響應于測試工具模塊發送的測試請求,向mockserver模塊發送的,測試工具模塊部署有測試軟件。
12、在本技術中,測試工具模塊通過不斷構造測試請求向服務模塊發送,進而服務模塊不斷響應以生成調用請求并發送至mockserver模塊,從而,實現利用mockserver模塊不斷對服務模塊進行測試,提高測試效率。
13、在一種可能的實現方式中,若測試工具模塊在設定時間或設定輪詢次數內,從服務模塊中獲取到第一響應,則服務模塊測試通過;若測試工具模塊在設定時間或設定輪詢次數內,未從服務模塊中獲取到第一響應,則服務模塊測試未通過。
14、第二方面,本技術提供了一種測試裝置。該測試裝置應用于計算機系統或應用于支持該計算機系統實現測試方法的計算設備,該測試裝置包括用于執行第一方面或第一方面任一種可選實現方式中的測試方法的各個模塊。該測試裝置,包括:規則接收模塊,用于接收用戶配置的第一規則。
15、請求接收模塊,用于接收服務模塊發送的調用請求,第一規則用于指示mockserver模塊在通過中間件返回對調用請求的響應時,對調用請求的處理方式,mockserver模塊用于檢測服務模塊的運行狀態,服務模塊用于執行至少一種業務。
16、處理模塊,用于根據第一規則處理調用請求,以生成第一響應,并向中間件發送第一響應,服務模塊用于從中間件獲取第一響應。
17、在一種可能的實現方式中,規則接收模塊,還用于接收用戶配置的第二規則,第二規則用于指示mockserver模塊直接向服務模塊返回對調用請求的響應時,對調用請求的處理方式。處理模塊,還用于根據第二規則處理調用請求,以生成第二響應,并向服務模塊發送第二響應,第二響應包括標簽,服務模塊具體用于從中間件中獲取標簽指示的第一響應。
18、在一種可能的實現方式中,第一規則包括了調用請求與第一響應的映射關系,處理模塊,具體用于根據映射關系得到調用請求對應的第一響應。
19、在一種可能的實現方式中,第一規則包括了調用請求與指令的映射關系,指令用于指示mockserver模塊采用計算或查詢的方式處理調用請求,處理模塊,具體用于,根據指令對調用請求執行計算或查詢操作,以生成第一響應。
20、在一種可能的實現方式中,中間件包含存儲中間件和/或消息中間件。
21、在一種可能的實現方式中,調用請求為服務模塊響應于測試工具模塊發送的測試請求,向mockserver模塊發送的,測試工具模塊部署有測試軟件。
22、在一種可能的實現方式中,若測試工具模塊在設定時間或設定輪詢次數內,從服務模塊中獲取到第一響應,則服務模塊測試通過。若測試工具模塊在設定時間或設定輪詢次數內,未從服務模塊中獲取到第一響應,則服務模塊測試未通過。
23、第三方面,本技術提供了一種芯片。該芯片包括接口電路和控制電路,接口電路用于接收用戶配置的第一規則和第二規則,接口電路和控制電路協同以執行上述第一方面或第一方面中任一種可能實現方式中的方法。
24、第四方面,本技術提供了一種計算設備集群。該計算設備集群包括至少一個計算設備,每個計算設備包括存儲器和處理器,該至少一個計算設備的存儲器用于存儲計算機指令,至少一個計算設備的處理器執行計算機指令時,實現上述第一方面或第一方面中任一種可能實現方式中的方法。
25、第五方面,本技術提供了一種計算機可讀存儲介質。該存儲介質中存儲有計算機程序或指令,當計算機程序或指令被處理設備執行時,實現上述第一方面或第一方面中任一種可能實現方式中的方法。
26、第六方面,本技術提供了一種計算機程序產品。該計算程序產品包括計算機程序或指令,當該計算機程序或指令被處理設備執行時,實現上述第一方面或第一方面中任一種可能實現方式中的方法。
27、以上第二方面至第六方面的有益效果可參照第一方面或第一方面中任一種可能的實現方式,在此不予贅述。本技術在上述各方面提供的實現方式的基礎上,還可以進行進一步組合以提供更多實現方式。