一種測試方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及軟件測試技術(shù)領(lǐng)域,尤其涉及一種基于MATLAB模型的測試方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]隨著軟件測試技術(shù)的發(fā)展,基于MATLAB模型的測試方法應(yīng)用越來越廣泛,特別是當被測目標系統(tǒng)為嵌入式系統(tǒng)時,通過MATLAB模型模擬外圍環(huán)境的輸入輸出,能夠很好的完成對系統(tǒng)的開環(huán)測試、閉環(huán)測試。
[0003]這種測試方法解決了嵌入式被測目標系統(tǒng)難測試的問題,可以通過不同的模型或參數(shù),仿真不同的外圍激勵。外圍激勵可以為系統(tǒng)的實驗數(shù)據(jù),也就是,將系統(tǒng)仿真、試驗等方法獲得的數(shù)據(jù)作為被測目標系統(tǒng)的輸入。這種情況下,這些數(shù)據(jù)被稱為回放數(shù)據(jù)。因為回放數(shù)據(jù)的數(shù)據(jù)量很大,通常存儲于上位機中,在測試過程中,下位機通過以太網(wǎng),按照仿真測試周期,實時與上位機通訊,從上位機讀取回放數(shù)據(jù),然后發(fā)送回放數(shù)據(jù)給被測目標系統(tǒng),再從被測目標系統(tǒng)獲取測試結(jié)果數(shù)據(jù),發(fā)送給上位機,從而完成利用回放數(shù)據(jù)測試被測目標系統(tǒng),并采集測試結(jié)果數(shù)據(jù)的過程。
[0004]但是,由于回放數(shù)據(jù)存儲在上位機中,下位機作為實時操作系統(tǒng),在運行每個仿真測試周期時,讀取回放數(shù)據(jù)都要通過網(wǎng)絡(luò)的方式進行數(shù)據(jù)文件的讀寫,而上位機一般是非實時系統(tǒng),無法保證能夠?qū)崟r響應(yīng)下位機的數(shù)據(jù)讀寫操作,如果仿真測試周期較短,則可能出現(xiàn)上一仿真測試周期需要讀取的數(shù)據(jù)在當前仿真測試周期被讀取到的情況,無法保證數(shù)據(jù)讀取的實時性和準確性,并且,無法滿足對實時性要求較高的被測目標系統(tǒng)的測試需求。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本申請?zhí)峁┝艘环N基于MATLAB模型的測試方法、裝置及系統(tǒng),以解決現(xiàn)有技術(shù)中的測試方法無法保證數(shù)據(jù)讀取的實時性和準確性,并且,無法滿足對實時性要求較高的被測目標系統(tǒng)的測試需求的問題。
[0006]為實現(xiàn)上述目的,本申請?zhí)峁┤缦录夹g(shù)方案:
[0007]—種測試方法,應(yīng)用于MATLAB模型,所述MATLAB模型上預(yù)先編譯有用于讀寫文件的第一函數(shù),所述MATLAB模型運行于下位機預(yù)先分配的第一內(nèi)存區(qū)域中,該方法包括:
[0008]利用所述第一函數(shù)加載回放數(shù)據(jù)到所述第一內(nèi)存區(qū)域中,所述回放數(shù)據(jù)為所述下位機預(yù)先從上位機下載,并存儲于硬盤中的數(shù)據(jù);
[0009]在每一預(yù)設(shè)的測試周期內(nèi),分別執(zhí)行以下測試步驟直到測試過程結(jié)束:
[0010]依據(jù)所述回放數(shù)據(jù)的存儲順序,讀取當前測試周期對應(yīng)的回放數(shù)據(jù);
[0011 ]將所述當前測試周期對應(yīng)的回放數(shù)據(jù)發(fā)送給被測目標系統(tǒng);
[0012]接收所述被測目標系統(tǒng)反饋的當前測試周期的結(jié)果數(shù)據(jù)。
[0013]優(yōu)選的,所述MATLAB模型上還預(yù)先編譯有用于寫內(nèi)存的第二函數(shù)。
[0014]優(yōu)選的,所述測試過程還包括:
[0015]利用所述第二函數(shù),將所述結(jié)果數(shù)據(jù)按照預(yù)設(shè)順序?qū)懭氲诙?nèi)存區(qū)域。
[0016]優(yōu)選的,所述方法還包括:
[0017]將存儲于所述第二內(nèi)存區(qū)域中的各個測試周期的結(jié)果數(shù)據(jù)生成文件,并上傳至上位機。
[0018]優(yōu)選的,所述回放數(shù)據(jù)包括:至少一個子數(shù)據(jù),所述子數(shù)據(jù)按照預(yù)設(shè)順序進行存儲;
[0019]所述依據(jù)所述回放數(shù)據(jù)的存儲順序,讀取當前測試周期對應(yīng)的回放數(shù)據(jù)的過程包括:
[0020]根據(jù)當前測試周期在所有測試周期中的順序,讀取回放數(shù)據(jù)中與其對應(yīng)順序的子數(shù)據(jù)。
[0021]一種測試裝置,所述測試裝置上預(yù)先編譯有用于讀寫文件的第一函數(shù),所述裝置還包括:
[0022]數(shù)據(jù)加載模塊,用于利用所述第一函數(shù)加載回放數(shù)據(jù)到所述第一內(nèi)存區(qū)域中,所述回放數(shù)據(jù)為所述下位機預(yù)先從上位機下載,并存儲于硬盤中的數(shù)據(jù);
[0023]測試模塊,用于在每一預(yù)設(shè)的測試周期內(nèi),執(zhí)行測試直到測試過程結(jié)束;
[0024]所述測試模塊包括:
[0025]測試周期對應(yīng)的回放數(shù)據(jù);
[0026]數(shù)據(jù)發(fā)送單元,用于將所述當前測試周期對應(yīng)的回放數(shù)據(jù)發(fā)送給被測目標系統(tǒng);
[0027]數(shù)據(jù)接收單元,用于接收所述被測目標系統(tǒng)反饋的當前測試周期的結(jié)果數(shù)據(jù)。
[0028]優(yōu)選的,所述裝置上還編譯有用于寫內(nèi)存的第二函數(shù),所述測試模塊還包括:
[0029]數(shù)據(jù)寫入單元,用于利用所述第二函數(shù),將所述結(jié)果數(shù)據(jù)按照預(yù)設(shè)順序?qū)懭氲诙?nèi)存區(qū)域。
[0030]優(yōu)選的,所述裝置還包括:
[0031]數(shù)據(jù)上傳模塊,用于將存儲于所述第二內(nèi)存區(qū)域中的各個測試周期的結(jié)果數(shù)據(jù)生成文件,并上傳至上位機。
[0032]所述上位機上存儲有回放數(shù)據(jù),并編譯包含有用于讀寫文件的第一函數(shù)的MATLAB豐旲型;
[0033]所述下位機從所述上位機下載所述MATLAB模型,并從所述上位機下載回放數(shù)據(jù),并將所述回放數(shù)據(jù)存儲于硬盤中;
[0034]所述下位機運行所述MATLAB模型,利用所述第一函數(shù)加載回放數(shù)據(jù)到所述第一內(nèi)存區(qū)域中,在每一預(yù)設(shè)的測試周期內(nèi),分別執(zhí)行以下測試步驟直到測試過程結(jié)束:依據(jù)所述回放數(shù)據(jù)的存儲順序,讀取當前測試周期對應(yīng)的回放數(shù)據(jù);將所述當前測試周期對應(yīng)的回放數(shù)據(jù)發(fā)送給被測目標系統(tǒng);接收所述被測目標系統(tǒng)反饋的當前測試周期的結(jié)果數(shù)據(jù);
[0035]所述被測目標系統(tǒng)在每一測試周期接收下位機發(fā)送的回放數(shù)據(jù),并反饋對應(yīng)的結(jié)果數(shù)據(jù)。
[0036]優(yōu)選的,所述MATLAB模型上還預(yù)先編譯有用于寫內(nèi)存的第二函數(shù),所述上位機還用于利用所述第二函數(shù),將所述結(jié)果數(shù)據(jù)按照預(yù)設(shè)順序?qū)懭氲诙?nèi)存區(qū)域,待測試過程結(jié)束后,將存儲于所述第二內(nèi)存區(qū)域中的各個測試周期的結(jié)果數(shù)據(jù)生成文件,并上傳至上位機。
[0037]經(jīng)由上述的技術(shù)方案可知,本申請實施例公開的基于MATLAB模型的測試方法中,預(yù)先在MATLAB模型編譯用于讀寫文件的第一函數(shù),上位機下載MATLAB模型到下位機后,利用第一函數(shù),將回放數(shù)據(jù)從下位機的硬盤加載到第一內(nèi)存區(qū)域,然后根據(jù)測試周期,讀取回放數(shù)據(jù)發(fā)送給被測目標系統(tǒng)進行測試。在上述過程中,MATLAB模型讀取的是下位機內(nèi)存區(qū)域的數(shù)據(jù),無需再從上位機獲取,保證了數(shù)據(jù)讀取的實時性和準確性,能夠滿足對實時性要求較高的被測目標系統(tǒng)的測試需求。
【附圖說明】
[0038]為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0039]圖1為本申請實施例公開的測試系統(tǒng)的結(jié)構(gòu)示意圖;
[0040]圖2為本申請實施例公開的測試方法的流程圖;
[0041 ]圖3為本申請實施例公開的又一測試方法的流程圖;
[0042]圖4為本申請實施例公開的測試裝置的結(jié)構(gòu)示意圖;
[0043]圖5為本申請實施例公開的又一測試裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0044]下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)