欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

嵌入式軟件自動化測試方法

文檔序號:6469416閱讀:382來源:國知局

專利名稱::嵌入式軟件自動化測試方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種軟件測試,尤其涉及一種嵌入式軟件自動化測試方法。
背景技術(shù)
:軟件測試是軟件開發(fā)工程項目的一個重要的環(huán)節(jié)。特別是在航空和航天等領(lǐng)域的嵌入式應(yīng)用系統(tǒng)日趨復(fù)雜,嵌入式系統(tǒng)中軟件的比重越來越大,而對嵌入式系統(tǒng)軟件的可靠性,安全性,準(zhǔn)確性和穩(wěn)定性的要求也日趨嚴(yán)格。同時硬件發(fā)展的日益穩(wěn)定,而軟件故障卻日益突出,因此對嵌入式系統(tǒng)的軟件測試的重要性引起人們的高度重視。軟件測試的方法和技術(shù)是多種多樣的,可以從不同的角度來分類。從是否需要執(zhí)行被測軟件的角度來看,可分為靜態(tài)測試和動態(tài)測試;從測試是否針對系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實現(xiàn)算法的角度來看,可分為白盒測試和黑盒測試。黑盒測試的主要測試依據(jù)是軟件需求。它著眼于軟件的外部結(jié)構(gòu),不考慮程序的邏輯結(jié)構(gòu)和內(nèi)部特性,僅依據(jù)軟件的需求規(guī)格說明書,在軟件界面上檢查程序的功能是否符合要求。自動化測試是使用自動化測試的工具對軟件單元或功能組件及整個系統(tǒng)集成起來進(jìn)行整體的測試。這種測試方法主要將注意力集中在利用自動測試工具來幫助提高那些費(fèi)勞力的測試的效率,從而提高軟件質(zhì)量。自動化測試流程至少應(yīng)包含以下兩個條件1、詳細(xì)的測試用例根據(jù)業(yè)務(wù)功能需求和設(shè)計文檔編寫的測試用例包含可預(yù)料的預(yù)期結(jié)果2、獨(dú)立的測試環(huán)境包含可恢復(fù)測試資料的測試環(huán)境,以便在應(yīng)用程序每次更替后可以重復(fù)執(zhí)行這些預(yù)先編寫好的測試用例。大多數(shù)軟件測試方法都可以直接或間接地用于嵌入式軟件的測試,但是由于操作系統(tǒng)的實時和嵌入式特性,嵌入式軟件測試也面臨一些特殊的問題。雖然日前已經(jīng)有一些針對嵌入式軟件的測試和調(diào)試工具,但是在有些方面仍存在不足,包括許多任務(wù)操作系統(tǒng)的并發(fā)、非侵入式的測試和調(diào)試、嵌入式系統(tǒng)的軟件抽象等。對于嵌入式軟件測試技術(shù)的研究人選測試工具有待開發(fā),仍須要做很多進(jìn)一步的工作。嵌入式軟件的整個工作過程按照事先定義的流程自動運(yùn)行,一般沒有人工干預(yù)。對這類軟件的故障一般無法準(zhǔn)確定位。為進(jìn)一步驗證軟件的功能,性能,可靠性和安全性等指標(biāo),就需要其進(jìn)行確認(rèn)測試。確認(rèn)測試又稱為有效性測試。它的任務(wù)是驗證軟件的功能和性能及其他特性是否與用戶的要求一致。通過集成測試之后,軟件已完全組裝起來,接口方面的錯誤也已排除,確認(rèn)測試即可開始。確認(rèn)測試應(yīng)檢查軟件能否按合同要求進(jìn)行工作,即是否滿足軟件需求說明書中的確認(rèn)標(biāo)準(zhǔn)。同時,對軟件的真他需求,如可移植性、兼容性、出錯自動恢復(fù)、可維護(hù)性等,都要進(jìn)行測試,確認(rèn)是否滿足要求?,F(xiàn)有的對嵌入式軟件確認(rèn)測試通常需要確定測試規(guī)程、設(shè)計測試用例、準(zhǔn)備測試環(huán)境等過程。其測試方法主要是用一套仿真器測試環(huán)境,將編寫好的測試用例按照實現(xiàn)定義的規(guī)則在仿真器環(huán)境上執(zhí)行,并通過相應(yīng)的接口對被測目標(biāo)進(jìn)行激勵。因此從本質(zhì)上來說,這是一種黑盒測試。目前航空航天嵌入式軟件確認(rèn)測試的測試環(huán)境主要有以下幾種,一種是通常的硬件仿真測試環(huán)境;另一種是數(shù)字仿真測試環(huán)境。硬件仿真測試環(huán)境由于對不同的型號軟件不能通用,常常造成測試工作不能順利完成。全數(shù)字仿真測試環(huán)境就是使用計算機(jī)仿真的方式,構(gòu)造嵌入式軟件運(yùn)行所需要的硬件環(huán)境及外部數(shù)據(jù)源,構(gòu)成全數(shù)字的嵌入式軟件運(yùn)行環(huán)境,并在此環(huán)境上進(jìn)行各種測試工作?,F(xiàn)有的嵌入式軟件數(shù)字仿真測試環(huán)境主要包括dSPACE和RT-LAB半實物仿真測試平臺。這些測試環(huán)境的共同特點(diǎn)是通過實時運(yùn)行的系統(tǒng)模型作為被測軟件的控制對象模擬。然后通過在模型中加入需要運(yùn)行的測試用例,通過驅(qū)動仿真測試平臺上的對應(yīng)的I/O與通訊接口來激勵被測目標(biāo)機(jī)上的軟件,并采集被測目標(biāo)機(jī)軟件的反饋控制信號。但是,這樣的半實物仿真測試平臺在使用中存在著如下不足a)自動化測試過程不直觀在dSPACE和RT-LAB半實物仿真測試平臺上,都需要編輯系統(tǒng)仿真模型。這些模型都是用Simulink來搭建,并將其轉(zhuǎn)化為實時平臺上運(yùn)行的代碼。這說明半實物仿真測試平臺更側(cè)重于系統(tǒng)的動力學(xué)與控制建模,但還缺乏對交聯(lián)的被測控制器及其軟件的開環(huán)測試能力與故障注入能力。不能很好的實現(xiàn)自動化測試。b)缺乏對測試用例的管理能力無論是dSPACE還是RT-LAB,都是側(cè)重于對被測軟件的控制對象系統(tǒng)的模擬。它們?nèi)狈y試用例的編輯,組織和執(zhí)行的管理能力。在使用中,沒有一個清晰的界面去控制怎樣將測試用例按照測試計劃規(guī)定的順序和時刻執(zhí)行。
發(fā)明內(nèi)容本發(fā)明需要解決的技術(shù)問題是提供了一種嵌入式軟件自動化測試方法,旨在解決上述的問題。為了解決上述技術(shù)問題,本發(fā)明是通過以下步驟實現(xiàn)的編輯并建立測試用例庫;在流程圖編輯界面中建立測試流程框架;根據(jù)測試任務(wù)需求,在測試流程圖中插入各種測試用例;利用腳本生成器將編輯的流程圖轉(zhuǎn)換為仿真測試平臺上的測試序列;驅(qū)動仿真測試平臺上的I/O與通訊接口,激勵被測軟件并接收回饋控制信號。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是由于采用流程圖方式調(diào)度測試用例,可方便的描述被測軟件的運(yùn)行流程,對測試用例進(jìn)行有效管理,方便進(jìn)行自動化確認(rèn)測試;不需要進(jìn)行Simulink的建模工作,直接用流程圖表示測試流程。可以進(jìn)行開環(huán)測試與閉環(huán)測試;可以通過不斷地加入接口模型來形成功能強(qiáng)大的外圍環(huán)境仿真庫及接口模塊庫,以減少后續(xù)的二次開發(fā),使資源重復(fù)利用。圖1是整個軟件測試系統(tǒng)組成;圖2是采用本發(fā)明應(yīng)用在一個具體實施例中步驟2的流程圖3是采用本發(fā)明應(yīng)用在一個具體實施例中步驟3的流程圖。具體實施例方式下面結(jié)合附圖和具體實施方式對本發(fā)明作進(jìn)一步詳細(xì)描述本發(fā)明在半實物仿真測試平臺的基礎(chǔ)上,加入了流程圖方式的測試用例管理功能。本發(fā)明是通過以下步驟實現(xiàn)的1.編輯并建立測試用例庫;2.在流程圖編輯界面中建立測試流程框架;3.根據(jù)測試任務(wù)需求,在測試流程圖中插入各種測試用例;4.利用腳本生成器將編輯的流程圖轉(zhuǎn)換為仿真測試平臺上的測試序列;5.驅(qū)動仿真測試平臺上的I/O與通訊接口,激勵被測軟件并接收回饋控制信號。制定測試用例根據(jù)測試方案的要求,設(shè)計各種測試用例。測試用例分為以下幾類-常規(guī)功能測試這類測試用例是用于測試功能好壞的常規(guī)測試,根據(jù)《軟件需求規(guī)格文檔》編制。由于是在半實物環(huán)境下工作,故這些測試用例偏重于I/O與通訊接口的測試。-性能測試這類性能測試側(cè)重于對被測軟件的注入某種指令的激勵,然后通過接收到的控制信號來估算被測軟件的相應(yīng)速度。-邊界測試確定輸入和輸出參數(shù)時,大多數(shù)情況下都是用邊界值分析方法,采用邊界值分析設(shè)計的測試用例發(fā)現(xiàn)程序錯誤能力最強(qiáng)。-異常和故障注入對可能的輸入?yún)?shù)故障,操作故障,以及可能的通訊故障的模擬。上述的測試用例用腳本語言做成功能模塊的方式,存儲成為測試用例庫,可以從樹形列表中瀏覽。編制測試流程圖編制基于狀態(tài)機(jī)的測試流程圖,主要關(guān)注在測試狀態(tài)轉(zhuǎn)移的正確性。流程圖編輯器以圖形的方式與用戶交互。用戶只需要簡單地添加相應(yīng)的圖塊并對該圖塊作一些基本設(shè)置,可以通過腳本產(chǎn)生工具轉(zhuǎn)換成測試腳本,然后在仿真測試平臺上順序執(zhí)行。從圖塊的種類分,流程圖主要有兩大類第一、一般圖塊這類圖塊包括類似于一般流程圖的起始塊、執(zhí)行塊、判斷塊,內(nèi)部沒有特殊的設(shè)置,具體的函數(shù)體需要用戶手動輸入。第二、特殊圖塊這類圖塊是面向一些特定的應(yīng)用,內(nèi)部已經(jīng)嵌入了特定功能體,不需要用戶輸入函數(shù)體,只要作少許的設(shè)置即可。如打開串口、串口數(shù)據(jù)發(fā)送、接受等。從組合分,也主要有六類第一、無組合。這類圖塊以單體的形式進(jìn)行添加、刪除等操作。第二、F0R組合。這類圖塊以一整塊For結(jié)構(gòu)出現(xiàn),用戶只能在內(nèi)部適當(dāng)?shù)牡胤竭M(jìn)5行添加、刪除等操作。第三、IF組合。第四、D0…..WHILE組合。第五、WHILE....DO組合。第六、SWITCH組合。流程圖的操作方法。用戶每添加一個視圖就相當(dāng)于添加了一個功能函數(shù)。在視圖的起始頁面處,系統(tǒng)會自動添加一個Start和End的起始和停止塊以及它們之間的連接線。在流程圖中添加測試用例添加完成后,雙擊該圖塊進(jìn)入編輯界面,可以對其相應(yīng)的參數(shù)進(jìn)行設(shè)置或者直接輸入相應(yīng)的測試用例以及相應(yīng)的參數(shù)。由于測試用例是以腳本語言的功能模塊方式實現(xiàn)的。因此很容易在流程圖中加入測試用例。自動化測試的運(yùn)行如圖1所示將上述過程產(chǎn)生的流程圖框架中的測試用例通過腳本語言產(chǎn)生工具轉(zhuǎn)換成腳本語言,然后可以通過TCP/IP上傳到仿真測試平臺服務(wù)器上。測試腳本序列在運(yùn)行時,通過驅(qū)動仿真測試平臺上的1/0驅(qū)動與通訊接口,與被測軟件進(jìn)行通訊。激勵被測軟件做出各種響應(yīng)。在測試過程中產(chǎn)生的數(shù)據(jù)可以有選擇性地對其進(jìn)行保存,方便事后分析。以下根據(jù)采用上述方法進(jìn)行的實際測試應(yīng)用來說明上述方法的應(yīng)用步驟。測試對象采用某型號彈載計算機(jī)作為被測對象(UUT)。測試計算機(jī)通過RS422串口與彈載機(jī)進(jìn)行交互。測試計算機(jī)的自動測試通過流程圖來組織。流程圖的每個流程對應(yīng)彈載機(jī)控制軟件的軟件流程。測試用例在測試流程圖中嵌入。測試用例中對發(fā)送數(shù)據(jù)幀進(jìn)行管理。測試用例實現(xiàn)的功能基本涵蓋上文中提到的各種測試功能。測試過程步驟一根據(jù)彈載機(jī)的輸入/輸出信號確定數(shù)據(jù)結(jié)構(gòu)。發(fā)送數(shù)據(jù)結(jié)構(gòu)假設(shè)為Tl,接收數(shù)據(jù)結(jié)構(gòu)假設(shè)為Rl。步驟二根據(jù)彈載機(jī)的正常工作過程和測試用例加載點(diǎn),將彈載機(jī)的正常運(yùn)行過程劃分為N個階段,每個階段運(yùn)行前首先需要加載相應(yīng)的測試用例,并且該測試用例可能會影響其后的若干階段。在流程的第一階段,幾個典型的測試用例示意如下<table>tableseeoriginaldocumentpage6</column></row><table>性能測試對應(yīng)的性能時間指標(biāo)t=tr-ts。以上測試用例在測試流程圖中可以控制循環(huán)注入。測試用例的加載是自動進(jìn)行的。每個測試用例加載后,程序運(yùn)行完,控制UUT是其運(yùn)行程序自動巻回,運(yùn)行下一個測試用例,直到所有測試用例運(yùn)行完成。步驟三以各個加載過程作為子程序,利用流程圖將其全部實現(xiàn)。步驟四將流程圖轉(zhuǎn)換成腳本并上傳到軟件測試環(huán)境計算機(jī)運(yùn)行,得到各種測試用例下的彈載機(jī)運(yùn)行數(shù)據(jù)和狀態(tài)信息,并在界面圖表中對這些信息進(jìn)行分析。權(quán)利要求一種嵌入式軟件自動化測試方法,是通過以下步驟實現(xiàn)的編輯并建立測試用例庫;在流程圖編輯界面中建立測試流程框架;根據(jù)測試任務(wù)需求,在測試流程圖中插入各種測試用例;利用腳本生成器將編輯的流程圖轉(zhuǎn)換為仿真測試平臺上的測試序列;驅(qū)動仿真測試平臺上的I/O與通訊接口,激勵被測軟件并接收回饋控制信號。全文摘要本發(fā)明涉及一種嵌入式軟件自動化測試方法,是通過以下步驟實現(xiàn)的編輯并建立測試用例庫;在流程圖編輯界面中建立測試流程框架;根據(jù)測試任務(wù)需求,在測試流程圖中插入各種測試用例;利用腳本生成器將編輯的流程圖轉(zhuǎn)換為仿真測試平臺上的測試序列;驅(qū)動仿真測試平臺上的I/O與通訊接口,激勵被測軟件并接收回饋控制信號;本發(fā)明的有益效果是可以進(jìn)行開環(huán)測試與閉環(huán)測試;可以通過不斷地加入接口模型來形成功能強(qiáng)大的外圍環(huán)境仿真庫及接口模塊庫,以減少后續(xù)的二次開發(fā),使資源重復(fù)利用。文檔編號G06F11/36GK101739334SQ20081020310公開日2010年6月16日申請日期2008年11月21日優(yōu)先權(quán)日2008年11月21日發(fā)明者鄒毅軍申請人:上??屏盒畔⒐こ逃邢薰?
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
乌鲁木齐县| 芦山县| 屏东县| 淮安市| 睢宁县| 泽库县| 永顺县| 荃湾区| 夏河县| 涞源县| 云龙县| 宝应县| 朝阳区| 香港| 临汾市| 库尔勒市| 台江县| 平原县| 大丰市| 合江县| 武宁县| 思茅市| 定边县| 盘锦市| 平顺县| 雅安市| 屏南县| 河津市| 磴口县| 东港市| 深水埗区| 宝坻区| 竹山县| 壶关县| 秭归县| 上饶市| 沂水县| 光泽县| 新民市| 南和县| 南开区|