• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      嵌入式軟件自動化測試平臺分析與設(shè)計

      2021-10-08 10:07:35彭琿張翔張曉娜姜林
      中國新通信 2021年16期
      關(guān)鍵詞:自動化測試嵌入式軟件

      彭琿 張翔 張曉娜 姜林

      【摘要】? ? 針對嵌入式軟件測試對硬件依賴程度高,而所依托的硬件環(huán)境往往在軟件故障模擬和故障記錄方面困難的問題,研究了采用硬件平臺全數(shù)字仿真模擬技術(shù),并在嵌入式軟件自動化仿真測試基本技術(shù)架構(gòu)下,設(shè)計了基于硬件仿真的嵌入式軟件自動化測試平臺。

      【關(guān)鍵詞】? ? ?嵌入式軟件? ? 自動化測試? ? 測試平臺

      引言:

      嵌入式軟件由于其本身的復雜性,通用的人工手動測試都具有很大的挑戰(zhàn)性,要實現(xiàn)自動化測試,則更是需要突破很多關(guān)鍵技術(shù)問題。由于嵌入式軟件對硬件環(huán)境的依賴程度高,在測試時硬件環(huán)境在軟件故障的模擬和測試數(shù)據(jù)的記錄上,不靈活、不方便,實現(xiàn)困難。采用硬件環(huán)境的全數(shù)字仿真測試技術(shù),通過在通用平臺上模擬嵌入式軟件運行開發(fā)的軟硬件環(huán)境、構(gòu)建嵌入式軟件自動化測試平臺,已成為嵌入式軟件自動化測試的一個重要研究方向。

      一、軟件自動化測試的技術(shù)架構(gòu)

      軟件自動化測試的基礎(chǔ)技術(shù)主要有測試腳本自動執(zhí)行技術(shù)、測試用例自動運行技術(shù)、數(shù)據(jù)驅(qū)動被測軟件自動運行技術(shù)以及關(guān)鍵字驅(qū)動被測軟件自動運行技術(shù)。這四種主要基礎(chǔ)技術(shù)中,在嵌入式軟件測試領(lǐng)域應(yīng)用最多、效果最明顯的是后兩種。

      1.1軟件自動化測試的技術(shù)基礎(chǔ)

      這里對數(shù)據(jù)驅(qū)動被測軟件自動運行技術(shù)和關(guān)鍵字驅(qū)動被測軟件自動運行技術(shù)這兩中自動化測試基礎(chǔ)技術(shù)進行比較,可以看出這兩種技術(shù)還是有很多區(qū)別的,比較結(jié)果見表1。

      表1表明,數(shù)據(jù)驅(qū)動被測件自動運行技術(shù)框架中,測試腳本對測試的描述級別為整個測試用例,測試腳本中包含有測試用例的業(yè)務(wù)信息。當被測軟件的業(yè)務(wù)信息發(fā)生后,數(shù)據(jù)驅(qū)動被測軟件運行技術(shù)架構(gòu)下的所有相關(guān)測試腳本都需要重新編寫,以與變化后軟件的測試需求相呼應(yīng)。關(guān)鍵字驅(qū)動被測軟件自動運行技術(shù)將被測軟件的界面組件統(tǒng)一映射成組件映射表,對界面中的各個組件進行操作時,不是直接操作各個組件,而是操作組件映射表中的邏輯組件名。這種技術(shù)特別適應(yīng)用戶界面經(jīng)常會發(fā)生變化軟件測試。

      1.2嵌入式軟件組合自動化測試技術(shù)

      本文結(jié)合嵌入式軟件測試的特點,基于對上述兩種驅(qū)動被測軟件自動運行的技術(shù)基礎(chǔ),設(shè)計一種組合型的嵌入式軟件自動化測試技術(shù)架構(gòu),如圖1所示。該架構(gòu)能較好地適用于通用嵌入式軟件系統(tǒng)的自動化測試。

      該技術(shù)架構(gòu)主要由接口定義表、底層函數(shù)庫、腳本驅(qū)動模塊和數(shù)據(jù)驅(qū)動模塊等組成。傳送到目標機端的用例腳本由腳本驅(qū)動模塊執(zhí)行,測試用例執(zhí)行過程中一般會涉及到對下一級操作腳本的調(diào)用,也就是說要調(diào)用下一層級的腳本,照此類推,直到調(diào)用的都是操作腳本,能夠自動運行即可。當操作腳本運行時需要對被測嵌入式軟件的接口進行調(diào)用時,可通過查詢接口定義表,找到關(guān)于該接口屬性與參數(shù)的描述,進而完成接口調(diào)用與執(zhí)行,實現(xiàn)接口的自動測試;在測試執(zhí)行腳本需要讀取測試數(shù)據(jù)時,數(shù)據(jù)驅(qū)動模塊就從數(shù)據(jù)文件中讀取輸入數(shù)據(jù)和期望的輸出值,并通過執(zhí)行操作腳本,將數(shù)據(jù)傳遞給被測軟件,執(zhí)行自動化測試。

      二、嵌入式軟件自動化測試平臺

      2.1嵌入式軟件自動化測試平臺總體設(shè)計

      根據(jù)國內(nèi)嵌入式軟件普遍采用的宿主機+目標機共同構(gòu)建測試環(huán)境的測試技術(shù)路線,結(jié)合基于數(shù)據(jù)驅(qū)動和關(guān)鍵字驅(qū)動的嵌入式軟件全數(shù)字仿真自動化技術(shù),設(shè)計宿目一體的嵌入式軟件通用自動化仿真測試平臺的總結(jié)框架如圖2所示。

      該平臺主要采用嵌入式軟件全數(shù)字仿真測試技術(shù)構(gòu)建被測嵌入式軟件的仿真運行環(huán)境,采用“宿目一體”(即,宿主機和目標機在同一個通用計算機環(huán)境中運行)的測試基本技術(shù)路線,構(gòu)建基于全數(shù)字仿真的目標機運行環(huán)境,以便于執(zhí)行基于數(shù)據(jù)驅(qū)動和基于關(guān)鍵字驅(qū)動的嵌入式軟件自動化測試。

      圖2? ? 宿目一體的嵌入式軟件自動化仿真測試平臺總體架構(gòu)

      從測試應(yīng)用頂層上看,該平臺核心功能的實現(xiàn)主要有兩個測試輔助工具軟件,即測試管理工具和測試代理軟件。測試管理工具運行在宿主機中。測試代理軟件運行在全數(shù)字仿真測試平臺的目標機中。

      這兩個工具軟件實現(xiàn)該平臺在一個物理機上構(gòu)建宿主機/目標機測試環(huán)境的核心功能。解決了利用該平臺實現(xiàn)宿主機/目標機測試過程中一個核心難點:目標機端的數(shù)據(jù)如何與宿主機端數(shù)據(jù)進行交互的問題。

      這種問題的解決途徑一般為:開發(fā)一些嵌入式軟件測試工具的虛擬接口功能,將實際物理通道中的數(shù)據(jù)與目標機的內(nèi)存數(shù)據(jù)進行交互。若是在真實環(huán)境中,這種方式受制于目標機物理資源的限制。但是在采用全數(shù)字仿真目標機的架構(gòu)中,由于目標機的物理硬件全部是仿真模擬的,受實際物理硬件資源的限制較小,該問題不再是影響測試的關(guān)鍵問題。但是如何提高效率、如何提高自動化程度,是在此平臺上需要解決的關(guān)鍵問題。

      在同一個物理機上實現(xiàn)宿主機與全數(shù)字仿真目標機的信息交換的一個基礎(chǔ)部件是數(shù)據(jù)通信組件。宿主機與全數(shù)字仿真的目標機實際上是在同一臺物理機上,通過適當?shù)募夹g(shù)手段,例如內(nèi)存共享、文件共享等手段,實現(xiàn)宿主機與目標機之間的高效通信從原理上講不再是關(guān)鍵問題。

      2.2宿目一體的嵌入式軟件自動化仿真測試平臺典型運行流程

      測試人員需要進行的是開機啟動系統(tǒng)、執(zhí)行編譯命令、進行測試設(shè)計和分析測試報告;測試管理工具負責自動進行插樁、將目標碼傳送給目標機、配置目標機、解析用戶測試腳本和對測試數(shù)據(jù)進行記錄和對故障庫的調(diào)取及生成測試報告;測試代理軟件實現(xiàn)全數(shù)字目標機與宿主機之間信息轉(zhuǎn)換工作,主要完成命令的解析、數(shù)據(jù)轉(zhuǎn)換、測試用例執(zhí)行、故障注入執(zhí)行、測試手機收集等。在這個流程中,目標機實際上就是測試的一個執(zhí)行環(huán)境。

      從測試執(zhí)行的全過程看,宿目一體的嵌入式軟件自動化仿真測試平臺運行主要分為三個階段:測試準備階段、測試執(zhí)行階段和測試報告生成階段。

      在測試準備階段,測試平臺需要完成源代碼插樁、配置文件的解析與設(shè)置。源代碼插樁主要為覆蓋測試做準備。在該階段,必須完成源代碼的插樁、將源代碼編譯成目標碼,然后再將目標碼部署到測試目標機中,為目標碼的運行做好測試前的準備。測試配置文件是由測試人員設(shè)計好的,提交給測試平臺進行解析后,按配置的內(nèi)容對測試平臺的參數(shù)和環(huán)境進行設(shè)置,完成各種測試運行前的各種信息配置工作。

      在測試執(zhí)行階段,平臺將已經(jīng)通過編譯的包含測試腳本的被測嵌入式軟件目標碼,發(fā)動給目標機,部署的在目標機的測試代理軟件接收到目標碼以后,將其存放在內(nèi)存特定的區(qū)域內(nèi),等待執(zhí)行指令。測試代理軟件在控制測試腳本運行的同時,記錄測試結(jié)果和測試的覆蓋信息,暫時將這些信息存放在內(nèi)存區(qū)域,按照測試人員配置的數(shù)據(jù)記錄策略,在固定時間點,由目標機向宿主機發(fā)送測試結(jié)果和覆蓋信息。

      測試執(zhí)行完成以后,進入報告生成階段,該階段平臺根據(jù)目標機和宿主傳送的測試結(jié)果數(shù)據(jù),匯總分析并生成最終的測試報告的狀態(tài)。

      三、結(jié)束語

      在通用計算機環(huán)境中構(gòu)建宿目一體的嵌入式軟件自動化測試平臺,對嵌入式軟件進行開發(fā)調(diào)試與測試,是提高嵌入式軟件開發(fā)效率的通用方法。本文重點研究了嵌入式軟件全數(shù)字仿真測試策略,設(shè)計了嵌入式軟件自動化測試框架,并設(shè)計了宿目一體的嵌入式軟件自動化仿真測試平臺。由于受到論文篇幅的限制,該平臺架構(gòu)中的數(shù)據(jù)通信與測試代理的設(shè)計內(nèi)容,尚未展開。相關(guān)內(nèi)容,筆者另有專門論文進行研究。

      參? 考? 文? 獻

      [1]陳琳,嵌入式軟件自動化測試平臺的研究與實現(xiàn),《南京航空航天大學碩士論文》,2010.12

      [2]陳琳、張育平、倪紅英、崔玉美,嵌入式軟件自動化測試平臺的研究與實現(xiàn),《航空電子技術(shù)》,2011.03

      [3]彭琿、張曉娜、張翔、于鑫,DSP6x架構(gòu)的嵌入式CPU模擬技術(shù)研究與實現(xiàn),《中國新通信》,2021.07

      [4] Len Bass, Paul Clements, Rick Kazman. Software architecture inpractice[M] . MA: Addison-Wesley Professional, 1998

      猜你喜歡
      自動化測試嵌入式軟件
      基于人工智能的模塊化嵌入式軟件開發(fā)研究
      實時嵌入式軟件的測試技術(shù)
      電子測試(2018年10期)2018-06-26 05:54:08
      全景相機遙控器嵌入式軟件V1.0 相關(guān)操作分析
      電子制作(2017年17期)2017-12-18 06:40:56
      Hadoop性能測試自動化研究
      軟件導刊(2016年12期)2017-01-21 14:43:14
      數(shù)據(jù)驅(qū)動和關(guān)鍵字驅(qū)動的研究與應(yīng)用
      軟件(2016年4期)2017-01-20 09:56:35
      淺談空調(diào)控制器自動化測試
      東方教育(2016年7期)2017-01-17 21:28:10
      基于多總線結(jié)構(gòu)的電路板測試系統(tǒng)設(shè)計研究
      價值工程(2016年32期)2016-12-20 20:32:01
      航空航天與國防電子新形勢下自動化測試系統(tǒng)的應(yīng)用
      價值工程(2016年29期)2016-11-14 02:40:46
      基于CTI—TET和SeleniumWebdriver的Web應(yīng)用自動化測試框架的設(shè)計與實現(xiàn)
      軟件工程(2016年8期)2016-10-25 15:45:45
      基于Eclipse的航天嵌入式軟件集成開發(fā)環(huán)境設(shè)計與實現(xiàn)
      福贡县| 菏泽市| 林口县| 新泰市| 海晏县| 桃园市| 射阳县| 秭归县| 锡林郭勒盟| 安化县| 东乡族自治县| 山阴县| 泌阳县| 永顺县| 沙湾县| 保德县| 乐清市| 安仁县| 衡阳市| 黄梅县| 星子县| 南平市| 泰兴市| 巨野县| 来凤县| 卢氏县| 洮南市| 津南区| 仁布县| 普宁市| 庐江县| 深水埗区| 吴旗县| 大足县| 珲春市| 黄浦区| 龙山县| 精河县| 南平市| 阳山县| 唐海县|