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

?

基于ECU-TEST和Jenkins的自動化測試方法研究

2021-06-04 03:39吳速超耿宗起石玉慶
汽車電器 2021年5期
關(guān)鍵詞:測試用例界面選項

宋 茜,吳速超,耿宗起,石玉慶

(濰柴動力股份有限公司發(fā)動機技術(shù)研究院,山東 濰坊 261061)

1 引言

隨著發(fā)動機電控技術(shù)的不斷更新,國產(chǎn)自主ECU也逐漸嶄露頭角。濰柴自主開發(fā)的ECU控制器就完全可以適用于歐VI柴油發(fā)動機的控制。

濰柴自主開發(fā)的ECU控制器會不斷根據(jù)市場反饋以及法規(guī)要求,對控制軟件進行更新升級,以及修復(fù)一些bug。為了更加全面準確地測試軟件性能,我們引入了HIL(硬件在環(huán)),但一臺HIL的價格比較昂貴,所以可用的測試資源是有限的。因此為了實現(xiàn)資源的最優(yōu)化分配,以及實現(xiàn)資源在公司內(nèi)部及各子公司之間的共享,我們利用Jenkins和ECUTEST來解決這個問題。

測試工程師使用ECU-TEST在個人本地電腦編寫測試用例,將其上傳到SVN服務(wù)器,然后觸發(fā)測試任務(wù)。Jenkins接收到測試任務(wù)之后,會自動查詢可用的HIL資源,并將測試用例發(fā)布到合適的HIL上進行運行。運行結(jié)束后,測試報告自動上傳數(shù)據(jù)庫,并郵件通知對應(yīng)的測試工程師,可以去數(shù)據(jù)庫中下載測試報告。

在這整個過程中,免除了測試工程師自己去找HIL資源的麻煩。同時,集團內(nèi)部其他子公司也可以遠程實現(xiàn)ECU軟件的硬件在環(huán)測試,實現(xiàn)了資源的共享和最大化利用。

2 ECU-TEST及Jenkins簡介

ECU-TEST是一個自動化測試軟件,主要應(yīng)用于MiL/SiL/HiL測試環(huán)境中的自動化測試用例的編輯、實現(xiàn)、執(zhí)行、測試數(shù)據(jù)分析以及測試報告的生成。借助ECU-TEST,即使沒有任何測試自動化和編程方面的知識,用戶也可以在每個開發(fā)階段直觀地為其軟件創(chuàng)建自動化測試用例并自動運行它們。盡管使用該工具所需的工作量非常低,但在所有級別上都可以保持異常高的測試品質(zhì),這得益于其豐富的測試工具接口和很好的易用性,ECU-TEST在國內(nèi)外汽車公司內(nèi)的MiL/SiL/HiL測試中得到了非常廣泛的應(yīng)用。

Jenkins是一個開源的、提供友好操作界面的持續(xù)集成工具,主要用于持續(xù)、自動地構(gòu)建/測試軟件項目、監(jiān)控外部任務(wù)的運行。Jenkins通常與版本管理工具、構(gòu)建工具結(jié)合使用。常用的版本控制工具有SVN、GIT,構(gòu)建工具有Maven、Ant。

3 功能實現(xiàn)

3.1 功能架構(gòu)簡介

整個功能架構(gòu)如圖1所示。根據(jù)功能的不同,我們將整個架構(gòu)分為3個部分。

1)操作界面:測試工程師的主要任務(wù)就是在操作界面上編寫軟件功能的邏輯測試用例以及對應(yīng)的自動測試用例,創(chuàng)建測試任務(wù),顯示測試任務(wù)執(zhí)行狀態(tài)機結(jié)果等。

2)后臺運行工具:后臺使用的工具有數(shù)據(jù)庫、SVN以及Jenkins。數(shù)據(jù)庫主要用來存儲邏輯用例、測試計劃相關(guān)信息以及測試報告;SVN用來存儲自動測試用例;Jenkins用來尋找合適的HIL資源并將測試任務(wù)配置到該HIL資源上運行。

3)測試執(zhí)行工具:執(zhí)行工具主要有HIL以及安裝了ECU-TEST的電腦。ECU-TEST會連接INCA和HIL,自動執(zhí)行測試任務(wù)中所有的自動測試用例,并生成測試報告。測試報告會上傳到數(shù)據(jù)庫中。

圖1 功能架構(gòu)圖

3.2 各部分具體功能詳述

3.2.1 界面功能

界面設(shè)置分為3個部分:菜單欄、樹狀結(jié)構(gòu)選項欄、內(nèi)容欄。如圖2所示。

圖2 界面圖示例

3.2.1.1 菜單欄

菜單欄的主要功能有:①新建測試用例:點擊該選項,會自動跳出新建測試用例的界面;②新建測試計劃:點擊該選項,會自動跳出新建測試計劃的界面;③導(dǎo)入/導(dǎo)出:點擊該選項,可以選擇導(dǎo)入或?qū)С鰷y試用例。

3.2.1.2 樹狀結(jié)構(gòu)欄

樹狀結(jié)構(gòu)欄主要有3個子項。

1)測試用例:該項下面列舉了所有項目名稱,每個項目名稱下面又劃分不同的方向。

點擊不同方向名稱,可以在右邊的內(nèi)容欄中顯示該項目該方向的所有測試用例列表。

點擊項目名稱,在右邊的內(nèi)容欄中顯示該項目的所有測試用例列表。

點擊“測試用例”這個主選項,在內(nèi)容欄顯示所有測試用例列表。

右鍵點擊各選項,可以選擇導(dǎo)入/導(dǎo)出選項,可以從Excel表中導(dǎo)入測試用例到該選項下,或者將該選項下的部分或所有用例導(dǎo)出到Excel表中。

2)測試計劃:該項下面列舉了所有項目名稱,點擊項目名稱,在內(nèi)容欄可以看到該項目所有的測試計劃。點擊“測試計劃”這個主選項,在內(nèi)容欄顯示所有測試計劃列表。

3)監(jiān)控項:監(jiān)控HIL運行狀態(tài)。

3.2.1.3 內(nèi)容欄

內(nèi)容欄會根據(jù)用戶在樹狀結(jié)構(gòu)欄中選擇的內(nèi)容不同而顯示不同的內(nèi)容。如圖2所示,選中TEST項目名后,內(nèi)容欄分為上下兩部分:上半部分顯示測試用例列表,下半部分顯示用例的具體內(nèi)容。

如果樹狀結(jié)構(gòu)選擇測試計劃,內(nèi)容欄顯示內(nèi)容與上述類似,如圖3所示。

圖3 測試計劃內(nèi)容欄顯示

如果樹狀結(jié)構(gòu)選擇監(jiān)視器,內(nèi)容欄會顯示所有HIL的運行狀態(tài)。

3.2.2 后臺功能

用戶在前端界面對邏輯測試用例以及自動測試用例編寫完成之后,系統(tǒng)的后臺程序會自動將測試計劃放入數(shù)據(jù)庫中,并根據(jù)優(yōu)先級對測試計劃進行排隊。然后按照順序依次執(zhí)行測試計劃。具體的操作流程如下。

1)測試工程師在自己電腦上,使用ECU-TEST編寫自動測試用例。

2)完成后,將測試用例上傳到SVN。

3)然后在本地電腦上創(chuàng)建一個新的測試計劃,并提交到數(shù)據(jù)庫中。

4)Jenkins安裝在服務(wù)器上,一直運行,周期性地遍歷HIL的運行狀態(tài)。

5)一旦發(fā)現(xiàn)有空閑的HIL,就去數(shù)據(jù)庫中遍歷測試計劃,查找優(yōu)先級最高的、創(chuàng)建時間最早的、適合在該HIL運行的測試計劃。

6)Jenkins將測試計劃中包含的ECU-TEST編寫的自動測試用例從SVN上拉取到HIL對應(yīng)的電腦上,并啟動ECU-TEST工具,開始執(zhí)行自動測試用例。

7)測試結(jié)束后,Jenkins關(guān)閉ECU-TEST,并將測試報告上傳到SVN。

8)郵件通知測試工程師,測試已完成,以及提供測試報告連接。

9)釋放HIL節(jié)點。

后臺功能的實現(xiàn),主要依托于Jenkins、ECU-TEST和Python。使用ECU-TEST編寫的自動測試用例,實現(xiàn)了ECU軟件測試的自動化。Jenkins將界面的請求運行測試計劃與ECU-TEST運行關(guān)聯(lián)起來,實現(xiàn)了整個系統(tǒng)的連接。使用Python語言編寫了幾個小腳本,實現(xiàn)了Jenkins從SVN拉取和上傳數(shù)據(jù)以及發(fā)送郵件給測試工程師等幾個小功能。

4 結(jié)論

該系統(tǒng)采用Java編寫前端界面,使用Python、ECU-TEST和Jenkins在后端實現(xiàn)測試功能。實現(xiàn)了ECU軟件測試的自動化。同時因為可以遠程控制測試計劃的執(zhí)行,所以可以顯示HIL資源的共享,以及HIL資源的24h不間斷運行,提高HIL的利用率。

猜你喜歡
測試用例界面選項
基于關(guān)鍵點的混合式漏洞挖掘測試用例同步方法
不同截面類型鋼管RPC界面粘結(jié)性能對比研究
國企黨委前置研究的“四個界面”
跟蹤導(dǎo)練(四)
閱讀理解
跟蹤導(dǎo)練(5)
單項填空精選練習(xí)100道
面向多目標(biāo)測試用例優(yōu)先排序的蟻群算法信息素更新策略
界面成立自媒體聯(lián)盟深挖原生內(nèi)容創(chuàng)造力
測試用例集的優(yōu)化技術(shù)分析與改進
新丰县| 翁牛特旗| 老河口市| 麻江县| 武功县| 田林县| 尚义县| 昂仁县| 富裕县| 溆浦县| 突泉县| 政和县| 错那县| 海城市| 天门市| 会宁县| 桂阳县| 平塘县| 满城县| 屯门区| 彭阳县| 通海县| 锦屏县| 颍上县| 紫云| 台前县| 大化| 濮阳市| 遵化市| 洞口县| 兴化市| 孟连| 大冶市| 滦南县| 三台县| 海兴县| 濉溪县| 自治县| 德昌县| 黄梅县| 河曲县|