專利名稱:資料同步系統(tǒng)的驗證與測試方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種驗證與測試方法及裝置,尤指一種適用于資料同步系統(tǒng)中的驗證與測試方法及裝置,其適用范圍包括應(yīng)用于同步處理標(biāo)記語言(synchronization markup language,SyncML)系統(tǒng)中。
背景技術(shù):
按,同步處理標(biāo)記語言(SyncML)為一公開且通用的標(biāo)準(zhǔn)資料同步協(xié)定(synchronization protocol),目前已廣泛為世界各大廠商的資訊產(chǎn)品所支援。由此資料同步協(xié)定,嵌入式系統(tǒng)中的資訊將可通過各種有線或無線的網(wǎng)路協(xié)定,例如起文字傳輸協(xié)定(hypertext transmission protocol,HTTP)、無線會議協(xié)定(wireless session protocol,WSP)、以及物件交換(objectexchange,OBEX)協(xié)定等,用以與其他資訊系統(tǒng)間達成資料同步。
SyncML協(xié)定以可擴展標(biāo)記語言(extensible markup language,XML)為基礎(chǔ),即客戶端(client)與伺服端(server)間所進行的資料交換皆以XML格式來表示。但由于在處理XML檔案時、儲存器用量較大,故SyncML亦支援XML的二進位模式(WAP binary XML,WBXML),以通過些二進位模式來做訊息的接收或傳送,進而節(jié)省儲存器用量。一般來說,SyncML包括有SyncML表達協(xié)定(representation protocol)用以包裝預(yù)備同步的資料、及SyncML協(xié)定用以進行實地傳輸時的管理。
請參閱圖1一般標(biāo)準(zhǔn)SyncML系統(tǒng)的實施環(huán)境示意圖,客戶端1(例如為個人數(shù)位助理(personal digital assistant,PDA))及伺服端2(例如為個人電腦)分別具有一應(yīng)用程序11,12用以管理其所屬的資料庫12,22,并可依使用者需求來各自修改資料內(nèi)容。當(dāng)使用者欲進行同步作業(yè)時,將先分別啟動客戶端1和伺服端2的SyncML模組13,23,再通過有線或無線網(wǎng)路平臺進行同步,以將更新的資料寫入各自資料庫12,22中。而當(dāng)同步完成后,客戶端1和伺服端2理應(yīng)具有完全一致的資料內(nèi)容。其中,伺服端2的同步引擎24負責(zé)處理資料對應(yīng)(data mapping)和資料沖突(data confliction)的問題;而客戶端同步設(shè)定資訊(client syncconfiguration)14則定義有系統(tǒng)設(shè)定或暫存的資訊。于SyncML的規(guī)格設(shè)定中,建議使用例如HTTP、WSP、及OBEX等通訊協(xié)定,通訊媒介(communication media)則可視使用者外在環(huán)境限制、或硬件等因素而選擇通過紅外線、網(wǎng)際網(wǎng)路、或傳輸線來執(zhí)行同步作業(yè)。
然而,由于客戶端1與伺服端2為兩臺獨立的裝置,因此公知在完成同步程序后,需耗費相當(dāng)多資源來驗證整套系統(tǒng)是否可行。亦即必須分別在客戶端1及伺服端2作設(shè)定、并執(zhí)行不同的測試程序。如此一來,將對開發(fā)手機、PDA等裝置的業(yè)者造成極大的不便,因為SyncML模組的開發(fā)廠商,在開發(fā)過程中一定需要經(jīng)過大量的測試階段,而測試工作通常曠日廢時、消耗人力,尤其手機或PDA硬件環(huán)境的限制,更增加了測試的困難度。因測試業(yè)者除了執(zhí)行客戶端的驗證及測試程序外、還需額外針對各種不同的伺服器執(zhí)行其對應(yīng)的驗證及測試程序。由此可知,顯示公知的資料同步驗證與測試機制仍存在有諸多缺失而有予以改進的必要。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種資料同步系統(tǒng)的驗證與測試方法及裝置,安裝于客戶端,并利用SyncML本身固有的特性,以由SyncML設(shè)定值和資料庫間的配置,進而達成自動測試系統(tǒng)、并輸出完整測試報告的功能。
本發(fā)明的另一目的在于提供一種資料同步系統(tǒng)的驗證與測試方法及裝置,僅需于客戶端外掛一測試工具,即可同時驗證客戶端及伺服端的系統(tǒng)正確性,能大幅降低測試作業(yè)的復(fù)雜度與困難度;且外掛的測試工具完全利用固有SyncML系統(tǒng)的特性及功能,因此可適用于各種SyncML系統(tǒng)中,具有極高適用性。
本發(fā)明的再一目的在于提供一種資料同步系統(tǒng)的驗證與測試方法及裝置,可依測試人員的需求而設(shè)定不同的測試腳本(scenario)來驗證及測試客戶端與伺服端,兼具使用彈性與實用性。
為實現(xiàn)上述目的,依據(jù)本發(fā)明的一特色所提出的資料同步系統(tǒng)的驗證與測試方法,用以驗證與測試一客戶端及一伺服端間同步結(jié)果,該方法于該客戶端執(zhí)行下列步驟(A)匯入一測試腳本,該測試腳本具有至少一測試個案其分別定義有欲與該伺服端進行資料同步作業(yè)的資訊;(B)根據(jù)其中一測試個案,以于該客戶端中設(shè)定一客戶端同步設(shè)定資訊;(C)根據(jù)該測試個案,以自動產(chǎn)生測試資料,并將該測試資料儲存于一客戶端資料庫中;(D)啟動該客戶端的資料同步模組;(E)該資料同步模組讀取該客戶端同步設(shè)定資訊及該客戶端資料庫中的測試資料,以與該伺服端執(zhí)行一資料同步作業(yè),并將完成該測試個案資料同步作業(yè)后所產(chǎn)生的同步結(jié)果記錄于該客戶端資料庫中;(F)驗證儲存于該客戶端資料庫中同步結(jié)果的正確性;(G)判斷是否仍有尚未執(zhí)行資料同步作業(yè)的測試個案,若是則執(zhí)行步驟(B),否則繼續(xù)執(zhí)行步驟(H);以及(H)匯整所有測試個案同步結(jié)果并加以輸出。
所述的方法,其中該測試腳本為一可擴展標(biāo)記語言(XML)格式的檔案。
所述的方法,其中該客戶端與及該伺服端使用同步處理標(biāo)記語言(SyncML)協(xié)定。
所述的方法,其中該客戶端定義有一客戶端錨值,且該伺服端定義有一伺服端錨值,該客戶端錨值及該伺服端錨值記錄該客戶端與該伺服端上次同步成功時間,且當(dāng)該客戶端錨值與該伺服端錨值相同時,該客戶端與該伺服端僅需交換于上次同步成功時間之后產(chǎn)生異動的資料,反之,該客戶端與該伺服端交換全部資料。
所述的方法,其中于步驟(E)之前,該客戶端先根據(jù)下列步驟以設(shè)定該伺服端(11)于該客戶端中設(shè)定一與該伺服端錨值相異的客戶端錨值;(12)根據(jù)相異的客戶端錨值及伺服端錨值,以將該客戶端及該伺服端中的全部資料皆復(fù)制至對方的資料庫中,且該伺服端錨值自動變更為與該客戶端錨值相同;(13)刪除該客戶端資料庫中的全部資料、并儲存被刪除資料的清單;(14)根據(jù)相同的客戶端錨值及伺服端錨值,以依照該客戶端的異動結(jié)果而刪除該伺服端資料庫的全部資料;(15)將該客戶端錨值設(shè)定為相異于該伺服端錨值,并于該客戶端資料庫中存入一伺服端測試資料;(16)根據(jù)相異的客戶端錨值及伺服端錨值,以將該客戶端資料庫中的伺服端測試資料復(fù)制至該伺服端資料庫中,且該伺服端錨值自動變更為與該客戶端錨值相同;以及(17)將該客戶端錨值設(shè)定為相異于該伺服端錨值,并于該客戶端資料庫中存入一客戶端測試資料,完成該客戶端及該伺服端中的設(shè)定值。
所述的方法,其中步驟(F)包括下列步驟以驗證該伺服端中同步結(jié)果的正確性(F1)于該客戶端中設(shè)定一與該伺服端錨值相異的客戶端錨值;(F2)根據(jù)相異的客戶端錨值及伺服端錨值,以將該客戶端及該伺服端中的全部資料皆復(fù)制至對方的資料庫中,且該伺服端錨值自動變更為與該客戶端錨值相同;(F3)刪除該客戶端資料庫中的全部資料;(F4)將該客戶端錨值設(shè)定為相異于該伺服端錨值;(F5)根據(jù)相異的客戶端錨值及伺服端錨值,以將該伺服端資料庫中的資料完整復(fù)制到該客戶端資料庫中;以及(F6)驗證該客戶端資料庫中的資料的正確性。
依據(jù)本發(fā)明的另一特色,提出一種資料同步系統(tǒng)的驗證與測試裝置,安裝于一客戶端中,用以驗證該客戶端及一伺服端間的同步結(jié)果,該裝置包括一使用者介面,提供一操作介面;一測試腳本控制模組,用以控制該客戶端及該伺服端的資料同步作業(yè),并以回圈方式控制一測試腳本所包含的至少一測試個案的執(zhí)行過程,再輸出完成該測試個案的資料同步作業(yè)后所產(chǎn)生的同步結(jié)果報告,其中,每一測試個案分別定義有欲與該伺服端進行資料同步作業(yè)的資訊;一測試個案控制模組,根據(jù)每一測試個案據(jù)以執(zhí)行;以及一轉(zhuǎn)接介面,用以銜接該裝置及該客戶端中的設(shè)定,以通過該裝置來控制該客戶端作動。
所述的裝置,其中該使用者介面為一圖形化使用者介面(GUI)。
所述的裝置,其中該轉(zhuǎn)接介面包括有一資料轉(zhuǎn)接單元,用以存取該客戶端的資料庫。
所述的裝置,其特征在于,其中該轉(zhuǎn)接介面包括有一同步設(shè)定單元,用以于該客戶端中設(shè)定一客戶端同步設(shè)定資訊。
所述的裝置,其中該轉(zhuǎn)接介面包括有一同步啟動單元,用以啟動該客戶端以執(zhí)行一同步作業(yè)。
圖1為公知SyncML系統(tǒng)的實施環(huán)境示意圖。
圖2為本發(fā)明一較佳實施例的SyncML系統(tǒng)的實施環(huán)境示意圖。
圖3為本發(fā)明一較佳實施例的作動流程圖。
圖4為本發(fā)明一較佳實施例的測試腳本的示意圖。
圖5為本發(fā)明一較佳實施例設(shè)定伺服端資料庫的流程圖。
圖6為本發(fā)明一較佳實施例驗證伺服女端資科庫的流程圖。
圖7為本發(fā)明一較佳實施例SyncML驗證及測試裝置的功能方塊圖。
具體實施例方式
為能更了解本發(fā)明的技術(shù)內(nèi)容,特舉一較佳具體實施例說明如下。
本實施例資料同步系統(tǒng)的驗證與測試方法及裝置,是應(yīng)用同步處理標(biāo)記語言(SyncML)來達成客戶端與伺服端間的資料同步作業(yè),其中,客戶端例如為行動電話、個人數(shù)位助理(personal digital assistant,PDA)等資訊裝置,伺服端則可以是個人電腦等裝置。請先參閱圖2SyncML系統(tǒng)的實施環(huán)境示意圖,顯示本實施例的系統(tǒng)架構(gòu)大致與公知的SyncML系統(tǒng)相同,只是本實施例的客戶端3是安裝有一外掛的SyncML驗證及測試裝置35,其遵循SyncML的規(guī)格,并由設(shè)定客戶端資料庫32及客戶端同步設(shè)定資訊(Sync configuration)34的設(shè)定值,以達成通過客戶端3的客戶端SyncML模組33來驗證整個SyncML系統(tǒng)的功能,協(xié)助SyncML開發(fā)廠商進行測試及除錯工作,而毋須再對伺服端4額外進行檢測及除錯。
為能更明確說明本實施例的運作方式,請一并參閱圖3的作動流程圖。本實施例是使用腳本式的測試方法,亦即每次測試皆以一測試腳本(scenario)為單位,以實現(xiàn)全面性的驗證過程,因此,首先,SyncML驗證及測試裝置35將讀取一由測試人員所匯入的測試腳本(步驟S301),其為一可擴展標(biāo)記語言(extensible markup language,XML)格式的檔案,其中包含至少一測試個案(testing case),且每一測試個案皆分別定義有欲與伺服端4進行資料同步作業(yè)的作業(yè)。如圖4所示,測試腳本一的同步指令測試(sync command Tesl)包括有三個測試個案、測試腳本二的規(guī)模檢測(scalability benchmark)則包括有四個測試個案,當(dāng)然測試人員亦可依實際需求而定義不同測試腳本。
接著,將逐一根據(jù)測試個案的定義,以設(shè)定客戶端SyncML模組33所需使用的相關(guān)客戶端同步設(shè)定資訊34(步驟S302),例如設(shè)定客戶端錨值(client anchor)、及設(shè)定伺服端4連線資訊等;再根據(jù)測試個案以自動產(chǎn)生測試資料,并填入客戶端資料庫32中(步驟S303);待完成上述前置作業(yè)后,即可啟動客戶端SyncML模組33(步驟S304)。
其中,需注意的是,本實施例是使用SyncML所規(guī)范的錨值(anchor)功能來達成設(shè)定及驗證伺服端4的功能??蛻舳?及伺服端4中皆分別儲存有一客戶端錨值、及一伺服端錨值(server anchor),其分別記錄客戶端3和伺服端上一次同步成功的時間。而根據(jù)SyncML的規(guī)格定義,于每次啟動同步流程時,客戶端3及伺服端4將先檢查彼此的錨值,以當(dāng)兩者的錨值相同時,顯示兩者曾執(zhí)行過同步作業(yè),且具有正確的同步記錄,故本次僅需相互更新在上次同步成功時間之后產(chǎn)生異動的資料即可(two-way sync);反之,若兩者錨值不同,代表同步的記錄有誤,因此必須交換客戶端3和伺服端4中全部的資料(slow sync)。
請再參考圖3的流程圖,此時,客戶端SyncML模組33即可依照標(biāo)準(zhǔn)程序來讀取客戶端同步設(shè)定資訊34、及客戶端資料庫32中的測試資料內(nèi)容,據(jù)以執(zhí)行標(biāo)準(zhǔn)SyncML同步作業(yè),并將同步結(jié)果記錄在客戶端資料庫32中(步驟S305)。之后,SyncML驗證及測試裝置35將查核客戶端資料庫32中的結(jié)果值,以驗證此測試個案的同步作業(yè)的正確性(步驟S306)。由于每一測試腳本包括有多個測試個案,因此若還有未完成的測試個案(步驟S307),則SyncML驗證及測試裝置35續(xù)將執(zhí)行步驟S302至步驟S306,直到此測試腳本中的測試個案皆已完成資料同步作業(yè)為止。最后,即可匯整此測試腳本中每一測試個案的結(jié)果,并加以輸出(步驟S308)。
由于SyncML驗證及測試裝置35是安裝于客戶端3,故無法直接存取伺服端資料庫42,但為了設(shè)定及驗證伺服端資料庫42內(nèi)容,本實施例是利用SyncML本身的特性以達成上述目的。請參閱圖5,于部分測試個案中,測試人員希望在伺服端4放入指定的資料、再于客戶端3放入另一組資料后,才開始執(zhí)行同步作業(yè),以觀察同步系統(tǒng)如何處理這兩組資料,因此,針對這類型測試個案,SyncML驗證及測試裝置35將于執(zhí)行步驟S305前,先行根據(jù)圖5的流程來設(shè)定伺服端資料庫42。首先,無論目前客戶端資料庫32的狀態(tài)為何,將先于客戶端3中設(shè)定一與伺服端錨值相異的客戶端錨值A(chǔ)1(步驟S501)。由于伺服端錨值不等于客戶端錨值,故客戶端SyncML模組33將啟動Slow Sync程序,以將客戶端資料庫32中的全部資料321、及伺服端資料庫42中的全部資料421皆復(fù)制到對方資料庫中(步驟S502),且在完成復(fù)制程序后,伺服端錨值與客戶端錨值相同,此時,客戶端資料庫32與伺服端資料庫42中儲存有相同的資料(包括資料321及421)。接著,客戶端3在維持客戶端錨值不變的條件下,將刪除客戶端資料庫32中所有的資料321,421(步驟S503),同時儲存上述被刪除資料的清單。由于客戶端錨值不變,因此客戶端SyncML模組33啟動Two Way Sync程序,僅需更新在上次同步成功時間后產(chǎn)生異動的資料,換言之,伺服端資料庫42將對照客戶端資料庫32的異動結(jié)果以刪除其中的全部資料(步驟S504),此時,客戶端資料庫32及伺服端資料庫42皆已被清空而無儲存任何資料。由此可知,步驟S501至步驟S504的主要目的是在于清空伺服端資料庫42,以供后續(xù)步驟來填入欲儲存于伺服端資料庫42中的資料。
再來,SyncML驗證及測試裝置35將把客戶端錨值設(shè)定為A2,以使其相異于伺服端錨值,并根據(jù)測試個案以在客戶端資料庫32中存入一伺服端測試資料S1(server testing data)(步驟S505)。接著即啟動Slow Sync程序以將伺服端測試資料S1傳送到伺服端資料庫42中(步驟506)。最后,客戶端資料庫32先將客戶端錨值設(shè)定為A3,并將客戶端測試資料C1(client testing data)存入客戶端資料庫32(步驟S507)。待步驟S507執(zhí)行完成后,測試資料即已經(jīng)分別儲存在所屬資料庫,便可據(jù)以執(zhí)行圖3的步驟S305所要求各測試個案的同步作業(yè)。
而當(dāng)每一個測試個案同步完成后,就必須要根據(jù)步驟S306來檢查客戶端資料庫32及伺服端資料庫42的內(nèi)容是否正確。由于客戶端3本身可直接存取客戶端資料庫32中的資料來驗證其結(jié)果,故其驗證方式不在此贅述;但伺服端資料庫42則需根據(jù)如圖6所示的流程加以驗證。一開始先在客戶端3中設(shè)定與伺服端錨值相異的客戶端錨值A(chǔ)4(步驟S601);續(xù)啟動Slow Sync程序以交換客戶端資料庫32及伺服端資料庫42中的全部資料(步驟S602),且伺服端錨值將自動變更為與客戶端錨值相同;接著將刪除客戶端資料庫32中的客戶端同步結(jié)果C2(步驟S603);此時,再改變客戶端錨值的設(shè)定為A5(步驟S604),促使客戶端資料庫32和伺服端資料庫42進行SloW Sync程序(步驟S605),以將伺服端資料庫42中的伺服端同步結(jié)果S2傳送到客戶端資料庫32中。最后,SyncML驗證及測試裝置35即可驗證客戶端資料庫32所儲存的伺服端同步結(jié)果S2是否正確(步驟S606)。
請參閱圖7,為本實施例SyncML驗證及測試裝置35的功能方塊圖,顯示其主要包括一圖形化使用者介面(graphic user interface,GUI)51、一測試腳本控制模組52、一測試個案控制模組53、及一轉(zhuǎn)接介面(adaptor)54。本實施例的圖形化使用者介面51較佳是適用于個人數(shù)位助理,以供使用者進行操作;測試腳本控制模組52則用以控制整個流程,以由測試腳本讀取單元521來讀入測試腳本,并以回圈方式執(zhí)行每一個測試個案,最后通過報告產(chǎn)生單元522來輸出完整測試報告,同時儲存記錄檔(log)523;測試個案控制模組53執(zhí)行每個測試個案,并使用資料庫產(chǎn)生單元531、同步設(shè)定單元532、同步執(zhí)行單元533、及驗證單元來逐一執(zhí)行圖3的步驟S302至S306;轉(zhuǎn)接介面54則用以銜接SyncML驗證及測試裝置35及客戶端3,以達成直接操作客戶端3的目的,其可依功能而區(qū)分為用以存取客戶端資料庫32的資料轉(zhuǎn)接單元541、用以設(shè)定客戶端同步設(shè)定資訊34的同步設(shè)定單元542、以及用以啟動客戶端SyncML模組33來執(zhí)行SyncML流程的同步啟動單元543,且轉(zhuǎn)接介面54可視客戶端的軟硬件特性而加以彈性調(diào)整為適用于各種不同的客戶端,具有極佳的可適性及高度移植性。
由以上說明可知,本發(fā)明是利用系統(tǒng)固有的特性,在不影響原系統(tǒng)設(shè)定的前提下來控制及驅(qū)動同步系統(tǒng),以執(zhí)行系統(tǒng)測試流程。本發(fā)明將測試資料(sample data)填入客戶端資料庫中,以設(shè)定參數(shù),并啟動同步系統(tǒng);待完成同步程序后,再檢驗客戶資料庫中的結(jié)果值,據(jù)以判斷執(zhí)行結(jié)果的正確性。此外,本發(fā)明可產(chǎn)生各種測試個案(testing cases)來測試系統(tǒng)容錯能力,并能產(chǎn)生大量資料來進行壓力測試,以考驗系統(tǒng)的穩(wěn)定性,實為一大進步。
上述實施例僅是為了方便說明而舉例而已,本發(fā)明所主張的權(quán)利范圍自應(yīng)以申請專利范圍所述為準(zhǔn),而非僅限于上述實施例。
權(quán)利要求
1.一種資料同步系統(tǒng)驗證與測試方法,用以驗證與測試一客戶端及一伺服端間同步結(jié)果,該方法于該客戶端執(zhí)行下列步驟(A)匯入一測試腳本,該測試腳本具有至少一測試個案其分別定義有欲與該伺服端進行資料同步作業(yè)的資訊;(B)根據(jù)其中一測試個案,以于該客戶端中設(shè)定一客戶端同步設(shè)定資訊;(C)根據(jù)該測試個案,以自動產(chǎn)生測試資料,并將該測試資料儲存于一客戶端資料庫中;(D)啟動該客戶端的資料同步模組;(E)該資料同步模組讀取該客戶端同步設(shè)定資訊及該客戶端資料庫中的測試資料,以與該伺服端執(zhí)行一資料同步作業(yè),并將完成該測試個案資料同步作業(yè)后所產(chǎn)生的同步結(jié)果記錄于該客戶端資料庫中;(F)驗證儲存于該客戶端資料庫中同步結(jié)果的正確性;(G)判斷是否仍有尚未執(zhí)行資料同步作業(yè)的測試個案,若是則執(zhí)行步驟(B),否則繼續(xù)執(zhí)行步驟(H);以及(H)匯整所有測試個案同步結(jié)果并加以輸出。
2.如權(quán)利要求1所述的方法,其特征在于,其中該測試腳本為一可擴展標(biāo)記語言(XML)格式的檔案。
3.如權(quán)利要求1所述的方法,其特征在于,其中該客戶端與及該伺服端使用同步處理標(biāo)記語言(SyncML)協(xié)定。
4.如權(quán)利要求3所述的方法,其特征在于,其中該客戶端定義有一客戶端錨值,且該伺服端定義有一伺服端錨值,該客戶端錨值及該伺服端錨值記錄該客戶端與該伺服端上次同步成功時間,且當(dāng)該客戶端錨值與該伺服端錨值相同時,該客戶端與該伺服端僅需交換于上次同步成功時間之后產(chǎn)生異動的資料,反之,該客戶端與該伺服端交換全部資料。
5.如權(quán)利要求4所述的方法,其特征在于,其中于步驟(E)之前,該客戶端先根據(jù)下列步驟以設(shè)定該伺服端(11)于該客戶端中設(shè)定一與該伺服端錨值相異的客戶端錨值;(12)根據(jù)相異的客戶端錨值及伺服端錨值,以將該客戶端及該伺服端中的全部資料皆復(fù)制至對方的資料庫中,且該伺服端錨值自動變更為與該客戶端錨值相同;(13)刪除該客戶端資料庫中的全部資料、并儲存被刪除資料的清單;(14)根據(jù)相同的客戶端錨值及伺服端錨值,以依照該客戶端的異動結(jié)果而刪除該伺服端資料庫的全部資料;(15)將該客戶端錨值設(shè)定為相異于該伺服端錨值,并于該客戶端資料庫中存入一伺服端測試資料;(16)根據(jù)相異的客戶端錨值及伺服端錨值,以將該客戶端資料庫中的伺服端測試資料復(fù)制至該伺服端資料庫中,且該伺服端錨值自動變更為與該客戶端錨值相同;以及(17)將該客戶端錨值設(shè)定為相異于該伺服端錨值,并于該客戶端資料庫中存入一客戶端測試資料,完成該客戶端及該伺服端中的設(shè)定值。
6.如權(quán)利要求4所述的方法,其特征在于,其中步驟(F)包括下列步驟以驗證該伺服端中同步結(jié)果的正確性(F1)于該客戶端中設(shè)定一與該伺服端錨值相異的客戶端錨值;(F2)根據(jù)相異的客戶端錨值及伺服端錨值,以將該客戶端及該伺服端中的全部資料皆復(fù)制至對方的資料庫中,且該伺服端錨值自動變更為與該客戶端錨值相同;(F3)刪除該客戶端資料庫中的全部資料;(F4)將該客戶端錨值設(shè)定為相異于該伺服端錨值;(F5)根據(jù)相異的客戶端錨值及伺服端錨值,以將該伺服端資料庫中的資料完整復(fù)制到該客戶端資料庫中;以及(F6)驗證該客戶端資料庫中的資料的正確性。
7.一種資料同步系統(tǒng)的驗證與測試裝置,安裝于一客戶端中,用以驗證該客戶端及一伺服端間的同步結(jié)果,該裝置包括一使用者介面,提供一操作介面;一測試腳本控制模組,用以控制該客戶端及該伺服端的資料同步作業(yè),并以回圈方式控制一測試腳本所包含的至少一測試個案的執(zhí)行過程,再輸出完成該測試個案的資料同步作業(yè)后所產(chǎn)生的同步結(jié)果報告,其中,每一測試個案分別定義有欲與該伺服端進行資料同步作業(yè)的資訊;一測試個案控制模組,根據(jù)每一測試個案據(jù)以執(zhí)行;以及一轉(zhuǎn)接介面,用以銜接該裝置及該客戶端中的設(shè)定,以通過該裝置來控制該客戶端作動。
8.如權(quán)利要求7所述的裝置,其特征在于,其中該使用者介面為一圖形化使用者介面(GUI)。
9.如權(quán)利要求7所述的裝置,其特征在于,其中該轉(zhuǎn)接介面包括有一資料轉(zhuǎn)接單元,用以存取該客戶端的資料庫。
10.如權(quán)利要求7所述的裝置,其特征在于,其中該轉(zhuǎn)接介面包括有一同步設(shè)定單元,用以于該客戶端中設(shè)定一客戶端同步設(shè)定資訊。
11.如權(quán)利要求7所述的裝置,其特征在于,其中該轉(zhuǎn)接介面包括有一同步啟動單元,用以啟動該客戶端以執(zhí)行一同步作業(yè)。
全文摘要
本發(fā)明是有關(guān)于一種應(yīng)用于SyncML系統(tǒng)資料同步系統(tǒng)的驗證與測試方法及裝置,其為一安裝于客戶端的外掛裝置,并采用腳本式測試方法以檢測伺服端中同步結(jié)果的正確性。本發(fā)明首先根據(jù)測試腳本的測試個案所定義的內(nèi)容自動產(chǎn)生測試資料;接著利用同步系統(tǒng)本身的傳輸機制部署測試資料于客戶端與伺服端資料庫中;依照測試個案設(shè)定客戶端同步設(shè)定資訊;之后啟動同步程序執(zhí)行客戶端與伺服端的資料同步作業(yè);再來需分別驗證客戶端資料庫中同步結(jié)果的正確性,并可根據(jù)SyncMI規(guī)格的特性以擷取伺服端資料庫中同步結(jié)果并加以驗證;最后匯整輸出測試報告。
文檔編號H04L7/00GK1630229SQ20031012333
公開日2005年6月22日 申請日期2003年12月17日 優(yōu)先權(quán)日2003年12月17日
發(fā)明者孫文駿 申請人:財團法人資訊工業(yè)策進會