公務(wù)員期刊網(wǎng) 論文中心 正文

嵌入式操作系統(tǒng)快速測試系統(tǒng)設(shè)計

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了嵌入式操作系統(tǒng)快速測試系統(tǒng)設(shè)計范文,希望能給你帶來靈感和參考,敬請閱讀。

嵌入式操作系統(tǒng)快速測試系統(tǒng)設(shè)計

摘要:當(dāng)前嵌入式系統(tǒng)測試大多是對測試用例單獨編碼,通過仿真器逐一調(diào)試完成,效率較低。為提高嵌入式操作系統(tǒng)的測試效率,提出了一種通過在PC端界面操作快速編輯用例、目標(biāo)板卡端統(tǒng)一的處理執(zhí)行測試用例、簡潔高效的通訊報文、測試信息采集、測試用例可重用且支持快速保存導(dǎo)入、自動識別測試結(jié)果等功能軟件,實現(xiàn)嵌入式操作系統(tǒng)快捷高效的測試方法。解決現(xiàn)有嵌入式系統(tǒng)測試效率較慢的問題,有效地提高了測試效率和質(zhì)量,減少因測試用例編碼錯誤而引起的測試錯誤。

關(guān)鍵詞:嵌入式系統(tǒng);快速測試;界面編輯用例;自動識別;用例可重用

隨著科技的發(fā)展,芯片領(lǐng)域技術(shù)日新月異,嵌入式操作系統(tǒng)也迎來爆發(fā)式的發(fā)展。目前嵌入式操作系統(tǒng)廣泛應(yīng)用于航空、電力、軌道交通等各個行業(yè),不同廠家的嵌入式操作系統(tǒng)是否穩(wěn)定可靠急需有效的測試檢測加以保證。傳統(tǒng)的測試手段,需要大量的測試編碼和調(diào)試,且由于操作系統(tǒng)結(jié)構(gòu)復(fù)雜,測試用例屢屢出現(xiàn)編碼的失誤造成的測試失效的問題,效率低、測試結(jié)果可信度低,難以滿足當(dāng)前環(huán)境下的測試需求。本文提供一種嵌入式操作系統(tǒng)快速測試方法及系統(tǒng),通過在PC端界面操作、快速編輯測試用例、目標(biāo)板卡端統(tǒng)一處理執(zhí)行測試用例的方式,實現(xiàn)了嵌入式操作系統(tǒng)的快速測試。其中測試系統(tǒng)PC端與目標(biāo)板卡端采用簡潔高效的通訊報文通訊,測試用例采用XML腳本實現(xiàn)測試用例的快速導(dǎo)入和保存功能,測試信息逐一采集,統(tǒng)一回收,并且能夠自動識別測試結(jié)果。測試系統(tǒng)免除了復(fù)雜的用例編碼過程,以及仿真器調(diào)試過程,有效地提高了測試效率,減少因用例編碼錯誤而引起的測試錯誤。

1測試系統(tǒng)框架設(shè)計

現(xiàn)有的軟件測試分為白盒測試以及黑盒測試,而白盒測試又分為靜態(tài)測試和動態(tài)測試[1]。本測試系統(tǒng)采用“白+黑”的動態(tài)測試模式,即軟硬件結(jié)合的集成動態(tài)測試模式。測試系統(tǒng)硬件由嵌入式系統(tǒng)目標(biāo)板卡、PC機(jī)、串口和網(wǎng)口線組成。測試系統(tǒng)軟件組成:目標(biāo)板卡端:測試流程處理軟件、網(wǎng)口接收發(fā)送軟件、串口處理軟件、報文協(xié)議解幀軟件。PC機(jī)端:網(wǎng)口報文收發(fā)軟件、組幀軟件、用例編輯軟件、用例處理保存軟件、測試信息收集軟件。整體結(jié)構(gòu)設(shè)計見圖1。測試系統(tǒng)具有以下特點:1)快速的測試用例編輯方法,通過PC端界面操作實現(xiàn)測試用例快速編輯。2)測試用例采用XML格式腳本,實現(xiàn)了測試用例快速保存、導(dǎo)入,以及測試結(jié)果與預(yù)期結(jié)果自動比對識別。3)統(tǒng)一穩(wěn)定的處理流程。目標(biāo)板卡端采用統(tǒng)一的處理流程,免除了由人工測試用例編碼失誤導(dǎo)致的測試問題。4)采用了簡潔而高效的通訊報文格式,實現(xiàn)測試用例注入解析處理,并且滿足多任務(wù)同步執(zhí)行的測試需求。5)獨立處理的測試信息采集系統(tǒng),逐一采集統(tǒng)一回收,減少由于測試信息收集對測試結(jié)果的干擾。

2目標(biāo)板卡系統(tǒng)設(shè)計

常見的嵌入式操作系統(tǒng)由硬件CPU內(nèi)核個數(shù),可分為單核系統(tǒng)以及多核系統(tǒng),為保證多核系統(tǒng)同步與互斥功能測試的有效性,以及測試的靈活性,測試系統(tǒng)采用了多任務(wù)用例設(shè)置。測試系統(tǒng)支持每一個用例多任務(wù)同步運行,每一個任務(wù)允許執(zhí)行多個接口函數(shù),滿足測試用例編輯的靈活性,保證測試的全面性。具體實現(xiàn)方法如下:首先,對目標(biāo)操作系統(tǒng)各個接口函數(shù)做標(biāo)準(zhǔn)化、信息化封裝。把操作系統(tǒng)各個接口函數(shù)標(biāo)準(zhǔn)化命名封裝,不同操作系統(tǒng)在此處封裝后即可開展測試。封裝函數(shù)記錄系統(tǒng)函數(shù)參數(shù),以及系統(tǒng)函數(shù)返回值等測試信息并保存,方便其它接口函數(shù)調(diào)用。其次,對上述封裝后的接口函數(shù)統(tǒng)一編號,編號作為接口函數(shù)唯一的識別標(biāo)志。封裝后的函數(shù)參數(shù)統(tǒng)一為字符串指針,在函數(shù)內(nèi)部解析該字符串對應(yīng)系統(tǒng)接口各個參數(shù),并加以判別,如有異常,記錄錯誤信息并返回。對封裝后的各個函數(shù)接口以函數(shù)指針的形式做函數(shù)指針數(shù)組。最后,把接收PC端的測試用例報文解析出來,對應(yīng)創(chuàng)建各個線程,以及各個線程所執(zhí)行的各個函數(shù)和參數(shù),以字符串的形式分別傳遞給各個封裝后的接口函數(shù),并且對應(yīng)執(zhí)行,把測試信息收集返回給PC端。

3報文協(xié)議設(shè)計

通信協(xié)議是通信系統(tǒng)的基礎(chǔ),一個好的通信協(xié)議必須確保系統(tǒng)間信息傳輸?shù)陌踩?、可靠性、迅速性?]。因為測試系統(tǒng)采用PC端與目標(biāo)板卡直連的方式,排除了其它源的干擾,所以簡潔、高效是本報文協(xié)議設(shè)計主要考慮的因素。為保證多任務(wù)用例同時運行,必須保證報文簡潔,解析高效快速,測試用例報文采用依賴TCP/IP數(shù)據(jù)流通訊協(xié)議的獨立的報文協(xié)議設(shè)計,達(dá)到快速組幀、快速解析的目的。報文設(shè)計包含測試用例所有信息,如報文頭、測試所需創(chuàng)建任務(wù)個數(shù)、任務(wù)編號、當(dāng)前任務(wù)信息長度、當(dāng)前任務(wù)執(zhí)行函數(shù)接口個數(shù)、函數(shù)編號、函數(shù)參數(shù)、函數(shù)返回值、任務(wù)編號……以此類推直至包含所有用例信息。具體設(shè)計見表1。

4例編輯界面與用例腳本設(shè)計

界面設(shè)計也稱UI設(shè)計(UserInterface),通過有效的UI設(shè)計,能夠讓相關(guān)的軟件質(zhì)量顯著提升,也能進(jìn)一步提升軟件應(yīng)用的便利性,提升操作的人性化設(shè)計[3]。測試系統(tǒng)界面設(shè)計采用VS2010加Qt工具開發(fā)設(shè)計,Qt圖形界面仿真包包含了非常成熟的圖形接口函數(shù)庫。采用Qt設(shè)計界面移植性強(qiáng)、易用性高并且運行速度快,有效降低后期運行維護(hù)成本。用例編輯界面設(shè)計優(yōu)先考慮用例編輯的簡單易用性。測試系統(tǒng)采用測試用例動態(tài)創(chuàng)建、刪除、保存,用例任務(wù)動態(tài)創(chuàng)建等統(tǒng)一標(biāo)準(zhǔn)化的模式,減少操作的復(fù)雜性,使測試用例的編輯簡單而高效。測試用例任務(wù)中接口函數(shù)設(shè)置采用高度開放的自定義模式,滿足測試用例的個性化設(shè)計,并且開放了異常用例的用例編輯,使測試更具廣度和深度。測試用例中每一個執(zhí)行函數(shù)都有預(yù)期結(jié)果判別,對函數(shù)返回值與預(yù)期結(jié)果作比對,實現(xiàn)部分用例的自動化測試。測試編輯界面見圖2:測試用例腳本采用XML設(shè)計,XML技術(shù)是一項將類型和結(jié)構(gòu)置于信息上層的技術(shù)。XML可以用來結(jié)構(gòu)化、存儲和傳輸數(shù)據(jù)。一個XML文檔就是一組具有一個或者多個命名屬性的結(jié)構(gòu)信息項的集合。將XML與腳本相結(jié)合,使用XML作為測試腳本語言,可以利用XML的簡明性、平臺無關(guān)性以及大量第三方提供的XML分析、開發(fā)和驗證工具,高效、快捷地開發(fā)出易維護(hù)、易修改、可重用的腳本[4]。測試用例腳本按照整個測試流程設(shè)計,采用四級節(jié)點設(shè)計。以每一個用例為主節(jié)點,每一個任務(wù)為二級節(jié)點,每個任務(wù)中執(zhí)行的函數(shù)為三級節(jié)點,每個函數(shù)的參數(shù)、返回值和預(yù)期結(jié)果為原子節(jié)點。采用四級節(jié)點設(shè)計用例腳本,使測試用例腳本的保存和讀取更加簡潔高效。測試用例腳本實例見圖3:

5測試用例設(shè)計和測試實例

測試用例設(shè)計,分為黑盒測試用例設(shè)計和白盒測試用例設(shè)計。黑盒測試用例設(shè)計又分為等價類劃分法、邊界值劃分法、錯誤推測法、因果圖法等,而白盒測試用例設(shè)計方法又分為邏輯覆蓋法和基本路徑覆蓋法,或者分為語句覆蓋、判定覆蓋、條件覆蓋方法??梢愿鶕?jù)不同的測試需求采用不同的測試方法。我們以NucleusPLUS系統(tǒng)計數(shù)信號量接口測試為例,每一個系統(tǒng)調(diào)用都作為一個測試項,采用等價類劃分、邊界值等方法分別設(shè)計測試用例。將信號量看成一種資源,隨著信號量的創(chuàng)建、申請、釋放、刪除等事件的發(fā)生,信號量資源的狀態(tài)處于不斷的變化過程中,信號量狀態(tài)變化路徑是無窮盡的,從中提取出“基路徑”來設(shè)計測試用例。具體用例設(shè)計如下:1)用例設(shè)計兩個任務(wù)分別為任務(wù)A、任務(wù)B。2)任務(wù)A創(chuàng)建計數(shù)信號量M,申請計數(shù)信號量N,釋放計數(shù)信號量N,刪除計數(shù)信號量M。3)任務(wù)B創(chuàng)建計數(shù)信號量N,申請計數(shù)信號量M,釋放計數(shù)信號量M,刪除計數(shù)信號量N。用例執(zhí)行過程見圖4:通過界面設(shè)計的測試用例,經(jīng)報文組幀軟件組幀后,通過網(wǎng)口下發(fā)給目標(biāo)板卡系統(tǒng)端。上述測試用例組幀后的報文見表2。測試用例通過測試系統(tǒng)解幀執(zhí)行,最終把測試信息返回至PC端軟件,結(jié)果見圖5。與傳統(tǒng)測試用例編輯相比,測試系統(tǒng)的測試效率至少提高了五倍,并且避免了由于測試用例編碼失誤造成的測試失效等問題。在保障測試質(zhì)量的同時,大大提升了測試效率。

6結(jié)束語

嵌入式操作系統(tǒng)一般具有實時性強(qiáng)、外部交互復(fù)雜、依賴特定硬件平臺、系統(tǒng)資源貧乏等特點,這些特點導(dǎo)致嵌入式軟件測試難度較大,測試手段比較特殊,使測試工作面臨很大的挑戰(zhàn)[5]。本文介紹了一種嵌入式操作系統(tǒng)快速測試的設(shè)計和實現(xiàn),包括測試用例的快速編輯、保存以及部分功能的自動測試,但是仍有一些不足,例如如何精確掌控每一個任務(wù)執(zhí)行的時間點等。

參考文獻(xiàn):

[1]張瑋.淺析白盒測試和黑盒測試[J].無線互聯(lián)科技,2013(6):136

[2]鄭璇.“UI設(shè)計”課程教學(xué)內(nèi)容和課程體系改革研究[J].科教文匯(中旬刊),2019(10):96-97

[3]何歡,徐中偉,喻鋼,等.基于XML的安全苛求系統(tǒng)測試腳本生成[J].計算機(jī)應(yīng)用,2011,31(1):281-285

[4]席光清,馮漢華,許曉鳴,等.一個電力系統(tǒng)通信協(xié)議仿真器的設(shè)計[J].微計算機(jī)信息,1997(1):15-18

[5]張建偉,葉東升.嵌入式系統(tǒng)測試的發(fā)展[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011,11(2):5-7

作者:王振 張超永 李亞爽 劉靜靜 李國杰 韓悅 單位:許繼電氣股份有限公司

相關(guān)熱門標(biāo)簽