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

        ?

        基于Jenkins的DSP處理器驅(qū)動自動化測試平臺的設(shè)計與實現(xiàn)

        2019-03-22 03:51:10李煜仇潤鶴
        科技與創(chuàng)新 2019年5期
        關(guān)鍵詞:功能

        李煜,仇潤鶴

        ?

        基于Jenkins的DSP處理器驅(qū)動自動化測試平臺的設(shè)計與實現(xiàn)

        李煜,仇潤鶴

        (東華大學(xué)信息科學(xué)與技術(shù)學(xué)院,上海 201620;數(shù)字化紡織服裝技術(shù)教育部工程研究中心,上海 201620)

        目前,DSP在音頻、視頻等領(lǐng)域得到了非常多的應(yīng)用,為應(yīng)對DSP處理器產(chǎn)品領(lǐng)域愈發(fā)激烈的市場競爭,必須保證產(chǎn)品功能研發(fā)速度不斷提升,利用Jenkins搭建一個持續(xù)集成自動化測試平臺,解決了繁復(fù)多樣的測試需求。介紹了自動化測試平臺的總體框架,并結(jié)合DSP處理器音頻、視頻驅(qū)動測試實例,驗證該平臺的實際測試功能。結(jié)果表明,該平臺使得自動化測試、持續(xù)集成得以成功應(yīng)用,有效提升了測試效率。

        DSP;Jenkins;持續(xù)集成;自動化測試

        現(xiàn)今,數(shù)字信號處理器(digital signal processor,DSP)憑借其對信號的快速采集、變換、識別處理等功能,在家庭影音、工業(yè)自動化、航空航天等領(lǐng)域得到廣泛應(yīng)用。以車載主機為例,它可以提供諸多特定音效、接收HD無線電等,極大地增強了車載主機的可用性。而這些功能的實現(xiàn),依賴于DSP產(chǎn)品配套驅(qū)動支持,DSP驅(qū)動的開發(fā)及測試需求隨之增長?,F(xiàn)代軟件行業(yè)發(fā)展迅速,新的工具與技術(shù)層出不窮。這些新技術(shù)都旨在提高企業(yè)生產(chǎn)力、產(chǎn)品質(zhì)量、客戶滿意度,適應(yīng)日益縮短的軟件交付時間。高效的軟件測試方案為實現(xiàn)上述目標(biāo)發(fā)揮著重要作用,尤其在應(yīng)對更具復(fù)雜性的企業(yè)級軟件的開發(fā)測試及部署工作方面。

        Capgemini,Sogeti和Micro Focus曾在《2017—2018年世界質(zhì)量報告》中指出,增加測試自動化、敏捷和DevOps方法的廣泛采用,成為軟件質(zhì)量和測試方面的兩個重要趨勢。Selenium,Katalon Studio,IBM Rational Functional Tester等頂級測試自動化工具和框架,幫助企業(yè)更好地進行自我定位,完成軟件開發(fā)完成以后的測試與維護。

        持續(xù)集成作為一種軟件開發(fā)實踐,要求團隊開發(fā)成員每天多次集成工作,每次集成都通過自動化的構(gòu)建(包括編譯,發(fā)布,自動化測試)來驗證,從而盡早地發(fā)現(xiàn)集成錯誤。通過搭建持續(xù)集成服務(wù)器,能夠采用自動化的方法,實現(xiàn)更平滑、更快交付和帶來更少的問題,而Jenkins就是一種典型開源持續(xù)集成測試軟件。

        1 持續(xù)集成自動化測試平臺

        1.1 自動化測試平臺框架

        DSP的持續(xù)集成自動化測試平臺框架如圖1所示。

        圖1 自動化測試平臺框架

        該平臺主要由Jenkins-Master機器、Jenkins-Slave機器、Git、CCES(CrossCore Embedded Studio)、DSP EZ-KIT等組成。

        Jenkins-Master安裝在Windows PC上,Jenkins-Slave、CCES安裝在Linux PC上,此處Linux PC均為Ubuntu系統(tǒng),DSP驅(qū)動程序的自動化測試任務(wù)在Linux PC上完成。Windows PC與Linux PC之間通過SSH(Secure Shell)實現(xiàn)遠(yuǎn)程連接,進行數(shù)據(jù)傳輸?shù)取?/p>

        Jenkins是一個可擴展的持續(xù)集成服務(wù)器。Jenkins Master/Slave架構(gòu)中的Master提供web接口,使用戶可以管理項目job和Slave,而job不僅可以在Master機器上運行,也可以分配到Slave機器上運行。一個Master可以關(guān)聯(lián)多個Slave,實現(xiàn)為不同的job,或者相同job的不同配置同時提供服務(wù)。相關(guān)人員根據(jù)不同的業(yè)務(wù)需求,可以利用Jenkins預(yù)設(shè)測試任務(wù),實現(xiàn)自動完成重復(fù)的測試過程,并更快地識別和修復(fù)問題。

        SSH是建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議,分別在Windows PC與Linux PC上開啟ssh(客戶端)和sshd(服務(wù)端),使兩者進行遠(yuǎn)程通信,從而啟動Slave agent。在創(chuàng)建通過ssh連接的Slave node時,提供Slave的host名稱,用戶名和ssh證書。創(chuàng)建public/private keys,分別保存到Slave和Master上。Jenkins自動完成其他相應(yīng)配置后,實現(xiàn)ssh服務(wù)。

        Git是一個分布式的版本控制系統(tǒng),可以對不同規(guī)模的項目版本進行高效管理。Git將跟蹤個人對項目代碼進行的所有修改,確定代碼可行后提交所做出的修改,而Git將記錄項目最新的狀態(tài),如果想撤銷修改,可返回之前的任意一個可行狀態(tài)。通過Jenkins內(nèi)置git plugin實現(xiàn)與Git的聯(lián)動,即Jenkins監(jiān)控代碼托管倉庫Git的狀態(tài),如果Git有變動,將自動觸發(fā)Jenkins執(zhí)行操作,比如代碼部署、自動化測試等。Cross Core Embedded Studio是一種集成開發(fā)環(huán)境(IDE)。該IDE基于Eclipse,采用成熟的代碼生成工具,提供無縫直觀的C/C++和匯編語言編輯、代碼生成和調(diào)試支持。CCES還為開發(fā)人員提供了一種驅(qū)動器、服務(wù)和算法軟件模塊的高度集成插件支持。這些支持包括片內(nèi)和片外外設(shè)的驅(qū)動器支持、USB的堆棧、實時操作系統(tǒng)和文件系統(tǒng)等。

        1.2 測試對象

        測試所用DSP EZ-KIT是基于SHARC系列處理器的測試評估板。該處理器屬于單指令多數(shù)據(jù)數(shù)字信號處理器,針對高性能音頻/浮點應(yīng)用進行了優(yōu)化,具有大容量片內(nèi)靜態(tài)隨機存取存儲器(SRAM),可消除I/O瓶頸的多條內(nèi)部總線,并且提供創(chuàng)新的數(shù)字音頻接口(DAI)。該系列DSP被廣泛應(yīng)用于汽車、專業(yè)音頻和需要高性能浮點處理的工業(yè)應(yīng)用。該DSP EZ-KIT設(shè)備的外設(shè)包括ADC、熱傳感器、觸發(fā)路由單元、時鐘發(fā)生器、I2C、定時器和計數(shù)器、SDCard、以太網(wǎng)、USB等,如圖2所示。

        圖2 DSP測試評估板

        本文主要介紹其音頻、視頻驅(qū)動測試,所以還需配合音頻輸入/輸出線纜、HDMI電纜和3RCA電纜、視頻編碼/解碼器EI3擴展板等物理設(shè)備,將DSP EZ-KIT與安裝有Jenkins-Slave的機器連接。

        Slave機器在特定測試環(huán)境下,執(zhí)行Master分配的job,并拉取運行測試腳本命令,進行自動化測試。本文中Slave機器上執(zhí)行的exp腳本文件,可以實現(xiàn)測試任務(wù)的自動化,它的工作原理是等待特定字符串,并發(fā)送或響應(yīng)相應(yīng)的字符串,并用于自動提交輸入到交互程序。

        2 DSP驅(qū)動測試實例

        該DSP EZ-KIT設(shè)備Linux驅(qū)動軟件包括Video Driver、Audio Driver、Ethernet Driver、LCD device driver等,本文以音頻驅(qū)動測試、視頻驅(qū)動測試為例完成自動化測試過程。

        2.1 測試對象

        音頻驅(qū)動測試功能主要包括Record、Play、Loopback。以音頻錄制功能為例,在設(shè)定PCM設(shè)備后,通過配置不同的音頻采樣率、錄音格式、文件類型等腳本參數(shù),對待測DSP EZ-KIT進行自動化測試,以檢測DSP測試板,是否能通過音頻驅(qū)動軟件錄制生成目標(biāo)品質(zhì)的音頻文件,實現(xiàn)多樣需求下的錄音功能。視頻驅(qū)動測試功能主要包括Capture、Display。以視頻編碼功能為例,將DSP測試板與視頻編碼器EI3拓展板連接。通過輸入不同格式的視頻流,對待測DSP EZ-KIT進行自動化測試,從而檢測DSP測試板是否能通過視頻驅(qū)動編碼生成不同格式視頻文件,實現(xiàn)多種格式標(biāo)準(zhǔn)下的視頻編碼功能。

        2.2 測試腳本

        在DSP音頻錄制功能測試時,首先對amixer功能參數(shù)、PCM設(shè)備進行配置選擇,隨后根據(jù)測試業(yè)務(wù)需求,將alsa格式、音頻采樣率、文件類型等參數(shù)配置組成不同錄音方案,生成相應(yīng)格式的音頻文件。視頻編碼功能主要針對特定格式視頻流,能夠捕捉并編碼生成相同格式視頻文件,以此驗證音頻、視頻驅(qū)動功能的完整性。音頻、視頻驅(qū)動測試主要參數(shù)如表1所示。

        表1 音頻、視頻驅(qū)動測試腳本參數(shù)

        腳本參數(shù)參數(shù)描述 Audioalsa_format= S16_LE錄音格式:16 bits alsa_format= S24_LE錄音格式:24 bits alsa_format= S32_LE錄音格式:32 bits Sample_rate=8000音頻采樣率:8 kHz Sample_rate=44100音頻采樣率:44.1 kHz Sample_rate=96000音頻采樣率:96 kHz Sample_rate=192000音頻采樣率:192 kHz Videovideo_format=HD視頻格式:720p60 video_format=NTSC視頻格式:480i60 video_format=PAL視頻格式:576i50

        2.3 測試流程

        在自動化測試平臺上,進行DSP驅(qū)動功能測試前,首先必須確保測試板可以正常reset,Linux Kernel也能完成boot,輸入命令:$ sudoreset_board 2,觀察minicom里測試板是否重啟,執(zhí)行指令后測試板有反應(yīng)表示線路接通,隨后可以進行Jenkins任務(wù)創(chuàng)建。

        Windows PC安裝Java、CCES、Python,對PYTHONPATH 環(huán)境變量、CCES_HOME環(huán)境變量進行設(shè)置。進入Jenkins-Master建立新節(jié)點,配置Slave節(jié)點信息,選擇SSH啟動方式。Slave設(shè)置結(jié)束后,生成slave-agent.jnlp文件。將含有啟動相應(yīng)node的cmd命令行的lanuch.bat文件,與slave.jar放到-All program-Startup文件夾,完成開機自啟node。

        在Jenkins-Master上創(chuàng)建多個Slave節(jié)點,為便于對不同型號DSP測試板的管理,通常用待測DSP評估板型號命名節(jié)點。在創(chuàng)建job時,將不同驅(qū)動功能測試case進行區(qū)分設(shè)置,并選擇遇到failed時可繼續(xù)進行。添加shell腳本,命令Slave機器進行環(huán)境變量配置。設(shè)置Git的Project url,使得Slave可以自動從指定地址拉取測試腳本等文件。同時可以指定執(zhí)行構(gòu)建的時間,實現(xiàn)無人控制時段的自動測試,提升測試效率。

        完成job的構(gòu)建后,點擊“Build Now”進行自動測試。Jenkins-Master將job分發(fā)至位于LinuxPC上的Slave節(jié)點,Slave機器依照命令自動進行環(huán)境變量配置,并從Git url處拉取獲得所需驅(qū)動的exp測試腳本文件、驅(qū)動軟件、相應(yīng)編譯工具等。以音頻驅(qū)動為例,build_audio_kernel.exp將執(zhí)行alsa-utils編譯、啟用ADAU聲卡驅(qū)動等工作,并生成Uimage文件。而audio_test.exp將把Uimage文件下載至DSP,進行驅(qū)動功能測試、生成并反饋test_log等工作。通過Jenkins-Master界面,可以觀察到j(luò)ob的執(zhí)行情況,如圖3所示。圖3中Name序列左側(cè)晴雨表圖標(biāo)反應(yīng)測試通過情況,晴天表示良好,雨天表示失敗較多。

        圖3 Jenkins-Master界面觀察Job執(zhí)行情況

        2.4 測試結(jié)果

        在進行DSP音頻驅(qū)動錄制功能測試時,其測試結(jié)果可以通過音頻的幀誤率及左右聲道是否相同等標(biāo)準(zhǔn)進行評判,測試通過表示音頻錄制成功,且能正常生成滿足相應(yīng)格式需求的音頻文件。在進行視頻驅(qū)動編碼功能測試時,其測試結(jié)果可以查看捕捉輸入格式的視頻流,是否編碼生成視頻文件,測試通過表示該格式視頻編碼正常,否則不支持該格式視頻流。

        Slave機器上執(zhí)行的驅(qū)動測試腳本最后會生成test_log,記錄測試過程及結(jié)果,并可根據(jù)設(shè)置傳回Jenkins-Master。在Jenkins的Tset Result界面可以查看job下所有case的測試時間、狀態(tài)詳情,如圖4所示。

        圖4 通過Tset Result查看所有測試項目狀態(tài)

        圖4中整個音頻驅(qū)動測試包括3個test部分,分別耗時15 min、15 min、1 min24 sec,共計31 min24 sec,其余驅(qū)動測試平均耗時也僅數(shù)分鐘,整個測試過程均通過自動化測試平臺自動完成。反觀手動測試情況,不僅需要安排人員全程進行測試操作,而且一個驅(qū)動測試就需耗時數(shù)十分鐘甚至數(shù)小時,由此可以看出,自動化測試平臺大大提高了測試效率,縮減了人力時間成本。除此之外,Tset Result界面也可對某一具體job測試結(jié)果記錄進行查看,根據(jù)設(shè)置,如果遇到“Failed”,將會展示具體腳本執(zhí)行報錯位置,有利于快速定位解決問題,此處音頻驅(qū)動測試結(jié)果界面顯示“Passed”,表示測試通過,如圖5所示。

        圖5 通過Tset Result查看單個測試項目記錄

        3 結(jié)束語

        如今敏捷開發(fā)(Agile Development)在軟件工程領(lǐng)域越來越被重視,它要求在不斷變化的需求中做到快速適應(yīng),并保證軟件的質(zhì)量。自動化測試技術(shù)與持續(xù)集成的出現(xiàn),讓軟件測試環(huán)節(jié)實現(xiàn)自動化,不僅減少了人工重復(fù)過程,節(jié)省了時間、費用和工作量,還保障了每個時間點上團隊成員提交的代碼是能成功集成的,幫助項目團隊進行有效決策。

        本文搭建了一種基于Jenkins的持續(xù)集成自動化測試平臺,利用Jenkins易于安裝配置、可進行分布式build、豐富的插件支持等特性,用于DSP驅(qū)動軟件項目的自動化測試。同時對自動化測試平臺框架及各組成模塊的關(guān)系、功能進行了具體介紹,包括所用DSP測試評估板的功能特性。以DSP EZ-KIT的音頻驅(qū)動、視頻驅(qū)動測試為例,從測試流程、測試結(jié)果等方面進行了簡要描述。該平臺成功實現(xiàn)了DSP驅(qū)動軟件測試流程的持續(xù)集成與自動化,具有顯著的實際應(yīng)用價值。

        [1]馬曉東,李冰琪,魏鵬,等.DSP技術(shù)發(fā)展與應(yīng)用研究綜述[J].電子世界,2018(24):46-47.

        [2]商永巧.DevOps之持續(xù)集成實踐之路[J].通訊世界,2018,25(12):266-267.

        [3]曾利宏.分析軟件自動化測試技術(shù)及應(yīng)用[J].信息系統(tǒng)工程,2017(10):42.

        [4]趙良福,王世簽,鄭科鵬.軟件自動化測試研究[J].有線電視技術(shù),2018,25(6):95-97.

        [5]段清蛇,李筠.基于Jenkins的持續(xù)集成測試環(huán)境插件開發(fā)[J].信息技術(shù),2013(10):114-116,120.

        [6]李靜.淺析Jenkins在java項目開發(fā)中的應(yīng)用[J].福建電腦,2017,33(6):154,183.

        [7]卞孟春.基于Jenkins的持續(xù)集成方案設(shè)計與實現(xiàn)[D].北京:中國科學(xué)院大學(xué),2014.

        [8]張力文.基于Jenkins的項目持續(xù)集成方案研究與實現(xiàn)[D].成都:西南交通大學(xué),2017.

        [9]劉博,汪宇昕.一種基于Jenkins的嵌入式軟件持續(xù)集成方法[J].鐵道機車車輛,2018(6):14-16,23.

        [10]龐雙玉.Git分布式版本控制實現(xiàn)機制探討[J].信息系統(tǒng)工程,2018(10):53-54.

        2095-6835(2019)05-0138-04

        TN911.72

        A

        10.15913/j.cnki.kjycx.2019.05.138

        李煜(1995—),男,碩士,主要研究方向為電子通信技術(shù)、數(shù)字信號處理。

        〔編輯:嚴(yán)麗琴〕

        猜你喜歡
        功能
        拆解復(fù)雜功能
        鐘表(2023年5期)2023-10-27 04:20:44
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        基層弄虛作假的“新功能取向”
        深刻理解功能關(guān)系
        鉗把功能創(chuàng)新實踐應(yīng)用
        關(guān)于非首都功能疏解的幾點思考
        基于PMC窗口功能實現(xiàn)設(shè)備同步刷刀功能
        懷孕了,凝血功能怎么變?
        媽媽寶寶(2017年2期)2017-02-21 01:21:24
        “簡直”和“幾乎”的表達功能
        中西醫(yī)結(jié)合治療甲狀腺功能亢進癥31例
        亚洲一区精品中文字幕| a级毛片无码久久精品免费 | 精品国产一区二区三区香蕉| 伊人网视频在线观看| 亚洲精品中文字幕乱码二区| 亚洲熟女少妇一区二区三区青久久| 亚洲人成网网址在线看| 久久久久亚洲av无码专区网站 | 极品视频一区二区三区在线观看| 久久久中文字幕日韩精品| 亚洲av无码专区亚洲av伊甸园| 污污污污污污WWW网站免费| 亚洲精品中文字幕二区| 青青草激情视频在线播放| 99精品国产在热久久无码 | 美女福利视频在线观看网址| 一区二区和激情视频| 午夜不卡av免费| 国产一区二区欧美丝袜| 国产一区二区在线免费视频观看| 国产日韩av在线播放| 男女超爽视频免费播放| 国产精品一区二区三密桃| 富婆猛男一区二区三区| 无码人妻av免费一区二区三区| 免费毛片视频网站| 日韩字幕无线乱码免费| 无码国内精品人妻少妇蜜桃视频| 天天综合亚洲色在线精品| 中文字幕大乳少妇| 亚洲av成人一区二区| 中文人妻熟妇乱又伦精品| 欧美人与动zozo| 麻豆国产成人av高清在线| 亚洲第一狼人天堂网亚洲av| 成熟丰满熟妇高潮xxxxx| 亚洲无码毛片免费视频在线观看 | 国产午夜福利片在线观看| 色窝窝免费播放视频在线| 久久狠狠爱亚洲综合影院| 美女视频在线观看亚洲色图|