嵌入式軟件黑盒自動化測試系統(tǒng)及測試方法
【專利摘要】本發(fā)明涉及計算機領(lǐng)域,公開了一種嵌入式軟件黑盒自動化測試系統(tǒng)及測試方法。該測試系統(tǒng)包括:上位機用于自動生成測試腳本,建立與被測系統(tǒng)交聯(lián)的系統(tǒng)的仿真模型,通過下位機將仿真模型與被測系統(tǒng)連接起來,在接收到測試指令后,將與測試指令對應(yīng)的測試腳本調(diào)用至下位機;下位機用于根據(jù)測試腳本對被測系統(tǒng)進(jìn)行測試,并將被測系統(tǒng)的測試數(shù)據(jù)發(fā)回給上位機。該測試系統(tǒng)能夠自動生成測試腳本,提高了測試效率,同時將被測系統(tǒng)納入到一個真實的系統(tǒng)環(huán)境中,將被測系統(tǒng)與其交聯(lián)的系統(tǒng)相連,采用閉環(huán)測試方法對其進(jìn)行整體的功能測試,測試結(jié)果真實、準(zhǔn)確。
【專利說明】嵌入式軟件黑盒自動化測試系統(tǒng)及測試方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機領(lǐng)域,特別涉及一種嵌入式軟件黑盒自動化測試系統(tǒng)及測試方法。
【背景技術(shù)】
[0002]由于嵌入式系統(tǒng)自身具有如下特點,如實時性高、內(nèi)存不豐富、I/O通道少、開發(fā)工具昂貴、并且與硬件緊密相關(guān)等等,所以嵌入式系統(tǒng)的測試與一般的商用軟件的測試策略有了很大的不同。特別的,單個嵌入式系統(tǒng)需要通過各種現(xiàn)場總線(如CAN、1553B、429等)或I (Input,輸入)/0 (Output,輸出)接口與其它的子系統(tǒng)進(jìn)行交聯(lián)組成一個大的可實際工作的系統(tǒng)。傳統(tǒng)對于嵌入式系統(tǒng)的測試方法是利用開環(huán)測試及手工測試方法進(jìn)行測試。開環(huán)測試是將被測嵌入式系統(tǒng)當(dāng)成一個孤立的子系統(tǒng),被測系統(tǒng)和上位機通過板卡相連,通過上位機上的人機界面發(fā)送手工編寫的Python語言或者C++語言的腳本代碼至被測系統(tǒng),對其進(jìn)行相應(yīng)的輸入輸出測試,這樣的測試沒有把被測的嵌入式系統(tǒng)納入到一個真實的系統(tǒng)環(huán)境中。若被測嵌入式系統(tǒng)作為一個大系統(tǒng)中的子系統(tǒng),采用開環(huán)測試無法對其進(jìn)行整體的功能測試,這樣的測試方法得到的測試結(jié)果不準(zhǔn)確。
[0003]此外,手工測試要求測試人員非常熟悉相關(guān)的腳本語言,使用腳本語言手工編寫相關(guān)的用例腳本,極大的降低了測試效率,而且無法達(dá)到嵌入式軟件要求的實時性、安全性及可靠性。測試人員還需要根據(jù)測試結(jié)果手工編寫測試報告,這也在一定程度上降低了工作效率。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種嵌入式軟件黑盒自動化測試系統(tǒng)及測試方法,能夠自動生成測試腳本,提高了測試效率,同時將被測系統(tǒng)納入到一個真實的系統(tǒng)環(huán)境中,將被測系統(tǒng)與其交聯(lián)的系統(tǒng)相連,采用閉環(huán)測試方法對其進(jìn)行整體的功能測試,測試結(jié)果真實、準(zhǔn)確。
[0005]為解決上述技術(shù)問題,本發(fā)明的實施方式提供了一種嵌入式軟件黑盒自動化測試系統(tǒng),包含上位機、下位機及被測系統(tǒng),包含:
[0006]所述上位機用于自動生成測試腳本,建立與被測系統(tǒng)交聯(lián)的系統(tǒng)的仿真模型,通過所述下位機將所述仿真模型與所述被測系統(tǒng)連接起來,在接收到測試指令后,將與所述測試指令對應(yīng)的測試腳本調(diào)用至所述下位機;
[0007]所述下位機用于根據(jù)所述測試腳本對所述被測系統(tǒng)進(jìn)行測試,并將所述被測系統(tǒng)的測試數(shù)據(jù)發(fā)回給所述上位機。
[0008]本發(fā)明的實施方式還提供了 一種嵌入式軟件黑盒自動化測試方法,包含以下步驟:
[0009]按照測試需要生成滿足在所述下位機上運行所需的測試腳本;
[0010]在所述上位機中創(chuàng)建與所述被測系統(tǒng)交聯(lián)的系統(tǒng)的仿真模型;[0011]通過所述上位機向所述下位機發(fā)送測試指令;
[0012]所述下位機接收所述上位機的測試指令,根據(jù)所述測試指令啟動對應(yīng)的仿真模型和測試腳本對所述被測系統(tǒng)進(jìn)行測試,得到所述測試數(shù)據(jù)。
[0013]本發(fā)明實施方式相對于現(xiàn)有技術(shù)而言,在上位機中自動生成測試腳本,并在上位機中建立了與被測系統(tǒng)交聯(lián)的系統(tǒng)的仿真模型,通過下位機將仿真模型與被測系統(tǒng)相連,在測試時,測試人員通過上位機向下位機發(fā)送測試指令,下位機接收到測試指令后,自動運行對應(yīng)的仿真模型和腳本對被測系統(tǒng)進(jìn)行測試,從而構(gòu)建了一個閉環(huán)的全自動的黑盒測試系統(tǒng)。測試數(shù)據(jù)也能夠?qū)崟r的被發(fā)送給上位機展示給測試人員。將被測系統(tǒng)納入到一個真實的系統(tǒng)環(huán)境中,測試結(jié)果真實、準(zhǔn)確,使得測試人員從繁瑣的手工測試中解放出來,提高了測試效率。
[0014]優(yōu)選的,所述上位機包含人機交互模塊、仿真建模模塊及仿真管理模塊;
[0015]所述人機交互模塊用于將測試人員編寫的測試任務(wù)及測試用例轉(zhuǎn)換成滿足預(yù)設(shè)條件的腳本、向所述被測系統(tǒng)發(fā)送測試指令及分析所述被測系統(tǒng)返回的測試數(shù)據(jù);
[0016]所述仿真建模模塊用于建立與所述被測系統(tǒng)交聯(lián)的系統(tǒng)的仿真模型;
[0017]所述仿真管理模塊用于將所述仿真模型編譯成滿足在所述下位機上運行的文件并控制所述仿真模型的運行。
[0018]通過人機交互模塊實現(xiàn)測試人員對整個測試過程的控制及對測試數(shù)據(jù)的處理;仿真建模模塊建立了與被測系統(tǒng)相交聯(lián)的系統(tǒng)的模型,再通過下位機將該模型與被測系統(tǒng)連接起來,實際上就是將被測系統(tǒng)置于真實的工作環(huán)境中,這樣保證了測試到的被測系統(tǒng)的測試數(shù)據(jù)真實可靠;仿真管理模塊保證了仿真建模模塊建立的仿真模型具有可用性。
[0019]優(yōu)選的,所述人機交互模塊還包含測試報告生成子模塊,所述測試報告生成子模塊用于根據(jù)所述測試數(shù)據(jù)自動生成符合預(yù)設(shè)格式的測試報告。
[0020]上位機的人機交互模塊還可以自動生成滿足預(yù)設(shè)格式的測試報告,與現(xiàn)有技術(shù)中需要人工生成測試報告的方法相比,減少了測試人員的工作量,提高了測試效率。
[0021 ] 優(yōu)選的,所述下位機包含:
[0022]自動測試內(nèi)核,用于提供加載及運行滿足在所述下位機運行所需的腳本語言的執(zhí)行環(huán)境;
[0023]實時仿真內(nèi)核,用于提供加載及運行所述仿真模型的執(zhí)行環(huán)境;
[0024]異步程序模塊,用于在所述測試腳本和所述仿真模型之間傳輸激勵數(shù)據(jù)和響應(yīng)數(shù)據(jù);
[0025]驅(qū)動模塊,用于所述仿真模型和所述被測系統(tǒng)進(jìn)行通訊;
[0026]下位機通訊模塊,用于所述下位機和所述上位機進(jìn)行通訊。
[0027]下位機運行時通過加載仿真內(nèi)核,仿真內(nèi)核啟動相應(yīng)的仿真模型,異步程序模塊保證了測試腳本和仿真模型之間的通信,自動測試內(nèi)核保證測試腳本正常的被加載和運行,通過仿真模型調(diào)用驅(qū)動模塊,通過驅(qū)動模塊調(diào)用的接口與被測系統(tǒng)相連,下位機通訊模塊保證了仿真模型與被測系統(tǒng)的數(shù)據(jù)交互。
[0028]優(yōu)選的,所述上位機的操作系統(tǒng)為視窗Windows,所述下位機的操作系統(tǒng)為紅帽RedHat或?qū)崟r操作系統(tǒng)QNX。
[0029]上位機運行具有用戶圖形界面的Windows(視窗)系統(tǒng),圖形界面比較人性化,方便測試人員創(chuàng)建仿真模型、發(fā)送測試指令、設(shè)計測試用例及測試任務(wù);下位機運行QNX (Quick Unix,實時操作系統(tǒng))或RedHat實時系統(tǒng),可以滿足被測嵌入式系統(tǒng)所要求的實時性。
【專利附圖】
【附圖說明】
[0030]圖1是根據(jù)本發(fā)明第一實施方式的嵌入式軟件黑盒自動化測試系統(tǒng)的結(jié)構(gòu)示意圖;
[0031]圖2是根據(jù)本發(fā)明第二實施方式的嵌入式軟件黑盒自動化測試系統(tǒng)中上位機的結(jié)構(gòu)示意圖;
[0032]圖3是根據(jù)圖2的人機交互模塊的結(jié)構(gòu)示意圖;
[0033]圖4是本發(fā)明第二實施方式中嵌入式軟件黑盒自動化測試系統(tǒng)中上位機中各個模塊的連接結(jié)構(gòu)示意圖;
[0034]圖5是根據(jù)本發(fā)明第二實施方式的嵌入式軟件黑盒自動化測試系統(tǒng)中下位機的結(jié)構(gòu)示意圖;
[0035]圖6是根據(jù)本發(fā)明第三實施方式的嵌入式軟件黑盒自動化測試系統(tǒng)中上位機的結(jié)構(gòu)示意圖;
[0036]圖7是根據(jù)本發(fā)明第三實施方式的嵌入式軟件黑盒自動化測試系統(tǒng)實際連接結(jié)構(gòu)示意圖;
[0037]圖8是根據(jù)本發(fā)明第四實施方式的嵌入式軟件黑盒自動化測試方法的流程示意圖;
[0038]圖9是根據(jù)本發(fā)明第五實施方式的嵌入式軟件黑盒自動化測試方法的流程示意圖。
【具體實施方式】
[0039]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明的各實施方式進(jìn)行詳細(xì)的闡述。然而,本領(lǐng)域的普通技術(shù)人員可以理解,在本發(fā)明各實施方式中,為了使讀者更好地理解本申請而提出了許多技術(shù)細(xì)節(jié)。但是,即使沒有這些技術(shù)細(xì)節(jié)和基于以下各實施方式的種種變化和修改,也可以實現(xiàn)本申請各權(quán)利要求所要求保護(hù)的技術(shù)方案。
[0040]本發(fā)明的第一實施方式涉及一種嵌入式軟件黑盒自動化測試系統(tǒng),該測試系統(tǒng)采用模塊化的設(shè)計思想、上位機和下位機分層實現(xiàn)測試功能的結(jié)構(gòu)模式來設(shè)計。
[0041]如圖1所示,該測試系統(tǒng)包含上位機、下位機及被測系統(tǒng)。需要說明的是,本發(fā)明中的被測系統(tǒng)均為嵌入式系統(tǒng)。該測試系統(tǒng)是使用軟件編程及與硬件結(jié)合的方式來實現(xiàn)的。本發(fā)明的實施例中均是以該系統(tǒng)對一個模擬的基于TCP(Transmission ControlProtocol,傳輸控制協(xié)議)通訊的被測嵌入式系統(tǒng)為例來說明該系統(tǒng)是如何工作的,但不代表本測試系統(tǒng)只能對該模擬的基于TCP通訊的被測嵌入式系統(tǒng)進(jìn)行測試,特此聲明。
[0042]總體來說,上位機用于自動生成測試腳本,建立與被測系統(tǒng)交聯(lián)的系統(tǒng)的仿真模型,通過下位機將仿真模型與被測系統(tǒng)連接起來,在接收到測試指令后,將與測試指令對應(yīng)的測試腳本調(diào)用至下位機。具體地說,上位機運行Windows系統(tǒng),用于測試人員創(chuàng)建仿真模型和測試用例,仿真模型為模擬的與被測系統(tǒng)交聯(lián)的外部系統(tǒng)的模型,測試用例則自動轉(zhuǎn)換成用例腳本,不同的用例腳本和測試邏輯組合成測試任務(wù)。上位機還負(fù)責(zé)接收測試人員的操作指令,把仿真模型和測試任務(wù)裝載到下位機上運行,這樣就相當(dāng)于構(gòu)建了一個被測整體系統(tǒng),將被測系統(tǒng)置于一個真實的系統(tǒng)環(huán)境中進(jìn)行測試。
[0043]下位機用于根據(jù)測試腳本對被測系統(tǒng)進(jìn)行測試,并將被測系統(tǒng)的測試數(shù)據(jù)發(fā)回給上位機。
[0044]上位機和下位機之間通過網(wǎng)絡(luò)相連。上位機和下位機可以通過以太網(wǎng)連接,其通信協(xié)議為 TCP/IP (Transmission Control Protocol/Internet Protocol,傳輸控制協(xié)議/ 因特網(wǎng)互聯(lián)協(xié)議)。下位機主板上插有總線或I/O板卡,通過相應(yīng)的連接線與被測嵌入式系統(tǒng)相連。下位機接收到上位機的操作指令運行相應(yīng)的仿真模型和用例腳本,用例腳本運行時,通過給被測嵌入式系統(tǒng)注入激勵數(shù)據(jù),并收集從被測嵌入式系統(tǒng)輸出的數(shù)據(jù)自動完成測試工作。
[0045]本發(fā)明實施方式相對于現(xiàn)有技術(shù)而言,在上位機中自動生成測試腳本,并在上位機中建立了與被測系統(tǒng)交聯(lián)的系統(tǒng)的仿真模型,通過下位機將仿真模型與被測系統(tǒng)相連,在下位機主板上插入了被測系統(tǒng)和被測整體系統(tǒng)中的其它系統(tǒng)之間的接口板卡(包括現(xiàn)場總線和I/o接口板卡),這些板卡通過對應(yīng)的連接線纜將仿真模型與被測嵌入式系統(tǒng)進(jìn)行連接。在測試時,測試人員通過上位機人機界面向下位機發(fā)送測試指令,下位機接收到測試指令后,自動運行對應(yīng)的仿真模型和測試任務(wù),對被測嵌入式系統(tǒng)進(jìn)行測試,從而構(gòu)建了一個閉環(huán)的全自動的黑盒測試系統(tǒng)。測試數(shù)據(jù)也能夠?qū)崟r的被發(fā)送給上位機展示給測試人員。將被測系統(tǒng)納入到一個真實的系統(tǒng)環(huán)境中,測試結(jié)果真實、準(zhǔn)確,使得測試人員從繁瑣的手工測試中解放出來,提高了測試效率,可以對嵌入式系統(tǒng)進(jìn)行非侵入式的各種功能和性能測試,也由于對和被測嵌入式系統(tǒng)交聯(lián)的外部環(huán)境進(jìn)行了模擬構(gòu)建了閉環(huán)的測試環(huán)境,因而也能對整個系統(tǒng)(包括被測嵌入式系統(tǒng)以及與其交聯(lián)的其它系統(tǒng))進(jìn)行測試。測試數(shù)據(jù)也能夠?qū)崟r的被發(fā)送給上位機展示給測試人員。
[0046]本發(fā)明第二實施方式涉及一種嵌入式軟件黑盒自動化測試系統(tǒng),第二實施方式為第一實施方式的具體實施例,如圖2所不,上位機包括:人機交互模塊、仿真建模模塊及仿
真管理模塊。
[0047]其中,人機交互模塊用于將測試人員編寫的測試任務(wù)及測試用例轉(zhuǎn)換成滿足預(yù)設(shè)條件的腳本、向被測系統(tǒng)發(fā)送測試指令及分析被測系統(tǒng)返回的測試數(shù)據(jù)。
[0048]具體地說,人機交互模塊可以做成通過一個軟件平臺來實現(xiàn),這個軟件平臺可以稱為測試系統(tǒng)人機界面,該測試系統(tǒng)人機界面為面對測試人員的直接交互界面,通過該人機界面,測試人員給下位機發(fā)送測試指令提供了一個圖形化的交互界面,同時能對測試數(shù)據(jù)進(jìn)行實時的監(jiān)視。測試人員還可以對被測嵌入式系統(tǒng)的功能和性能進(jìn)行分析,然后在人機界面上對這些功能和性能分別建立相應(yīng)的測試用例,并按照調(diào)度關(guān)系組織成測試任務(wù);要進(jìn)行測試時,測試人員在人機界面上選擇定義好的測試任務(wù)并點擊運行菜單,測試執(zhí)行指令連同測試用例和測試腳本將被發(fā)送到下位機,由下位機接受測試執(zhí)行指令并把相應(yīng)的測試用例和測試腳本裝載到內(nèi)存中運行;人機界面還對測試數(shù)據(jù)進(jìn)行實時的在線監(jiān)視。人機界面可以采用Visual Studio(視覺工作室)開發(fā),其只負(fù)責(zé)用戶的響應(yīng),具體功能模塊的實現(xiàn)則由其它模塊負(fù)責(zé)。[0049]進(jìn)一步的,如圖3所示,人機交互模塊包含以下子模塊:
[0050]第一轉(zhuǎn)換子模塊,用于自動將測試任務(wù)轉(zhuǎn)換成滿足在下位機上運行所需的任務(wù)腳本。
[0051]具體地說,滿足在下位機上運行所需的任務(wù)腳本可以為基于Python語言的任務(wù)腳本。因此,本實施方式為基于Python語言的嵌入式軟件黑盒自動化測試系統(tǒng)。該第一轉(zhuǎn)換子模塊用于把測試人員設(shè)計的測試任務(wù)連同任務(wù)調(diào)度自動轉(zhuǎn)換成可在下位機實時系統(tǒng)中運行的基于Python語言的任務(wù)腳本。具體的,測試任務(wù)由一系列的測試用例和內(nèi)部調(diào)度邏輯所組成,測試是以測試任務(wù)為最小單位進(jìn)行的。在具體的實施方式上,系統(tǒng)內(nèi)建了一個生成基于Python語言的任務(wù)腳本模板,測試人員使用圖形化的方式創(chuàng)建的測試任務(wù)被存成XML (Extensible Markup Language,可擴(kuò)展標(biāo)記語言)格式,而要生成Python任務(wù)腳本時,系統(tǒng)從該XML文件讀取相應(yīng)的元素填充到任務(wù)腳本模板中,從而生成Python語言的測試任務(wù)腳本,測試任務(wù)腳本包括:數(shù)據(jù)信息腳本、事件腳本、動作腳本及測試流程腳本。也就是說,系統(tǒng)從XML文件中提取輸入的數(shù)據(jù)、輸出的數(shù)據(jù)填充到數(shù)據(jù)信息腳本模板中,從而自動生成數(shù)據(jù)信息腳本;提取XML文件中事件的相關(guān)數(shù)據(jù)填充到事件腳本模板中,從而自動生成事件腳本;提取XML文件中動作的相關(guān)數(shù)據(jù)填充到動作腳本模板中,從而自動生成動作腳本;然后再根據(jù)數(shù)據(jù)信息腳本、事件腳本和動作腳本生成測試流程腳本。
[0052]第二轉(zhuǎn)換子模塊,用于自動將測試用例轉(zhuǎn)換成滿足在下位機上運行所需的用例腳本。
[0053]具體地說,滿足在下位機上運行所需的用例腳本可以為基于Python語言的用例腳本。該第二轉(zhuǎn)換子模塊用于把測試人員設(shè)計的測試用例自動轉(zhuǎn)換成可在下位機實時系統(tǒng)中運行的基于Python語言的用例腳本。用例腳本本身不自動運行,需要加入到任務(wù)腳本中,由任務(wù)腳本調(diào)度執(zhí)行。在具體的實施方式上,系統(tǒng)內(nèi)建了一個生成基于Python語言的用例腳本模板,測試人員使用圖形化的方式創(chuàng)建的測試用例被存成XML格式,而要生成Python用例腳本時,系統(tǒng)從該XML文件讀取相應(yīng)的元素填充到用例腳本模板中,從而自動生成可在下位機實時系統(tǒng)中運行的Python腳本語言文件。
[0054]上位機通訊子模塊,用于上位機和下位機進(jìn)行通訊。
[0055]具體地說,通過此通訊子模塊,測試人員能把用例腳本和測試任務(wù)裝載到下位機上運行,并且從人機界面?zhèn)魉瓦^來的測試指令通過此模塊發(fā)送給下位機,同時測試數(shù)據(jù)從下位機經(jīng)由此模塊傳送給人機界面進(jìn)行顯示。
[0056]仿真建模模塊用于建立與被測系統(tǒng)交聯(lián)的系統(tǒng)的仿真模型。
[0057]具體地說,仿真建模模塊用于測試人員對與被測嵌入式系統(tǒng)交聯(lián)的外部環(huán)境使用數(shù)學(xué)模型進(jìn)行模擬。仿真建模工具采用Matlab (MATrix LABoratory,矩陣實驗室)或可視化仿真工具(Simulink), Matlab或Simulink能使用圖形化的方式提供給建模人員把與被測嵌入式系統(tǒng)交聯(lián)的外部環(huán)境進(jìn)行形象化的模擬,還可以使用Opal-RT (0PAL-RTTechnologies, OPAL-RT技術(shù))提供的用于實時仿真的總線或10接口 Simulink模塊庫以圖形化的方式對與被測嵌入式系統(tǒng)交聯(lián)的外部環(huán)境進(jìn)行仿真建模;并能使用下位機中的總線、10接口驅(qū)動模塊創(chuàng)建與被測嵌入式系統(tǒng)交聯(lián)的仿真模型的連接,實現(xiàn)仿真模型與被測嵌入式系統(tǒng)的數(shù)據(jù)收發(fā)工作。
[0058]仿真管理模塊用于將仿真模型編譯成滿足在下位機上運行的文件并控制仿真模型的運行。
[0059]具體地說,仿真管理模塊用于測試人員把仿真模型編譯成可在下位機運行的二進(jìn)制文件并裝載到下位機運行并對其進(jìn)行運行控制。仿真管理工具可以采用RT-LAB實時仿真管理工具平臺,RT-LAB是一款擁有強實時內(nèi)核的仿真管理工具,其CPU(CentralProcessing Unit,中央處理器)仿真步長可以精確到20微秒,足以對真實系統(tǒng)進(jìn)行逼真仿真,在【具體實施方式】上,在人機界面里集成調(diào)用RT-LAB API (RT-LAB ApplicationProgramming Interface,分布式仿真測試平臺對外部程序提供的應(yīng)用程序編程接口)的功能,可以實現(xiàn)對仿真模型的編譯、下載、運行控制等功能。當(dāng)測試人員進(jìn)行測試時,首先調(diào)用RT-LAB API把仿真模型編譯成可在下位機實時系統(tǒng)中運行的二進(jìn)制文件,然后調(diào)用RT-LAB下載API把二進(jìn)制文件裝載到下位機實時系統(tǒng)中,最后調(diào)用RT-LAB運行控制API把下位機中的仿真模型二進(jìn)制文件裝載的內(nèi)存中運行,這樣就創(chuàng)建了一個與被測嵌入式系統(tǒng)周邊交聯(lián)的外部模擬環(huán)境。從而可以對嵌入式系統(tǒng)進(jìn)行閉環(huán)測試。這使得仿真模型能非常精確的模擬與被測嵌入式系統(tǒng)交聯(lián)的外部真實環(huán)境。
[0060]上位機的操作系統(tǒng)可以為Windows, Windows具有用戶圖形界面,圖形界面比較人性化,方便測試人員創(chuàng)建仿真模型、發(fā)送測試指令、設(shè)計測試用例及測試任務(wù)。
[0061]上位機中各個模塊的連接關(guān)系如圖4所示。
[0062]再進(jìn)一步的,如圖5所示,下位機包含:
[0063]自動測試內(nèi)核,用于提供加載及運行滿足在下位機運行所需的腳本語言的執(zhí)行環(huán)境。
[0064]具體地說,自動測試內(nèi)核為自動測試提供了一個加載運行基于Python語言的用例腳本和測試任務(wù)的環(huán)境。通過運行測試任務(wù)來調(diào)度用例腳本的執(zhí)行,用例腳本加載預(yù)先定義的激勵數(shù)據(jù)通過仿真模型傳給總線/10接口驅(qū)動傳送給被測嵌入式系統(tǒng),并經(jīng)由總線/10接口驅(qū)動收集從被測嵌入式系統(tǒng)的響應(yīng)測試數(shù)據(jù)與用例腳本中預(yù)先定義的期望輸出數(shù)據(jù)進(jìn)行比較完成自動化的測試。在具體的實施方式上,下位機通過下位機通訊模塊接收到測試指令之前,上位機在后臺通過上位機通訊模塊把基于Python語言的用例腳本和任務(wù)腳本上傳到下位機的指定目錄下,隨后下位機通訊模塊接收到測試執(zhí)行指令,從該目錄下加載相應(yīng)的任務(wù)腳本和用例腳本,通過調(diào)用自動測試內(nèi)核的Python腳本語言執(zhí)行器把任務(wù)腳本加載到內(nèi)存中運行,任務(wù)腳本根據(jù)內(nèi)部調(diào)度關(guān)系加載相應(yīng)的用例腳本到內(nèi)存中運行;
[0065]實時仿真內(nèi)核,用于提供加載及運行仿真模型的執(zhí)行環(huán)境。
[0066]具體地說,實時仿真內(nèi)核為仿真模型提供了一個實時運行的環(huán)境。在具體的實施方式上,實時仿真內(nèi)核采用RT-LAB實時內(nèi)核,在實時系統(tǒng)啟動的時候,RT-LAB實時內(nèi)核守護(hù)進(jìn)程被加載到內(nèi)存中運行,在守護(hù)進(jìn)程接收到仿真運行指令之前,上位機通過RT-LAB把相應(yīng)的仿真模型上傳到下位機的指定目錄下,隨后守護(hù)進(jìn)程接收到仿真運行指令,從該目錄下加載相應(yīng)的仿真模型到內(nèi)存中運行;其強實時性保證了模擬與被測嵌入式系統(tǒng)交聯(lián)的外部環(huán)境的真實性。
[0067]異步程序模塊,用于在測試腳本和仿真模型之間傳輸激勵數(shù)據(jù)和響應(yīng)數(shù)據(jù)。
[0068]具體地說,異步程序模塊用來在測試腳本和仿真模型之間傳輸激勵數(shù)據(jù)和響應(yīng)數(shù)據(jù)。激勵數(shù)據(jù)即測試時輸入的數(shù)據(jù),響應(yīng)數(shù)據(jù)即測試后輸出的數(shù)據(jù)。在【具體實施方式】上,異步程序模塊做為一個單獨的進(jìn)程運行。當(dāng)測試腳本需要向仿真模型傳輸激勵數(shù)據(jù)時,測試腳本通過共享內(nèi)存的方式把激勵數(shù)據(jù)傳給異步程序,異步程序則通過調(diào)用RT-LAB API的方式把激勵數(shù)據(jù)傳給仿真模型,由仿真模型調(diào)用相應(yīng)的總線/10接口驅(qū)動傳給被測嵌入式系統(tǒng),讓被測嵌入式系統(tǒng)作出一定的響應(yīng)。而當(dāng)仿真模型需要把從被測嵌入式系統(tǒng)采集到的響應(yīng)數(shù)據(jù)傳送給測試腳本時,異步程序內(nèi)部維護(hù)了一個循環(huán)調(diào)用RT-LAB API獲取仿真模型信號的程序片段,當(dāng)異步程序內(nèi)部讀取到響應(yīng)數(shù)據(jù)后,通過共享內(nèi)存的方式把響應(yīng)數(shù)據(jù)傳送給測試腳本,測試腳本最終把響應(yīng)數(shù)據(jù)和預(yù)先定義的預(yù)期輸出數(shù)據(jù)進(jìn)行比對,從而完成自動化的測試。
[0069]驅(qū)動模塊,用于仿真模型和被測系統(tǒng)進(jìn)行通訊。
[0070]具體地說,驅(qū)動模塊主要是總線或IO接口的驅(qū)動模塊,因此,驅(qū)動模塊也可以稱為總線或IO接口驅(qū)動模塊。在【具體實施方式】上,在【具體實施方式】上,由于被測嵌入式系統(tǒng)通常會通過各種總線或I/o接口與其它子系統(tǒng)進(jìn)行交聯(lián),為了模擬這種環(huán)境,在下位機的主機插槽中插入了相應(yīng)的這些總線或I/o板卡,而要使用這些板卡,就必須要有相應(yīng)的驅(qū)動程序,同時要能夠在Simulink創(chuàng)建的仿真模型中使用,Opal-RT本身提供了很多的這些板卡驅(qū)動的Simulink封裝,另外如果Opal-RT如果沒有提供相應(yīng)的板卡驅(qū)動的Simulink封裝則需要自行封裝這些板卡驅(qū)動的Simulink封裝。由于本發(fā)明理論上可以對任意的被測嵌入式系統(tǒng)進(jìn)行閉環(huán)的自動化測試,因此在實際應(yīng)用中,需要視具體被測嵌入式系統(tǒng)使用的總線或IO接口來定驅(qū)動模塊。
[0071 ] 下位機通訊模塊,用于所述下位機和所述上位機進(jìn)行通訊。
[0072]具體地說,通過此通訊模塊,下位機能接受來自上位機的測試指令并加載運行相應(yīng)的用例腳本和測試任務(wù),同時測試數(shù)據(jù)經(jīng)由此模塊傳送給上位機的通訊模塊進(jìn)行后續(xù)處理。在實際實施中,基于客戶端/服務(wù)端的模式,上位機通訊模塊做為客戶端連接到下位機通訊模塊并收發(fā)數(shù)據(jù)。
[0073]測試系統(tǒng)下位機運行時通過加載仿真內(nèi)核,仿真內(nèi)核啟動相應(yīng)的仿真模型,通過仿真模型調(diào)用總線或IO接口驅(qū)動,通過總線或IO接口與被測嵌入式系統(tǒng)相連,實現(xiàn)仿真模型與被測嵌入式系統(tǒng)的數(shù)據(jù)交互;同時,下位機運行時通過加載測試內(nèi)核,測試內(nèi)核啟動相應(yīng)的任務(wù)腳本,任務(wù)腳本通過內(nèi)部調(diào)度邏輯加載相應(yīng)的用例腳本,把用例腳本中預(yù)先定義好的激勵數(shù)據(jù)發(fā)給異步進(jìn)程模塊,異步進(jìn)程模塊通過調(diào)用仿真API把激勵數(shù)據(jù)發(fā)給仿真模型,由仿真模型進(jìn)行后續(xù)的處理,仿真模型接收到被測嵌入式系統(tǒng)的響應(yīng)數(shù)據(jù)后,響應(yīng)數(shù)據(jù)可以理解為輸出數(shù)據(jù),由異步進(jìn)程模塊實時的進(jìn)行采集,采集到的響應(yīng)數(shù)據(jù)發(fā)給用例腳本,用例腳本把響應(yīng)數(shù)據(jù)和預(yù)先定義的期望數(shù)據(jù)進(jìn)行比對,以此來實現(xiàn)用例腳本與仿真模型的數(shù)據(jù)交互。
[0074]下位機的操作系統(tǒng)為RedHat或QNX,RedHat和為QNX實時性很強的操作系統(tǒng),使用該操作系統(tǒng)能夠滿足被測嵌入式系統(tǒng)所要求的實時性。
[0075]本發(fā)明實施方式相對于現(xiàn)有技術(shù)而言,由于本發(fā)明的測試系統(tǒng)將與被測嵌入式系統(tǒng)交聯(lián)的其它系統(tǒng)進(jìn)行了仿真建模而把被測嵌入式系統(tǒng)納入到了一個虛擬的真實環(huán)境當(dāng)中從而構(gòu)成了一個閉環(huán)的測試系統(tǒng),而且模型的運行基于強實時的RT-LAB仿真管理平臺,能更加真實的對被測嵌入式系統(tǒng)進(jìn)行測試。本發(fā)明成功的采用了一種圖形化的方式讓測試人員進(jìn)行測試用例和測試任務(wù)的設(shè)計,而相應(yīng)的腳本則是全自動的,而不需要測試人員手工去編寫,這樣使得測試人員只需關(guān)心被測嵌入式系統(tǒng)的功能和性能,不需要去學(xué)習(xí)Python語言,提高了效率,減少了編寫腳本的出錯可能,大大提高了測試效率。
[0076]值得一提的是,本實施方式中所涉及到的各模塊均為邏輯模塊,在實際應(yīng)用中,一個邏輯模塊可以是一個物理模塊,也可以是一個物理模塊的一部分,還可以以多個物理模塊的組合實現(xiàn)。此外,為了突出本發(fā)明的創(chuàng)新部分,本實施方式中并沒有將與解決本發(fā)明所提出的技術(shù)問題關(guān)系不太密切的模塊引入,但這并不表明本實施方式中不存在其它的模塊。
[0077]本發(fā)明第三實施方式設(shè)計一種嵌入式軟件黑盒自動化測試系統(tǒng),第三實施方式在第二實施方式的基礎(chǔ)上做了進(jìn)一步改進(jìn),改進(jìn)之后的測試系統(tǒng)具有自動生成測試報告的功能。該測試系統(tǒng)的改進(jìn)之處主要在與上位機中的人機交互模塊,如圖6所示,該人機交互模塊包含第一轉(zhuǎn)換子模塊、第二轉(zhuǎn)換子模塊、上位機通訊子模塊及測試報告生成子模塊,其中,第一轉(zhuǎn)換子模塊、第二轉(zhuǎn)換子模塊及上位機通訊子模塊與第二實施方式中的第一轉(zhuǎn)換子模塊、第二轉(zhuǎn)換子模塊及上位機通訊子模塊對應(yīng)相同,該測試報告生成子模塊用于根據(jù)測試數(shù)據(jù)自動生成符合預(yù)設(shè)格式的測試報告。本領(lǐng)域技術(shù)人員可以理解,該測試系統(tǒng)中其他模塊的組成及功能與第二實施方式中想對應(yīng),在此不作贅述。
[0078]具體的,測試報告生成子模塊接收下位機的實時測試數(shù)據(jù),通過圖形化的方式進(jìn)行實時監(jiān)控,并根據(jù)測試數(shù)據(jù)自動生成指定格式的測試報告。示例的,此模塊可以提供一套符合國軍標(biāo)的測試報告模板,能自動把測試數(shù)據(jù)填充到此模板,從而自動生成測試報告,節(jié)省了人工編寫測試報告的時間,提高了測試效率。
[0079]該自動化測試系統(tǒng)的實際連接結(jié)構(gòu)如圖7所示,工作原理說明如下:
[0080]首先,測試人員需在實際測試前按照被測嵌入式系統(tǒng)的功能和性能在上位機人機界面上進(jìn)行測試用例和測試任務(wù)的設(shè)計并把其轉(zhuǎn)換成基于Python語言的用例腳本和任務(wù)腳本,另外還需要對與被嵌入式系統(tǒng)交聯(lián)的其它子系統(tǒng)使用Matlab/Simulink進(jìn)行仿真建模并使用RT-LAB把其編譯成可在下位機實時系統(tǒng)運行的二進(jìn)制文件;測試開始,測試人員在人機界面上選擇預(yù)先定義好的測試任務(wù)并點擊開始測試,系統(tǒng)通過調(diào)用RT-LAB API把仿真模型的二進(jìn)制文件下載到下位機上運行以啟動與被測嵌入式系統(tǒng)交聯(lián)的其它子系統(tǒng)的虛擬環(huán)境,并且系統(tǒng)自動在后臺通過上位機通訊模塊和下位機通訊模塊的配合把用例腳本和任務(wù)腳本下載到下位機上,隨后,下位機通訊模塊接收到上位機的測試指令把任務(wù)腳本加載到內(nèi)存中運行,同時下位機通訊模塊把相應(yīng)的異步程序模塊加載到內(nèi)存中運行;在測試執(zhí)行階段,任務(wù)腳本根據(jù)預(yù)先定義好的內(nèi)部調(diào)度邏輯把相應(yīng)的用例腳本加載到內(nèi)存中運行,用例腳本把預(yù)先定義好的激勵數(shù)據(jù)通過共享內(nèi)存的方式發(fā)送給異步進(jìn)程,異步進(jìn)程通過調(diào)用RT-LAB API把激勵數(shù)據(jù)傳送給仿真模型,仿真模型則通過總線/10接口驅(qū)動把激勵數(shù)據(jù)傳送給被測嵌入式系統(tǒng),被測嵌入式系統(tǒng)對激勵做出響應(yīng)后把響應(yīng)數(shù)據(jù)通過總線/10接口傳送給仿真模型,異步進(jìn)程則在內(nèi)部通過調(diào)用RT-LAB API的方式維護(hù)一個獲取仿真模型中相關(guān)的信號的循環(huán)程序片段,異步進(jìn)程把周期性收到的響應(yīng)數(shù)據(jù)通過共享內(nèi)存的方式發(fā)送給用例腳本,用例腳本把其與預(yù)先定義的期望輸出數(shù)據(jù)進(jìn)行比對,并通過下位機通訊模塊把其發(fā)送給上位機進(jìn)行實時監(jiān)控,從而完成自動化的測試。
[0081]由上所述,此發(fā)明搭建了一個基于Python語言的嵌入式軟件黑盒自動化測試系統(tǒng),成功的建立一套功能全、性能好、自動化程度高、擴(kuò)展性強、具有一定通用性的嵌入式軟件的自動化測試系統(tǒng)。
[0082]本發(fā)明的第四實施方式提供一種基于Python語言的嵌入式軟件黑盒自動化測試系統(tǒng)的測試方法,應(yīng)用于第一實施方式所述的基于Python語言的嵌入式軟件黑盒自動化測試系統(tǒng)中,如圖8所示,該方法包括:
[0083]801、按照測試需要生成滿足在下位機上運行所需的測試腳本。
[0084]具體的,首先,測試人員根據(jù)被測系統(tǒng)的功能和性能編寫測試用例和測試任務(wù);上位機分別將測試用例和測試任務(wù)轉(zhuǎn)換成滿足在下位機運行所需的用例腳本和任務(wù)腳本。上位機人機界面提供了一套圖形化向?qū)Ы缑?,測試人員在上面可以根據(jù)被測嵌入式系統(tǒng)的功能和性能按照圖形化向?qū)У姆绞竭M(jìn)行相應(yīng)的測試用例和任務(wù)腳本的設(shè)計,測試用例和任務(wù)腳本設(shè)計好后存成XML格式的文本文件,而系統(tǒng)在后臺根據(jù)相應(yīng)的模板可以把其轉(zhuǎn)換成可執(zhí)行的Python腳本語言。
[0085]802、在上位機中創(chuàng)建與被測系統(tǒng)交聯(lián)的系統(tǒng)的仿真模型。
[0086]測試人員通過分析與被測嵌入式系統(tǒng)交聯(lián)的其它子系統(tǒng),并根據(jù)其特性使用Matlab/Simulink對其進(jìn)行仿真建模,設(shè)計好的仿真模型可以使用RT-LAB把其編譯成可在下位機實時系統(tǒng)中運行的二進(jìn)制文件。
[0087]803、通過上位機向下位機發(fā)送測試指令。
[0088]當(dāng)準(zhǔn)備好了仿真模型和測試用例、測試任務(wù)后,測試人員可以在上位機人機界面上通過選擇相應(yīng)的任務(wù)腳本進(jìn)行執(zhí)行,系統(tǒng)在后臺把相應(yīng)的仿真模型、測試用例和測試任務(wù)發(fā)送到下位機,由下位機把它們加載到內(nèi)存中運行。
[0089]804、下位機接收上位機的測試指令,根據(jù)測試指令啟動對應(yīng)的仿真模型和測試腳本對被測系統(tǒng)進(jìn)行測試,得到測試數(shù)據(jù)。
[0090]下位機接收到上位機的測試指令,根據(jù)測試指令啟動相應(yīng)的仿真模型和任務(wù)腳本,任務(wù)腳本根據(jù)其內(nèi)部調(diào)度邏輯關(guān)系啟動相應(yīng)的用例腳本,用例腳本發(fā)送激勵數(shù)據(jù)給仿真模型,由仿真模型再把相應(yīng)的激勵數(shù)據(jù)發(fā)送給被測嵌入式系統(tǒng),被測嵌入式系統(tǒng)做出響應(yīng)并把響應(yīng)數(shù)據(jù)發(fā)送給仿真模型,用例腳本從仿真模型中獲取響應(yīng)數(shù)據(jù)與預(yù)期數(shù)據(jù)進(jìn)行比較從而完成自動化測試,并把測試結(jié)果發(fā)送給上位機。
[0091]本發(fā)明實施方式相對于現(xiàn)有技術(shù)而言,在上位機中自動生成測試腳本,并在上位機中建立了與被測系統(tǒng)交聯(lián)的系統(tǒng)的仿真模型,通過下位機將仿真模型與被測系統(tǒng)相連,在測試時,測試人員通過上位機向下位機發(fā)送測試指令,下位機接收到測試指令后,自動運行對應(yīng)的仿真模型和腳本對被測系統(tǒng)進(jìn)行測試,從而構(gòu)建了一個閉環(huán)的全自動的黑盒測試系統(tǒng)。測試數(shù)據(jù)也能夠?qū)崟r的被發(fā)送給上位機展示給測試人員。將被測系統(tǒng)納入到一個真實的系統(tǒng)環(huán)境中,測試結(jié)果真實、準(zhǔn)確,使得測試人員從繁瑣的手工測試中解放出來,提高了測試效率。
[0092]不難發(fā)現(xiàn),本實施方式為與第一實施方式相對應(yīng)的系統(tǒng)實施例,本實施方式可與第一實施方式互相配合實施。第一實施方式中提到的相關(guān)技術(shù)細(xì)節(jié)在本實施方式中依然有效,為了減少重復(fù),這里不再贅述。相應(yīng)地,本實施方式中提到的相關(guān)技術(shù)細(xì)節(jié)也可應(yīng)用在第一實施方式中。
[0093]本發(fā)明第五實施方式涉及一種嵌入式軟件黑盒自動化測試方法,第五實施方式在第四實施方式的基礎(chǔ)上做了進(jìn)一步改進(jìn),改進(jìn)之后能夠?qū)崿F(xiàn)測試報告自動生成的功能,如圖8所示,該方法包括步驟901至步驟905,其中步驟901至步驟904與第五實施方式中的步驟801至步驟804對應(yīng)相同,在此不做贅述。
[0094]步驟905為:上位機接收下位機發(fā)送的測試數(shù)據(jù),并根據(jù)測試數(shù)據(jù)自動生成符合預(yù)設(shè)格式的測試報告。
[0095]上位機實時接收下位機在測試過程中的測試結(jié)果予以顯示進(jìn)行監(jiān)控,在測試結(jié)束時,測試人員根據(jù)測試結(jié)果把其自動的轉(zhuǎn)換成一定格式的測試報告。
[0096]與現(xiàn)有技術(shù)中測試人員還需要根據(jù)測試數(shù)據(jù)手工編寫測試報告相比,在一定程度上提高了工作效率,也提高了測試人員的工作積極性。
[0097]由于第三實施方式與本實施方式相互對應(yīng),因此本實施方式可與第三實施方式互相配合實施。第三實施方式中提到的相關(guān)技術(shù)細(xì)節(jié)在本實施方式中依然有效,在第三實施方式中所能達(dá)到的技術(shù)效果在本實施方式中也同樣可以實現(xiàn),為了減少重復(fù),這里不再贅述。相應(yīng)地,本實施方式中提到的相關(guān)技術(shù)細(xì)節(jié)也可應(yīng)用在第三實施方式中。
[0098]需要說明的是,本發(fā)明中的測試系統(tǒng)及測試方法適用于任意通過各種總線或IO接口與其它子系統(tǒng)進(jìn)行通訊的被測嵌入式系統(tǒng)。
[0099]值得一提的是,關(guān)于方法的實施方式中所涉及到的具體的工作原理可以參考系統(tǒng)實施例中的敘述,本發(fā)明在此不再贅述。此外,為了突出本發(fā)明的創(chuàng)新部分,本實施方式中并沒有將與解決本發(fā)明所提出的技術(shù)問題關(guān)系不太密切的模塊引入,但這并不表明本實施方式中不存在其它的模塊。
[0100]本領(lǐng)域的普通技術(shù)人員可以理解,上述各實施方式是實現(xiàn)本發(fā)明的具體實施例,而在實際應(yīng)用中,可以在形式上和細(xì)節(jié)上對其作各種改變,而不偏離本發(fā)明的精神和范圍。
[0101]上面各種方法的步驟劃分,只是為了描述清楚,實現(xiàn)時可以合并為一個步驟或者對某些步驟進(jìn)行拆分,分解為多個步驟,只要包含相同的邏輯關(guān)系,都在本專利的保護(hù)范圍內(nèi);對算法中或者流程中添加無關(guān)緊要的修改或者引入無關(guān)緊要的設(shè)計,但不改變其算法和流程的核心設(shè)計都在該專利的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種嵌入式軟件黑盒自動化測試系統(tǒng),包含上位機、下位機及被測系統(tǒng),其特征在于, 所述上位機用于自動生成測試腳本,建立與被測系統(tǒng)交聯(lián)的系統(tǒng)的仿真模型,通過所述下位機將所述仿真模型與所述被測系統(tǒng)連接起來,在接收到測試指令后,將與所述測試指令對應(yīng)的測試腳本調(diào)用至所述下位機; 所述下位機用于根據(jù)所述測試腳本對所述被測系統(tǒng)進(jìn)行測試,并將所述被測系統(tǒng)的測試數(shù)據(jù)發(fā)回給所述上位機。
2.根據(jù)權(quán)利要求1所述的嵌入式軟件黑盒自動化測試系統(tǒng),其特征在于,所述上位機包含人機交互模塊、仿真建模模塊及仿真管理模塊; 所述人機交互模塊用于將測試人員編寫的測試任務(wù)及測試用例轉(zhuǎn)換成滿足預(yù)設(shè)條件的腳本、向所述被測系統(tǒng)發(fā)送測試指令及分析所述被測系統(tǒng)返回的測試數(shù)據(jù); 所述仿真建模模塊用于建立與所述被測系統(tǒng)交聯(lián)的系統(tǒng)的仿真模型; 所述仿真管理模塊用于將所述仿真模型編譯成滿足在所述下位機上運行的文件并控制所述仿真模型的運行。
3.根據(jù)權(quán)利要求2中任一項所述的嵌入式軟件黑盒自動化測試系統(tǒng),其特征在于,所述人機交互模塊包含以下子模塊: 第一轉(zhuǎn)換子模塊, 用于自動將所述測試任務(wù)轉(zhuǎn)換成滿足在所述下位機上運行所需的任務(wù)腳本; 第二轉(zhuǎn)換子模塊,用于自動將所述測試用例轉(zhuǎn)換成滿足在所述下位機上運行所需的用例腳本; 上位機通訊子模塊,用于所述上位機和所述下位機進(jìn)行通訊。
4.根據(jù)權(quán)利要求3所述的嵌入式軟件黑盒自動化測試系統(tǒng),其特征在于,所述人機交互模塊還包含測試報告生成子模塊,所述測試報告生成子模塊用于根據(jù)所述測試數(shù)據(jù)自動生成符合預(yù)設(shè)格式的測試報告。
5.根據(jù)權(quán)利要求1所述的嵌入式軟件黑盒自動化測試系統(tǒng),其特征在于,所述下位機包含: 自動測試內(nèi)核,用于提供加載及運行滿足在所述下位機運行所需的腳本語言的執(zhí)行環(huán)境; 實時仿真內(nèi)核,用于提供加載及運行所述仿真模型的執(zhí)行環(huán)境; 異步程序模塊,用于在所述測試腳本和所述仿真模型之間傳輸激勵數(shù)據(jù)和響應(yīng)數(shù)據(jù); 驅(qū)動模塊,用于所述仿真模型和所述被測系統(tǒng)進(jìn)行通訊; 下位機通訊模塊,用于所述下位機和所述上位機進(jìn)行通訊。
6.根據(jù)權(quán)利要求1所述的嵌入式軟件黑盒自動化測試系統(tǒng),其特征在于,所述上位機的操作系統(tǒng)為視窗Windows,所述下位機的操作系統(tǒng)為紅帽RedHat或?qū)崟r操作系統(tǒng)QNX。
7.—種如權(quán)利要求1所述的嵌入式軟件黑盒自動化測試系統(tǒng)中的測試方法,其特征在于,包含以下步驟: 按照測試需要生成滿足在所述下位機上運行所需的測試腳本; 在所述上位機中創(chuàng)建與所述被測系統(tǒng)交聯(lián)的系統(tǒng)的仿真模型; 通過所述上位機向所述下位機發(fā)送測試指令;所述下位機接收所述上位機的測試指令,根據(jù)所述測試指令啟動對應(yīng)的仿真模型和測試腳本對所述被測系統(tǒng)進(jìn)行測試,得到所述測試數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的測試方法,其特征在于,所述按照測試需要生成滿足在所述下位機上運行所需的測試腳本包括: 測試人員根據(jù)所述被測系統(tǒng)的功能和性能編寫測試用例和測試任務(wù); 所述上位機分別將所述測試用例和所述測試任務(wù)轉(zhuǎn)換成滿足在所述下位機運行所需的用例腳本和任務(wù)腳本。
9.根據(jù)權(quán)利要求7所述的測試方法,其特征在于,在得到所述測試數(shù)據(jù)之后,所述方法還包括: 所述上位機接收所述下位機發(fā)送的測試數(shù)據(jù),并根據(jù)所述測試數(shù)據(jù)自動生成符合預(yù)設(shè)格式的測試報告。
10.根據(jù)權(quán)利要求7所述的測試方法,其特征在于,與所述被測系統(tǒng)交聯(lián)的系統(tǒng)的仿真模型是通過矩陣實驗室Matla b或可視化仿真工具Simulink進(jìn)行仿真建模得到的。
【文檔編號】G06F11/36GK103995777SQ201410234262
【公開日】2014年8月20日 申請日期:2014年5月29日 優(yōu)先權(quán)日:2014年5月29日
【發(fā)明者】李勝, 夏佳佳 申請人:上??屏盒畔⒐こ逃邢薰?br>