本申請涉及計算機技術領域,尤其涉及一種業(yè)務測試方法及裝置。
背景技術:
目前,互聯(lián)網(wǎng)上的應用給人們的生活帶來了很大的便利,隨著應用涉及的業(yè)務鏈路越來越復雜,用戶群體越來越大,對業(yè)務鏈路的功能和性能要求也越來越高。
一般的,一項業(yè)務可以包括多種業(yè)務場景,不同的業(yè)務場景對應著不同的業(yè)務鏈路,當業(yè)務場景確定后,可以由一個應用或多個應用通過參與執(zhí)行該業(yè)務場景對應的業(yè)務鏈路,為用戶提供相應的服務。其中,所述業(yè)務鏈路可以由多個業(yè)務節(jié)點串聯(lián)構成,每個業(yè)務節(jié)點具體可以是應用內(nèi)的一個功能模塊,也可以是一個應用。
在實際應用中,每個業(yè)務節(jié)點都提供了很多業(yè)務功能應用程序編程接口(Application Programming Interface,API),通過對業(yè)務節(jié)點的各業(yè)務功能API進行調用,可以相應地使用該業(yè)務節(jié)點的各項功能。
在現(xiàn)有技術中,研發(fā)人員可以通過編寫測試用例,以及在測試系統(tǒng)上執(zhí)行測試用例的方法,對業(yè)務鏈路的功能和性能進行測試。
研發(fā)人員在測試用例中構建對業(yè)務鏈路的測試邏輯時,需要大量地使用該業(yè)務鏈路對應的業(yè)務節(jié)點提供的各業(yè)務功能API,而且這些業(yè)務功能API相互之間的關系也比較復雜,因此,編寫測試用例需要耗費研發(fā)人員極大的精力,相應的,測試系統(tǒng)在執(zhí)行測試用例時,也需要針對業(yè)務鏈路對應的各功能模塊,大量地調用這些業(yè)務功能API,測試系統(tǒng)的處理負擔較大,測試效率較低。
技術實現(xiàn)要素:
本申請實施例提供一種業(yè)務測試方法及裝置,用以解決現(xiàn)有技術中測試業(yè)務鏈路時,測試系統(tǒng)的處理負擔較大,測試效率較低的問題。
本申請實施例提供另一種業(yè)務測試方法及裝置,用以解決現(xiàn)有技術中測試業(yè)務鏈路時,測試系統(tǒng)的處理負擔較大,測試效率較低的問題。
本申請實施例提供的一種業(yè)務測試方法,包括:
封裝平臺根據(jù)業(yè)務節(jié)點提供的至少兩個業(yè)務功能API,生成該業(yè)務節(jié)點的業(yè)務節(jié)點API;
當接收到測試系統(tǒng)對所述業(yè)務節(jié)點API的第一調用請求時,確定該第一調用請求對應的第一調用結果,并返回給測試系統(tǒng)。
本申請實施例提供的另一種業(yè)務測試方法,包括:
封裝平臺接收測試系統(tǒng)的業(yè)務處理請求,其中,所述業(yè)務處理請求中包含對各業(yè)務節(jié)點的業(yè)務節(jié)點API的第一調用請求,業(yè)務節(jié)點API是對業(yè)務節(jié)點的至少兩個業(yè)務功能API進行封裝后生成的;
調用所述各業(yè)務節(jié)點API內(nèi)封裝的各業(yè)務功能API;
接收所述各業(yè)務節(jié)點返回的第一調用結果,并將所述第一調用結果返回給測試系統(tǒng)。
本申請實施例提供的一種業(yè)務測試裝置,包括:
第一生成模塊,用于根據(jù)業(yè)務節(jié)點提供的至少兩個業(yè)務功能API,生成該業(yè)務節(jié)點的業(yè)務節(jié)點API;
第一確定模塊,用于當接收到測試系統(tǒng)對所述業(yè)務節(jié)點API的第一調用請求時,確定該第一調用請求對應的第一調用結果,并返回給測試系統(tǒng)。
本申請實施例提供的另一種業(yè)務測試裝置,包括:
接收模塊,用于接收測試系統(tǒng)的業(yè)務處理請求,其中,所述業(yè)務處理請求中包含對各業(yè)務節(jié)點的業(yè)務節(jié)點API的第一調用請求,業(yè)務節(jié)點API是對業(yè)務節(jié)點的至少兩個業(yè)務功能API進行封裝后生成的;
調用模塊,用于調用所述各業(yè)務節(jié)點API內(nèi)封裝的各業(yè)務功能API;
返回模塊,用于接收所述各業(yè)務節(jié)點返回的第一調用結果,并將所述第一調用結果返回給測試系統(tǒng)。
本申請實施例通過上述至少一種技術方案,在對業(yè)務鏈路進行測試過程中,當想要使用業(yè)務節(jié)點的功能時,不用一一對該業(yè)務節(jié)點提供的各業(yè)務功能API進行調用,而是只要調用預先該業(yè)務節(jié)點的業(yè)務進行封裝后生成的業(yè)務節(jié)點API進行調用即可,因此,可以降低測試系統(tǒng)的處理負擔,提高測試效率。
附圖說明
此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:
圖1為本申請實施例提供的業(yè)務測試方法的過程;
圖2為在實際應用中,支付業(yè)務在一種業(yè)務場景下的處理流程;
圖3為本申請實施例提供的另一種業(yè)務測試方法的過程;
圖4為本申請實施例提供的、在實際應用中的一種支付業(yè)務測試過程;
圖5為本申請實施例提供的封裝平臺的一種系統(tǒng)架構圖;
圖6為本申請實施例提供的、為支付業(yè)務相關的一個業(yè)務節(jié)點生成業(yè)務節(jié)點API和校驗API的示意圖;
圖7為本申請實施例提供的對應于圖1的業(yè)務測試裝置結構示意圖;
圖8為本申請實施例提供的對應于圖3的業(yè)務測試裝置結構示意圖。
具體實施方式
為使本申請的目的、技術方案和優(yōu)點更加清楚,下面將結合本申請具體實施例及相應的附圖對本申請技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤? 例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
圖1為本申請實施例提供的業(yè)務測試方法的過程,具體包括以下步驟:
S101:封裝平臺根據(jù)業(yè)務節(jié)點提供的至少兩個業(yè)務功能API,生成該業(yè)務節(jié)點的業(yè)務節(jié)點API。
S102:封裝平臺當接收到測試系統(tǒng)對所述業(yè)務節(jié)點API的第一調用請求時,確定該第一調用請求對應的第一調用結果,并返回給測試系統(tǒng)。
在本申請實施例中,所述封裝平臺是可以用于對業(yè)務節(jié)點的業(yè)務(所述業(yè)務包括但不限于:業(yè)務功能API和其他的業(yè)務數(shù)據(jù)等)進行封裝和校驗的平臺,所述封裝平臺可以搭載于服務器或終端上。所述服務器包括但不限于:大中型計算機、計算機集群等。所述終端包括但不限于:個人計算機、手機、平板電腦、智能手表、車載移動臺等。搭載所述執(zhí)行主體的設備并不構成對本申請的限定。
本申請對所述業(yè)務的具體內(nèi)容并不做限定,所述業(yè)務可以是電商業(yè)務、支付業(yè)務、金融業(yè)務、通訊業(yè)務、通信業(yè)務、多媒體業(yè)務等終端上的應用可以提供業(yè)務。所述測試系統(tǒng)可以是任一應用系統(tǒng),例如,業(yè)務應用、基于指定測試框架的自動化測試平臺、半自動化測試平臺、手工測試平臺,等等。
本申請實施例提供的業(yè)務測試方法可以用于測試任一項基于軟件或軟硬件結合的業(yè)務,對于不同的業(yè)務,測試該業(yè)務時可能使用的各業(yè)務節(jié)點也可能不同。對于要基于所述業(yè)務測試方法進行測試的一項待測業(yè)務稱為待測業(yè)務,則步驟S101中的所述業(yè)務節(jié)點可以是測試該待測業(yè)務時需要使用的任一個業(yè)務節(jié)點。其中,各業(yè)務節(jié)點可以位于同一個業(yè)務服務器上,也可以位于不同的業(yè)務服務器上。
以支付業(yè)務為例進行說明。在用戶采用信用卡進行支付的業(yè)務場景下,對應的業(yè)務鏈路包含的業(yè)務節(jié)點依次為:名稱為“收銀臺”的業(yè)務節(jié)點、名稱為“計費核心”的業(yè)務節(jié)點、名稱為“支付核心”的業(yè)務節(jié)點,等等。為了便于 描述,以下直接以業(yè)務節(jié)點的名稱表示該業(yè)務節(jié)點。
相應的,圖2示出了假定用戶提交了一個業(yè)務請求后,對應的各業(yè)務節(jié)點的處理流程簡圖(省略了一些步驟),主要包括以下步驟:
S201:用戶通過終端向收銀臺發(fā)送支付請求。
S202:收銀臺根據(jù)該支付請求,向計費核心發(fā)送預計費請求。
S203:計費核心根據(jù)預計費請求,生成預計費結果并返回給收銀臺。
S204:收銀臺向支付核心發(fā)送支付創(chuàng)建請求。
S205:支付核心根據(jù)支付創(chuàng)建請求,生成支付創(chuàng)建結果并返回給收銀臺。
S206:收銀臺根據(jù)預計費結果和支付創(chuàng)建結果,生成支付結果,并返回給終端。
可以看到,在以上的業(yè)務鏈路中,收銀臺提供了S202、S204、S206這三個步驟相關的業(yè)務,計費核心提供了S203這個步驟相關的業(yè)務,支付核心提供了S205這個步驟相關的業(yè)務。對于這三個業(yè)務節(jié)點,每個節(jié)點都提供了多個業(yè)務功能API實現(xiàn)該業(yè)務節(jié)點對應的業(yè)務。
根據(jù)在背景技術中的說明,在現(xiàn)有技術中,對一條業(yè)務鏈路進行測試具體包括:依次對該業(yè)務鏈路上的每個業(yè)務節(jié)點提供的業(yè)務進行測試,因此,研發(fā)人員在編寫測試用例,對于每個業(yè)務節(jié)點,都要用到該業(yè)務節(jié)點的多個業(yè)務功能API,相應的,測試系統(tǒng)在執(zhí)行測試用例時,也要大量地調用這些業(yè)務功能API,因此,測試系統(tǒng)的處理負擔較大,測試效率較低。
以計費核心為例進行說明,計費核心在實現(xiàn)步驟S203時,提供的業(yè)務主要包括:產(chǎn)品創(chuàng)建、合約創(chuàng)建、計費服務這三項(在實際應用中,可能包括更多項)。其中,每一項具體可以對應于計費核心提供的一個或多個業(yè)務功能API,具體的,假定以上三項對應的業(yè)務功能API分別為:產(chǎn)品創(chuàng)建API、合約創(chuàng)建API、計費服務API。則在現(xiàn)有技術中,測試計費核心的業(yè)務時需要調用這三類API,這三類API的具體數(shù)量為至少三個。在這種情況下,測試系統(tǒng)在測試計費核心的業(yè)務時,要分別調用這三類API,測試系統(tǒng)的處理負擔較大, 測試效率較低。
為了解決上述問題,在本申請實施例中,對于任一業(yè)務節(jié)點,封裝平臺可以預先對該業(yè)務節(jié)點提供各業(yè)務功能API進行封裝,本申請將封裝后生成的API稱為:該業(yè)務節(jié)點的業(yè)務節(jié)點API(所述業(yè)務節(jié)點API的功能包括但不限于:所述各業(yè)務功能API的功能)。
在這種情況下,研發(fā)人員在測試用例中構建測試邏輯時,可以調用業(yè)務節(jié)點的業(yè)務節(jié)點API,而不用一一調用業(yè)務節(jié)點的各業(yè)務功能API。研發(fā)人員編寫完測試用例后,可以在測試系統(tǒng)上執(zhí)行測試用例,當執(zhí)行至用于調用各業(yè)務功能API的代碼部分時,測試系統(tǒng)相應地向封裝平臺發(fā)送對業(yè)務節(jié)點API的調用請求(在本申請實施例中,可以將對業(yè)務節(jié)點API的調用請求稱為:第一調用請求),進而,封裝平臺可以執(zhí)行步驟S102。
通過上述方法,相比于現(xiàn)有技術,可以減少測試系統(tǒng)在測試業(yè)務鏈路時調用的API的數(shù)量,因此,可以降低測試系統(tǒng)的處理負擔,提高測試效率,同時,也可以降低編寫測試用例的成本。
在本申請實施例中,對于上述步驟S101,生成該業(yè)務節(jié)點的業(yè)務節(jié)點API,具體可以包括:確定該業(yè)務節(jié)點提供的至少兩個業(yè)務功能API;基于指定的對象組裝組件,對所述至少兩個業(yè)務功能API進行封裝,生成該業(yè)務節(jié)點的業(yè)務節(jié)點API。其中,所述對象組裝組件用于對帶封裝的各業(yè)務功能API中包含的屬性和函數(shù)等數(shù)據(jù)進行組裝,所述對象組裝組件可以從現(xiàn)有技術中通用的工具組件中直接獲得,這樣的話,可以減少封裝平臺的構造成本。當然,對于安全等級較高的業(yè)務,為了減少業(yè)務節(jié)點API受到攻擊的風險,也可以不基于所述對象組裝組件封裝生成業(yè)務節(jié)點API,而是可以由研發(fā)人員開發(fā)非通用的組件用于封裝生成業(yè)務節(jié)點API。
進一步的,在實際應用中,在生成業(yè)務節(jié)點API時,還可以根據(jù)業(yè)務場景,對業(yè)務功能API進行重載,通過所述重載的操作可以減少業(yè)務功能API的參數(shù)的個數(shù),和/或改變業(yè)務功能API的參數(shù)的類型,使重載后的業(yè)務功能API 更適用于該業(yè)務場景,然后再基于指定的對象組裝組件,對所述業(yè)務功能API進行封裝,生成業(yè)務節(jié)點API。
在現(xiàn)有技術中,一般不會在測試腳本中進行校驗,而是人工分析業(yè)務鏈路的最終計算結果,若有問題,再對該業(yè)務鏈路上的各個業(yè)務節(jié)點進行問題排查,因此,不僅耗費人力資源,而且對業(yè)務鏈路的校驗效率較低。
而在本申請實施例中,除了將第一調用請求對應的調用結果(以下可以稱為第一調用結果),并返回給測試系統(tǒng)之外,還可以基于封裝平臺預先生成的業(yè)務節(jié)點的校驗API,對該業(yè)務節(jié)點的業(yè)務節(jié)點API的第一調用結果進行校驗,并將校驗結果返回給測試系統(tǒng)。從而,可以實現(xiàn)封裝平臺自動對業(yè)務鏈路進行校驗,這種校驗方式解放了人力資源,而且對業(yè)務鏈路的校驗效率較高。
具體的,封裝平臺除了執(zhí)行步驟S101和S102以外,還可以執(zhí)行以下步驟:封裝平臺根據(jù)該業(yè)務節(jié)點提供的至少兩個業(yè)務功能API,生成該業(yè)務節(jié)點的校驗API;封裝平臺當接收到測試系統(tǒng)對所述校驗API的調用請求(在本申請實施例中,可以將對校驗API的調用請求稱為:第二調用請求)時,對所述業(yè)務節(jié)點API的第一調用結果進行校驗,將校驗結果作為該第二調用請求對應的第二調用結果,并返回給測試系統(tǒng)。
更具體的,生成該業(yè)務節(jié)點的校驗API,具體可以包括:確定該業(yè)務節(jié)點提供的至少兩個業(yè)務功能API;通過基于指定的數(shù)據(jù)訪問組件和對象組裝組件,對所述至少兩個業(yè)務功能API進行封裝,生成該業(yè)務節(jié)點的校驗API。
需要說明的是,與對象組裝組件類似,所述數(shù)據(jù)訪問組件也可以從現(xiàn)有技術中通用的工具組件中直接獲得,所述數(shù)據(jù)訪問組件用于為校驗過程提供對業(yè)務節(jié)點相關的數(shù)據(jù)庫的訪問支持。一般的,同一個業(yè)務節(jié)點的業(yè)務節(jié)點API和業(yè)務節(jié)點API這兩者中封裝的業(yè)務功能API是不相同的,后面會舉例進行說明。
根據(jù)上述的說明,在一個業(yè)務場景下,封裝平臺可以預先為每個業(yè)務節(jié)點分別生成一個業(yè)務節(jié)點API和一個校驗API,該業(yè)務節(jié)點API用于對該業(yè)務節(jié) 點的業(yè)務進行計算,該校驗API用于對計算結果進行校驗。在這種情況下,在對業(yè)務鏈路進行測試時,測試系統(tǒng)可以接收到該業(yè)務鏈路中的各業(yè)務節(jié)點對業(yè)務的計算結果,以及各所述計算結果對應的驗證結果。
以上主要是基于封裝平臺封裝業(yè)務節(jié)點API和校驗API,說明了本申請實施例提供的業(yè)務測試方法的過程,進一步的,下面基于封裝平臺接收測試系統(tǒng)的業(yè)務處理請求的場景,說明本申請實施例提供的另一種業(yè)務測試方法的過程,如圖3所示,具體包括以下步驟:
S301:封裝平臺接收測試系統(tǒng)的業(yè)務處理請求,其中,所述業(yè)務處理請求中包含對各業(yè)務節(jié)點的業(yè)務節(jié)點API的第一調用請求,業(yè)務節(jié)點API是對業(yè)務節(jié)點的至少兩個業(yè)務功能API進行封裝后生成的。
在本申請實施例中,所述業(yè)務處理請求可以是測試系統(tǒng)在執(zhí)行測試用例時向封裝平臺發(fā)送的。對各業(yè)務節(jié)點API的調用順序可以在業(yè)務處理請求中預先指定(稱為:用例指定方案),或者,也可以由封裝平臺在接收到所述業(yè)務處理請求后,按照預設規(guī)則進行確定(稱為:封裝平臺指定方案)。
S302:封裝平臺調用所述各業(yè)務節(jié)點API內(nèi)封裝的各業(yè)務功能API;
S303:封裝平臺接收所述各業(yè)務節(jié)點返回的第一調用結果,并將所述第一調用結果返回給測試系統(tǒng)。
通過上述方法,相比于現(xiàn)有技術,可以減少測試系統(tǒng)在測試業(yè)務鏈路時調用的API的數(shù)量,因此,可以降低測試系統(tǒng)的處理負擔,提高測試效率,同時,也可以降低編寫測試用例的成本。
在本申請實施例中,任一業(yè)務節(jié)點API的輸出可能作為另一個業(yè)務節(jié)點API的輸入,任一業(yè)務節(jié)點API的輸入也可能是另一個業(yè)務節(jié)點API的輸出,在這種情況下,封裝平臺按照不同的處理順序,處理各第一調用請求時,確定出的對應的各第一調用結果也可能不同,一般的,封裝平臺可以根據(jù)測試系統(tǒng)要測試的業(yè)務鏈路中的各業(yè)務節(jié)點的順序,處理各第一調用請求。
因此,對于步驟S302,調用所述各業(yè)務節(jié)點API內(nèi)封裝的各業(yè)務功能API, 具體可以包括:根據(jù)所述業(yè)務處理請求中包含的各第一調用請求,確定業(yè)務鏈路;根據(jù)所述業(yè)務鏈路上的各業(yè)務節(jié)點的順序,依次處理所述各業(yè)務節(jié)點對應的第一調用請求,其中,每處理一個業(yè)務節(jié)點對應的第一調用請求時,調用該業(yè)務節(jié)點API內(nèi)封裝的各業(yè)務功能API。
進一步的,調用所述各業(yè)務節(jié)點API內(nèi)封裝的各業(yè)務功能API,具體可以包括:根據(jù)所述業(yè)務處理請求中包含的各第一調用請求,確定業(yè)務鏈路;根據(jù)所述業(yè)務鏈路上的各業(yè)務節(jié)點的順序,依次處理所述各業(yè)務節(jié)點對應的第一調用請求,其中,每處理一個業(yè)務節(jié)點對應的第一調用請求時,調用該業(yè)務節(jié)點API內(nèi)封裝的各業(yè)務功能API。
更進一步的,根據(jù)所述業(yè)務處理請求中包含的各第一調用請求,確定業(yè)務鏈路,具體可以包括:確定所述業(yè)務處理請求中包含的各第一調用請求對應的業(yè)務節(jié)點;根據(jù)各第一調用請求在所述業(yè)務處理請求中的順序,將各第一調用請求對應的業(yè)務節(jié)點按照所述接收順序串聯(lián),構成業(yè)務鏈路(對應于上述的用例指定方案);或者,根據(jù)所述各第一調用請求對應的業(yè)務節(jié)點,按照預設規(guī)則,構成業(yè)務鏈路(對應于上述的封裝平臺指定方案)。
在本申請實施例中,所述業(yè)務處理請求中還可以包含對所述各業(yè)務節(jié)點的校驗API的第二調用請求,校驗API是對業(yè)務節(jié)點的至少兩個業(yè)務功能API進行封裝后生成的,所述方法還可以包括:對所述各業(yè)務節(jié)點API的第一調用結果進行校驗,將校驗結果作為該第二調用請求對應的第二調用結果,并返回給測試系統(tǒng)。
為了便于理解,下面以實際應用中的支付業(yè)務為例,對本申請實施例提供的業(yè)務測試方法的過程進行說明,如圖4所示,具體可以包括以下步驟:
S401:用戶(如研發(fā)人員)觸發(fā)測試系統(tǒng)執(zhí)行支付測試用例,其中,所述測試用例中至少可以包括用于對計費核心的業(yè)務節(jié)點API和校驗API進行調用的代碼段,以及對支付核心的業(yè)務節(jié)點API和校驗API進行調用的代碼段。
需要說明的是,對于收銀臺這個業(yè)務節(jié)點,由于其主要功能是對業(yè)務信息 進行轉發(fā),而及業(yè)務的計算處理較少,發(fā)生業(yè)務問題的概率相對較低。因此,在編寫測試用例的時候,可以直接用將轉發(fā)邏輯相關的代碼寫入測試用例,可以不用為這個業(yè)務節(jié)點生成業(yè)務節(jié)點API和校驗API,從而也可以降低封裝平臺的處理負擔。
S402:測試系統(tǒng)向封裝平臺發(fā)送對計費核心的業(yè)務節(jié)點API的第一調用請求,以及發(fā)送對支付核心的業(yè)務節(jié)點API的第一調用請求。
S403:封裝平臺分別確定計費核心和支付核心針對第一調用請求的第一調用結果,并返回給測試系統(tǒng)。
S404:測試系統(tǒng)向封裝平臺發(fā)送對計費核心的校驗API的第二調用請求。
S405:封裝平臺根據(jù)該第二調用請求,對計費核心針對第一調用請求的第一調用結果進行校驗,并將校驗結果返回給測試系統(tǒng)。
S406:測試系統(tǒng)向封裝平臺發(fā)送對支付核心的校驗API的第二調用請求。
S407:封裝平臺根據(jù)該第二調用請求,對支付核心針對第一調用請求的第一調用結果進行校驗,并將校驗結果返回給測試系統(tǒng)。
S408:測試系統(tǒng)對接收到的各第一調用結果,以及對應的各校驗結果進行整合和/或分析,獲得對業(yè)務鏈路的測試結果,并將測試結果返回給用戶。
需要說明的是,在實際應用中,可以在確定每個業(yè)務節(jié)點的計算結果后立刻對該計算結果進行校驗,也可以在確定全部業(yè)務節(jié)點的計算結果后再分別對每個計算結果進行校驗,等等。因此,圖4中只是示出了一種實際應用場景下的過程,本申請對圖4中的各步驟的執(zhí)行順序并不做限定。
為了便于理解,本申請實施例提供了所述封裝平臺的一種系統(tǒng)架構圖,如圖5所示。
圖5中的封裝平臺可以包括四層:業(yè)務及校驗服務門面、業(yè)務及校驗封裝層、業(yè)務依賴層、通用工具層。該封裝平臺可以基于通用工具層中的組件,在業(yè)務及校驗封裝層,對業(yè)務依賴層的業(yè)務(具體可以是業(yè)務功能API)進行封裝,從而,生成業(yè)務及校驗門面中的各業(yè)務節(jié)點API和對應的各校驗API,以 提供給用戶和測試系統(tǒng)(在圖5中示出了3個測試系統(tǒng)與封裝平臺之間的交互)使用。
進一步的,本申請實施例提供了還提供了一種在圖5的封裝平臺中,為計費核心生成業(yè)務節(jié)點API和校驗API的示意圖,如圖6所示。
可以看到,圖6中主要示出了對計費核心的業(yè)務的封裝。計費業(yè)務API即是封裝后生成的業(yè)務節(jié)點API;計費校驗API即是封裝后生成的校驗API。其中,在計費業(yè)務API中可以封裝產(chǎn)品創(chuàng)建、合約創(chuàng)建、計費服務等幾項業(yè)務對應的業(yè)務功能API,在計費校驗API中可以封裝產(chǎn)品查詢、收費賬單查詢等幾項業(yè)務對應的業(yè)務功能API。
以上為本申請實施例提供的業(yè)務測試方法,基于同樣的思路,本申請實施例還提供相應的業(yè)務測試裝置,如圖7、圖8所示。
圖7為本申請實施例提供的對應于圖1的業(yè)務測試裝置結構示意圖,具體包括:
第一生成模塊701,用于根據(jù)業(yè)務節(jié)點提供的至少兩個業(yè)務功能API,生成該業(yè)務節(jié)點的業(yè)務節(jié)點API;
第一確定模塊702,用于當接收到測試系統(tǒng)對所述業(yè)務節(jié)點API的第一調用請求時,確定該第一調用請求對應的第一調用結果,并返回給測試系統(tǒng)。
所述第一生成模塊701具體用于:確定該業(yè)務節(jié)點提供的至少兩個業(yè)務功能API;基于指定的對象組裝組件,對所述至少兩個業(yè)務功能API進行封裝,生成該業(yè)務節(jié)點的業(yè)務節(jié)點API。
所述裝置還包括:
第二生成模塊703,用于根據(jù)該業(yè)務節(jié)點提供的至少兩個業(yè)務功能API,生成該業(yè)務節(jié)點的校驗API;
第二確定模塊704,用于當接收到測試系統(tǒng)對所述校驗API的第二調用請求時,對所述業(yè)務節(jié)點API的第一調用結果進行校驗,將校驗結果作為該第二調用請求對應的第二調用結果,并返回給測試系統(tǒng)。
所述第二生成模塊703具體用于:確定該業(yè)務節(jié)點提供的至少兩個業(yè)務功能API;通過基于指定的數(shù)據(jù)訪問組件和對象組裝組件,對所述至少兩個業(yè)務功能API進行封裝,生成該業(yè)務節(jié)點的校驗API。
具體的上述如圖7所示的裝置可以位于終端、服務器上。
圖8為本申請實施例提供的對應于圖3的業(yè)務測試裝置結構示意圖,具體包括:
接收模塊801,接收測試系統(tǒng)的業(yè)務處理請求,其中,所述業(yè)務處理請求中包含對各業(yè)務節(jié)點的業(yè)務節(jié)點API的第一調用請求,業(yè)務節(jié)點API是對業(yè)務節(jié)點的至少兩個業(yè)務功能API進行封裝后生成的;
調用模塊802,用于調用所述各業(yè)務節(jié)點API內(nèi)封裝的各業(yè)務功能API;
返回模塊803,用于接收所述各業(yè)務節(jié)點返回的第一調用結果,并將所述第一調用結果返回給測試系統(tǒng)。
所述調用模塊802具體用于:根據(jù)所述業(yè)務處理請求中包含的各第一調用請求,確定業(yè)務鏈路;根據(jù)所述業(yè)務鏈路上的各業(yè)務節(jié)點的順序,依次處理所述各業(yè)務節(jié)點對應的第一調用請求,其中,每處理一個業(yè)務節(jié)點對應的第一調用請求時,調用該業(yè)務節(jié)點API內(nèi)封裝的各業(yè)務功能API。
所述調用模塊802具體用于:確定所述業(yè)務處理請求中包含的各第一調用請求對應的業(yè)務節(jié)點;根據(jù)各第一調用請求在所述業(yè)務處理請求中的順序,將各第一調用請求對應的業(yè)務節(jié)點按照所述接收順序串聯(lián),構成業(yè)務鏈路;或者,根據(jù)所述各第一調用請求對應的業(yè)務節(jié)點,按照預設規(guī)則,構成業(yè)務鏈路。
所述業(yè)務處理請求中還包含對所述各業(yè)務節(jié)點的校驗API的第二調用請求,校驗API是對業(yè)務節(jié)點的至少兩個業(yè)務功能API進行封裝后生成的,所述裝置還包括:
校驗模塊804,用于對所述各業(yè)務節(jié)點API的第一調用結果進行校驗,將校驗結果作為該第二調用請求對應的第二調用結果,并返回給測試系統(tǒng)。
具體的上述如圖8所示的裝置可以位于終端、服務器上。
本申請實施例提供一種業(yè)務測試方法及裝置,該方法包括:封裝平臺根據(jù)業(yè)務節(jié)點提供的至少兩個業(yè)務功能API,生成該業(yè)務節(jié)點的業(yè)務節(jié)點API;當接收到測試系統(tǒng)對所述業(yè)務節(jié)點API的第一調用請求時,確定該第一調用請求對應的第一調用結果,并返回給測試系統(tǒng)。通過上述方法,在對業(yè)務鏈路進行測試過程中,當想要使用業(yè)務節(jié)點的功能時,不用一一對該業(yè)務節(jié)點提供的各業(yè)務功能API進行調用,而是只要調用預先該業(yè)務節(jié)點的業(yè)務進行封裝后生成的業(yè)務節(jié)點API進行調用即可,因此,可以降低測試系統(tǒng)的處理負擔,提高測試效率。
本領域內(nèi)的技術人員應明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處 理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出接口、網(wǎng)絡接口和內(nèi)存。
內(nèi)存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內(nèi)存是計算機可讀介質的示例。
計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結構、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內(nèi)存技術、只讀光盤只讀存儲器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設備或任何其他非傳輸介質,可用于存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括暫存電腦可讀媒體(transitory media),如調制的數(shù)據(jù)信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域技術人員應明白,本申請的實施例可提供為方法、系統(tǒng)或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算 機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進等,均應包含在本申請的權利要求范圍之內(nèi)。