專利名稱:一種嵌入式應(yīng)用軟件測試的過程監(jiān)控方法
技術(shù)領(lǐng)域:
本發(fā)明屬于嵌入式設(shè)備的應(yīng)用軟件測試領(lǐng)域,特別涉及移動(dòng)數(shù)字終端的應(yīng)用層自動(dòng)測試。
背景技術(shù):
當(dāng)前移動(dòng)數(shù)字終端(如手機(jī)、PDA等)已逐漸發(fā)展為由嵌入式操作系統(tǒng)支持的智能化移動(dòng)平臺,運(yùn)行于其上的應(yīng)用軟件越來越豐富,也越來越復(fù)雜。使用手工測試已經(jīng)不能滿足嵌入式應(yīng)用軟件測試的需要,因而提出了自動(dòng)化測試的要求。
對軟件功能的測試通常以黑盒測試為基礎(chǔ),黑盒測試的原理是將被測系統(tǒng)看成一個(gè)黑盒,其內(nèi)部結(jié)構(gòu)對測試者來說是未知的,測試者通過黑盒與外界的接口界面向被測黑盒發(fā)送激勵(lì)信號,并接收被測黑盒發(fā)出的響應(yīng)信號,通過對這些響應(yīng)信號進(jìn)行分析,來判斷黑盒的工作情況。
如圖1所示,在對移動(dòng)數(shù)字終端的應(yīng)用軟件采用黑盒測試時(shí),腳本程序?qū)Ρ粶y系統(tǒng)發(fā)送激勵(lì)信號,并接收被測系統(tǒng)發(fā)回的響應(yīng)信號,通過對接收到的響應(yīng)信號進(jìn)行處理和分析,檢測被測系統(tǒng)是否存在缺陷。
目前,作為世界上最具代表性的嵌入式軟件測試工具之一——美國TestQuest公司的TestQuest Pro,通過腳本解釋器執(zhí)行測試人員編寫好的測試腳本程序,借助于計(jì)算機(jī)與移動(dòng)數(shù)字終端之間的接口,完成移動(dòng)數(shù)字終端上應(yīng)用軟件的自動(dòng)化測試。在這一過程中,運(yùn)行于一臺計(jì)算機(jī)上的腳本解釋器首先讀取腳本程序獲得測試指令和測試用例,然后,通過計(jì)算機(jī)與移動(dòng)數(shù)字終端的接口單元將激勵(lì)信號發(fā)送到移動(dòng)數(shù)字終端,移動(dòng)數(shù)字終端接收到這些信號后,依照移動(dòng)數(shù)字終端中的程序?qū)@些信號作出響應(yīng),并將處理結(jié)果通過計(jì)算機(jī)與移動(dòng)數(shù)字終端的接口單元返回給腳本解釋器,腳本解釋器將發(fā)送至移動(dòng)數(shù)字終端的信號、移動(dòng)數(shù)字終端返回的結(jié)果及其他數(shù)據(jù)記錄到存儲設(shè)備中的日志文件。但TestQuest Pro缺乏專門的測試過程監(jiān)控工具,它主要通過腳本和日志實(shí)現(xiàn)對測試過程的控制。這樣,對于測試結(jié)果的分析就必須由人來完成,因而無法很好地支持性能測試,也難以真正實(shí)現(xiàn)無人監(jiān)控的測試。另一方面,當(dāng)測試過程中遇到問題,需要對測試進(jìn)行調(diào)整時(shí),往往需要修改測試腳本,而腳本程序本身又是需要測試的程序,當(dāng)測試過程復(fù)雜時(shí),通過這種方法很難進(jìn)一步提高測試效率。
為了解決過程監(jiān)控自動(dòng)化的問題,Wayne Liu和Paul Dasiewicz 1997年在其論文《The Event-Flow Technique for Selecting Test Cses forObject-Oriented Programs》中提出了基于事件流的測試用例選擇技術(shù),他們通過對測試規(guī)范進(jìn)行建模,用測試腳本執(zhí)行過程中發(fā)生的事件來自動(dòng)選擇可能的測試用例,從而自動(dòng)生成了功能上對測試者有意義的測試用例。依賴測試規(guī)范使得測試缺乏必要的靈活性,因此其方法對于測試規(guī)范已經(jīng)明確定義的驗(yàn)收測試比較有效,但不適合進(jìn)行開發(fā)過程的測試。在這里事件是指測試過程中發(fā)生的某些特定的現(xiàn)象,具體說就是一定的數(shù)據(jù)結(jié)構(gòu)和對應(yīng)數(shù)據(jù)結(jié)構(gòu)中數(shù)據(jù)的取值范圍。
到目前為止,世界上還沒有一種嵌入式軟件自動(dòng)測試工具和方法能夠在測試過程中,依照測試人員的需要對相應(yīng)事件進(jìn)行捕獲,并根據(jù)這些事件,自動(dòng)執(zhí)行預(yù)定義的動(dòng)作,調(diào)用合適的測試用例。
發(fā)明內(nèi)容
針對上述現(xiàn)有技術(shù)存在的問題,本發(fā)明的目的在于提供一種可以由測試者根據(jù)需要定義測試敏感事件,在測試過程中對這些事件進(jìn)行監(jiān)控,根據(jù)事件的變化,對測試過程進(jìn)行調(diào)整的方法,從而提高測試腳本的重用率,提高測試效率。
本發(fā)明的特征在于,該方法是在一臺含有腳本解釋器的計(jì)算機(jī)與移動(dòng)數(shù)字終端所構(gòu)成的測試平臺上實(shí)現(xiàn)的,包括以下步驟步驟1,在計(jì)算機(jī)上初始化用于過程監(jiān)控的內(nèi)存和CPU狀態(tài);步驟2,根據(jù)測試需要定義一個(gè)或者多個(gè)狀態(tài)表并載入計(jì)算機(jī)內(nèi)存,所說的狀態(tài)表是包含一條或若干條由狀態(tài)代碼、被監(jiān)控?cái)?shù)據(jù)的特征、觸發(fā)條件、觸發(fā)操作、下一狀態(tài)代碼組成的記錄的有序集合,每個(gè)狀態(tài)表即一個(gè)狀態(tài)機(jī),其中被監(jiān)控?cái)?shù)據(jù)的特征包括數(shù)據(jù)來源(也稱事件源)和數(shù)據(jù)類型(也稱事件類型);步驟3,在計(jì)算機(jī)上運(yùn)行監(jiān)控器程序,初始化與之對應(yīng)的內(nèi)存;步驟4,監(jiān)控器程序初始化步驟2中所定義的各個(gè)狀態(tài)表對應(yīng)的狀態(tài)機(jī)為初態(tài),即狀態(tài)機(jī)的狀態(tài)指針指向各自狀態(tài)表的第一條記錄;步驟5,監(jiān)控器程序接收被監(jiān)控?cái)?shù)據(jù);步驟6,監(jiān)控器程序?qū)⒉襟E5中接收到的被監(jiān)控?cái)?shù)據(jù)依次與狀態(tài)機(jī)當(dāng)前記錄的被監(jiān)控?cái)?shù)據(jù)的特征及觸發(fā)條件進(jìn)行比較,若全部符合則執(zhí)行觸發(fā)操作,否則返回步驟5繼續(xù)執(zhí)行;步驟7,監(jiān)控器程序根據(jù)狀態(tài)機(jī)當(dāng)前記錄的下一狀態(tài)代碼,更新狀態(tài)機(jī)為下一個(gè)狀態(tài),即狀態(tài)機(jī)的狀態(tài)指針指向當(dāng)前記錄中下一狀態(tài)代碼所對應(yīng)的記錄,重復(fù)步驟5至7。
所述被監(jiān)控?cái)?shù)據(jù)包括腳本解釋器向移動(dòng)數(shù)字終端發(fā)送的數(shù)據(jù)、移動(dòng)數(shù)字終端向腳本解釋器發(fā)送的數(shù)據(jù)、腳本解釋器所涉及的計(jì)算機(jī)內(nèi)存中所存的腳本程序內(nèi)部變量的值、計(jì)算機(jī)系統(tǒng)時(shí)間;步驟2中所述之?dāng)?shù)據(jù)來源包括腳本解釋器向監(jiān)控器程序的輸出、移動(dòng)數(shù)字終端向監(jiān)控器程序的輸出、監(jiān)控器程序獲得的系統(tǒng)時(shí)鐘;步驟2中所述之?dāng)?shù)據(jù)類型是指計(jì)算機(jī)所能識別的數(shù)據(jù)結(jié)構(gòu);步驟2中所述的觸發(fā)操作是指記錄相關(guān)信息操作、顯示相關(guān)信息操作、停止腳本解釋器操作、暫停腳本解釋器操作、腳本解釋器恢復(fù)執(zhí)行操作、恢復(fù)腳本解釋器上下文操作。
在步驟6的判斷過程中,可以根據(jù)需要,將所需要的對比數(shù)據(jù)從相應(yīng)數(shù)據(jù)庫中加載進(jìn)入監(jiān)控任務(wù)。
監(jiān)控器程序可以由外部命令開啟、關(guān)閉或暫停。
通過實(shí)驗(yàn)證明,本發(fā)明可以根據(jù)測試的實(shí)際需要定義測試事件,在測試過程中對引發(fā)這些事件的輸入輸出數(shù)據(jù)進(jìn)行監(jiān)控,并根據(jù)數(shù)據(jù)變化所觸發(fā)的事件進(jìn)行響應(yīng),對測試過程進(jìn)行調(diào)整。在這樣的過程中,測試者不必重寫測試腳本或重新建立測試用例,只需要重新定義測試事件即可,達(dá)到提高測試腳本的重用率,提高測試效率的目的。
圖1是本發(fā)明方法的狀態(tài)轉(zhuǎn)移圖;圖2是實(shí)現(xiàn)本發(fā)明方法的數(shù)據(jù)流程圖;圖3是本發(fā)明一個(gè)實(shí)施例的過程流程圖;
具體實(shí)施例方式
過程監(jiān)控方法是建立在對腳本程序的執(zhí)行進(jìn)行粗粒度控制的思想上的,其基本思想是通過對腳本程序與移動(dòng)數(shù)字終端之間的交互信號、腳本程序自身變量和其它與測試相關(guān)的參數(shù)進(jìn)行跟蹤,根據(jù)預(yù)先設(shè)定的條件對腳本程序的運(yùn)行進(jìn)行控制。
過程監(jiān)控的簡化內(nèi)部流程可以用一個(gè)如圖1所示的狀態(tài)轉(zhuǎn)移圖來描述,事件可以看作是不同的輸入數(shù)據(jù)或數(shù)據(jù)組合及這些輸入數(shù)據(jù)或數(shù)據(jù)組合達(dá)到特定值時(shí)所構(gòu)成的某種狀態(tài)。
過程監(jiān)控的工作原理如下首先執(zhí)行初始化1,建立一個(gè)狀態(tài)機(jī)工作的虛擬環(huán)境,即初始化相應(yīng)的內(nèi)存;第二步,執(zhí)行設(shè)置事件操作2,設(shè)置事件表,事件表也稱為狀態(tài)表,是包含一條或若干條由狀態(tài)代碼、被監(jiān)控?cái)?shù)據(jù)的特征(包含事件源和事件類型)、觸發(fā)條件、觸發(fā)操作、下一狀態(tài)代碼組成的記錄的有序集合,這樣排列的一個(gè)狀態(tài)表即構(gòu)成一個(gè)狀態(tài)機(jī),設(shè)置好的狀態(tài)表可以通過外部存儲操作6保存在外部存儲設(shè)備中以備后用,也可以通過外部存儲操作6直接從外部存儲設(shè)備中取出已保存的狀態(tài)表進(jìn)行設(shè)置;第三步,執(zhí)行過程監(jiān)控3,在計(jì)算機(jī)系統(tǒng)平臺上建立一個(gè)進(jìn)程,運(yùn)行監(jiān)控器程序,監(jiān)控事件,當(dāng)事件發(fā)生時(shí),觸發(fā)相應(yīng)的處理過程5,或在外部命令控制下執(zhí)行停止操作4,終止過程監(jiān)控。
其中,被監(jiān)控?cái)?shù)據(jù)的特征包含數(shù)據(jù)來源和數(shù)據(jù)類型兩個(gè)要素,數(shù)據(jù)來源(也稱事件源)包括腳本解釋器向監(jiān)控器程序的輸出、移動(dòng)數(shù)字終端向監(jiān)控器程序的輸出、監(jiān)控器程序獲得的系統(tǒng)時(shí)鐘,數(shù)據(jù)類型(也稱事件類型)是指計(jì)算機(jī)所能識別的數(shù)據(jù)結(jié)構(gòu),包括整型、浮點(diǎn)型、字符型、枚舉型、對象類型等。這樣,依照數(shù)據(jù)來源,被監(jiān)控?cái)?shù)據(jù)就包括腳本解釋器向移動(dòng)數(shù)字終端發(fā)送的數(shù)據(jù)、移動(dòng)數(shù)字終端向腳本解釋器發(fā)送的數(shù)據(jù)、腳本解釋器所涉及的計(jì)算機(jī)內(nèi)存中所存儲的腳本程序內(nèi)部變量的值、計(jì)算機(jī)系統(tǒng)時(shí)間。
見圖2,由于手機(jī)是最有代表性的移動(dòng)數(shù)字終端,因此,實(shí)施例針對手機(jī)應(yīng)用軟件的測試進(jìn)行說明。
在該實(shí)施例中,實(shí)現(xiàn)本發(fā)明所述方法的數(shù)據(jù)流程包括如下單元接口層A01,狀態(tài)表設(shè)置單元A02,監(jiān)控器A03,腳本解釋器A04,數(shù)據(jù)庫A05,時(shí)鐘控制器A06,測試管理和調(diào)度單元A07。其中,接口層A01負(fù)責(zé)傳遞手機(jī)和腳本解釋器A04之間交互的數(shù)據(jù),手機(jī)傳送到腳本解釋器A04的數(shù)據(jù)和命令經(jīng)過接口層A01轉(zhuǎn)換為腳本解釋器A04可以識別的數(shù)據(jù)結(jié)構(gòu),腳本解釋器A04向手機(jī)發(fā)送的數(shù)據(jù)和命令在接口層A01被轉(zhuǎn)化為手機(jī)可接收的信號后發(fā)送給手機(jī),手機(jī)可以是一個(gè)真實(shí)的手機(jī),也可以是一個(gè)在計(jì)算機(jī)內(nèi)存中建立的手機(jī)仿真器(即虛擬手機(jī));狀態(tài)表設(shè)置單元A02用于測試人員根據(jù)測試需要設(shè)置一個(gè)或者多個(gè)狀態(tài)表,設(shè)置好的狀態(tài)表可以存入計(jì)算機(jī)外部存儲器A08中,并可根據(jù)需要由狀態(tài)表設(shè)置單元A02讀??;狀態(tài)表設(shè)置單元A02將設(shè)置好的狀態(tài)表加載進(jìn)入計(jì)算機(jī)內(nèi)存并傳遞給監(jiān)控器A03使用,腳本解釋器A04用于逐條執(zhí)行測試腳本,監(jiān)控器A03通過腳本解釋器A04中植入的跟蹤程序獲取腳本解釋器A04的執(zhí)行狀態(tài),包括變量值和執(zhí)行的語句,同時(shí),監(jiān)控器A03通過接口層中植入的跟蹤程序獲取腳本解釋器A04發(fā)送給手機(jī)的數(shù)據(jù)及手機(jī)反饋給腳本解釋器A04的數(shù)據(jù);當(dāng)監(jiān)控器A03需要比較數(shù)據(jù)時(shí),可以根據(jù)需要從數(shù)據(jù)庫A05獲取對比數(shù)據(jù);時(shí)鐘控制器A06用于向監(jiān)控器A03提供測試相關(guān)的時(shí)間信息,時(shí)間信息可以是墻上時(shí)間或相對時(shí)間,所謂墻上時(shí)間是指普通時(shí)鐘的具體時(shí)間,相對時(shí)間是指某個(gè)事件或觸發(fā)操作發(fā)生后所經(jīng)過的時(shí)間;測試管理和調(diào)度單元A07用于控制監(jiān)控器A03的運(yùn)行,包括啟動(dòng)、暫停、停止監(jiān)控器A03。
見圖3,對于一個(gè)實(shí)際的測試,其處理過程如下首先,在步驟S001中初始化監(jiān)控環(huán)境,包括建立獨(dú)立的內(nèi)存區(qū),顯示狀態(tài)表的輸入、輸出界面,監(jiān)控過程控制菜單等工作。在步驟S002中定義監(jiān)控狀態(tài)表,它包含一條或若干條由狀態(tài)代碼、被監(jiān)控?cái)?shù)據(jù)的特征(包含事件源和事件類型)、觸發(fā)條件、觸發(fā)操作、轉(zhuǎn)移狀態(tài)代碼組成的記錄的有序集合,其中被監(jiān)控?cái)?shù)據(jù)的特征包含數(shù)據(jù)來源和數(shù)據(jù)類型,被監(jiān)控?cái)?shù)據(jù)的特征和觸發(fā)條件構(gòu)成一個(gè)事件。監(jiān)控狀態(tài)表可以是一個(gè)或多個(gè),可以將編輯好的狀態(tài)表保存在外存中,也可以從外存中載入已有的狀態(tài)表。下面結(jié)合發(fā)送彩信功能的測試用例給出一個(gè)實(shí)際的狀態(tài)表。
測試用例描述如下對于一個(gè)發(fā)送彩信的測試用例,需要下面幾個(gè)步驟(1)打開彩信編輯程序;(2)在程序中,測試所有按鍵,輸入相應(yīng)的文本,并抓回圖片或者進(jìn)行OCR識別,看看所有輸入是否正確;(3)選擇聯(lián)系人;(4)添加圖片;(5)發(fā)送彩信;(6)啟動(dòng)定時(shí)器,準(zhǔn)備接收回復(fù)彩信。
狀態(tài)表定義如下(1)狀態(tài)表各項(xiàng)的數(shù)據(jù)結(jié)構(gòu)
(2)彩信用例對應(yīng)的狀態(tài)表,其中“<>”中是注釋的內(nèi)容。
在步驟S003中,啟動(dòng)監(jiān)控器,即在計(jì)算機(jī)的軟件環(huán)境中建立獨(dú)立的監(jiān)控進(jìn)程,將定義好的一個(gè)或者多個(gè)過程監(jiān)控狀態(tài)表加載進(jìn)入計(jì)算機(jī)內(nèi)存,并將各個(gè)狀態(tài)機(jī)根據(jù)各自的狀態(tài)表初始化為初態(tài),開始接收被監(jiān)控?cái)?shù)據(jù),等待狀態(tài)表所定義事件的發(fā)生。
步驟S004和S005接收測試管理和調(diào)度單元的結(jié)束和暫停指令,如果收到,則停止或暫停監(jiān)控器,監(jiān)控器暫停后,可以被再次激活。步驟S006接收腳本解釋器A04、接口層A01、時(shí)鐘控制器A06發(fā)送來的數(shù)據(jù)。
步驟S007、S008、S009分別判斷數(shù)據(jù)來源、數(shù)據(jù)類型、觸發(fā)條件,如全部符合,則執(zhí)行觸發(fā)操作(步驟S010),數(shù)據(jù)來源包括腳本解釋器提供的腳本語句和腳本中的變量、腳本解釋器和接口層交互的數(shù)據(jù)、時(shí)鐘、計(jì)時(shí)器、定時(shí)器,要判斷的數(shù)據(jù)類型包括絕對時(shí)間、相對時(shí)間、圖片數(shù)據(jù)、按鍵信息、輸出信息、腳本語句、腳本變量值等,觸發(fā)條件包括絕對時(shí)間的具體值或取值范圍、相對時(shí)間的具體值或取值范圍、具體的圖片數(shù)據(jù)、按鍵值、輸出值、具體的腳本語句、具體的腳本變量取值或取值范圍,觸發(fā)操作包括輸出信息到日志文件的操作、輸出信息到顯示設(shè)備的操作、停止腳本解釋器操作、暫停腳本解釋器操作、腳本解釋器恢復(fù)執(zhí)行操作、恢復(fù)腳本解釋器上下文操作。
步驟S011根據(jù)當(dāng)前狀態(tài)表記錄的轉(zhuǎn)移狀態(tài)代碼設(shè)置狀態(tài)表指針,將狀態(tài)表指針指向狀態(tài)表中與轉(zhuǎn)移狀態(tài)代碼相對應(yīng)的記錄,返回步驟S004繼續(xù)執(zhí)行。
用于過程監(jiān)控的程序與腳本解釋器運(yùn)行在同一計(jì)算機(jī)上,監(jiān)控器進(jìn)程可以設(shè)計(jì)為同時(shí)處理多個(gè)監(jiān)控狀態(tài)表,當(dāng)某事件發(fā)生后,監(jiān)控器進(jìn)程首先判斷此事件屬于哪個(gè)監(jiān)控狀態(tài)表,然后執(zhí)行對應(yīng)狀態(tài)表的相應(yīng)動(dòng)作,以實(shí)現(xiàn)不同監(jiān)控目的的并行操作。
采用本發(fā)明所進(jìn)行的過程監(jiān)控,可以根據(jù)實(shí)際的測試需求對事件進(jìn)行定制,在測試過程中,當(dāng)需要對所定義的事件進(jìn)行監(jiān)控時(shí),不需要重新編寫測試腳本程序,提高了腳本程序的重用率,提高測試效率。
權(quán)利要求
1.一種嵌入式應(yīng)用軟件測試的過程監(jiān)控方法,其特征在于,該方法是在一臺含有腳本解釋器的計(jì)算機(jī)與移動(dòng)數(shù)字終端所構(gòu)成的測試平臺上實(shí)現(xiàn)的,包括以下步驟步驟1,在計(jì)算機(jī)上初始化用于過程監(jiān)控的內(nèi)存和CPU狀態(tài);步驟2,根據(jù)測試需要定義一個(gè)或者多個(gè)狀態(tài)表并載入計(jì)算機(jī)內(nèi)存,所說的狀態(tài)表是包含一條或若干條由狀態(tài)代碼、被監(jiān)控?cái)?shù)據(jù)的特征、觸發(fā)條件、觸發(fā)操作、下一狀態(tài)代碼組成的記錄的有序集合,每個(gè)狀態(tài)表即一個(gè)狀態(tài)機(jī),其中被監(jiān)控?cái)?shù)據(jù)的特征包括數(shù)據(jù)來源和數(shù)據(jù)類型;步驟3,在計(jì)算機(jī)上運(yùn)行監(jiān)控器程序,初始化與之對應(yīng)的內(nèi)存;步驟4,監(jiān)控器程序初始化步驟2中所定義的各個(gè)狀態(tài)表對應(yīng)的狀態(tài)機(jī)為初態(tài),即狀態(tài)機(jī)的狀態(tài)指針指向各自狀態(tài)表的第一條記錄;步驟5,監(jiān)控器程序接收被監(jiān)控?cái)?shù)據(jù);步驟6,監(jiān)控器程序?qū)⒉襟E5中接收到的被監(jiān)控?cái)?shù)據(jù)依次與狀態(tài)機(jī)當(dāng)前記錄的被監(jiān)控?cái)?shù)據(jù)的特征及觸發(fā)條件進(jìn)行比較,若全部符合則執(zhí)行觸發(fā)操作,否則返回步驟5繼續(xù)執(zhí)行;步驟7,監(jiān)控器程序根據(jù)狀態(tài)機(jī)當(dāng)前記錄的下一狀態(tài)代碼,更新狀態(tài)機(jī)為下一個(gè)狀態(tài),即狀態(tài)機(jī)的狀態(tài)指針指向當(dāng)前記錄中下一狀態(tài)代碼所對應(yīng)的記錄,重復(fù)步驟5至7。
2.如權(quán)利要求1所述的方法,其特征在于所述被監(jiān)控?cái)?shù)據(jù)包括腳本解釋器向移動(dòng)數(shù)字終端發(fā)送的數(shù)據(jù)、移動(dòng)數(shù)字終端向腳本解釋器發(fā)送的數(shù)據(jù)、腳本解釋器所涉及的計(jì)算機(jī)內(nèi)存中所存儲的腳本程序內(nèi)部變量的值、計(jì)算機(jī)系統(tǒng)時(shí)間;步驟2中所述之?dāng)?shù)據(jù)來源包括腳本解釋器向監(jiān)控器程序的輸出、移動(dòng)數(shù)字終端向監(jiān)控器程序的輸出、監(jiān)控器程序獲得的系統(tǒng)時(shí)鐘;步驟2中所述之?dāng)?shù)據(jù)類型是指計(jì)算機(jī)所能識別的數(shù)據(jù)結(jié)構(gòu);步驟2中所述的觸發(fā)操作是指記錄相關(guān)信息操作、顯示相關(guān)信息操作、停止腳本解釋器操作、暫停腳本解釋器操作、腳本解釋器恢復(fù)執(zhí)行操作、恢復(fù)腳本解釋器上下文操作。
3.如權(quán)利要求1所述的方法,其特征在于在步驟6所述的判斷過程中,根據(jù)需要,將所需要的對比數(shù)據(jù)從相應(yīng)數(shù)據(jù)庫中加載進(jìn)入計(jì)算機(jī)內(nèi)存。
全文摘要
一種嵌入式應(yīng)用軟件測試的過程監(jiān)控方法,在一臺含有腳本解釋器的計(jì)算機(jī)與移動(dòng)數(shù)字終端所構(gòu)成的測試平臺上實(shí)現(xiàn),包括初始化程序環(huán)境;定義一個(gè)或多個(gè)包含一條或若干條由狀態(tài)代碼、被監(jiān)控?cái)?shù)據(jù)的特征(包含事件源和事件類型)、觸發(fā)條件、觸發(fā)操作、下一狀態(tài)代碼組成的記錄的狀態(tài)表;運(yùn)行監(jiān)控程序接收被監(jiān)控?cái)?shù)據(jù)并與狀態(tài)表中定義的被監(jiān)控?cái)?shù)據(jù)特征和觸發(fā)條件相比較,如符合則在執(zhí)行觸發(fā)操作后轉(zhuǎn)向下一狀態(tài)繼續(xù)監(jiān)控。該發(fā)明可提高腳本程序重用率和測試效率。
文檔編號G06F11/36GK1845081SQ200610008189
公開日2006年10月11日 申請日期2006年2月24日 優(yōu)先權(quán)日2006年2月24日
發(fā)明者高小鵬, 劉斌 申請人:北京博聯(lián)偉圖科技有限公司