国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于WPF的自研GPU自動(dòng)化測(cè)試工具

2021-01-20 06:21聶瞾張琛齊宇心馬城城中國(guó)航空工業(yè)集團(tuán)公司西安航空計(jì)算技術(shù)研究所集成電路與微系統(tǒng)設(shè)計(jì)航空科技重點(diǎn)實(shí)驗(yàn)室
數(shù)碼世界 2020年12期
關(guān)鍵詞:測(cè)試工具繪圖繪制

聶瞾 張琛 齊宇心 馬城城 中國(guó)航空工業(yè)集團(tuán)公司西安航空計(jì)算技術(shù)研究所/集成電路與微系統(tǒng)設(shè)計(jì)航空科技重點(diǎn)實(shí)驗(yàn)室

引言

當(dāng)前測(cè)試主要采用人工執(zhí)行并進(jìn)行比對(duì)的方式,在FPGA平臺(tái)上,先添加并編譯驗(yàn)證項(xiàng),然后上電執(zhí)行繪圖程序,待執(zhí)行完畢將結(jié)果顯示到與顯示控制單元連接的屏幕上,通過(guò)人眼將標(biāo)準(zhǔn)圖與屏幕結(jié)果進(jìn)行對(duì)比??梢钥闯觯摐y(cè)試過(guò)程十分繁瑣、測(cè)試操作比較復(fù)雜,測(cè)試耗時(shí)也相對(duì)較大,最為重要的是合格判據(jù)需要依賴人眼來(lái)比對(duì),大大增加誤判、漏判的可能性。影響測(cè)試工作的效率和準(zhǔn)確性。

針對(duì)以上問(wèn)題,本文基于自動(dòng)化測(cè)試思路,設(shè)計(jì)一種面向自研GPU的自動(dòng)化測(cè)試工具,采用.NET Framework提供的用于Windows的現(xiàn)代圖形顯示系統(tǒng)技術(shù)WPF(windows presentation Foundation),實(shí)現(xiàn)包含驗(yàn)證項(xiàng)檢測(cè)、合格判據(jù)生成、自動(dòng)化測(cè)試和測(cè)試結(jié)果比對(duì)等4個(gè)模塊的測(cè)試工具。

1 測(cè)試流程

為了驗(yàn)證自研GPU繪圖能力的功能正確性和性能,需要測(cè)試人員編寫針對(duì)性的測(cè)試用例,通過(guò)將GPU繪制的內(nèi)容與標(biāo)準(zhǔn)結(jié)果進(jìn)行比對(duì)和判斷,完成GPU測(cè)試工作。在人工驗(yàn)證過(guò)程中,首先添加并編譯驗(yàn)證項(xiàng)源代碼,編譯通過(guò)后上電FPGA測(cè)試平臺(tái)執(zhí)行驗(yàn)證項(xiàng),隨后等待顯示控制單元將GPU繪制的結(jié)果顯示到屏幕上,最后將標(biāo)準(zhǔn)圖片與GPU在屏幕繪制的內(nèi)容進(jìn)行比較,若驗(yàn)證通過(guò)則進(jìn)行下一項(xiàng),否則保存錯(cuò)誤圖片并記錄錯(cuò)誤現(xiàn)象和原因。不難發(fā)現(xiàn),人工測(cè)試方法過(guò)程十分繁瑣,需要不斷往復(fù)的執(zhí)行和對(duì)比結(jié)果和標(biāo)準(zhǔn)圖片,費(fèi)時(shí)費(fèi)力且不能有效確保人工對(duì)比的準(zhǔn)確性,因此開(kāi)發(fā)GPU自動(dòng)化測(cè)試工具即為必要。

2 模塊劃分

根據(jù)測(cè)試流程可以將測(cè)試過(guò)程劃分為4個(gè)模塊,具體為驗(yàn)證項(xiàng)檢測(cè)、合格判據(jù)生成、自動(dòng)化測(cè)試和和測(cè)試結(jié)果比對(duì)。其主要內(nèi)容如下:

(1)驗(yàn)證項(xiàng)檢測(cè)負(fù)責(zé)入口函數(shù)名稱的檢測(cè),確保所有驗(yàn)證項(xiàng)入口函數(shù)的統(tǒng)一性和唯一性,調(diào)整和修改為滿足自動(dòng)化測(cè)試要求的統(tǒng)一命名規(guī)范,保證程序運(yùn)行的穩(wěn)定性。

(2)合格判據(jù)生成的作用是生成與驗(yàn)證項(xiàng)對(duì)應(yīng)的標(biāo)準(zhǔn)圖片,用于測(cè)試結(jié)果的比對(duì),通過(guò)將繪制結(jié)果與標(biāo)準(zhǔn)圖片進(jìn)行判斷,確定GPU的繪圖的正確性。

(3)自動(dòng)化測(cè)試是通過(guò)自動(dòng)化手段,依次執(zhí)行每個(gè)驗(yàn)證項(xiàng),完成驗(yàn)證項(xiàng)的編譯、執(zhí)行和繪圖結(jié)果的保存。為了消除驗(yàn)證項(xiàng)之間的影響,需要在每個(gè)驗(yàn)證項(xiàng)結(jié)束后通過(guò)軟復(fù)位方式重置FPGA測(cè)試平臺(tái)。

(4)測(cè)試結(jié)果對(duì)比是將標(biāo)準(zhǔn)圖片與GPU繪制內(nèi)容進(jìn)行比較,采用逐像素對(duì)比方式,設(shè)定一個(gè)誤差范圍,如果二者在某一個(gè)像素處相似度超過(guò)誤差范圍,則表明繪圖內(nèi)容有誤,打印錯(cuò)誤信息記錄錯(cuò)誤的驗(yàn)證項(xiàng),否則進(jìn)行下一項(xiàng)的比對(duì)。

3 軟件實(shí)現(xiàn)

使用WPF實(shí)現(xiàn)時(shí),窗口主界面分為標(biāo)題和內(nèi)容上下2部分。標(biāo)題位于窗口上側(cè),負(fù)責(zé)軟件名稱和制作團(tuán)隊(duì)的展示,剩余區(qū)域顯示內(nèi)容部分,包含4個(gè)模塊。為了統(tǒng)一各模塊的風(fēng)格和操作方式,設(shè)計(jì)中,首先使用TabControl將每個(gè)模塊作為一個(gè)TabItem來(lái)包含,每個(gè)模塊再按橫向分為3列,左側(cè)采用TreeView以樹(shù)的形式顯示驗(yàn)證項(xiàng),中間區(qū)域顯示可供用戶點(diǎn)選的配置信息,右側(cè)使用Textbox顯示執(zhí)行結(jié)果和打印信息。軟件界面如圖1所示。

圖1 軟件界面

驗(yàn)證項(xiàng)檢測(cè)模塊,用戶首先點(diǎn)擊上方“選擇”按鈕,選擇驗(yàn)證項(xiàng)所在的根文件目錄,在軟件遞歸搜索后通過(guò)左側(cè)TreeView控件顯示出來(lái)。然后用戶在中間區(qū)域進(jìn)行選項(xiàng)的配置,包括入口函數(shù)的檢測(cè)、驗(yàn)證項(xiàng)處理(檢測(cè)、替換原文件和復(fù)制到給定位置3種方式)以及編碼格式的選擇。最后點(diǎn)擊“開(kāi)始執(zhí)行”運(yùn)行檢測(cè)代碼并將結(jié)果信息輸出至右側(cè)。

合格判據(jù)生成通過(guò)將用戶選擇的驗(yàn)證項(xiàng)與Windows環(huán)境下的OpenGL庫(kù)聯(lián)合編譯鏈接,并將繪圖結(jié)果按照驗(yàn)證項(xiàng)名稱進(jìn)行保存。用戶勾選驗(yàn)證項(xiàng)后,自動(dòng)化測(cè)試工具調(diào)用Windows下的g++編譯器編譯驗(yàn)證項(xiàng)源代碼并將OpenGL庫(kù)作為參數(shù)傳遞,編譯完成后,使用命令提示符中的process命令執(zhí)行生成的exe,最后調(diào)用保存圖片函數(shù)完成合格判據(jù)的生成。

自動(dòng)化測(cè)試根據(jù)勾選的驗(yàn)證項(xiàng)生成循環(huán)執(zhí)行時(shí)所需要的驗(yàn)證項(xiàng)結(jié)構(gòu)體數(shù)組。其原理是通過(guò)數(shù)組定義驗(yàn)證項(xiàng)信息,執(zhí)行時(shí)按照數(shù)組下標(biāo)依次執(zhí)行每個(gè)驗(yàn)證項(xiàng),在每次循環(huán)結(jié)束后調(diào)用保存圖片接口和軟復(fù)位接口,直至執(zhí)行完成所有驗(yàn)證項(xiàng)。

測(cè)試結(jié)果對(duì)比作為測(cè)試的最后環(huán)節(jié),其作用是將FPGA平臺(tái)結(jié)果和標(biāo)準(zhǔn)圖片進(jìn)行對(duì)比,首先選擇自動(dòng)化測(cè)試后生成的FPGA結(jié)果路徑,然后指定對(duì)應(yīng)于這些驗(yàn)證項(xiàng)的標(biāo)準(zhǔn)圖片路徑。點(diǎn)擊執(zhí)行后,工具遍歷搜索文件并按像素對(duì)每對(duì)圖片進(jìn)行判斷,最后將結(jié)果打印出來(lái)。

4 總結(jié)

本文基于自動(dòng)化測(cè)試思路,設(shè)計(jì)并實(shí)現(xiàn)了一種基于WPF的自動(dòng)化測(cè)試工具,從測(cè)試流程、模塊劃分和軟件實(shí)現(xiàn)3個(gè)角度進(jìn)行闡述,構(gòu)建了包括驗(yàn)證項(xiàng)測(cè)試、合格判據(jù)生成、自動(dòng)化測(cè)試和測(cè)試結(jié)果對(duì)比四個(gè)模塊的軟件系統(tǒng)。實(shí)踐結(jié)果表明,自動(dòng)測(cè)試方法克服了人工測(cè)試方法低效、費(fèi)時(shí)和不準(zhǔn)確的問(wèn)題,有效提高GPU測(cè)試工作的效率和準(zhǔn)確度。

猜你喜歡
測(cè)試工具繪圖繪制
“禾下乘涼圖”繪圖人
繪制童話
作品賞析
繪制世界地圖
垂涎三尺
基于移動(dòng)平臺(tái)APP測(cè)試
手車式真空斷路器回路電阻測(cè)試電流線接頭研究
淺談響應(yīng)時(shí)間測(cè)試分析方法
神秘的不速之客
繪圖機(jī)器人
佛坪县| 安徽省| 海丰县| 天全县| 余江县| 曲阳县| 肇庆市| 通榆县| 博客| 东阿县| 沾益县| 河津市| 江西省| 普宁市| 东平县| 新安县| 浦城县| 双柏县| 克拉玛依市| 镇平县| 宝兴县| 阳春市| 兰溪市| 乌审旗| 富源县| 抚远县| 雅江县| 阜南县| 叶城县| 福安市| 中宁县| 清流县| 那坡县| 梁河县| 阜康市| 杨浦区| 阜阳市| 山东省| 鹤山市| 胶州市| 永春县|