本發(fā)明涉及自動化測試技術(shù)領(lǐng)域,尤其是一種業(yè)務(wù)流程的自動監(jiān)測方法和系統(tǒng)。
背景技術(shù):
客戶服務(wù)體驗是客戶服務(wù)的重要組成部分。隨著電信行業(yè)競爭的加劇,尤其隨著虛擬運營商加入電信行業(yè)競爭,優(yōu)質(zhì)的客戶服務(wù)是各大電信運營商留住老客戶、發(fā)展新客戶的殺手锏。
隨著信息化建設(shè)的持續(xù)深入,電信營業(yè)廳服務(wù)人員嚴(yán)重依賴IT(Internet Technology,互聯(lián)網(wǎng)技術(shù))系統(tǒng)為客戶辦理業(yè)務(wù),因此IT系統(tǒng)是否能夠持續(xù)穩(wěn)定高效的運行,直接影響著用戶的服務(wù)體驗。目前,IT系統(tǒng)運營過程中存在以下問題:
現(xiàn)有的ITSM(IT Service Management,IT服務(wù)管理)系統(tǒng)僅能從物理層面識別業(yè)務(wù)系統(tǒng)的狀態(tài),卻無法識別應(yīng)用‘偽活’,看似正常的應(yīng)用卻不能為用戶提供正常的服務(wù),從而導(dǎo)致被用戶投訴。
另外,一個完整的業(yè)務(wù)流程可能需要跨越多個系統(tǒng),當(dāng)系統(tǒng)中存在失效點時,便不能導(dǎo)致業(yè)務(wù)流程處于正常狀態(tài)。因此,亟須一種技術(shù)方案能夠及時發(fā)現(xiàn)業(yè)務(wù)流程中的失效點,從而減少客戶投訴現(xiàn)象的發(fā)生。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例的一個目的是:提供一種業(yè)務(wù)流程的自動監(jiān)測方法和系統(tǒng),能夠及時發(fā)現(xiàn)業(yè)務(wù)流程中各功能點是否正常。
根據(jù)本發(fā)明的一方面,提供一種業(yè)務(wù)流程的自動監(jiān)測方法,包括:通過頁面克隆技術(shù)將各系統(tǒng)不同的功能點進行錄制以分別形成用例;選取一些功能點對應(yīng)的用例進行業(yè)務(wù)編排以形成不同的業(yè)務(wù)流程;根據(jù)測 試計劃對業(yè)務(wù)流程進行自動化測試,從而得到測試結(jié)果;根據(jù)測試結(jié)果監(jiān)測業(yè)務(wù)流程中的各功能點是否正常。
在一個實施例中,所述通過頁面克隆技術(shù)將各系統(tǒng)不同的功能點進行錄制以分別形成用例包括:記錄用戶訪問應(yīng)用的頁面對象、輸入?yún)?shù)和操作步驟,并抓取所述應(yīng)用的頁面輸出參數(shù);將一組頁面對象、輸入?yún)?shù)、操作步驟和對應(yīng)抓取的頁面輸出參數(shù)組合以形成用例。
在一個實施例中,所述根據(jù)測試計劃對業(yè)務(wù)流程進行自動化測試,從而得到測試結(jié)果包括:根據(jù)業(yè)務(wù)流程包含的每個用例,模擬用戶對所述應(yīng)用進行訪問并接收所述應(yīng)用的頁面輸出參數(shù);判斷接收到的應(yīng)用的頁面輸出參數(shù)與記錄的應(yīng)用的頁面輸出參數(shù)是否一致;若接收到的應(yīng)用的頁面輸出參數(shù)與記錄的應(yīng)用的頁面輸出參數(shù)一致,則判定該用例執(zhí)行成功;若接收到的應(yīng)用的頁面輸出參數(shù)與記錄的應(yīng)用的頁面輸出參數(shù)不一致,則判定該用例執(zhí)行不成功。
在一個實施例中,所述根據(jù)測試結(jié)果監(jiān)測業(yè)務(wù)流程中的各功能點是否正常包括:將執(zhí)行成功的用例對應(yīng)的功能點確定為正常功能點;將執(zhí)行不成功的用例對應(yīng)的功能點確定為不正常功能點。
在一個實施例中,在頁面對象發(fā)生變動時,通過增加斷點的方式對頁面對象進行變更。
在一個實施例中,在模擬用戶對所述應(yīng)用進行訪問時的輸入?yún)?shù)是可調(diào)的。
在一個實施例中,還包括:將接收到的頁面輸出參數(shù)作為模擬用戶對另一應(yīng)用進行訪問時的輸入?yún)?shù)。
在一個實施例中,所述選取一些功能點對應(yīng)的用例進行業(yè)務(wù)編排以形成不同的業(yè)務(wù)流程包括:利用可視化技術(shù)將選取的功能點對應(yīng)的用例通過拖拽的方式繪制成與業(yè)務(wù)流程對應(yīng)的場景流程圖。
在一個實施例中,所述根據(jù)測試計劃對業(yè)務(wù)流程進行自動化測試,從而得到測試結(jié)果包括:根據(jù)測試計劃對不同的業(yè)務(wù)流程并發(fā)進行自動化測試,其中每個業(yè)務(wù)流程均通過多個服務(wù)器進行自動化測試。
根據(jù)本發(fā)明的另一方面,提供一種業(yè)務(wù)流程的自動監(jiān)測系統(tǒng),包括: 用例錄制單元,用于通過頁面克隆技術(shù)將各系統(tǒng)不同的功能點進行錄制以分別形成用例;業(yè)務(wù)編排單元,用于選取一些功能點對應(yīng)的用例進行業(yè)務(wù)編排以形成不同的業(yè)務(wù)流程;測試單元,用于根據(jù)測試計劃對業(yè)務(wù)流程進行自動化測試,從而得到測試結(jié)果;監(jiān)測單元,用于根據(jù)測試結(jié)果監(jiān)測業(yè)務(wù)流程中的各功能點是否正常。
在一個實施例中,所述用例錄制單元包括:記錄模塊,用于記錄用戶訪問應(yīng)用的頁面對象、輸入?yún)?shù)和操作步驟,并抓取所述應(yīng)用的頁面輸出參數(shù);組合模塊,用于將一組頁面對象、輸入?yún)?shù)、操作步驟和對應(yīng)抓取的頁面輸出參數(shù)組合以形成用例。
在一個實施例中,所述測試單元包括:模擬模塊,用于根據(jù)業(yè)務(wù)流程包含的每個用例,模擬用戶對所述應(yīng)用進行訪問并接收所述應(yīng)用的頁面輸出參數(shù);判斷模塊,用于判斷接收到的應(yīng)用的頁面輸出參數(shù)與記錄的應(yīng)用的頁面輸出參數(shù)是否一致;若接收到的應(yīng)用的頁面輸出參數(shù)與記錄的應(yīng)用的頁面輸出參數(shù)一致,則判定該用例執(zhí)行成功;若接收到的應(yīng)用的頁面輸出參數(shù)與記錄的應(yīng)用的頁面輸出參數(shù)不一致,則判定該用例執(zhí)行不成功。
在一個實施例中,所述監(jiān)測單元將執(zhí)行成功的用例對應(yīng)的功能點確定為正常功能點;將執(zhí)行不成功的用例對應(yīng)的功能點確定為不正常功能點。
在一個實施例中,還包括:變更單元,用于在頁面對象發(fā)生變動時,通過增加斷點的方式對頁面對象進行變更。
在一個實施例中,在模擬用戶對所述應(yīng)用進行訪問時的輸入?yún)?shù)是可調(diào)的。
在一個實施例中,所述模擬模塊,還用于將接收到的頁面輸出參數(shù)作為模擬用戶對另一應(yīng)用進行訪問時的輸入?yún)?shù)。
在一個實施例中,所述業(yè)務(wù)編排單元利用可視化技術(shù)將選取的功能點對應(yīng)的用例通過拖拽的方式繪制成與業(yè)務(wù)流程對應(yīng)的場景流程圖。
在一個實施例中,所述測試單元根據(jù)測試計劃對不同的業(yè)務(wù)流程并發(fā)進行自動化測試,其中每個業(yè)務(wù)流程均通過多個服務(wù)器進行自動化測 試。
本發(fā)明實施例通過頁面克隆技術(shù)將功能點進行錄制從而形成用例,通過對不同用例組成的業(yè)務(wù)流程進行自動化測試可以監(jiān)測到業(yè)務(wù)流程中的各功能點是否正常,從而可以及時對不正常功能點進行維修,以便在惡化之前解決問題,提升用戶感知,降低用戶的投訴。
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明業(yè)務(wù)流程的自動監(jiān)測方法一個實施例的流程示意圖;
圖2示出了本發(fā)明業(yè)務(wù)流程的自動監(jiān)測方法的一個例子;
圖3示出了采用頁面克隆技術(shù)對功能點進行錄制的示意圖;
圖4是采用可視化技術(shù)進行業(yè)務(wù)流程編排的示意圖;
圖5是分布式業(yè)務(wù)流程執(zhí)行的示意圖;
圖6是本發(fā)明業(yè)務(wù)流程的自動監(jiān)測系統(tǒng)一個實施例的框圖;
圖7是本發(fā)明業(yè)務(wù)流程的自動監(jiān)測系統(tǒng)另一個實施例的框圖;
圖8是本發(fā)明業(yè)務(wù)流程的自動監(jiān)測系統(tǒng)又一個實施例的框圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相 對布置、數(shù)字表達式和數(shù)值不限制本發(fā)明的范圍。
同時,應(yīng)當(dāng)明白,為了便于描述,附圖中所示出的各個部分的尺寸并不是按照實際的比例關(guān)系繪制的。
對于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細討論,但在適當(dāng)情況下,所述技術(shù)、方法和設(shè)備應(yīng)當(dāng)被視為授權(quán)說明書的一部分。
在這里示出和討論的所有示例中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實施例的其它示例可以具有不同的值。
應(yīng)注意到:相似的標(biāo)號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步討論。
圖1是本發(fā)明業(yè)務(wù)流程的自動監(jiān)測方法一個實施例的流程示意圖。如圖1所示,該方法包括如下步驟:
步驟102,通過頁面克隆技術(shù)將各系統(tǒng)不同的功能點進行錄制以分別形成用例。
這里,可以將一個完整的業(yè)務(wù)流程分解為各個系統(tǒng)支撐的功能點,然后通過頁面克隆技術(shù)將各功能點進行錄制以形成用例,之后可以將所有的用例進行管理,從而形成用例庫。
步驟104,選取一些功能點對應(yīng)的用例進行業(yè)務(wù)編排以形成不同的業(yè)務(wù)流程。
在一個業(yè)務(wù)流程中,所選取的功能點可以是同一系統(tǒng)的功能點,也可以是不同系統(tǒng)的功能點。將不同的功能點進行業(yè)務(wù)編排可以形成不同的業(yè)務(wù)流程。在一個實施例中,可以利用可視化技術(shù)將選取的功能點對應(yīng)的用例通過拖拽的方式繪制成與業(yè)務(wù)流程對應(yīng)的場景流程圖,將所有的場景進行管理可以形成場景庫。
步驟106,根據(jù)測試計劃對業(yè)務(wù)流程進行自動化測試,從而得到測試結(jié)果。
這里,測試計劃可以是例如,根據(jù)實際需求對某個業(yè)務(wù)流程實時進 行自動化測試或者以預(yù)定時間間隔來進行自動化測試。
步驟108,根據(jù)測試結(jié)果監(jiān)測業(yè)務(wù)流程中的各功能點是否正常。
通過自動化測試得到的測試結(jié)果可以獲知業(yè)務(wù)流程中的功能點是否正常,從而及時得到業(yè)務(wù)流程中的失效點,也即不正常的功能點。在得到不正常的功能點后還可以進行報警等操作,以便相關(guān)人員及時進行故障排查,避免遭到客戶的投訴等。
本實施例通過頁面克隆技術(shù)將功能點進行錄制從而形成用例,通過對不同用例組成的業(yè)務(wù)流程進行自動化測試可以監(jiān)測到業(yè)務(wù)流程中的各功能點是否正常,從而可以及時對不正常功能點進行維修,以便在惡化之前解決問題,提升用戶感知,降低用戶的投訴。
圖2示出了本發(fā)明業(yè)務(wù)流程的自動監(jiān)測方法的一個例子。如圖2所示,對于某個應(yīng)用來說,例如淘寶,應(yīng)用需求例如可以包括但不限于購買商品或瀏覽商品,一個購買商品的業(yè)務(wù)流程可以包括登錄、瀏覽商品、將商品添加到購物車和付款操作。對于用戶的每個操作,如登錄、瀏覽商品、將商品添加到購物車和付款來說,均對應(yīng)一個功能點,通過將各功能點進行錄制可以形成相應(yīng)的用例(也稱為腳本),例如A、B、C,將所有的用例進行管理形成用例庫。不同的用例進行業(yè)務(wù)編排可以形成不同的業(yè)務(wù)流程1、2、3、4、5,將所有的業(yè)務(wù)流程進行管理可以形成場景庫。根據(jù)測試計劃對不同的業(yè)務(wù)流程進行自動化測試,從而可以得到測試結(jié)果。
下面介紹上述步驟102通過頁面克隆技術(shù)將各系統(tǒng)不同的功能點進行錄制以分別形成用例的一個具體實現(xiàn)方式。
首先,可以記錄用戶訪問應(yīng)用的頁面對象、輸入?yún)?shù)和操作步驟,并抓取該應(yīng)用的頁面輸出參數(shù)。
例如,可以基于頁面Dom(Document Object Model,文檔對象模型),綜合對象標(biāo)識識別、字符串識別、Dom層次路徑xPath識別等記錄用戶訪問應(yīng)用的頁面對象、輸入?yún)?shù)和操作步驟。這里,參數(shù)類型可以包括頁面和數(shù)據(jù)庫兩種數(shù)據(jù)源:頁面的輸入?yún)?shù)指自動填值,輸出參數(shù)指獲取頁面數(shù)據(jù);數(shù)據(jù)庫的輸入?yún)?shù)指插入或更新數(shù)據(jù)庫,輸出參數(shù) 指查詢數(shù)據(jù)庫值。
然后,將一組頁面對象、輸入?yún)?shù)、操作步驟和對應(yīng)抓取的頁面輸出參數(shù)組合以形成用例。在一個實施例中,在頁面對象發(fā)生變動時,可以通過增加斷點的方式對頁面對象進行變更,從而無需對用例重新進行錄制。
以應(yīng)用為淘寶為例,用戶在訪問淘寶時需要進行登錄操作,此時的頁面對象即淘寶頁面,輸入?yún)?shù)包括用戶名、密碼、或選擇項等,操作步驟為鍵盤和鼠標(biāo)操作順序等,頁面輸出參數(shù)為在輸入相關(guān)參數(shù)后服務(wù)器返回的結(jié)果,如果用戶登錄成功,則服務(wù)器返回一個對應(yīng)的參數(shù),如果用戶登錄失敗,則服務(wù)器返回另一個對應(yīng)的參數(shù)。從而,可以將一組頁面對象、輸入?yún)?shù)、操作步驟和對應(yīng)抓取的頁面輸出參數(shù)組合,以形成與登錄操作對應(yīng)的用例,也就完成了業(yè)務(wù)操作到腳本的自動轉(zhuǎn)化。
相應(yīng)地,后續(xù)步驟106在根據(jù)測試計劃對業(yè)務(wù)流程進行自動化測試時具體可以通過如下方式來實現(xiàn):
首先,根據(jù)業(yè)務(wù)流程包含的每個用例,模擬用戶對應(yīng)用進行訪問并接收應(yīng)用的頁面輸出參數(shù),也即將用戶的頁面操作進行回放。仍以購買商品的業(yè)務(wù)流程為例,其包括登錄、瀏覽商品、將商品添加到購物車和付款操作。對于與登錄操作對應(yīng)的用例來說,也即模擬用戶進行參數(shù)輸入和其他的操作步驟,并接收服務(wù)器返回的頁面輸出參數(shù),從而實現(xiàn)對登錄操作的回放。其他操作亦可以類似的方式進行回放。
然后,判斷接收到的應(yīng)用的頁面輸出參數(shù)與記錄的應(yīng)用的頁面輸出參數(shù)是否一致;若接收到的應(yīng)用的頁面輸出參數(shù)與記錄的應(yīng)用的頁面輸出參數(shù)一致,則判定該用例執(zhí)行成功,也即登錄成功,則表明對應(yīng)的功能點正常;若接收到的應(yīng)用的頁面輸出參數(shù)與記錄的應(yīng)用的頁面輸出參數(shù)不一致,則判定該用例執(zhí)行不成功,也即登錄失敗,則表明對應(yīng)的功能點不正常。
通過對業(yè)務(wù)流程中的每個用例進行自動化測試,可以得到業(yè)務(wù)流程中的每個用例執(zhí)行是否成功的測試結(jié)果。依據(jù)上述測試結(jié)果可以將執(zhí)行成功的用例對應(yīng)的功能點確定為正常功能點;將執(zhí)行不成功的用例對應(yīng) 的功能點確定為不正常功能點。在發(fā)現(xiàn)不正常功能點后可以及時進行報警,以便通知維修人員進行維修。
在一個實施例中,在模擬用戶對應(yīng)用進行訪問時的輸入?yún)?shù)是可調(diào)的。也就是說,通過調(diào)整輸入?yún)?shù),可以實現(xiàn)用例的復(fù)用,從而可以模擬出更加復(fù)雜的場景。對于部分用例,不必重復(fù)錄入,可以通過功能點腳本間的復(fù)制/粘貼快速形成。
另外,還可以將接收到的頁面輸出參數(shù)作為模擬用戶對另一應(yīng)用進行訪問時的輸入?yún)?shù)。例如,仍以購買商品為例,付款后,用戶可能會收到應(yīng)用返回的一個物流賬號,此時,用戶會登錄相關(guān)頁面進行物流信息的查詢。因此,通過將一個應(yīng)用的輸出參數(shù)作為另一個應(yīng)用的輸入?yún)?shù),可以實現(xiàn)跨應(yīng)用的業(yè)務(wù)流程的自動化測試。
本發(fā)明中的頁面克隆技術(shù)可以實現(xiàn)目標(biāo)系統(tǒng)的功能錄制,從而形成業(yè)務(wù)操作到腳本的自動轉(zhuǎn)化,也即將各功能點錄制形成用例。該技術(shù)采取可視化頁面配置方式,直接通過瀏覽器訪問系統(tǒng)即可錄制腳本,無需編程即可實現(xiàn)操作過程回放(如圖3所示)。
頁面克隆技術(shù)與HTTP協(xié)議解析的頁面抓取技術(shù)相比較,使用人員無需掌握編程技術(shù)和復(fù)雜的業(yè)務(wù)控制邏輯,只需掌握基本的錄制方法和繪制流程的技巧即可制作面向業(yè)務(wù)操作的測試用例。這一技術(shù)大大降低用例庫的構(gòu)建與維護難度,實施成本遠低于傳統(tǒng)專有接口開發(fā)方式。下表示出了兩種技術(shù)的對比。
此外,與傳統(tǒng)基于對象位置的屏幕精靈抓取技術(shù)相比,頁面克隆技術(shù)不受終端屏幕大小、分辨率和對象位置變化的影響。
為了更簡單地實現(xiàn)業(yè)務(wù)流程的編排,如上文所述,可以利用可視化技術(shù)將選取的功能點對應(yīng)的用例通過拖拽的方式繪制成與業(yè)務(wù)流程對應(yīng)的場景流程圖,并將所有的場景進行管理形成場景庫。圖4是采用可視化技術(shù)進行業(yè)務(wù)流程編排的示意圖。
在利用可視化技術(shù)進行業(yè)務(wù)流程的編排時,可以采用基于BPMN2.0標(biāo)準(zhǔn)的流程引擎,BPMN的主要目標(biāo)是提供被所有業(yè)務(wù)用戶理解的一套標(biāo)記語言,包括業(yè)務(wù)分析者、軟件開發(fā)者以及業(yè)務(wù)管理者與 監(jiān)察者。BPMN還支持生成可執(zhí)行的BPEL4WS語言。因此,BPMN在業(yè)務(wù)流程設(shè)計與流程實現(xiàn)之間搭建了一條標(biāo)準(zhǔn)化的橋梁。
業(yè)務(wù)流程引擎支持的實體可以包括:
子流程:業(yè)務(wù)流程引擎中支持對另一個業(yè)務(wù)流程的引用,這種被引用的業(yè)務(wù)流程叫做子流程;
活動:業(yè)務(wù)流程中的一個節(jié)點,頁面總線中對應(yīng)于一個功能點;
數(shù)據(jù):數(shù)據(jù)訪問接口,可以讀取數(shù)據(jù)庫中的相應(yīng)數(shù)據(jù);
接口:可以對WSDL(Web Services Description Language,頁面服務(wù)描述語言)接口進行訪問;
驗證:基于JS(JavaScript)表達式完成各種復(fù)雜驗證內(nèi)容。
流程引擎支持的主要業(yè)務(wù)場景包括但不限于順序執(zhí)行、分支執(zhí)行、子流程嵌套等,從而可以最大程度降低業(yè)務(wù)編排難度,提高快速響應(yīng)能力。
應(yīng)用上述可視化技術(shù)可以支撐對復(fù)雜業(yè)務(wù)流程、集成頁面的穿越測試能力,并提供多種系統(tǒng)的集成能力,從而可以調(diào)用不同系統(tǒng)測試用例及業(yè)務(wù)接口。
為了提高監(jiān)控效率,本發(fā)明還提出了一種分布式業(yè)務(wù)流程執(zhí)行的方案。在一個實施例中,可以根據(jù)測試計劃對不同的業(yè)務(wù)流程并發(fā)進行自動化測試,其中每個業(yè)務(wù)流程均通過多個服務(wù)器進行自動化測試。
并發(fā)進行自動化測試的基本思路是通過分布式業(yè)務(wù)流程執(zhí)行集群將大量執(zhí)行任務(wù)通過主控服務(wù)單元分散到多臺代理服務(wù)單元上,從而并行實現(xiàn)對頁面對象(被測應(yīng)用)的訪問,以實現(xiàn)業(yè)務(wù)流程的并發(fā)執(zhí)行,然后,將執(zhí)行結(jié)果匯總到主控服務(wù)單元。
如圖5所示,分布式業(yè)務(wù)流程執(zhí)行集群模塊由三部分組成:主控服務(wù)單元、消息隊列和代理服務(wù)單元,其中,主控服務(wù)單元獲取所有要執(zhí)行的業(yè)務(wù)流程任務(wù),將任務(wù)發(fā)布到消息隊列中,然后將任務(wù)按照指定的規(guī)則分配到合適的頁面總線代理服務(wù)單元上,由代理服務(wù)單元調(diào)用頁面總線引擎的服務(wù)完成被測應(yīng)用的訪問,然后將執(zhí)行結(jié)果上報給主控服務(wù)單元。
另外,在進行自動化測試時,由于在頁面操作回放時系統(tǒng)資源耗費比較嚴(yán)重,并且頁面彈出框、彈出窗口對于鼠標(biāo)事件的焦點處理有時也會發(fā)生沖突。為了提高引擎執(zhí)行效率,在一個實施例中,可以通過對瀏覽器進行擴展來屏蔽所有頁面彈出框和彈出窗口,將對頁面的訪問操作全部轉(zhuǎn)化為內(nèi)存中對WebBrowser(IE瀏覽器的內(nèi)存對象)的直接操作,而不需要再打開多個IE瀏覽器。并且,鼠標(biāo)和鍵盤事件的回放也可以采用模擬操作的方式運行,大大降低了系統(tǒng)資源的耗費,而且解決了多業(yè)務(wù)流程執(zhí)行時的鼠標(biāo)焦點沖突。
本說明書中各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似的部分相互參見即可。對于系統(tǒng)實施例而言,由于其與方法實施例基本對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
圖6是本發(fā)明業(yè)務(wù)流程的自動監(jiān)測系統(tǒng)一個實施例的框圖。如圖6所示,該系統(tǒng)包括用例錄制單元601、業(yè)務(wù)編排單元602、測試單元603和監(jiān)測單元604,下面分別對這幾個單元的功能進行說明。
用例錄制單元601可以用于通過頁面克隆技術(shù)將各系統(tǒng)不同的功能點進行錄制以分別形成用例。
業(yè)務(wù)編排單元602可以用于選取一些功能點對應(yīng)的用例進行業(yè)務(wù)編排以形成不同的業(yè)務(wù)流程。具體地,業(yè)務(wù)編排單元602可以利用可視化技術(shù)將選取的功能點對應(yīng)的用例通過拖拽的方式繪制成與業(yè)務(wù)流程對應(yīng)的場景流程圖。
測試單元603可以用于根據(jù)測試計劃對業(yè)務(wù)流程進行自動化測試,從而得到測試結(jié)果。在一個實施例中,為了提高監(jiān)測效率,測試單元603可以根據(jù)測試計劃對不同的業(yè)務(wù)流程并發(fā)進行自動化測試,其中每個業(yè)務(wù)流程均通過多個服務(wù)器進行自動化測試。
監(jiān)測單元604可以用于根據(jù)測試結(jié)果監(jiān)測業(yè)務(wù)流程中的各功能點是否正常。
本實施例通過頁面克隆技術(shù)將功能點進行錄制從而形成用例,通過對不同用例組成的業(yè)務(wù)流程進行自動化測試可以監(jiān)測到業(yè)務(wù)流程中的各 功能點是否正常,從而可以及時對不正常功能點進行維修,以便在惡化之前解決問題,提升用戶感知,降低用戶的投訴。
圖7是本發(fā)明業(yè)務(wù)流程的自動監(jiān)測系統(tǒng)另一個實施例的框圖。如圖7所示,該實施例中的用例錄制單元601可以包括記錄模塊611和組合模塊621,測試單元603可以包括模擬模塊613和判斷模塊623,其中:
記錄模塊611可以用于記錄用戶訪問應(yīng)用的頁面對象、輸入?yún)?shù)和操作步驟,并抓取應(yīng)用的頁面輸出參數(shù)。
組合模塊621可以用于將一組頁面對象、輸入?yún)?shù)、操作步驟和對應(yīng)抓取的頁面輸出參數(shù)組合以形成用例。
模擬模塊613可以用于根據(jù)業(yè)務(wù)流程包含的每個用例,模擬用戶對應(yīng)用進行訪問并接收應(yīng)用的頁面輸出參數(shù)。在一個實施例中,在模擬用戶對所述應(yīng)用進行訪問時的輸入?yún)?shù)是可調(diào)的。在一個實施例中,模擬模塊613還可以用于將接收到的頁面輸出參數(shù)作為模擬用戶對另一應(yīng)用進行訪問時的輸入?yún)?shù)。
判斷模塊623可以用于判斷接收到的應(yīng)用的頁面輸出參數(shù)與記錄的應(yīng)用的頁面輸出參數(shù)是否一致;若接收到的應(yīng)用的頁面輸出參數(shù)與記錄的應(yīng)用的頁面輸出參數(shù)一致,則判定該用例執(zhí)行成功;若接收到的應(yīng)用的頁面輸出參數(shù)與記錄的應(yīng)用的頁面輸出參數(shù)不一致,則判定該用例執(zhí)行不成功。
相應(yīng)地,該實施例中的監(jiān)測單元604可以將執(zhí)行成功的用例對應(yīng)的功能點確定為正常功能點;將執(zhí)行不成功的用例對應(yīng)的功能點確定為不正常功能點。
圖8是本發(fā)明業(yè)務(wù)流程的自動監(jiān)測系統(tǒng)又一個實施例的框圖。如圖8所示,該實施例還可以包括變更單元801,用于在頁面對象發(fā)生變動時,通過增加斷點的方式對頁面對象進行變更。
本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可 以存儲程序代碼的介質(zhì)。
本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無遺漏的或者將本發(fā)明限于所公開的形式。很多修改和變化對于本領(lǐng)域的普通技術(shù)人員而言是顯然的。選擇和描述實施例是為了更好說明本發(fā)明的原理和實際應(yīng)用,并且使本領(lǐng)域的普通技術(shù)人員能夠理解本發(fā)明從而設(shè)計適于特定用途的帶有各種修改的各種實施例。