專利名稱:嵌入式文件系統(tǒng)的測試方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及計算機技術領域,尤其涉及嵌入式文件系統(tǒng)的測試方法及系統(tǒng)。
背景技術:
目前,嵌入式系統(tǒng)如手持多媒體設備等,其中大量使用了文件系統(tǒng),即嵌入式文件系統(tǒng)。由于嵌入式文件系統(tǒng)的功能定制及接口函數(shù)各不相同,因此在進行嵌入式文件系統(tǒng)的測試時,現(xiàn)有的實現(xiàn)方式都是針對不同的嵌入式文件系統(tǒng)設計不同的測試工具。
在上述測試工具的設計過程中,開發(fā)人員不僅需要通過調(diào)用嵌入式文件系統(tǒng)的接口函數(shù)設計管理程序及一些綜合測試程序,而且還需要設計能夠人機交互的測試界面程序,因此開發(fā)人員會花費過多的時間去設計嵌入式文件系統(tǒng)的測試工具,導致嵌入式文件系統(tǒng)的開發(fā)效率低、周期長,不利于產(chǎn)品的更新。并且,由于針對不同的嵌入式文件系統(tǒng)設計的不同的測試工具通用性較差,導致每個項目都會面臨設計較為復雜的測試工具的問題,影響了開發(fā)進度甚至產(chǎn)品質量,也增加了開發(fā)成本。
發(fā)明內(nèi)容
本發(fā)明提供一種嵌入式文件系統(tǒng)的測試方法及系統(tǒng),用以解決現(xiàn)有技術中存在嵌入式文件系統(tǒng)的測試系統(tǒng)設計時間較長以及針對不同的嵌入式文件系統(tǒng)需設計不同的測試系統(tǒng)的問題;進一步解決由此導致的嵌入式文件系統(tǒng)開發(fā)效率低、周期長、成本高的問題。
本發(fā)明提供以下技術方案
一種嵌入式文件系統(tǒng)的測試方法,該方法包括步驟用戶將待測試的嵌入式文件系統(tǒng)相關的應用編程接口API函數(shù)調(diào)用移植到測試系統(tǒng)的API庫中;所述測試系統(tǒng)接收用戶輸入的對所述嵌入式文件系統(tǒng)進行測試的命令,所述命令為預定格式的命令;所述測試系統(tǒng)解析所述命令,并調(diào)用所述命令對應的文件管理函數(shù);所述文件管理函數(shù)調(diào)用所述API庫中與所述嵌入式文件系統(tǒng)相關的API,對所述嵌入式文件系統(tǒng)進行測試;所述嵌入式文件系統(tǒng)通過所述API將測試結果返回給所述文件管理函數(shù),所述文件管理函數(shù)將該測試結果返回給用戶。
上述方法中,所述命令為命令行或批處理腳本文件。
所述命令行由命令字符串、一個或多個操作數(shù)字符串組成;所述批處理腳本文件由多個所述命令行組成。
解析所述命令行并直接調(diào)用對應的文件管理函數(shù);或者,將所述批處理腳本文件保存到緩存后,逐行解析所述批處理腳本文件并調(diào)用對應的文件管理函數(shù)。
通過查詢命令庫解析所述命令。
所述命令庫中存儲有對嵌入式文件系統(tǒng)進行測試的命令與文件管理函數(shù)的對應關系,根據(jù)該對應關系解析所述命令,得到所述命令對應的文件管理函數(shù)的標識;以及,根據(jù)所述標識調(diào)用對應的文件管理函數(shù)。
所述對嵌入式文件系統(tǒng)進行測試的命令與文件管理函數(shù)的對應關系預先定義在所述命令庫中;或者,由用戶向所述命令庫中添加。
所述文件管理函數(shù)預先定義在文件管理函數(shù)庫中;或者,由用戶向所述文件管理函數(shù)庫中添加。
一種命令處理裝置,包括接收單元,用于接收用戶輸入的對嵌入式文件系統(tǒng)進行測試的命令,所述命令為預定格式的命令;命令庫,用于存儲對嵌入式文件系統(tǒng)進行測試的命令以及該命令與文件管理函數(shù)的對應關系;解析單元,用于通過查詢所述命令庫解析用戶輸入的對嵌入式文件系統(tǒng)進行測試的命令,得到該命令對應的文件管理函數(shù)的標識;調(diào)用單元,用于根據(jù)所述標識調(diào)用對應的文件管理函數(shù)。
一種文件管理裝置,包括調(diào)用單元,用于由文件管理函數(shù)調(diào)用與待測試的嵌入式文件系統(tǒng)相關的API,對所述嵌入式文件系統(tǒng)進行測試;接收單元,用于接收所述嵌入式文件系統(tǒng)通過所述API返回的測試結果;發(fā)送單元,用于將測試結果返回給用戶。
一種嵌入式文件系統(tǒng)的測試系統(tǒng),包括操作接口,用于接收用戶輸入的對嵌入式文件系統(tǒng)進行測試的命令,所述命令為預定格式的命令;以及,向用戶輸出測試結果;命令處理裝置,用于解析所述命令,并調(diào)用所述命令對應的文件管理函數(shù);API庫,用于存儲所述嵌入式系統(tǒng)相關的API;文件管理裝置,用于由所述文件管理函數(shù)調(diào)用所述API庫中與所述嵌入式文件系統(tǒng)相關的API,對所述嵌入式文件系統(tǒng)進行測試;以及,接收所述嵌入式文件系統(tǒng)通過所述API返回的測試結果,并將測試結果返回給所述操作接口。
所述命令處理裝置包括接收單元,用于接收用戶輸入的對嵌入式文件系統(tǒng)進行測試的命令,所述命令為預定格式的命令;命令庫,用于存儲對嵌入式文件系統(tǒng)進行測試的命令以及該命令與文件管理函數(shù)的對應關系;解析單元,用于通過查詢所述命令庫解析用戶輸入的對嵌入式文件系統(tǒng)進行測試的命令,得到該命令對應的文件管理函數(shù)的標識;調(diào)用單元,用于根據(jù)所述標識調(diào)用對應的文件管理函數(shù)。
所述文件管理裝置包括調(diào)用單元,用于由文件管理函數(shù)調(diào)用與待測試的嵌入式文件系統(tǒng)相關的API,對所述嵌入式文件系統(tǒng)進行測試;接收單元,用于接收所述嵌入式文件系統(tǒng)通過所述API返回的測試結果;發(fā)送單元,用于將測試結果返回給用戶。
本發(fā)明有益效果如下1、本發(fā)明中的測試系統(tǒng)先解析用戶輸入的命令再根據(jù)解析結果調(diào)用對應的文件管理函數(shù),并由該文件管理函數(shù)調(diào)用相關的API對嵌入式文件系統(tǒng)進行測試,所述命令、文件管理函數(shù)及兩者的對應關系已由測試系統(tǒng)預先定義,即只要用戶輸入命令,測試系統(tǒng)就可自動對嵌入式文件系統(tǒng)進行測試,無需用戶再針對不同的嵌入式文件系統(tǒng)設計不同的測試系統(tǒng),從而能夠迅速、全面地對嵌入式文件系統(tǒng)進行測試。
2、本發(fā)明的測試系統(tǒng)為一個開放的系統(tǒng),用戶可以方便地通過將待測試的嵌入式文件系統(tǒng)的API函數(shù)調(diào)用移植到測試系統(tǒng)的API庫中的形式,向測試系統(tǒng)添加自己的文件管理、測試函數(shù)以及對應的命令。使本測試系統(tǒng)可以適用于不同的嵌入式文件系統(tǒng)的測試,可迅速而方便地對用戶設計的嵌入式文件系統(tǒng)進行全面測試,從而縮短開發(fā)周期,降低開發(fā)成本。
圖1A為本發(fā)明實施例中嵌入式文件系統(tǒng)的測試系統(tǒng)的結構示意圖;圖1B為本發(fā)明實施例中命令處理裝置的結構示意圖;圖1C為本發(fā)明實施例中文件管理裝置的結構示意圖;圖2為本發(fā)明實施例中對嵌入式文件系統(tǒng)進行測試的流程圖。
具體實施例方式
為了解決現(xiàn)有技術中存在嵌入式文件系統(tǒng)的測試系統(tǒng)設計時間較長以及針對不同的嵌入式文件系統(tǒng)需設計不同的測試系統(tǒng)的問題;進一步解決由此導致的嵌入式文件系統(tǒng)開發(fā)效率低、周期長、成本高的問題,本發(fā)明設計一通用的測試系統(tǒng)對嵌入式文件系統(tǒng)進行測試。
以下結合附圖對本發(fā)明優(yōu)選的實施方式進行詳細說明。
參閱圖1A所示,本實施例中的嵌入式文件系統(tǒng)的測試系統(tǒng)包括操作接口100、命令處理裝置101、文件管理裝置102、應用編程接口API(ApplicationProgram Interface)庫103。
所述操作接口100運行于PC,用于將用戶輸入的對嵌入式文件系統(tǒng)進行測試的命令以字符串的形式通過串口等方式下發(fā)給嵌入式文件系統(tǒng),以及接收嵌入式文件系統(tǒng)以字符串的形式通過串口等方式上傳的測試結果,并將該結果顯示于圖形化界面的輸入輸出窗口。
所述命令為命令行或批處理腳本文件;所述命令的格式被預定為命令字符串+操作數(shù)字符串,所述操作數(shù)字符串可以為一個或多個。通過輸入命令行能夠實現(xiàn)基本的文件管理操作,如創(chuàng)建、刪除、瀏覽等;通過編寫和下載批處理腳本文件能夠把大量基本的文件管理操作組合成復雜的測試流程。
用戶可以根據(jù)嵌入式文件系統(tǒng)的性能要求來編寫測試腳本,也可以采用測試系統(tǒng)中預定義的一些典型測試腳本。例如測試寫平衡寫入文件至分區(qū)滿,修改一個文件名100000次;寫入文件至分區(qū)99%滿,創(chuàng)建一個文件,對這個文件進行覆蓋寫至分區(qū)滿,覆蓋寫100000次;寫入文件至分區(qū)70%滿,創(chuàng)建100個文件,并對這些文件寫隨機長度數(shù)至分區(qū)滿,然后刪除這100個文件,重復創(chuàng)建、寫、刪除流程100000次。
對于與上例類似的比較復雜的測試,用戶只需要編寫一個簡短的批處理腳本,下載到測試系統(tǒng)即可。
所述命令處理裝置101運行于測試系統(tǒng),用于通過查詢命令庫解析用戶輸入的命令,得到所述命令對應的文件管理函數(shù)的標識,并根據(jù)該標識調(diào)用對應的文件管理函數(shù)。
參閱圖1B所示,所述命令處理裝置101進一步包括接收單元1010、命令庫1011、解析單元1012、調(diào)用單元1013;其中,所述接收單元1010,用于接收用戶輸入的對嵌入式文件系統(tǒng)進行測試的命令,所述命令為預定格式的命令;所述命令庫1011,用于存儲對嵌入式文件系統(tǒng)進行測試的命令和所述命令與文件管理函數(shù)的對應關系;所述解析單元1012,用于通過查詢所述命令庫1011解析用戶輸入的對嵌入式文件系統(tǒng)進行測試的命令,得到該命令對應的文件管理函數(shù)的標識;所述調(diào)用單元1013,用于根據(jù)所述標識調(diào)用對應的文件管理函數(shù)。
所述命令庫1011中存儲有基本的文件測試命令和常用的組合測試命令,用戶也可以向所述命令庫1011中的添加自定義命令。所述命令庫1011中還存儲有對嵌入式文件系統(tǒng)進行測試的命令與文件管理函數(shù)的對應關系。所述對應關系可以是對嵌入式文件系統(tǒng)進行測試的命令與文件管理函數(shù)的索引表,該索引表中列舉了對嵌入式文件系統(tǒng)進行測試的命令與文件管理函數(shù)的標識的對應關系。所述標識可以是文件管理函數(shù)的函數(shù)名、地址等。所述解析單元1012通過查詢所述命令庫1011中所述命令與文件管理函數(shù)的對應關系,解析得到所述命令對應的文件管理函數(shù)的標識。
對于單個命令行,所述解析單元1012將其解析后,由所述調(diào)用單元1013直接根據(jù)解析得到的所述命令行對應的文件管理函數(shù)的標識調(diào)用對應的文件管理函數(shù);對于批處理腳本文件,先將其保存到緩存,再由所述解析單元1012逐行解析后,由所述調(diào)用單元1013根據(jù)解析得到的所述批處理腳本文件對應的文件管理函數(shù)的標識調(diào)用對應的文件管理函數(shù)。
所述文件管理裝置102運行于測試系統(tǒng),用于提供一文件管理函數(shù)庫,供所述命令處理裝置101調(diào)用其中的文件管理函數(shù),并且由所述文件管理函數(shù)調(diào)用所述API庫103中與所述嵌入式文件系統(tǒng)相關的API,對所述嵌入式文件系統(tǒng)進行測試;以及,接收所述嵌入式文件系統(tǒng)通過所述API返回的測試結果,并將該測試結果返回給所述操作接口100。
參閱圖1C所示,所述文件管理裝置102進一步包括調(diào)用單元1020、接收單元1021、發(fā)送單元1022;所述調(diào)用單元1020,用于由文件管理函數(shù)調(diào)用所述應用編程接口API庫103中與所述嵌入式文件系統(tǒng)相關的API,對所述嵌入式文件系統(tǒng)進行測試;所述接收單元1021,用于接收所述嵌入式文件系統(tǒng)通過所述API返回的測試結果;所述發(fā)送單元1022,用于將測試結果返回給所述操作接口100。
所述文件管理函數(shù)庫中的函數(shù)由測試系統(tǒng)預先定義;或者,由用戶自行添加,這里用戶可以向所述文件管理函數(shù)庫中添加輸入的測試命令對應的函數(shù)。
所述文件管理函數(shù)通過調(diào)用所述API對嵌入式文件系統(tǒng)進行測試時,可以對嵌入式文件系統(tǒng)進行格式化、卷標設置、文件或文件夾的創(chuàng)建、刪除、瀏覽、拷貝、及文件內(nèi)容的瀏覽等操作。
所述API庫103為測試系統(tǒng)與嵌入式文件系統(tǒng)的應用編程接口庫,用戶在移植嵌入式文件系統(tǒng)時向所述API庫103中寫入待測試的嵌入式文件系統(tǒng)相關的API函數(shù)調(diào)用,所述文件管理裝置102通過調(diào)用所述相關的API對嵌入式文件系統(tǒng)進行測試。
用戶在使用測試系統(tǒng)對嵌入式文件系統(tǒng)進行測試前,需要先將測試系統(tǒng)移植到用戶測試平臺,并向測試系統(tǒng)中移植要測試的嵌入式文件系統(tǒng)。
參閱圖2所示,用戶使用測試系統(tǒng)對嵌入式文件系統(tǒng)進行測試的流程如下步驟200、用戶通過操作接口輸入對嵌入式文件系統(tǒng)進行測試的命令。
步驟201、命令處理裝置通過查詢命令庫解析用戶輸入的命令,得到所述命令對應的文件管理函數(shù)的標識。
步驟202、命令處理裝置根據(jù)解析得到的文件管理函數(shù)的標識調(diào)用文件管理裝置中對應的文件管理函數(shù)。
步驟203、所述文件管理函數(shù)調(diào)用API庫中相關的API對所述嵌入式文件系統(tǒng)進行測試。
步驟204、所述嵌入式文件系統(tǒng)通過所述API向所述文件管理裝置返回測試結果,所述文件管理裝置將該測試結果返回給所述操作接口。
步驟200中,用戶可以輸入單個命令行,此時在步驟203中,調(diào)用相關的API對所述嵌入式文件系統(tǒng)進行測試時,可以根據(jù)所述單個命令行對文件進行基本測試,如打印分區(qū)信息、格式化、瀏覽、創(chuàng)建、刪除、修改文件名、拷貝、打印文件內(nèi)容等,這里,系統(tǒng)可以循環(huán)執(zhí)行某些命令行;步驟200中,用戶也可以自行編寫測試腳本,并將該腳本下載到測試系統(tǒng),此時在步驟203中,調(diào)用相關的API對所述嵌入式文件系統(tǒng)進行測試時,可以根據(jù)所述腳本對文件進行綜合測試,如垃圾回收、寫平衡等,如上述測試寫平衡的例子,在對嵌入式文件系統(tǒng)進行測試的過程中檢查FAT及數(shù)據(jù)區(qū)是否完好,如果寫平衡中每一步測試均能通過,證明該嵌入式文件系統(tǒng)的寫平衡機制性能合格。
從上述實施例可知,本發(fā)明中的測試系統(tǒng)先解析用戶輸入的命令再根據(jù)解析結果調(diào)用對應的文件管理函數(shù),并由該文件管理函數(shù)調(diào)用相關的API對嵌入式文件系統(tǒng)進行測試,所述命令、文件管理函數(shù)及兩者的對應關系已由測試系統(tǒng)預先定義,即只要用戶輸入命令,測試系統(tǒng)就可自動對嵌入式文件系統(tǒng)進行測試,無需用戶再針對不同的嵌入式文件系統(tǒng)設計不同的測試系統(tǒng),從而能夠迅速、全面地對嵌入式文件系統(tǒng)進行測試;進一步的,本發(fā)明中,用戶可以將待測試的嵌入式文件系統(tǒng)相關的API寫入測試系統(tǒng)提供的API庫,能夠迅速而方便地對用戶設計的嵌入式文件系統(tǒng)進行全面測試,從而縮短開發(fā)周期,降低開發(fā)成本。
顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若對本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權利要求
1.一種嵌入式文件系統(tǒng)的測試方法,其特征在于,該方法包括步驟用戶將待測試的嵌入式文件系統(tǒng)相關的應用編程接口API函數(shù)調(diào)用移植到測試系統(tǒng)的API庫中;所述測試系統(tǒng)接收用戶輸入的對所述嵌入式文件系統(tǒng)進行測試的命令,所述命令為預定格式的命令;所述測試系統(tǒng)解析所述命令,并調(diào)用所述命令對應的文件管理函數(shù);所述文件管理函數(shù)調(diào)用所述API庫中與所述嵌入式文件系統(tǒng)相關的API,對所述嵌入式文件系統(tǒng)進行測試;所述嵌入式文件系統(tǒng)通過所述API將測試結果返回給所述文件管理函數(shù),所述文件管理函數(shù)將該測試結果返回給用戶。
2.如權利要求1所述的方法,其特征在于,所述命令為命令行或批處理腳本文件。
3.如權利要求2所述的方法,其特征在于,所述命令行由命令字符串、一個或多個操作數(shù)字符串組成;所述批處理腳本文件由多個所述命令行組成。
4.如權利要求3所述的方法,其特征在于,解析所述命令行并直接調(diào)用對應的文件管理函數(shù);或者,將所述批處理腳本文件保存到緩存后,逐行解析所述批處理腳本文件并調(diào)用對應的文件管理函數(shù)。
5.如權利要求1所述的方法,其特征在于,通過查詢命令庫解析所述命令。
6.如權利要求5所述的方法,其特征在于,所述命令庫中存儲有對嵌入式文件系統(tǒng)進行測試的命令與文件管理函數(shù)的對應關系,根據(jù)該對應關系解析所述命令,得到所述命令對應的文件管理函數(shù)的標識;以及,根據(jù)所述標識調(diào)用對應的文件管理函數(shù)。
7.如權利要求1至6任一項所述的方法,其特征在于,所述對嵌入式文件系統(tǒng)進行測試的命令與文件管理函數(shù)的對應關系預先定義在所述命令庫中;或者,由用戶向所述命令庫中添加。
8.如權利要求1所述的方法,其特征在于,所述文件管理函數(shù)預先定義在文件管理函數(shù)庫中;或者,由用戶向所述文件管理函數(shù)庫中添加。
9.一種命令處理裝置,其特征在于,包括接收單元,用于接收用戶輸入的對嵌入式文件系統(tǒng)進行測試的命令,所述命令為預定格式的命令;命令庫,用于存儲對嵌入式文件系統(tǒng)進行測試的命令以及該命令與文件管理函數(shù)的對應關系;解析單元,用于通過查詢所述命令庫解析用戶輸入的對嵌入式文件系統(tǒng)進行測試的命令,得到該命令對應的文件管理函數(shù)的標識;調(diào)用單元,用于根據(jù)所述標識調(diào)用對應的文件管理函數(shù)。
10.一種文件管理裝置,其特征在于,包括調(diào)用單元,用于由文件管理函數(shù)調(diào)用與待測試的嵌入式文件系統(tǒng)相關的API,對所述嵌入式文件系統(tǒng)進行測試;接收單元,用于接收所述嵌入式文件系統(tǒng)通過所述API返回的測試結果;發(fā)送單元,用于將測試結果返回給用戶。
11.一種嵌入式文件系統(tǒng)的測試系統(tǒng),其特征在于,包括操作接口,用于接收用戶輸入的對嵌入式文件系統(tǒng)進行測試的命令,所述命令為預定格式的命令;以及,向用戶輸出測試結果;命令處理裝置,用于解析所述命令,并調(diào)用所述命令對應的文件管理函數(shù);API庫,用于存儲所述嵌入式系統(tǒng)相關的API;文件管理裝置,用于由所述文件管理函數(shù)調(diào)用所述API庫中與所述嵌入式文件系統(tǒng)相關的API,對所述嵌入式文件系統(tǒng)進行測試;以及,接收所述嵌入式文件系統(tǒng)通過所述API返回的測試結果,并將測試結果返回給所述操作接口。
12.如權利要求11所述的系統(tǒng),其特征在于,所述命令處理裝置包括接收單元,用于接收用戶輸入的對嵌入式文件系統(tǒng)進行測試的命令,所述命令為預定格式的命令;命令庫,用于存儲對嵌入式文件系統(tǒng)進行測試的命令以及該命令與文件管理函數(shù)的對應關系;解析單元,用于通過查詢所述命令庫解析用戶輸入的對嵌入式文件系統(tǒng)進行測試的命令,得到該命令對應的文件管理函數(shù)的標識;調(diào)用單元,用于根據(jù)所述標識調(diào)用對應的文件管理函數(shù)。
13.如權利要求11所述的系統(tǒng),其特征在于,所述文件管理裝置包括調(diào)用單元,用于由文件管理函數(shù)調(diào)用與待測試的嵌入式文件系統(tǒng)相關的API,對所述嵌入式文件系統(tǒng)進行測試;接收單元,用于接收所述嵌入式文件系統(tǒng)通過所述API返回的測試結果;發(fā)送單元,用于將測試結果返回給用戶。
全文摘要
本發(fā)明公開了一種嵌入式文件系統(tǒng)的測試方法,用以解決現(xiàn)有技術中存在嵌入式文件系統(tǒng)的測試系統(tǒng)設計時間較長以及針對不同的嵌入式文件系統(tǒng)需設計不同的測試系統(tǒng)等問題;該方法包括用戶將待測試的嵌入式文件系統(tǒng)相關的應用編程接口API函數(shù)調(diào)用移植到測試系統(tǒng)的API庫中;所述測試系統(tǒng)接收并解析用戶輸入的對所述嵌入式文件系統(tǒng)進行測試的命令,調(diào)用所述命令對應的文件管理函數(shù);所述文件管理函數(shù)調(diào)用與所述嵌入式文件系統(tǒng)相關的API,對所述嵌入式文件系統(tǒng)進行測試;所述嵌入式文件系統(tǒng)通過所述API將測試結果返回給用戶。本發(fā)明同時公開一種命令處理裝置、文件管理裝置和嵌入式文件系統(tǒng)的測試系統(tǒng)。
文檔編號G06F11/36GK1963782SQ20061014412
公開日2007年5月16日 申請日期2006年11月28日 優(yōu)先權日2006年11月28日
發(fā)明者蔣長洪, 高占東 申請人:北京中星微電子有限公司