專利名稱:一種測試裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及測試技術(shù),具體涉及一種測試裝置和方法。
技術(shù)背景目前,從底層的平臺驅(qū)動測試到最后的集成測試,軟件測試包括很多層次。 隨著嵌入式系統(tǒng)的廣泛發(fā)展,嵌入式應(yīng)用的功能和性能測試已成為比較重要的 問題。由于嵌入式的特點,導(dǎo)致一些傳統(tǒng)軟件的測試方法不一定能適用于嵌入 式系統(tǒng)的測試,尤其在后期的集成測試中。對于集成測試而言,如果可以基于計算機上的圖形界面實現(xiàn)控制, 一般采 用自動化工具實現(xiàn)測試過程。這種測試方法過分依賴于自動化工具,并且需要應(yīng)用程序提供可供操作的界面元素;對于沒有界面的應(yīng)用,該方法就無法正常 使用。再有,通過所述自動化工具所進(jìn)行的測試,只能通過該自動化工具所提 供的有限的函數(shù)接口進(jìn)行測試,對于在實際應(yīng)用中比較關(guān)注的內(nèi)部功能接口 , 則無法進(jìn)行更高層次的測試(如進(jìn)行較為徹底的邏輯測試等)。另外,測試命 令的改變將導(dǎo)致測試代碼的重新編譯,這將給測試過程帶來過大的工作量,因 而增加測試過程的復(fù)雜度。顯然,目前的嵌入式測試方式實際上還處于黑盒測試階段,其靈活性較低, 復(fù)雜度較高,并且也無法進(jìn)行更高層次的測試。發(fā)明內(nèi)容有鑒于此,本發(fā)明的主要目的在于提供一種測試裝置和方法,以提高測試 靈活性,降低測試復(fù)雜度。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的本發(fā)明提供了一種測試裝置,包括依次相連的腳本引擎、測試腳本封裝體、應(yīng)用邏輯單元;其中,所述腳本引擎,用于對收到的測試腳本文件進(jìn)行解釋,并將解釋所得的測試命令發(fā)送給所述測試腳本封裝體;所述測試腳本封裝體,用于調(diào)用收到的測試命令在所述應(yīng)用邏輯單元中所對應(yīng)的測試接口函數(shù);所述應(yīng)用邏輯單元,用于根據(jù)所述測試接口函數(shù)的調(diào)用進(jìn)行系統(tǒng)測試。其中,所述測試腳本封裝體設(shè)置于腳本封裝單元中,該腳本封裝單元中設(shè) 置有可對接口文件進(jìn)行封裝的腳本封裝自動化程序。所述接口為應(yīng)用編程接口API。該裝置設(shè)置于嵌入式設(shè)備中。上述方案中,所述腳本引擎進(jìn)一步與測試管理單元相連;所述測試管理單 元,用于向所述腳本引擎發(fā)送測試腳本文件;所述測試腳本封裝體、腳本引擎, 進(jìn)一步用于依次將來自所述應(yīng)用邏輯單元的測試結(jié)果返回給所述測試管理單 元。本發(fā)明還提供了一種測試方法,包括設(shè)置能夠識別測試接口的腳本處理實體,并將測試命令表述為測試腳本文 件的形式;對測試腳本文件進(jìn)行解釋以得到測試命令,由腳本處理實體調(diào)用測 試命令所對應(yīng)的測試沖矣口函數(shù)進(jìn)4亍系統(tǒng)測試。其中,所述將測試命令表述為測試腳本文件的方法為將進(jìn)行測試時所需 要的測試命令以腳本文件的形式編寫,生成測試腳本文件。調(diào)用所述測試接口函數(shù)進(jìn)行系統(tǒng)測試的方法為調(diào)用所述測試命令在應(yīng)用 邏輯單元中所對應(yīng)的測試接口函數(shù),由應(yīng)用邏輯單元#4居所述測試接口函數(shù)的 調(diào)用進(jìn)行系統(tǒng)測試。所述接口是API,所述腳本處理實體是腳本封裝單元所生成的測試腳本封 裝體。上述方案,進(jìn)一步包括返回測試結(jié)果??梢?,本發(fā)明所提供的測試裝置和方法,由于設(shè)置了能夠識別測試接口的 腳本處理實體,并且將測試命令表述為測試腳本文件的形式;因此,要進(jìn)行測 試時,可以對測試腳本文件進(jìn)行解釋以得到測試命令,由腳本處理實體調(diào)用測試命令所對應(yīng)的測試接口函數(shù)以實現(xiàn)系統(tǒng)測試。顯然,腳本化的測試方式能夠提供好的封裝性和可測試性;其次,由于測 試接口包括需要測試的內(nèi)部功能接口,因此可以實現(xiàn)更高層次的測試(如進(jìn) 行較為徹底的邏輯測試等),提高了測試的靈活性;并且,腳本化的測試方式省去了冗長的編譯過程,降低了測試的復(fù)雜度。
圖1為本發(fā)明一實施例的測試裝置圖; 圖2為本發(fā)明一實施例的測試流程圖; 圖3為本發(fā)明的測試流程簡圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明技術(shù)詳細(xì)描述。參見圖1,圖1為本發(fā)明一實施例的測試裝置圖。圖1中,測試管理單元、 腳本引擎、測試腳本封裝體、應(yīng)用邏輯單元依次相連,這些器件均可設(shè)置、應(yīng) 用于嵌入式設(shè)備中。其中,腳本引擎中包含能夠解析腳本的引擎庫,該引擎庫 可以支持腳本引擎對腳本進(jìn)行正確解釋;測試腳本封裝體可以實現(xiàn)測試命令與 接口函數(shù)之間的翻i奪;應(yīng)用邏輯單元可執(zhí)行具體的測試4喿作;測試腳本封裝體 是由腳本封裝單元所生成的能夠識別測試接口的腳本處理實體,存在于腳本封 裝單元等通信實體中。具體應(yīng)用時,選擇在進(jìn)行測試時需要應(yīng)用到的測試應(yīng)用編程接口 (API), 并將所選擇的測試API生成接口文件,再將該接口文件輸入到腳本封裝單元(其 中設(shè)置有腳本封裝自動化程序)中。腳本封裝單元對收到的接口文件進(jìn)行分析、 封裝等處理,得到以系統(tǒng)語言源文件形式存在的測試腳本封裝體。所述測試API包括需要測試的內(nèi)部功能接口等。除了預(yù)先設(shè)置有測試腳本封裝體以外,還需要設(shè)置能夠處理腳本操作的腳 本引擎;并且,還需要將進(jìn)行測試時所需要的測試命令以腳本文件的形式編寫,生成測試腳本文件。當(dāng)需要進(jìn)行測試時,將測試腳本文件輸入測試管理單元,由測試管理單元將收到的測試腳本文件轉(zhuǎn)發(fā)給腳本引擎;腳本引擎對收到的測試腳本文件進(jìn)行解釋,從測試腳本文件中獲得測試命令,再將得到的測試命令發(fā)送給測試腳本 封裝體。針對收到的測試命令,測試腳本封裝體可以識別該命令在應(yīng)用邏輯單 元中所對應(yīng)的接口函數(shù),并調(diào)用該接口函數(shù)。之后,被調(diào)用的接口函數(shù)則執(zhí)行 自身被定義的操作,在應(yīng)用邏輯單元中實現(xiàn)系統(tǒng)測試。完成測試后,測試腳本封裝體將應(yīng)用邏輯單元所反饋的測試結(jié)果發(fā)送給腳 本引擎,腳本引擎將收到的測試結(jié)果上報給測試管理單元,用戶就可以從測試 管理單元中獲知測試結(jié)果。在實際應(yīng)用中,還可以修改測試腳本文件中的測試命令,并將修改后的測 試腳本文件發(fā)送給腳本引擎,以實現(xiàn)新的測試。另外,在嵌入式設(shè)備中,測試 腳本封裝體和腳本引擎通常鏈接于主控文件中,用戶可以通過主控文件實現(xiàn)對 測試腳本封裝體和腳本引擎的應(yīng)用。由針對圖1的描述可見,由于設(shè)置了能夠識別測試接口的腳本處理實體,并且將測試命令表述為測試腳本文件的形式;因此,要進(jìn)行測試時,可以對測 試腳本文件進(jìn)行解釋以得到測試命令,由腳本處理實體調(diào)用測試命令所對應(yīng)的 測試接口函數(shù)以實現(xiàn)系統(tǒng)測試。顯然,腳本化的測試方式能夠提供好的封裝性和可測試性;其次,由于測 試接口包括需要測試的內(nèi)部功能接口,因此可以實現(xiàn)更高層次的測試(如進(jìn) 行較為徹底的邏輯測試等),提高了測試的靈活性;并且,腳本化的測試方式省 去了冗長的編譯過程,降低了測試的復(fù)雜度。針對圖1的描迷可以以圖2的流程表示。參見圖2,圖2為本發(fā)明一實施 例的測試流程圖,該流程包括以下步驟步驟201: 4艮據(jù)測試API生成接口文件,才艮據(jù)4^口文件生成測試腳本封裝體。步驟202:根據(jù)測試命令生成測試腳本文件。步驟203:通過測試管理單元向腳本引擎轉(zhuǎn)發(fā)測試腳本文件,由腳本引擎 對測試腳本文件進(jìn)行解釋,得到測試命令。步驟204:測試腳本封裝體調(diào)用測試命令在應(yīng)用邏輯單元中所對應(yīng)的接口 函數(shù),由該接口函數(shù)實現(xiàn)系統(tǒng)測試。由圖1、圖2可見,整個測試過程中的關(guān)鍵操作如圖3所示。參見圖3,圖 3為本發(fā)明的測試流程簡圖,該流程包括以下步驟步驟301:設(shè)置能夠識別測試接口的腳本處理實體,并將測試命令表述為 測試腳本文件的形式。步驟302:對測試腳本文件進(jìn)行解釋以得到測試命令,由腳本處理實體調(diào) 用測試命令所對應(yīng)的測試接口函數(shù)以實現(xiàn)系統(tǒng)測試。由以上所述可見,本發(fā)明所提供的測試裝置和方法,均可提高測試靈活性, 降低測試復(fù)雜度,并且能夠進(jìn)行更高層次的測試。
權(quán)利要求
1、一種測試裝置,其特征在于,該裝置包括依次相連的腳本引擎、測試腳本封裝體、應(yīng)用邏輯單元;其中,所述腳本引擎,用于對收到的測試腳本文件進(jìn)行解釋,并將解釋所得的測試命令發(fā)送給所述測試腳本封裝體;所述測試腳本封裝體,用于調(diào)用收到的測試命令在所述應(yīng)用邏輯單元中所對應(yīng)的測試接口函數(shù);所述應(yīng)用邏輯單元,用于根據(jù)所述測試接口函數(shù)的調(diào)用進(jìn)行系統(tǒng)測試。
2、 根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述測試腳本封裝體設(shè)置于 腳本封裝單元中,該腳本封裝單元中設(shè)置有可對接口文件進(jìn)行封裝的腳本封裝自動化程序。
3、 根據(jù)權(quán)利要求1所述的裝置,其特征在于,該裝置設(shè)置于嵌入式設(shè)備中。
4、 根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述接口為應(yīng)用編程接口API。
5、 根據(jù)權(quán)利要求1至4任一項所述的裝置,其特征在于,所述腳本引擎進(jìn) 一步與測試管理單元相連;所述測試管理單元,用于向所述腳本引擎發(fā)送測試腳本文件; 所述測試腳本封裝體、腳本引擎,進(jìn)一步用于依次將來自所述應(yīng)用邏輯單 元的測試結(jié)果返回^^所述測試管理單元。
6、 一種測試方法,其特征在于,該方法包括設(shè)置能夠識別測試接口的腳本處理實體,并將測試命令表述為測試腳本文 件的形式;對測試腳本文件進(jìn)行解釋以得到測試命令,由腳本處理實體調(diào)用測 試命令所對應(yīng)的測試接口函凄t進(jìn)行系統(tǒng)測試。
7、 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述將測試命令表述為測試 腳本文件的方法為將進(jìn)行測試時所需要的測試命令以腳本文件的形式編寫,生成測試腳本文件。
8、 根據(jù)權(quán)利要求6所述的方法,其特征在于,調(diào)用所述測試接口函數(shù)進(jìn)行 系統(tǒng)測試的方法為調(diào)用所述測試命令在應(yīng)用邏輯單元中所對應(yīng)的測試接口函數(shù),由應(yīng)用邏輯 單元根據(jù)所述測試接口函數(shù)的調(diào)用進(jìn)行系統(tǒng)測試。
9、 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述接口是API,所述腳本 處理實體是腳本封裝單元所生成的測試腳本封裝體。
10、 根據(jù)權(quán)利要求6至9任一項所述的方法,其特征在于,進(jìn)一步返回測 試結(jié)果。
全文摘要
本發(fā)明所提供的測試裝置和方法,由于設(shè)置了能夠識別測試接口的腳本處理實體,并且將測試命令表述為測試腳本文件的形式;因此,要進(jìn)行測試時,可以對測試腳本文件進(jìn)行解釋以得到測試命令,由腳本處理實體調(diào)用測試命令所對應(yīng)的測試接口函數(shù)以實現(xiàn)系統(tǒng)測試。顯然,腳本化的測試方式能夠提供好的封裝性和可測試性;其次,由于測試接口包括需要測試的內(nèi)部功能接口,因此可以實現(xiàn)更高層次的測試(如進(jìn)行較為徹底的邏輯測試等),提高了測試的靈活性;并且,腳本化的測試方式省去了冗長的編譯過程,降低了測試的復(fù)雜度。
文檔編號G06F11/36GK101216804SQ200810056180
公開日2008年7月9日 申請日期2008年1月14日 優(yōu)先權(quán)日2008年1月14日
發(fā)明者況成禹, 劉永揚, 薛堯舜, 華 陳 申請人:中興通訊股份有限公司