宋 茜, 吳速超, 耿宗起
(濰柴動(dòng)力股份有限公司發(fā)動(dòng)機(jī)技術(shù)研究院, 山東 濰坊 261061)
在使用ECU-TEST進(jìn)行自動(dòng)測(cè)試的過(guò)程中,ECU-TEST自動(dòng)生成的報(bào)告是trf格式的,但這種格式的報(bào)告需要安裝ECU-TEST的TRF-VIEW插件才能查看。因此,這會(huì)對(duì)報(bào)告之間的分享造成麻煩。
同時(shí),trf格式的報(bào)告是按照其自定義的格式生成的,與我們需要的測(cè)試報(bào)告的格式存在很大不同,這樣就需要測(cè)試工程師根據(jù)trf報(bào)告,再自己手動(dòng)去提取需要的信息,并將信息按照自己需要的格式進(jìn)行書寫。對(duì)于一些比較大的測(cè)試項(xiàng)目,這種后期通過(guò)人工手動(dòng)提取測(cè)試結(jié)果并進(jìn)行測(cè)試報(bào)告編寫的方法,會(huì)存在大量的人工消耗。
為了解決上述兩個(gè)問(wèn)題,我們研究了ECU-TEST中自帶的客戶自定義報(bào)告功能??梢詫rf格式的報(bào)告轉(zhuǎn)換為我們常用的Excel格式或者HTML格式。從而提高了測(cè)試報(bào)告的可分享性,以及節(jié)約了測(cè)試工程師寫報(bào)告的時(shí)間,提高了測(cè)試效率。
ECU-TEST是一個(gè)自動(dòng)化測(cè)試軟件,主要應(yīng)用于MiL/SiL/HiL測(cè)試環(huán)境中的自動(dòng)化測(cè)試用例的編輯、實(shí)現(xiàn)、執(zhí)行、測(cè)試數(shù)據(jù)分析以及測(cè)試報(bào)告的生成。借助ECU-TEST,即使沒(méi)有任何測(cè)試自動(dòng)化和編程方面的知識(shí),用戶也可以在每個(gè)開(kāi)發(fā)階段直觀地為其軟件創(chuàng)建自動(dòng)化測(cè)試用例并自動(dòng)運(yùn)行它們。盡管使用該工具所需的工作量非常低,但在所有級(jí)別上都可以保持異常高的測(cè)試品質(zhì),這得益于其豐富的測(cè)試工具接口和很好的易用性,ECU-TEST在國(guó)內(nèi)外汽車公司內(nèi)的MiL/SiL/HiL測(cè)試中得到了非常廣泛的應(yīng)用。
在ECU-TEST內(nèi)部,為了方便客戶自定義測(cè)試報(bào)告,其提供了客戶自定義報(bào)告功能,客戶通過(guò)修改相關(guān)腳本,可以實(shí)現(xiàn)報(bào)告的定制化開(kāi)發(fā),滿足不同的測(cè)試需求。ECU-TEST支持的自定義測(cè)試報(bào)告格式有:ATX、EXCEL、HTML、JSON、OMR、TRF、TXT以及UNIT。
在進(jìn)行報(bào)告定制化開(kāi)發(fā)之前,我們要先準(zhǔn)備好需要的工具。
1) Python軟件。對(duì)于使用ECU-TEST7.1以及之前版本的客戶,需要安裝Python2.7;對(duì)于ECU-TEST7.1之后版本的用戶,需要安裝Python3.7。
2) 安裝Python庫(kù)。這里以Excel為例,因?yàn)橐獙?duì)Excel進(jìn)行操作,所以會(huì)用到openpyxl這個(gè)庫(kù)。到PYPI網(wǎng)站下載python版本對(duì)應(yīng)的庫(kù)并進(jìn)行安裝即可。
使用ECU-TEST7.1的客戶注意一下,ECU-TEST7.1自帶的PIL這個(gè)庫(kù)在處理圖片大小的時(shí)候有問(wèn)題,大家需要在python中安裝這個(gè)庫(kù),并且在ECU-TEST中加載。加載方法為:從ECU-TEST的菜單欄,找到options選項(xiàng),選擇settings,在打開(kāi)的settings界面,選擇Python library這個(gè)選項(xiàng),然后把你在python中安裝的PIL庫(kù)的路徑寫上就可以了。如圖1所示。
圖1 Python library設(shè)置方法
如果要使用定制化報(bào)告,需要有相關(guān)的腳本以及報(bào)告模板。腳本和報(bào)告模板的編寫部分將在2.3節(jié)介紹。這里我們假設(shè)已經(jīng)有了相應(yīng)的腳本,以生成Excel格式的報(bào)告為例,我們來(lái)介紹使用定制化報(bào)告的方法。
1) 將腳本放到規(guī)定位置。將腳本及EXCEL模板放在Workspace路徑的Templates文件下面。如圖2所示,把自定義的EXCEL模板等文件放在文件夾EXCEL_Final中,并將其放在運(yùn)行的Workspace路徑的Templates文件夾下方。在生成EXCEL報(bào)告選擇模板的時(shí)候,模板的名字就是文件夾的名字,即EXCEL_Final。
圖2 腳本及模板位置
2) 在ECU-TEST中,使用Ctrl+Shift+R更新庫(kù)文件。也可以從目錄中依次選擇Extras→update user libraries進(jìn)行更新。
3) 在TCF配置文件中,對(duì)使用的報(bào)告模板進(jìn)行配置。在TCF的Report下方的output format中選擇新建按鈕,如圖3所示,在下方可以看到我們?cè)?) 中添加的Excel 模板。我們依次選擇HTML和EXCEL_Final。選擇HTML的原因是為了提取trf報(bào)告中的圖片。配置好后的效果如圖4所示。
圖3 選擇報(bào)告模板
圖4 配置好后的效果
4) 自動(dòng)測(cè)試用例運(yùn)行結(jié)束后會(huì)自動(dòng)生成報(bào)告。在TestReports文件夾下方自動(dòng)測(cè)試用例名文件夾下方,會(huì)生成對(duì)應(yīng)的Excel報(bào)告,如圖5所示。此處運(yùn)行了一個(gè)名為test的工程文件。其在生成trf格式報(bào)告的同時(shí),生成兩個(gè)新文件夾EXCEL_Final custom和HTML_custom。EXCEL_Final custom文件夾下面存放了生成的Excel 格式的報(bào)告,HTML_custom文件夾下面存放了我們從trf報(bào)告中提取的圖片。具體的Excel格式模板可以根據(jù)自己的需要自己設(shè)計(jì)。圖6、圖7是ECUTEST中自帶的Excel模板。通過(guò)修改Excel模板以及腳本,可以實(shí)現(xiàn)定制化報(bào)告。
圖5 報(bào)告生成情況
圖6 ECU-TEST自帶Excel報(bào)告格式1
圖7 ECU-TEST自帶Excel報(bào)告格式2
在ECU-TEST中,有生成Excel報(bào)告的例子以及相關(guān)腳本和Excel模板。我們?nèi)绻ㄖ崎_(kāi)發(fā)自己的報(bào)告,可以在此基礎(chǔ)上進(jìn)行修改。
ECU-TEST中自帶的Excel模板和腳本的位置在ECUTEST的安裝目錄下的TemplatesReportEXCEL文件夾下面。如圖8所示。
圖8 腳本及Excel模板位置
文件夾下文件的作用主要是。
1) report.py文件:主要從trf格式報(bào)告中獲取相關(guān)信息,并將信息填寫到Excel模板中。
2) report_template.xlsx文件:提前設(shè)計(jì)好的的Excel模板。
3) Logo.jpg文件:圖6和圖7中Excel表左上角的logo,這個(gè)可以換成自己的圖標(biāo)。
4) config.xml文件:描述和存放數(shù)據(jù)。例如,如果用例的結(jié)果是success,結(jié)果填寫到Excel中用什么填充顏色。
通過(guò)使用ECU-TEST中的定制化測(cè)試報(bào)告功能,使報(bào)告的形式可以更靈活。同時(shí),報(bào)告的可讀性、可分享性得到了提高。避免了測(cè)試工程師手動(dòng)提取信息再編寫報(bào)告的過(guò)程,提高了效率。