前言:想要寫出一篇引人入勝的文章?我們特意為您整理了嵌入式操作系統(tǒng)快速測(cè)試系統(tǒng)設(shè)計(jì)范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。
摘要:當(dāng)前嵌入式系統(tǒng)測(cè)試大多是對(duì)測(cè)試用例單獨(dú)編碼,通過(guò)仿真器逐一調(diào)試完成,效率較低。為提高嵌入式操作系統(tǒng)的測(cè)試效率,提出了一種通過(guò)在PC端界面操作快速編輯用例、目標(biāo)板卡端統(tǒng)一的處理執(zhí)行測(cè)試用例、簡(jiǎn)潔高效的通訊報(bào)文、測(cè)試信息采集、測(cè)試用例可重用且支持快速保存導(dǎo)入、自動(dòng)識(shí)別測(cè)試結(jié)果等功能軟件,實(shí)現(xiàn)嵌入式操作系統(tǒng)快捷高效的測(cè)試方法。解決現(xiàn)有嵌入式系統(tǒng)測(cè)試效率較慢的問(wèn)題,有效地提高了測(cè)試效率和質(zhì)量,減少因測(cè)試用例編碼錯(cuò)誤而引起的測(cè)試錯(cuò)誤。
關(guān)鍵詞:嵌入式系統(tǒng);快速測(cè)試;界面編輯用例;自動(dòng)識(shí)別;用例可重用
隨著科技的發(fā)展,芯片領(lǐng)域技術(shù)日新月異,嵌入式操作系統(tǒng)也迎來(lái)爆發(fā)式的發(fā)展。目前嵌入式操作系統(tǒng)廣泛應(yīng)用于航空、電力、軌道交通等各個(gè)行業(yè),不同廠家的嵌入式操作系統(tǒng)是否穩(wěn)定可靠急需有效的測(cè)試檢測(cè)加以保證。傳統(tǒng)的測(cè)試手段,需要大量的測(cè)試編碼和調(diào)試,且由于操作系統(tǒng)結(jié)構(gòu)復(fù)雜,測(cè)試用例屢屢出現(xiàn)編碼的失誤造成的測(cè)試失效的問(wèn)題,效率低、測(cè)試結(jié)果可信度低,難以滿足當(dāng)前環(huán)境下的測(cè)試需求。本文提供一種嵌入式操作系統(tǒng)快速測(cè)試方法及系統(tǒng),通過(guò)在PC端界面操作、快速編輯測(cè)試用例、目標(biāo)板卡端統(tǒng)一處理執(zhí)行測(cè)試用例的方式,實(shí)現(xiàn)了嵌入式操作系統(tǒng)的快速測(cè)試。其中測(cè)試系統(tǒng)PC端與目標(biāo)板卡端采用簡(jiǎn)潔高效的通訊報(bào)文通訊,測(cè)試用例采用XML腳本實(shí)現(xiàn)測(cè)試用例的快速導(dǎo)入和保存功能,測(cè)試信息逐一采集,統(tǒng)一回收,并且能夠自動(dòng)識(shí)別測(cè)試結(jié)果。測(cè)試系統(tǒng)免除了復(fù)雜的用例編碼過(guò)程,以及仿真器調(diào)試過(guò)程,有效地提高了測(cè)試效率,減少因用例編碼錯(cuò)誤而引起的測(cè)試錯(cuò)誤。
1測(cè)試系統(tǒng)框架設(shè)計(jì)
現(xiàn)有的軟件測(cè)試分為白盒測(cè)試以及黑盒測(cè)試,而白盒測(cè)試又分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試[1]。本測(cè)試系統(tǒng)采用“白+黑”的動(dòng)態(tài)測(cè)試模式,即軟硬件結(jié)合的集成動(dòng)態(tài)測(cè)試模式。測(cè)試系統(tǒng)硬件由嵌入式系統(tǒng)目標(biāo)板卡、PC機(jī)、串口和網(wǎng)口線組成。測(cè)試系統(tǒng)軟件組成:目標(biāo)板卡端:測(cè)試流程處理軟件、網(wǎng)口接收發(fā)送軟件、串口處理軟件、報(bào)文協(xié)議解幀軟件。PC機(jī)端:網(wǎng)口報(bào)文收發(fā)軟件、組幀軟件、用例編輯軟件、用例處理保存軟件、測(cè)試信息收集軟件。整體結(jié)構(gòu)設(shè)計(jì)見圖1。測(cè)試系統(tǒng)具有以下特點(diǎn):1)快速的測(cè)試用例編輯方法,通過(guò)PC端界面操作實(shí)現(xiàn)測(cè)試用例快速編輯。2)測(cè)試用例采用XML格式腳本,實(shí)現(xiàn)了測(cè)試用例快速保存、導(dǎo)入,以及測(cè)試結(jié)果與預(yù)期結(jié)果自動(dòng)比對(duì)識(shí)別。3)統(tǒng)一穩(wěn)定的處理流程。目標(biāo)板卡端采用統(tǒng)一的處理流程,免除了由人工測(cè)試用例編碼失誤導(dǎo)致的測(cè)試問(wèn)題。4)采用了簡(jiǎn)潔而高效的通訊報(bào)文格式,實(shí)現(xiàn)測(cè)試用例注入解析處理,并且滿足多任務(wù)同步執(zhí)行的測(cè)試需求。5)獨(dú)立處理的測(cè)試信息采集系統(tǒng),逐一采集統(tǒng)一回收,減少由于測(cè)試信息收集對(duì)測(cè)試結(jié)果的干擾。
2目標(biāo)板卡系統(tǒng)設(shè)計(jì)
常見的嵌入式操作系統(tǒng)由硬件CPU內(nèi)核個(gè)數(shù),可分為單核系統(tǒng)以及多核系統(tǒng),為保證多核系統(tǒng)同步與互斥功能測(cè)試的有效性,以及測(cè)試的靈活性,測(cè)試系統(tǒng)采用了多任務(wù)用例設(shè)置。測(cè)試系統(tǒng)支持每一個(gè)用例多任務(wù)同步運(yùn)行,每一個(gè)任務(wù)允許執(zhí)行多個(gè)接口函數(shù),滿足測(cè)試用例編輯的靈活性,保證測(cè)試的全面性。具體實(shí)現(xiàn)方法如下:首先,對(duì)目標(biāo)操作系統(tǒng)各個(gè)接口函數(shù)做標(biāo)準(zhǔn)化、信息化封裝。把操作系統(tǒng)各個(gè)接口函數(shù)標(biāo)準(zhǔn)化命名封裝,不同操作系統(tǒng)在此處封裝后即可開展測(cè)試。封裝函數(shù)記錄系統(tǒng)函數(shù)參數(shù),以及系統(tǒng)函數(shù)返回值等測(cè)試信息并保存,方便其它接口函數(shù)調(diào)用。其次,對(duì)上述封裝后的接口函數(shù)統(tǒng)一編號(hào),編號(hào)作為接口函數(shù)唯一的識(shí)別標(biāo)志。封裝后的函數(shù)參數(shù)統(tǒng)一為字符串指針,在函數(shù)內(nèi)部解析該字符串對(duì)應(yīng)系統(tǒng)接口各個(gè)參數(shù),并加以判別,如有異常,記錄錯(cuò)誤信息并返回。對(duì)封裝后的各個(gè)函數(shù)接口以函數(shù)指針的形式做函數(shù)指針數(shù)組。最后,把接收PC端的測(cè)試用例報(bào)文解析出來(lái),對(duì)應(yīng)創(chuàng)建各個(gè)線程,以及各個(gè)線程所執(zhí)行的各個(gè)函數(shù)和參數(shù),以字符串的形式分別傳遞給各個(gè)封裝后的接口函數(shù),并且對(duì)應(yīng)執(zhí)行,把測(cè)試信息收集返回給PC端。
3報(bào)文協(xié)議設(shè)計(jì)
通信協(xié)議是通信系統(tǒng)的基礎(chǔ),一個(gè)好的通信協(xié)議必須確保系統(tǒng)間信息傳輸?shù)陌踩?、可靠性、迅速性?]。因?yàn)闇y(cè)試系統(tǒng)采用PC端與目標(biāo)板卡直連的方式,排除了其它源的干擾,所以簡(jiǎn)潔、高效是本報(bào)文協(xié)議設(shè)計(jì)主要考慮的因素。為保證多任務(wù)用例同時(shí)運(yùn)行,必須保證報(bào)文簡(jiǎn)潔,解析高效快速,測(cè)試用例報(bào)文采用依賴TCP/IP數(shù)據(jù)流通訊協(xié)議的獨(dú)立的報(bào)文協(xié)議設(shè)計(jì),達(dá)到快速組幀、快速解析的目的。報(bào)文設(shè)計(jì)包含測(cè)試用例所有信息,如報(bào)文頭、測(cè)試所需創(chuàng)建任務(wù)個(gè)數(shù)、任務(wù)編號(hào)、當(dāng)前任務(wù)信息長(zhǎng)度、當(dāng)前任務(wù)執(zhí)行函數(shù)接口個(gè)數(shù)、函數(shù)編號(hào)、函數(shù)參數(shù)、函數(shù)返回值、任務(wù)編號(hào)……以此類推直至包含所有用例信息。具體設(shè)計(jì)見表1。
4例編輯界面與用例腳本設(shè)計(jì)
界面設(shè)計(jì)也稱UI設(shè)計(jì)(UserInterface),通過(guò)有效的UI設(shè)計(jì),能夠讓相關(guān)的軟件質(zhì)量顯著提升,也能進(jìn)一步提升軟件應(yīng)用的便利性,提升操作的人性化設(shè)計(jì)[3]。測(cè)試系統(tǒng)界面設(shè)計(jì)采用VS2010加Qt工具開發(fā)設(shè)計(jì),Qt圖形界面仿真包包含了非常成熟的圖形接口函數(shù)庫(kù)。采用Qt設(shè)計(jì)界面移植性強(qiáng)、易用性高并且運(yùn)行速度快,有效降低后期運(yùn)行維護(hù)成本。用例編輯界面設(shè)計(jì)優(yōu)先考慮用例編輯的簡(jiǎn)單易用性。測(cè)試系統(tǒng)采用測(cè)試用例動(dòng)態(tài)創(chuàng)建、刪除、保存,用例任務(wù)動(dòng)態(tài)創(chuàng)建等統(tǒng)一標(biāo)準(zhǔn)化的模式,減少操作的復(fù)雜性,使測(cè)試用例的編輯簡(jiǎn)單而高效。測(cè)試用例任務(wù)中接口函數(shù)設(shè)置采用高度開放的自定義模式,滿足測(cè)試用例的個(gè)性化設(shè)計(jì),并且開放了異常用例的用例編輯,使測(cè)試更具廣度和深度。測(cè)試用例中每一個(gè)執(zhí)行函數(shù)都有預(yù)期結(jié)果判別,對(duì)函數(shù)返回值與預(yù)期結(jié)果作比對(duì),實(shí)現(xiàn)部分用例的自動(dòng)化測(cè)試。測(cè)試編輯界面見圖2:測(cè)試用例腳本采用XML設(shè)計(jì),XML技術(shù)是一項(xiàng)將類型和結(jié)構(gòu)置于信息上層的技術(shù)。XML可以用來(lái)結(jié)構(gòu)化、存儲(chǔ)和傳輸數(shù)據(jù)。一個(gè)XML文檔就是一組具有一個(gè)或者多個(gè)命名屬性的結(jié)構(gòu)信息項(xiàng)的集合。將XML與腳本相結(jié)合,使用XML作為測(cè)試腳本語(yǔ)言,可以利用XML的簡(jiǎn)明性、平臺(tái)無(wú)關(guān)性以及大量第三方提供的XML分析、開發(fā)和驗(yàn)證工具,高效、快捷地開發(fā)出易維護(hù)、易修改、可重用的腳本[4]。測(cè)試用例腳本按照整個(gè)測(cè)試流程設(shè)計(jì),采用四級(jí)節(jié)點(diǎn)設(shè)計(jì)。以每一個(gè)用例為主節(jié)點(diǎn),每一個(gè)任務(wù)為二級(jí)節(jié)點(diǎn),每個(gè)任務(wù)中執(zhí)行的函數(shù)為三級(jí)節(jié)點(diǎn),每個(gè)函數(shù)的參數(shù)、返回值和預(yù)期結(jié)果為原子節(jié)點(diǎn)。采用四級(jí)節(jié)點(diǎn)設(shè)計(jì)用例腳本,使測(cè)試用例腳本的保存和讀取更加簡(jiǎn)潔高效。測(cè)試用例腳本實(shí)例見圖3:
5測(cè)試用例設(shè)計(jì)和測(cè)試實(shí)例
測(cè)試用例設(shè)計(jì),分為黑盒測(cè)試用例設(shè)計(jì)和白盒測(cè)試用例設(shè)計(jì)。黑盒測(cè)試用例設(shè)計(jì)又分為等價(jià)類劃分法、邊界值劃分法、錯(cuò)誤推測(cè)法、因果圖法等,而白盒測(cè)試用例設(shè)計(jì)方法又分為邏輯覆蓋法和基本路徑覆蓋法,或者分為語(yǔ)句覆蓋、判定覆蓋、條件覆蓋方法。可以根據(jù)不同的測(cè)試需求采用不同的測(cè)試方法。我們以NucleusPLUS系統(tǒng)計(jì)數(shù)信號(hào)量接口測(cè)試為例,每一個(gè)系統(tǒng)調(diào)用都作為一個(gè)測(cè)試項(xiàng),采用等價(jià)類劃分、邊界值等方法分別設(shè)計(jì)測(cè)試用例。將信號(hào)量看成一種資源,隨著信號(hào)量的創(chuàng)建、申請(qǐng)、釋放、刪除等事件的發(fā)生,信號(hào)量資源的狀態(tài)處于不斷的變化過(guò)程中,信號(hào)量狀態(tài)變化路徑是無(wú)窮盡的,從中提取出“基路徑”來(lái)設(shè)計(jì)測(cè)試用例。具體用例設(shè)計(jì)如下:1)用例設(shè)計(jì)兩個(gè)任務(wù)分別為任務(wù)A、任務(wù)B。2)任務(wù)A創(chuàng)建計(jì)數(shù)信號(hào)量M,申請(qǐng)計(jì)數(shù)信號(hào)量N,釋放計(jì)數(shù)信號(hào)量N,刪除計(jì)數(shù)信號(hào)量M。3)任務(wù)B創(chuàng)建計(jì)數(shù)信號(hào)量N,申請(qǐng)計(jì)數(shù)信號(hào)量M,釋放計(jì)數(shù)信號(hào)量M,刪除計(jì)數(shù)信號(hào)量N。用例執(zhí)行過(guò)程見圖4:通過(guò)界面設(shè)計(jì)的測(cè)試用例,經(jīng)報(bào)文組幀軟件組幀后,通過(guò)網(wǎng)口下發(fā)給目標(biāo)板卡系統(tǒng)端。上述測(cè)試用例組幀后的報(bào)文見表2。測(cè)試用例通過(guò)測(cè)試系統(tǒng)解幀執(zhí)行,最終把測(cè)試信息返回至PC端軟件,結(jié)果見圖5。與傳統(tǒng)測(cè)試用例編輯相比,測(cè)試系統(tǒng)的測(cè)試效率至少提高了五倍,并且避免了由于測(cè)試用例編碼失誤造成的測(cè)試失效等問(wèn)題。在保障測(cè)試質(zhì)量的同時(shí),大大提升了測(cè)試效率。
6結(jié)束語(yǔ)
嵌入式操作系統(tǒng)一般具有實(shí)時(shí)性強(qiáng)、外部交互復(fù)雜、依賴特定硬件平臺(tái)、系統(tǒng)資源貧乏等特點(diǎn),這些特點(diǎn)導(dǎo)致嵌入式軟件測(cè)試難度較大,測(cè)試手段比較特殊,使測(cè)試工作面臨很大的挑戰(zhàn)[5]。本文介紹了一種嵌入式操作系統(tǒng)快速測(cè)試的設(shè)計(jì)和實(shí)現(xiàn),包括測(cè)試用例的快速編輯、保存以及部分功能的自動(dòng)測(cè)試,但是仍有一些不足,例如如何精確掌控每一個(gè)任務(wù)執(zhí)行的時(shí)間點(diǎn)等。
參考文獻(xiàn):
[1]張瑋.淺析白盒測(cè)試和黑盒測(cè)試[J].無(wú)線互聯(lián)科技,2013(6):136
[2]鄭璇.“UI設(shè)計(jì)”課程教學(xué)內(nèi)容和課程體系改革研究[J].科教文匯(中旬刊),2019(10):96-97
[3]何歡,徐中偉,喻鋼,等.基于XML的安全苛求系統(tǒng)測(cè)試腳本生成[J].計(jì)算機(jī)應(yīng)用,2011,31(1):281-285
[4]席光清,馮漢華,許曉鳴,等.一個(gè)電力系統(tǒng)通信協(xié)議仿真器的設(shè)計(jì)[J].微計(jì)算機(jī)信息,1997(1):15-18
[5]張建偉,葉東升.嵌入式系統(tǒng)測(cè)試的發(fā)展[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011,11(2):5-7
作者:王振 張超永 李亞爽 劉靜靜 李國(guó)杰 韓悅 單位:許繼電氣股份有限公司