亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        嵌入式軟件自動(dòng)化測(cè)試技術(shù)

        2018-10-24 02:28:22張懷相方景龍
        關(guān)鍵詞:嵌入式軟件測(cè)試用例用例

        陳 佐,張懷相,方景龍

        (杭州電子科技大學(xué) 計(jì)算機(jī)學(xué)院,浙江 杭州 310018)

        0 引 言

        在軟件測(cè)試的過(guò)程中,存在著許多重復(fù)的、非創(chuàng)造性的工作,在這樣的背景下,自動(dòng)化測(cè)試系統(tǒng)(automated testing system,ATS)[1]以其節(jié)省人工、縮短測(cè)試時(shí)間、提高測(cè)試效率以及增強(qiáng)測(cè)試穩(wěn)定性等優(yōu)點(diǎn)在軟件測(cè)試方面越來(lái)越受到人們的關(guān)注。

        本文對(duì)嵌入式軟件自動(dòng)化測(cè)試技術(shù)進(jìn)行相關(guān)的研究,設(shè)計(jì)了一個(gè)高性能的嵌入式測(cè)試系統(tǒng),它提供了一個(gè)受控制的、確定的虛擬環(huán)境模擬平臺(tái),軟件測(cè)試人員能夠在這個(gè)平臺(tái)上進(jìn)行軟件的自動(dòng)化測(cè)試、軟件結(jié)構(gòu)體系驗(yàn)證及軟件功能可靠性驗(yàn)證等各種技術(shù)指標(biāo)檢驗(yàn),提高了嵌入式系統(tǒng)的測(cè)試效率,優(yōu)化了嵌入式軟件的設(shè)計(jì),降低系統(tǒng)設(shè)計(jì)成本。

        主要貢獻(xiàn)可總結(jié)如下:①定義了一系列測(cè)試調(diào)度原則,優(yōu)化分布式資源調(diào)度;②設(shè)計(jì)了一個(gè)自動(dòng)化執(zhí)行引擎,對(duì)測(cè)試用例進(jìn)行高效率的測(cè)試執(zhí)行;③構(gòu)建了一個(gè)受控制的,確定性的虛擬仿真環(huán)境,以支持嵌入式軟件運(yùn)行環(huán)境;④以典型的無(wú)人機(jī)嵌入式軟件為實(shí)例,驗(yàn)證嵌入式軟件自動(dòng)化執(zhí)行框架的實(shí)用性、可靠性以及高效性。

        1 嵌入式軟件自動(dòng)化測(cè)試模型

        本文提出一種基于虛擬仿真環(huán)境的嵌入式軟件自動(dòng)化測(cè)試模型(embedded software automatic test model,EATM),它集成了數(shù)據(jù)驅(qū)動(dòng)測(cè)試架構(gòu)、測(cè)試庫(kù)架構(gòu)以及分布式測(cè)試架構(gòu)等的優(yōu)點(diǎn),以虛擬仿真技術(shù)構(gòu)建測(cè)試環(huán)境,以用例庫(kù)的形式統(tǒng)一管理測(cè)試用例,以測(cè)試用例作為數(shù)據(jù)驅(qū)動(dòng)測(cè)試程序,并以分布式架構(gòu)管理用例調(diào)度與數(shù)據(jù)分發(fā)。

        EATM框架如圖1所示,屬于典型的分布式測(cè)試架構(gòu),具體可以分為兩大組成部分:

        (1)測(cè)試終端

        測(cè)試終端模擬了軟件需要運(yùn)行的基本嵌入式硬件環(huán)境,將其作為整個(gè)自動(dòng)化測(cè)試執(zhí)行框架的環(huán)境基礎(chǔ)。在如圖1所示的QEMU半虛擬仿真環(huán)境基礎(chǔ)上,可以將測(cè)試終端細(xì)化為兩部分,一是被測(cè)軟件部分,二是測(cè)試控制部分,兩者之間以共享內(nèi)存區(qū)域作為數(shù)據(jù)交互,從而達(dá)到測(cè)試的實(shí)時(shí)性以及穩(wěn)定性。

        (2)測(cè)試控制中心

        測(cè)試控制中心是EATM框架的核心控制部分,主要對(duì)測(cè)試用例庫(kù)進(jìn)行管理;對(duì)測(cè)試用例進(jìn)行篩選以及分布式任務(wù)調(diào)度;對(duì)測(cè)試結(jié)果進(jìn)行檢驗(yàn)并統(tǒng)計(jì)等。測(cè)試控制中心采用基于Java Swing框架技術(shù)開(kāi)發(fā),具有較強(qiáng)的可移植性。

        圖1 嵌入式軟件自動(dòng)化測(cè)試模型框架

        測(cè)試終端和測(cè)試控制中心之間采用網(wǎng)絡(luò)通信方式,主要采用可靠的TCP/Socket通信形式,建立端到端的連接,用于測(cè)試數(shù)據(jù)的發(fā)送以及測(cè)試結(jié)果報(bào)告的反饋。

        該框架結(jié)構(gòu)的優(yōu)點(diǎn)是能充分發(fā)揮分布式架構(gòu)的處理能力,具體表現(xiàn)在以下兩點(diǎn):

        (1)測(cè)試終端輕負(fù)載

        在測(cè)試控制中心對(duì)測(cè)試用例進(jìn)行篩選,對(duì)高性能的測(cè)試終端分配重要度高、較復(fù)雜的測(cè)試用例,并且采用多測(cè)試終端來(lái)減少單個(gè)測(cè)試終端的測(cè)試負(fù)荷,極大程度地提高測(cè)試的效率。

        (2)測(cè)試用例協(xié)同處理

        對(duì)高負(fù)載的測(cè)試用例可以拆分成多個(gè)子任務(wù),并采用一定的調(diào)度規(guī)則調(diào)度協(xié)同多個(gè)測(cè)試終端處理,可以減少單個(gè)測(cè)試終端的負(fù)荷,在很大程度上增加了并行處理測(cè)試數(shù)據(jù)的能力。

        2 嵌入式軟件自動(dòng)化測(cè)試模型設(shè)計(jì)

        整個(gè)EATM框架主要分為4個(gè)部分:測(cè)試用例分發(fā)引擎、測(cè)試用例封裝引擎、測(cè)試用例執(zhí)行引擎以及虛擬仿真引擎。

        如圖2所示,測(cè)試用例分發(fā)引擎主要以測(cè)試用例為數(shù)據(jù)流,從本地測(cè)試用例庫(kù)中按照分發(fā)調(diào)度規(guī)則進(jìn)行篩選以及分發(fā);測(cè)試用例封裝引擎主要將網(wǎng)絡(luò)傳輸?shù)臏y(cè)試用例進(jìn)行實(shí)例化操作,并將實(shí)例結(jié)果存儲(chǔ)在本地測(cè)試用例庫(kù);測(cè)試用例執(zhí)行引擎主要以測(cè)試實(shí)例為數(shù)據(jù)來(lái)驅(qū)動(dòng)整個(gè)自動(dòng)化測(cè)試執(zhí)行器,以完成對(duì)測(cè)試用例的測(cè)試執(zhí)行并最終生成測(cè)試報(bào)告;虛擬仿真引擎主要搭建了整個(gè)自動(dòng)化測(cè)試執(zhí)行的必要軟件環(huán)境。

        圖2 EATM框架

        2.1 用例分發(fā)引擎

        用例分發(fā)引擎可以抽象的概括為“分發(fā)-收集”的過(guò)程,即將大量的測(cè)試數(shù)據(jù)按照一定調(diào)度原則分解成多個(gè)子任務(wù),每個(gè)子任務(wù)分配給各個(gè)終端節(jié)點(diǎn),最后收集每個(gè)測(cè)試終端執(zhí)行后的測(cè)試結(jié)果。對(duì)于每個(gè)子任務(wù),可以由一個(gè)或者多個(gè)終端節(jié)點(diǎn)分工完成,即采用“功能分布”原則。對(duì)于給定任務(wù)的調(diào)度分配,描述了分布式測(cè)試環(huán)境中的行為信息,提供了描述分布式測(cè)試中的測(cè)試節(jié)點(diǎn)運(yùn)行調(diào)度功能,比如不同的測(cè)試節(jié)點(diǎn)啟動(dòng)的先后順序以及它們之間的同步關(guān)系,使框架具有擴(kuò)展能力。

        2.1.1 分發(fā)數(shù)據(jù)格式

        可擴(kuò)展標(biāo)記語(yǔ)言(XML)[2]作為當(dāng)前處理結(jié)構(gòu)化信息的主流工具,具有高擴(kuò)展性、強(qiáng)移植性以及強(qiáng)可控性等突出優(yōu)點(diǎn),本文基于XML設(shè)計(jì)了測(cè)試用例的結(jié)構(gòu)化格式。

        一個(gè)測(cè)試用例文件由測(cè)試包、測(cè)試用例和測(cè)試結(jié)果構(gòu)成,以下給出這三者的概念:①測(cè)試包:所有測(cè)試用例的集合,根據(jù)產(chǎn)品的邏輯模塊或者測(cè)試模式(功能、性能或壓力)構(gòu)成不同的測(cè)試用例集;②測(cè)試用例:完成一個(gè)明確的測(cè)試需求所需要的執(zhí)行邏輯以及須給出的過(guò)程參數(shù);③測(cè)試結(jié)果:對(duì)一個(gè)測(cè)試用例最后的測(cè)試結(jié)果。用XML表示總體結(jié)構(gòu)如圖3所示。

        圖3 測(cè)試數(shù)據(jù)XML結(jié)構(gòu)

        定義1 測(cè)試數(shù)據(jù):一個(gè)測(cè)試數(shù)據(jù)格式可以表示為

        TestCase=其中:

        (1)Testsuite={Testsuite|Testsuite表示某個(gè)模式下的所有測(cè)試用例集合|model表示當(dāng)前測(cè)試數(shù)據(jù)使用的測(cè)試模式}

        (2)Testcase={Testcase|Testcase表示測(cè)試用例集合中的一條測(cè)試用例}

        (3)Process={Process|Process用來(lái)表示一條測(cè)試用例中的某個(gè)激勵(lì)}

        (4)Operation={Operation|Operation表示激勵(lì)名稱}

        (5)Input={Input|Input表示激勵(lì)參數(shù)名稱以及具體數(shù)值}

        2.1.2 分發(fā)調(diào)度原則

        在本文中的系統(tǒng)實(shí)時(shí)分發(fā)調(diào)度[3]采用靜態(tài)的、不可搶占的分布式調(diào)度原則。在EATM框架中,每個(gè)測(cè)試終端節(jié)點(diǎn)都是異構(gòu)的,同一時(shí)刻每個(gè)節(jié)點(diǎn)的性能是不同的。因此根據(jù)各節(jié)點(diǎn)的性能情況給各個(gè)測(cè)試終端分配不同數(shù)量以及不同“優(yōu)先級(jí)”的任務(wù),使得分布式中各節(jié)點(diǎn)負(fù)載基本均衡的同時(shí)達(dá)到效率最優(yōu)。分發(fā)調(diào)度流程如圖4所示。

        圖4中的“測(cè)試用例篩選引擎①”,根據(jù)測(cè)試用例類型和賭輪盤(pán)算法[4]將測(cè)試用例全集劃分成多批次初級(jí)測(cè)試用例。

        圖4 分發(fā)調(diào)度流程

        輸入:軟件系統(tǒng)的測(cè)試用例全集T

        輸出:初級(jí)測(cè)試用例t的集合FTestCaseList

        (1)通過(guò)數(shù)據(jù)庫(kù)連接池獲取構(gòu)建的測(cè)試用例數(shù)據(jù)庫(kù),取出測(cè)試用例全集T,并將每一條數(shù)據(jù)存儲(chǔ)在AllTestCaseList集合中,遍歷AllTestCaseList;

        (2)構(gòu)建List集合tf,tp,tt分別代表3種類型的分類子集;

        (3)獲對(duì)取第i個(gè)測(cè)試用例數(shù)據(jù),通過(guò)測(cè)試數(shù)據(jù)的Testsuite屬性來(lái)決定應(yīng)該被劃分到哪一個(gè)分類子集中;

        (4)遍歷完成所有測(cè)試用例后,對(duì)應(yīng)的分類子集t全部構(gòu)造完成,對(duì)應(yīng)的分類子集規(guī)模大小為nf,np,nt;

        (5)構(gòu)建測(cè)試用例集合List,從tf,tp,tt這3個(gè)分類子集中根據(jù)賭輪盤(pán)算法選擇一測(cè)試用例tk,將tk從原分類子集中移除并加入List,直到List的規(guī)模為(nf+np+nt)/3。

        (6)構(gòu)建FTestCaseList集合,并將List加入,遞歸第(5)步直到分類子集均為空。

        圖4中的“測(cè)試用例篩選引擎②”,根據(jù)測(cè)試用例的完整性以及復(fù)雜性評(píng)價(jià)測(cè)試用例,并對(duì)初始測(cè)試用例按優(yōu)先級(jí)篩選,形成最終的“任務(wù)”。

        定義4 測(cè)試用例優(yōu)先級(jí):測(cè)試用例優(yōu)先級(jí)是根據(jù)測(cè)試用例需求的完整性以及復(fù)雜性為標(biāo)準(zhǔn)進(jìn)行量化,根據(jù)以上給出測(cè)試用例描述的兩個(gè)因素,可以量化的表示第i個(gè)測(cè)試用例的優(yōu)先級(jí)值為

        輸入:初級(jí)測(cè)試用例t的集合FTestCaseList

        輸出:初級(jí)測(cè)試用例t對(duì)應(yīng)的任務(wù)子集合task

        (1)讀取初級(jí)用例t的集合FTestCaseList,依次遍歷;

        (2)獲取第i個(gè)初級(jí)測(cè)試用例集ti,對(duì)集合中每條測(cè)試用例Ti進(jìn)行優(yōu)先級(jí)評(píng)價(jià)記為Vi,并以此為關(guān)鍵字,以將測(cè)試用例Ti為值存儲(chǔ)在PriorityMap中;

        (3)當(dāng)對(duì)初級(jí)測(cè)試用例均進(jìn)行完優(yōu)先級(jí)評(píng)價(jià)后,Prio-rityMap進(jìn)行降序排序。

        (4)按照優(yōu)先級(jí)越高越優(yōu)先挑選的原則,對(duì)初級(jí)測(cè)試用例t進(jìn)行任務(wù)子集合的篩選,形成任務(wù)子集合task。

        2.2 用例封裝引擎

        測(cè)試用例通過(guò)分發(fā)引擎處理,以“任務(wù)”的形式被分發(fā)到各個(gè)分布式終端。在各個(gè)測(cè)試終端,框架將所有收到的“任務(wù)”存儲(chǔ)在用例庫(kù)中,并對(duì)其進(jìn)行封裝操作,將其實(shí)例化后的測(cè)試用例實(shí)體保存在終端的本地測(cè)試用例庫(kù)中,以作為用例執(zhí)行引擎的輸入數(shù)據(jù)。

        測(cè)試用例封裝具體過(guò)程如下:

        輸入:測(cè)試用例的XML文件集合TCList

        輸出:測(cè)試用例實(shí)例集合TestCaseList

        (1)讀取系統(tǒng)構(gòu)建測(cè)試用例的XML文件集合TCList,遍歷TCList;

        (2)獲取第i個(gè)測(cè)試用例,創(chuàng)建TestCase對(duì)象并設(shè)置用例ID屬性為i;

        (3)創(chuàng)建Process對(duì)象,根據(jù)測(cè)試用例的XML數(shù)據(jù)格式對(duì)第i個(gè)測(cè)試用例中Process相關(guān)屬性對(duì)象信息進(jìn)行解析并封裝到Process對(duì)象,最后將Process對(duì)象放入ProcessList集合中;

        (4)重復(fù)(3)直到第i個(gè)測(cè)試用例中所有Process相關(guān)屬性對(duì)象信息都被解析完成;

        (5)將當(dāng)前的ProcessList集合賦值給TestCase的ProcessList屬性;

        (6)獲取第i個(gè)測(cè)試用例的ExeStatus屬性,并賦值給TestCase的ExeStatus屬性;

        (7)對(duì)TestCase進(jìn)行實(shí)體驗(yàn)證,若屬于完整測(cè)試用例,則存儲(chǔ)到TestCaseList集合之中;

        (8)遍歷完成集合TCList中所有測(cè)試用例后,將得到所有封裝后的測(cè)試用例實(shí)體都保存到TestCaseList之中,若該集合不為空則返回,否則拋出文件處理異常。

        2.3 用例執(zhí)行引擎

        在整個(gè)EATM框架中,以實(shí)例化后的測(cè)試用例庫(kù)作為數(shù)據(jù)源,以插樁[5]處理方式對(duì)數(shù)據(jù)進(jìn)行重定向,以任務(wù)調(diào)度機(jī)制來(lái)驅(qū)動(dòng)測(cè)試終端平臺(tái)上的嵌入式程序執(zhí)行。

        在整個(gè)測(cè)試過(guò)程中,測(cè)試用例執(zhí)行引擎對(duì)任務(wù)的劃分已經(jīng)確定測(cè)試實(shí)體類的調(diào)度方式,即以上層模型對(duì)下層進(jìn)行輪詢檢測(cè)的模式來(lái)有序地調(diào)度各個(gè)模型用例。對(duì)測(cè)試用例執(zhí)行引擎通過(guò)插樁操作,不僅能夠動(dòng)態(tài)的重定向測(cè)試數(shù)據(jù),而且能夠?qū)崟r(shí)地記錄測(cè)試過(guò)程中的執(zhí)行情況,起到了對(duì)測(cè)試進(jìn)行動(dòng)態(tài)跟蹤作用,提高了測(cè)試過(guò)程的自動(dòng)化測(cè)試水平。

        整個(gè)測(cè)試執(zhí)行引擎的執(zhí)行流程如圖5所示,其中圖5(b)是圖5(a)中測(cè)試用例執(zhí)行子流程的擴(kuò)展描述,整體測(cè)試用例執(zhí)行具體過(guò)程如下:

        輸入:測(cè)試用例實(shí)例集合TestCaseList

        輸出:測(cè)試用例執(zhí)行結(jié)果集合TestCaseResultList

        (1)啟動(dòng);

        (2)初始化程序環(huán)境;

        (3)任務(wù)調(diào)度隊(duì)列初始化,其功能是不斷觸發(fā)測(cè)試用例的執(zhí)行,每次觸發(fā)相當(dāng)于執(zhí)行一條測(cè)試用例,即一條完整的程序執(zhí)行路徑;

        (4)判斷測(cè)試用例緩沖區(qū)中是否還有測(cè)試用例未執(zhí)行,否則轉(zhuǎn)到(16);

        (5)通過(guò)用例ID來(lái)從TestCaseList中獲取用例,并將該用例設(shè)置為此次循環(huán)的當(dāng)前測(cè)試用例;

        (6)測(cè)試用例執(zhí)行子流程執(zhí)行開(kāi)始,調(diào)用首激勵(lì);

        (7)判斷激勵(lì)鏈表中是否還有未執(zhí)行的激勵(lì),否則跳轉(zhuǎn)到(14);

        (8)激勵(lì)是否有參數(shù),否則跳轉(zhuǎn)到(10);

        (9)激勵(lì)參數(shù)重定向,即從當(dāng)前測(cè)試用例鏈表中獲取當(dāng)前激勵(lì)的參數(shù)數(shù)值;

        (10)激勵(lì)執(zhí)行起始插樁記錄;

        (11)激勵(lì)調(diào)用執(zhí)行;

        (12)該激勵(lì)是否調(diào)用其它激勵(lì),是則跳轉(zhuǎn)到(8);

        (13)激勵(lì)結(jié)束插樁以及當(dāng)前激勵(lì)狀態(tài)回寫(xiě),跳轉(zhuǎn)到(7);

        (14)測(cè)試用例執(zhí)行子流程執(zhí)行結(jié)束;

        (15)測(cè)試用例ID自增,跳轉(zhuǎn)到(4);

        (16)結(jié)束。

        圖5 測(cè)試用例執(zhí)行流程

        2.4 虛擬仿真引擎

        嵌入式軟件被定義為嵌入在硬件中的操作系統(tǒng)和開(kāi)發(fā)工具軟件,其中硬件平臺(tái)具有多樣性是嵌入式系統(tǒng)的主要特點(diǎn)。對(duì)于嵌入式軟件需要特定的硬件平臺(tái)是阻礙開(kāi)發(fā)與測(cè)試的主要因素,而仿真軟件則通過(guò)軟件模擬形成一個(gè)具有基本完整硬件系統(tǒng)功能的、相對(duì)封閉的隔離環(huán)境,并且能夠保證在半虛擬化[6]環(huán)境下計(jì)算的安全性,該特性能夠有效地彌補(bǔ)嵌入式軟件開(kāi)發(fā)測(cè)試中受平臺(tái)限制的弊端。

        目前主要的指令級(jí)仿真軟件有以下幾款:QEMU[7]、國(guó)內(nèi)清華大學(xué)研發(fā)的Skyeye以及Realboard仿真軟件平臺(tái)[8]。本文中采用QEMU仿真軟件對(duì)運(yùn)行平臺(tái)為ARM架構(gòu)嵌入式軟件進(jìn)行仿真,例如UAV(unmanned aerial vehicle)無(wú)人機(jī)機(jī)載軟件,QEMU仿真軟件是目前較為先進(jìn)且可開(kāi)發(fā)源代碼的跨平臺(tái)仿真軟件,具有模擬適配度廣、速度快及跨平臺(tái)等特性,可以較優(yōu)秀的仿真出基ARM架構(gòu)的虛擬化環(huán)境。

        對(duì)于各個(gè)模塊的仿真,如圖6所示:采用TCG(tiny code generator)動(dòng)態(tài)二進(jìn)制翻譯技術(shù)[9]進(jìn)行指令的解析翻譯工作實(shí)現(xiàn)嵌入式軟件的CPU虛擬化;通過(guò)影子內(nèi)存[10]對(duì)嵌入式軟件內(nèi)存虛擬化;通過(guò)設(shè)備模擬對(duì)嵌入式軟件的I/O虛擬化。

        圖6 QEMU嵌入式環(huán)境虛擬化結(jié)構(gòu)

        3 實(shí)驗(yàn)結(jié)果

        由于完整UAV系統(tǒng)龐大而復(fù)雜,本文通過(guò)精簡(jiǎn)無(wú)人機(jī)飛控系統(tǒng),選取飛控系統(tǒng)中無(wú)人機(jī)某幾個(gè)功能模塊來(lái)對(duì)本文提出的自動(dòng)化測(cè)試框架進(jìn)行驗(yàn)證。該模塊包含以下功能以及主要描述:操作員打開(kāi)open按鈕;無(wú)人機(jī)通過(guò)獲取電機(jī)狀態(tài)、電量的值、位姿信息以及飛行模式等來(lái)驗(yàn)證在給定飛行條件無(wú)人機(jī)位姿調(diào)控能力。

        通過(guò)UML以及狀態(tài)機(jī)的方式求解得到測(cè)試用例,將測(cè)試序列實(shí)例化求解得到的結(jié)果進(jìn)行組合,生成測(cè)試用例數(shù)據(jù)庫(kù),共產(chǎn)生了7974條測(cè)試用例,作為自動(dòng)化測(cè)試框架的主要數(shù)據(jù)輸入。測(cè)試用例庫(kù)中數(shù)據(jù)通過(guò)EATM框架調(diào)度、分發(fā)和執(zhí)行后,結(jié)果數(shù)據(jù)被收集到測(cè)試控制中心,測(cè)試控制中心最終測(cè)試結(jié)果的統(tǒng)計(jì)并且可視化。

        經(jīng)過(guò)測(cè)試用例所有的測(cè)試用例執(zhí)行結(jié)果見(jiàn)表1:99.51%的測(cè)試數(shù)據(jù)測(cè)試成功,說(shuō)明絕大部分測(cè)試用例成功執(zhí)行且測(cè)試結(jié)果與測(cè)試期望相一致;失敗測(cè)試用例只占0.49%,具體的失敗情況可以再進(jìn)一步地分析。對(duì)39條測(cè)試失敗的情況進(jìn)行詳細(xì)地分析,如表2所示,所有失敗的用例均為測(cè)試執(zhí)行結(jié)果與期望值不相匹配所致,造成該錯(cuò)誤原因是給出測(cè)試用例不能正確有效地模擬真實(shí)環(huán)境中數(shù)據(jù)所致,與EATM框架執(zhí)行無(wú)關(guān)。

        表1 測(cè)試結(jié)果統(tǒng)計(jì)

        表2 出錯(cuò)結(jié)果統(tǒng)計(jì)

        對(duì)于表1中成功的測(cè)試用例,按照需求中的描述進(jìn)行更具體的結(jié)果統(tǒng)計(jì),更加直觀地展現(xiàn)測(cè)試效果。如圖7所示,量化指標(biāo)為無(wú)人機(jī)的最大飛行高度,即擁有相同電池容量的多架無(wú)人機(jī),分別在不同的風(fēng)速級(jí)別下進(jìn)行垂直爬升操作過(guò)程中,當(dāng)無(wú)人機(jī)的電量被消耗到0%時(shí)無(wú)人機(jī)所處的高度。

        圖7 各個(gè)風(fēng)速下最大高度柱狀圖

        在測(cè)試過(guò)程中對(duì)所給的大規(guī)模測(cè)試用例,EATM框架可以有效地進(jìn)行測(cè)試,并且在表2所示的出錯(cuò)測(cè)試用例中不存在由于框架自身錯(cuò)誤而影響測(cè)試的情況,驗(yàn)證了EATM框架對(duì)嵌入式軟件的自動(dòng)化測(cè)試具有較好的穩(wěn)定性。根據(jù)圖7中所指定量化指標(biāo)的數(shù)據(jù)值對(duì)比,可得到在該實(shí)驗(yàn)中測(cè)試結(jié)果與期望數(shù)據(jù)值基本保持一致,有效地驗(yàn)證了本文提出的EATM框架對(duì)嵌入式軟件的自動(dòng)化測(cè)試完全切實(shí)可行,具備較高的實(shí)用性。

        4 結(jié)束語(yǔ)

        本文提出了一種嵌入式軟件的自動(dòng)化測(cè)試方法,通過(guò)半虛擬化技術(shù)仿真嵌入式軟件運(yùn)行環(huán)境,構(gòu)造分布式調(diào)度算法,并且設(shè)計(jì)相應(yīng)的自動(dòng)化執(zhí)行引擎,對(duì)大量的測(cè)試用例進(jìn)行測(cè)試,提升嵌入式軟件測(cè)試的高效性。最后以簡(jiǎn)化開(kāi)源無(wú)人機(jī)飛控系統(tǒng)的一個(gè)單元模塊為實(shí)例,以通過(guò)模型產(chǎn)生的測(cè)試用例為數(shù)據(jù),應(yīng)用本文提出的自動(dòng)化測(cè)試框架進(jìn)行驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,本框架執(zhí)行方式正確,驗(yàn)證方法有效。該結(jié)果有助于對(duì)嵌入式軟件系統(tǒng)進(jìn)行自動(dòng)化測(cè)試和分析。今后本人將對(duì)進(jìn)一步提高系統(tǒng)的執(zhí)行能力、優(yōu)化測(cè)試用例調(diào)度、完善測(cè)試結(jié)果測(cè)評(píng)等方面開(kāi)展研究。

        猜你喜歡
        嵌入式軟件測(cè)試用例用例
        UML用例模型中依賴關(guān)系的比較與分析
        基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
        聯(lián)鎖軟件詳細(xì)設(shè)計(jì)的測(cè)試需求分析和用例編寫(xiě)
        從出土文獻(xiàn)用例看王氏父子校讀古書(shū)的得失
        基于混合遺傳算法的回歸測(cè)試用例集最小化研究
        實(shí)時(shí)嵌入式軟件的測(cè)試技術(shù)
        全景相機(jī)遙控器嵌入式軟件V1.0 相關(guān)操作分析
        電子制作(2017年17期)2017-12-18 06:40:56
        基于Eclipse的航天嵌入式軟件集成開(kāi)發(fā)環(huán)境設(shè)計(jì)與實(shí)現(xiàn)
        航天嵌入式軟件浮點(diǎn)運(yùn)算誤差分析與控制
        基于依賴結(jié)構(gòu)的測(cè)試用例優(yōu)先級(jí)技術(shù)
        日日日日做夜夜夜夜做无码| 国产优质女主播在线观看| 久久久人妻丰满熟妇av蜜臀| 日本女优在线一区二区三区| 亚洲精品久久区二区三区蜜桃臀| 免费无码成人av在线播放不卡| 毛片在线啊啊| 亚洲av少妇一区二区在线观看| 国产中文三级全黄| 国产超碰人人做人人爱ⅴa| 最新国产成人在线网站| 91精品国产综合久久国产 | 97久久国产亚洲精品超碰热| 久久老子午夜精品无码怎么打| 国产精品视频一区日韩丝袜| 亚洲精品国产av成人网| аⅴ天堂中文在线网| 伊人久久五月丁香综合中文亚洲 | 亚洲人成网网址在线看| 日韩av无码成人无码免费| 无码国产精品一区二区免费式芒果 | 国产精品一卡二卡三卡| 亚洲精品国产成人AV| 成人午夜视频在线观看高清| 亚洲高清中文字幕视频| 中国农村妇女hdxxxx| 97SE亚洲国产综合自在线不卡| 日本免费三片在线视频| 狠狠色丁香婷婷久久综合| 亚洲熟妇丰满大屁股熟妇| 国产精品亚洲专区无码不卡| 亚洲国产精品高清在线| 亚洲av麻豆aⅴ无码电影| 亚洲国产欧美另类va在线观看| 青青草视频在线观看精品在线| 又粗又大又硬毛片免费看| 国产福利免费看| av免费在线观看在线观看| 日韩精品无码一区二区三区四区 | 日韩一区二区中文字幕| 亚洲欧美日韩综合一区二区|