測試集成商業(yè)系統(tǒng)的制作方法
【專利摘要】此處提供了一種測試第一商業(yè)系統(tǒng)和第二商業(yè)系統(tǒng)的方法。該第一商業(yè)系統(tǒng)與第二商業(yè)系統(tǒng)集成。該方法包括執(zhí)行第一商業(yè)系統(tǒng)的測試。該方法進一步包括在第一商業(yè)系統(tǒng)的測試期間記錄從第一商業(yè)系統(tǒng)到第二商業(yè)系統(tǒng)的一個或多個呼叫。同時,該方法包括識別來自第一商業(yè)系統(tǒng)、用于測試第二商業(yè)系統(tǒng)的一個或多個呼叫。
【專利說明】測試集成商業(yè)系統(tǒng)
【背景技術】
[0001]在信息技術的領域中,典型地,企業(yè)應用包括大量的商業(yè)系統(tǒng)。用于每個商業(yè)系統(tǒng)的軟件可被獨立地開發(fā)。當以獨立開發(fā)的應用必須彼此交互的方式配置獨立開發(fā)的應用時,這種獨立的方法通常帶來了挑戰(zhàn)。假定典型的企業(yè)應用越來越多的集成特性,這可能是尤其如此。
[0002]集成的測試,例如商業(yè)系統(tǒng)之間的呼叫稱為分級(staging),也是端到端的測試。分級試圖識別獨立開發(fā)的應用彼此交互時可能產(chǎn)生的潛在問題。典型地,在發(fā)行周期結(jié)束時執(zhí)行這種類型的測試。在一些情況中,由于時間和其他資源的限制,根本不能執(zhí)行分級。
【專利附圖】
【附圖說明】
[0003]在下述詳細的說明中并參考附圖描述了某些實施例,其中:
[0004]圖1是依照實施例的測試平臺的框圖;
[0005]圖2是依照實施例的中繼測試系統(tǒng)的框圖;
[0006]圖3是依照實施例的用于測試集成應用的方法的過程流程圖;
[0007]圖4是依照實施例的用于中繼測試的系統(tǒng)的框圖;
[0008]圖5是依照實施例的用于中繼測試的系統(tǒng)的框圖;并且
[0009]圖6是依照實施例示出了存儲用于中繼測試的代碼的非暫時計算機可讀介質(zhì)的框圖。
【具體實施方式】
[0010]在許多情況中,不可獲得用于分級企業(yè)應用的資源。例如,提供為兩個完成的產(chǎn)品環(huán)境所需的計算機資源可能是不現(xiàn)實的,一個用于企業(yè)的商務,并且一個用于分級。同樣的,單獨的商業(yè)系統(tǒng)可僅執(zhí)行筒倉測試(silo testing)。
[0011]在筒倉測試中,單個商業(yè)系統(tǒng)的應用僅被測試在自身上,而沒有對外部應用的測試呼叫。外部應用可屬于外部商業(yè)系統(tǒng),并且同樣地,不可用于測試。由于例如這些的情況,企業(yè)應用的集成不能被測試,直到應用被配置在產(chǎn)品環(huán)境中。
[0012]在一個實施例中,中繼測試系統(tǒng)可用于集成的商業(yè)系統(tǒng)的覆蓋。該覆蓋描述了被測試的不同商業(yè)系統(tǒng)之間的一部分呼叫。換句話說,該覆蓋指示測試企業(yè)應用的集成到什么程度。
[0013]圖1是依照實施例的測試平臺100的框圖。測試平臺100包括商業(yè)系統(tǒng)102和中繼測試系統(tǒng)104。
[0014]中繼測試系統(tǒng)104可用于執(zhí)行商業(yè)系統(tǒng)102的端到端測試。在端到端測試中,中繼測試系統(tǒng)104可在測試期間測試商業(yè)系統(tǒng)102之間的集成,提供集成錯誤的警告,并提供在集成域中缺少覆蓋的警告。
[0015]在商業(yè)系統(tǒng)102的測試期間,中繼測試系統(tǒng)104可記錄對外部應用的呼叫。接著,包括這些外部應用的商業(yè)系統(tǒng)102可被載入測試平臺100,并且記錄的呼叫可被執(zhí)行。[0016]以此方式,就像接力賽中的指揮棒一樣可以處理外部呼叫,其中,外部呼叫被斷開到下一個商業(yè)系統(tǒng),該下一個商業(yè)系統(tǒng)接著執(zhí)行這些呼叫。依次的,這些呼叫可觸發(fā)對其他商業(yè)系統(tǒng)102的進一步的外部呼叫。在記錄的呼叫不被進一步測試時,可完成中繼。有利地,中繼測試系統(tǒng)可提高用于最新配置的商業(yè)系統(tǒng)的集成質(zhì)量。
[0017]圖2是依照實施例的中繼測試系統(tǒng)104的框圖。中繼測試系統(tǒng)104可包括商業(yè)處理模型202、輸出記錄器204、數(shù)據(jù)庫206、服務利用208、數(shù)據(jù)推薦器210以及數(shù)據(jù)覆蓋212。該商業(yè)處理模型202可建模商業(yè)處理以及各種商業(yè)系統(tǒng)102的交互。
[0018]輸出記錄器204可提供記錄或捕獲一個商業(yè)系統(tǒng)102試圖于對另 個例如外部商業(yè)系統(tǒng)的所有輸出。該輸出可包括對外部商業(yè)系統(tǒng)和數(shù)據(jù)的呼叫。該輸出可使用應用或通信掛起被記錄。在一些實施例中,輸出記錄器204可為基于非侵入式網(wǎng)絡嗅探(sniffing)的通信記錄器。記錄的輸出可被存儲在數(shù)據(jù)庫206中。
[0019]除了外部呼叫和其它輸出之外,該數(shù)據(jù)庫206可維持各種關于端對端測試的數(shù)據(jù)的各種存儲。例如,可將關于測試了哪個呼叫的信息存儲在數(shù)據(jù)庫206中。在數(shù)據(jù)庫206中的數(shù)據(jù)可用于處理端對端測試,并產(chǎn)生數(shù)據(jù)覆蓋報告和工作流可視化。數(shù)據(jù)覆蓋報告可描述使用中繼測試系統(tǒng)104測試的商業(yè)系統(tǒng)102的覆蓋。工作流可視化可示出當前測試的集成的可視化。
[0020]服務利用208可響應于來自被測試的商業(yè)系統(tǒng)102的外部呼叫。由于外部商業(yè)系統(tǒng)可能不用于測試,所以外部呼叫可能碰撞被測試的應用。為了防止碰撞,或者為了有助于測試,服務利用208可完成商業(yè)處理即應用,進行外部呼叫。這可使用存根(stubbing)、響應產(chǎn)生等等來完成。在各種實施例中,服務利用208可使用自動或手工處理。
[0021]在一個實施例中,服務利用208可與輸出記錄器204對接。例如,可使用中繼測試系統(tǒng)104測試兩個商業(yè)系統(tǒng)102,系統(tǒng)A和系統(tǒng)B。當系統(tǒng)A正被測試時,應用可對系統(tǒng)B中的另一個應用進行呼叫。可觸發(fā)服務利用208以完成呼叫而不碰撞該應用。服務利用208也可向輸出記錄器204發(fā)送呼叫的記錄。輸出記錄器204可在數(shù)據(jù)庫206中存儲呼叫的記錄。
[0022]在一些企業(yè)中,關于對在測試平臺100上不可用的應用外部呼叫,可以使用mock服務或其他技術。在這樣的企業(yè)中的中繼測試系統(tǒng)104的實施可不包括服務利用208。
[0023]數(shù)據(jù)推薦器210可“推薦”在商業(yè)系統(tǒng)102中測試的呼叫。該被推薦的呼叫可包括另一個商業(yè)系統(tǒng)102在測試平臺100上測試時記錄的呼叫。
[0024]數(shù)據(jù)覆蓋212可基于在端對端測試的每個中繼中測試的記錄的呼叫而描述覆蓋。數(shù)據(jù)覆蓋212可提供數(shù)據(jù)覆蓋報告。
[0025]在一個實施例中,數(shù)據(jù)覆蓋212可運行并查詢數(shù)據(jù)庫206以確定哪個呼叫已被測試。此確定可進一步是基于商業(yè)處理模型202的。在一些實施例中,數(shù)據(jù)覆蓋212可確定是否在系統(tǒng)A和系統(tǒng)B之間的集成已被覆蓋。
[0026]圖3是依據(jù)實施例用于測試集成的應用的方法300的流程圖??梢岳斫獾氖窃撎幚砹鞒虉D并不試圖表示執(zhí)行的特定順序。方法300可由中繼測試系統(tǒng)104在端對端測試中執(zhí)行。
[0027]該方法300在塊302開始,此處測試系統(tǒng)A。該系統(tǒng)A可為商業(yè)系統(tǒng)102。在一個實施例中,系統(tǒng)A可被載入測試平臺100上。[0028]在塊304,在系統(tǒng)A的測試期間可記錄對系統(tǒng)B的呼叫。每個呼叫可為執(zhí)行系統(tǒng)B中的程序的請求。該呼叫可包括依賴于程序的特定參數(shù)。
[0029]在塊306,數(shù)據(jù)推薦器210可推薦測試記錄的呼叫。在一個實施例中,接口可呈現(xiàn)給參與系統(tǒng)A和B的端對端測試的用戶。在一些實施例中,用戶可查詢數(shù)據(jù)庫206以確定哪個程序在系統(tǒng)B中測試。
[0030]在塊308,一旦結(jié)束了系統(tǒng)A的測試,則系統(tǒng)B可被測試。在個實施例中,系統(tǒng)B可被載入到測試平臺100上。數(shù)據(jù)推薦器210推薦的呼叫可被測試。該測試也可包括其它程序和參數(shù)的執(zhí)行。
[0031]在塊310,可確定系統(tǒng)A和B的覆蓋。該覆蓋可使用數(shù)據(jù)覆蓋報告確定?;谠摯_定,如上所述的,可進行系統(tǒng)A或B的進一步的測試。
[0032]圖4是示出了根據(jù)實施例的商業(yè)系統(tǒng)的示例性端對端測試的流程圖。在端對端測試的每個中繼中,可執(zhí)行各種行為,例如開票行為、存貨行為以及裝貨行為。每個行為可代表相應商業(yè)系統(tǒng)例如開票系統(tǒng)402、存貨系統(tǒng)404以及裝貨系統(tǒng)406的測試。
[0033]在端對端測試中,在端對端測試的每個中繼期間可筒倉測試每個商業(yè)系統(tǒng)。另外,在筒倉測試期間,所有外部服務呼叫可被記錄并保存在數(shù)據(jù)庫206中。數(shù)據(jù)推薦器210可推薦在存貨系統(tǒng)404中測試程序,這些程序由記錄的外部服務呼叫請求。在適當系統(tǒng)的筒倉測試期間可接著測試這些程序。
[0034]例如,如所不的,開票系統(tǒng)402對存貨系統(tǒng)404做出外部服務呼叫。同樣,在開票系統(tǒng)402的筒倉測試期間,可記錄對存貨系統(tǒng)404的所有外部服務呼叫。該數(shù)據(jù)推薦器210可接著向用戶推薦用于測試的記錄的服務呼叫,其筒倉測試該存貨系統(tǒng)404。因此,可在存貨系統(tǒng)的筒倉測試期間測試該推薦的服務呼叫。
[0035]與開票系統(tǒng)402類似,該存貨系統(tǒng)404對裝貨系統(tǒng)406做出呼叫。另外,裝貨系統(tǒng)406回叫開票系統(tǒng)402。同樣,這些呼叫也被記錄,并在各個系統(tǒng)的筒倉測試期間測試這些呼叫。端對端測試的一個實施可包括對多于一個外部系統(tǒng)的外部服務呼叫。例如,開票系統(tǒng)402可對存貨系統(tǒng)404和裝貨系統(tǒng)406做出外部服務呼叫。因此,這些系統(tǒng)的筒倉測試可包括在開票系統(tǒng)402筒倉測試期間記錄的呼叫。值得注意的是,除了記錄的服務呼叫之外,筒倉測試可包括進一步的用于測試的事務處理。
[0036]圖5是根據(jù)實施例的用于中繼測試的系統(tǒng)500的框圖。圖5中示出的功能框和裝置可包括硬件元件、軟件元件或軟件和硬件的一些組合。該硬件元件可包括電路。該軟件元件可包括存儲在非暫時的計算機可讀介質(zhì)上的計算機代碼。另外,系統(tǒng)500的功能模塊和裝置僅是可在實施例中實施的功能模塊和裝置的一個實例?;趯μ囟娧b置的設計考慮,可定義特定的功能模塊。
[0037]系統(tǒng)500可包括通過網(wǎng)絡506通信的服務器502和客戶端504??膳c服務器502類似地,配置客戶端504。例如,服務器502可包括可通過總線510連接到顯示器512、鍵盤514、輸入裝置516以及輸出裝置例如打印機518的處理器508。該輸入裝置516可包括例如鼠標或觸摸屏的裝置。該服務器502也可通過總線510連接到網(wǎng)絡接口卡520。網(wǎng)絡接口卡520可將服務器502連接到網(wǎng)絡506。
[0038]網(wǎng)絡506可為局域網(wǎng)、廣域網(wǎng)、例如因特網(wǎng)或另一種網(wǎng)絡配置。網(wǎng)絡506可包括路由器、交換器、調(diào)制解調(diào)器或任何其他類型用于互連的接口裝置。在一個示例性的實施例中,網(wǎng)絡506可為因特網(wǎng)。
[0039]服務器502可具有通過總線510操作性耦合到處理器512的其他單元。這些單元可包括非暫時的計算機可讀存儲介質(zhì)例如存儲器522。該存儲器522可包括用于長期存儲操作軟件和數(shù)據(jù)的介質(zhì),例如硬盤驅(qū)動器。存儲器522也可包括其它類型的非暫時的計算機可讀介質(zhì),例如只讀存儲器和隨機訪問存儲器。
[0040]存儲器522可包括在本技術的實施例中使用的機器可讀指令。在實施例中,存儲器522可包括商業(yè)系統(tǒng)524、輸出記錄器526以及數(shù)據(jù)推薦器528。在商業(yè)系統(tǒng)524的端對端測試期間,該輸出記錄器526可記錄商業(yè)系統(tǒng)524之間的呼叫。數(shù)據(jù)推薦器528可向參與端對端測試的用戶推薦記錄的呼叫。因此可測試該推薦的呼叫。
[0041]圖6是依照實施例示出了存儲用于中繼測試的代碼的非暫時的計算機可讀介質(zhì)的框圖。該非暫時的計算機可讀介質(zhì)通常被參考編號600所指出。
[0042]非暫時的計算機可讀介質(zhì)600可相應于存儲計算機可執(zhí)行指令例如編程代碼等等的任何典型的存儲裝置。例如,該存儲裝置可包括例如從可移動磁盤讀或向可移動磁盤寫的硬盤驅(qū)動器、磁盤驅(qū)動器,以及例如讀取CD-ROM盤或從其他光介質(zhì)讀或向其他光介質(zhì)寫的光磁盤驅(qū)動器。另外,可使用其它類型的可由計算機系統(tǒng)讀取并適用于需要的終極目的的介質(zhì),例如磁帶盒、閃存卡、數(shù)字視頻盤、伯努力墨盒等等。
[0043]存儲裝置可通過存儲裝置接口例如硬盤驅(qū)動器接口、磁盤驅(qū)動器接口以及光驅(qū)動器接口連接到系統(tǒng)總線。例如,存儲裝置可為關于圖5討論的存儲器522。
[0044]如此處所描述的,根據(jù)示范性實施例,當處理器602經(jīng)由通信路徑604讀取和執(zhí)行存儲在非暫時的計算機可讀介質(zhì)600中的指令時,這些指令適于使得處理器602執(zhí)行商業(yè)系統(tǒng)524的端到端測試。
[0045]商業(yè)系統(tǒng)606可被載入到測試平臺上。在商業(yè)系統(tǒng)606的測試期間,輸出記錄器608可記錄商業(yè)系統(tǒng)606之間的外部呼叫。在商業(yè)系統(tǒng)606的端到端測試期間,數(shù)據(jù)推薦器610可推薦用于測試的記錄的呼叫。可測試推薦的呼叫。
【權(quán)利要求】
1.一種測試第一商業(yè)系統(tǒng)和第二商業(yè)系統(tǒng)的方法,包括: 執(zhí)行第一商業(yè)系統(tǒng)的測試,其中該第一商業(yè)系統(tǒng)與該第二商業(yè)系統(tǒng)集成; 在第一商業(yè)系統(tǒng)的測試期間,記錄從第一商業(yè)系統(tǒng)到第二商業(yè)系統(tǒng)的一個或多個呼叫;并且 識別來自第一商業(yè)系統(tǒng)、用于測試第二商業(yè)系統(tǒng)的一個或多個呼叫。
2.如權(quán)利要求1所述的方法,包括: 執(zhí)行第二商業(yè)系統(tǒng)的測試;并且 在第二商業(yè)系統(tǒng)的測試期間測試一個或多個呼叫。
3.如權(quán)利要求1所述的方法,包括: 在第二商業(yè)系統(tǒng)的測試期間,記錄從第二商業(yè)系統(tǒng)到第三商業(yè)系統(tǒng)的一個或多個呼叫;并且 在第三商業(yè)系統(tǒng)的測試期間推薦來自第二商業(yè)系統(tǒng)、用于測試的一個或多個呼叫。
4.如權(quán)利要求1所述的方法,其 中一個或多個呼叫的每一個包括執(zhí)行第二商業(yè)系統(tǒng)的一個或多個程序的請求,其中一個或多個程序相應于一個或多個呼叫。
5.如權(quán)利要求1所述的方法,其中記錄來自第一商業(yè)系統(tǒng)的一個或多個呼叫包括: 基于來自第一商業(yè)系統(tǒng)的一個或多個呼叫,確定與第二商業(yè)系統(tǒng)的一個或多個程序相應的一個或多個識別符; 確定用于一個或多個呼叫的每一個的一個或多個參數(shù); 并且 產(chǎn)生數(shù)據(jù)存儲包括: 一個或多個識別符;和 一個或多個參數(shù)。
6.如權(quán)利要求1所述的方法,包括: 基于第二商業(yè)系統(tǒng)的測試,確定第一商業(yè)系統(tǒng)和第二商業(yè)系統(tǒng)之間的接口的覆蓋;并且 呈現(xiàn)覆蓋的顯示。
7.如權(quán)利要求1所述的方法,包括執(zhí)行與來自第一商業(yè)系統(tǒng)的一個或多個呼叫相應的一個或多個存根。
8.如權(quán)利要求1所述的方法,包括執(zhí)行與來自第一商業(yè)系統(tǒng)的一個或多個呼叫相應的一個或多個響應生成。
9.一種用于測試第一商業(yè)系統(tǒng)和第二商業(yè)系統(tǒng)的計算機系統(tǒng),包括: 存儲指令的存儲器; 處理器,配置為執(zhí)行該指令以: 執(zhí)行第一商業(yè)系統(tǒng)的測試,其中第一商業(yè)系統(tǒng)與第二商業(yè)系統(tǒng)集成; 在第一商業(yè)系統(tǒng)測試期間記錄從第一商業(yè)系統(tǒng)到第二商業(yè)系統(tǒng)的一個或多個呼叫;并且 識別來自第一商業(yè)系統(tǒng)用于第二商業(yè)系統(tǒng)的測試的一個或多個呼叫。
10.如權(quán)利要求9所述的計算機系統(tǒng),其中該處理器被配置為執(zhí)行指令以便: 執(zhí)行第二商業(yè)系統(tǒng)的測試;并且在第二商業(yè)系統(tǒng)的測試期間測試一個或多個呼叫。
11.如權(quán)利要求9所述的計算機系統(tǒng),其中該處理器被配置為執(zhí)行該指令,以便: 在第二商業(yè)系統(tǒng)的測試期間記錄從第二商業(yè)系統(tǒng)到第三商業(yè)系統(tǒng)的一個或多個呼叫; 并且 在第三商業(yè)系統(tǒng)的測試期間識別來自第二商業(yè)系統(tǒng)、用于測試的一個或多個呼叫。
12.如權(quán)利要求9所述的計算機系統(tǒng),其中一個或多個呼叫的每個包括執(zhí)行第二商業(yè)系統(tǒng)的一個或多個程序的請求,其中一個或多個程序相應于該一個或多個呼叫。
13.如權(quán)利要求9所述的計算機系統(tǒng),其中該處理器被配置為執(zhí)行指令以通過執(zhí)行指令以進行如下操作來記錄來自第一商業(yè)系統(tǒng)的一個或多個呼叫: 基于來自第一商業(yè)系統(tǒng)的一個或多個呼叫,確定與第二商業(yè)系統(tǒng)的一個或多個程序相應的一個或多個識別符; 為一個或多個呼叫的每個確定一個或多個參數(shù);并且 產(chǎn)生數(shù)據(jù)存儲包括: 一個或多個識別符;并且 一個或多個參數(shù)。
14.如權(quán)利要求9所述的計算機系統(tǒng),其中該處理器被配置以執(zhí)行指令以便: 基于第二商業(yè)系統(tǒng)的測試,確定第一商業(yè)系統(tǒng)和第二商業(yè)系統(tǒng)之間的接口的覆蓋;并且 呈現(xiàn)該覆蓋的顯示。
15.如權(quán)利要求9所述的計算機系統(tǒng),其中該處理器被配置以執(zhí)行指令,以便執(zhí)行與來自第一商業(yè)系統(tǒng)的一個或多個呼叫相應的一個或多個存根。
16.如權(quán)利要求9所述的計算機系統(tǒng),其中配置該處理器以執(zhí)行指令,以便執(zhí)行與來自第一商業(yè)系統(tǒng)的一個或多個呼叫相應的一個或多個響應生成。
17.一種非暫時的計算機可讀介質(zhì),包括處理器可執(zhí)行的以測試第一商業(yè)系統(tǒng)和第二商業(yè)系統(tǒng)的機器可讀指令,其中該機器可讀指令當由處理器執(zhí)行時使得該處理器: 執(zhí)行第一商業(yè)系統(tǒng)的測試,其中第一商業(yè)系統(tǒng)與第二商業(yè)系統(tǒng)集成; 在第一商業(yè)系統(tǒng)測試期間記錄從第一商業(yè)系統(tǒng)到第二商業(yè)系統(tǒng)的一個或多個呼叫,其中一個或多個呼叫的每個包括執(zhí)行第二商業(yè)系統(tǒng)的相應的一個或多個程序的請求;并且在第二商業(yè)系統(tǒng)的測試期間,識別來自第一商業(yè)系統(tǒng)、用于測試的一個或多個呼叫。
18.如權(quán)利要求17所述的非暫時的計算機可讀介質(zhì),包括機器可讀指令,當其由處理器執(zhí)行時,使得該處理器: 執(zhí)行第二商業(yè)系統(tǒng)的測試;并且 在第二商業(yè)系統(tǒng)的測試期間測試一個或多個呼叫。
19.如權(quán)利要求17所述的非暫時的計算機可讀介質(zhì),包括機器可讀指令,當其由處理器執(zhí)行時,使得該處理器: 在第二商業(yè)系統(tǒng)的測試期間,記錄從第二商業(yè)系統(tǒng)到第三商業(yè)系統(tǒng)的一個或多個呼叫; 并且在第三商業(yè)系統(tǒng)的測試期間,推薦用于測試的來自第二商業(yè)系統(tǒng)的一個或多個呼叫。
20.如權(quán)利要求17所述的非暫時的計算機可讀介質(zhì),其中當由處理器執(zhí)行該機器可讀指令時,使得該處理器記錄來自第一商業(yè)系統(tǒng)的一個或多個呼叫,包括機器可讀指令,當其由處理器執(zhí)行時,使得處理器: 基于來自第一商業(yè)系統(tǒng)的一個或多個呼叫,確定與第二商業(yè)系統(tǒng)的一個或多個程序相應的一個或多個識別符; 為一個或多個呼叫的每一個確定一個或多個參數(shù);并且 產(chǎn)生數(shù)據(jù)存儲包括: 一個或多個識別符;和 --個或多個參 數(shù)。
【文檔編號】G06Q10/06GK103460231SQ201180068977
【公開日】2013年12月18日 申請日期:2011年3月3日 優(yōu)先權(quán)日:2011年3月3日
【發(fā)明者】I·舒弗, A·勒德內(nèi)夫, A·尼特桑 申請人:惠普發(fā)展公司,有限責任合伙企業(yè)