?

LKJ自動測試平臺及關鍵技術研究

2024-03-13 01:53單一龍楊志杰李輝侯大山李建雄
鐵道標準設計 2024年3期
關鍵詞:測試人員自動測試關鍵字

單一龍,楊志杰,李輝,侯大山,李建雄,郝 建

(1.中國鐵道科學研究院研究生部,北京 100081; 2.中國鐵道科學研究院集團有限公司通信信號研究所,北京 100081)

1 概述

列車運行監控裝置(LKJ)是安裝在機車、動車組上用于保障行車安全、防止列車超速、輔助司機操縱的重要運行監控設備[1-2]。目前國內超過2萬臺機車和1千多列運行時速為250 km的動車組裝備了LKJ設備。LKJ是我國現階段普速鐵路列車運行監控系統中的重要組成部分。

隨著我國鐵路行業技術的不斷發展以及鐵路運輸需求的不斷提升,為滿足行車安全的需要,LKJ不斷更新、完善其功能,設備的仿真測試工作也變得愈加重要,對于測試的整體流程以及效率提出了更高的要求[3-4]?,FLKJ設備測試工作多由測試人員人工完成,存在一些弊端,主要體現在以下方面[5]。

(1)LKJ設備功能繁多,應用場景復雜,在人工測試中,測試過程需要測試人員全程參與,勞動強度大,效率低下,測試周期長。

(2)人工測試時,測試用例基于黑盒測試方法、依據LKJ測試規范進行編寫,編寫難度大,對編寫人員的要求較高,并且由于文字描述過多,導致測試時不同測試人員對于同一條測試用例的理解以及操作可能存在差異,容易影響測試的執行及測試結果的準確性。

(3)不同于列車實際運行,在測試環境下,信號的觸發時機難以控制,部分復雜場景人工操作難以實現。

(4)人工測試中,測試結果需要測試人員實時觀察DMI的顯示信息以及LKJ設備的反饋輸出,容易出現測試結果誤判或缺失的情況。

(5)對于LKJ設備故障問題,難以找尋故障原因。

(6)測試過程難以復現,不利于測試用例的積累和固化。

針對以上問題,設計一種自動測試平臺,采用圖形化方式設計生成測試用例,降低測試用例設計難度,基于測試用例自動執行技術以及專家系統的故障分析技術,實現按照LKJ測試既定計劃進行的自動化測試,可有效減少測試人員的工作量,提升測試效率與測試結果的準確性[6-9]。

2 自動測試平臺架構設計

自動測試平臺由人機交互單元、信號適配單元以及主控單元組成。各個單元之間通過通信控制接口進行信息交互,實現整個平臺的功能[10]。自動測試平臺架構如圖1所示。

圖1 自動測試平臺架構

人機交互單元包括外接顯示器和輸入設備。外接顯示器是自動測試平臺的顯示終端,可實時顯示參數信息、狀態信息以及測試執行進程;增加輸入設備便于測試人員人工操作,包括測試用例生成以及執行命令的輸入。

信號適配單元負責模擬LKJ設備實際運行環境,包括數字量調理模塊、模擬量調理模塊、采集模塊、通信模塊和頻率處理模塊。數字量調理模塊可模擬輸出工況、燈顯等數字信號;模擬量調理模塊可模擬輸出壓力、軌道電路等模擬信號;采集模塊負責采集實速、里程計等信息;通信模塊具備CAN通信、RS482通信及RS485通信功能,負責與其他模塊進行信息交互;頻率處理模塊具備脈沖和正弦波調理輸出功能,模擬輸出速度、柴速、原邊電流電壓等信號。

主控單元是自動測試平臺的核心單元,包括執行模塊和專家系統。主控單元負責處理各項操作信息,并依據操作信息調用測試用例、控制其他單元實現自動測試功能;并可處理LKJ被測設備反饋信息,依據測試結果生成測試報告及故障分析結果。

3 自動測試平臺關鍵技術研究

3.1 測試用例的圖形化生成方法

測試用例是LKJ設備測試的基礎,其以文檔的形式保存,詳細描述了在特定條件下LKJ設備的操作輸入以及所對應的期望響應輸出。測試用例的質量直接影響測試結果的準確性以及功能測試的完整性,測試用例的設計也對整體測試流程有很大影響。一個完整的LKJ測試用例應包含以下內容。

(1)測試用例編號。如LKJ-FT-XXX,LKJ代表被測LKJ設備;FT代表功能測試,XXX為該用例具體編號。

(2)用例描述。需簡單明了,使得測試人員能夠快速了解測試用例的目的,便于測試用例的管理和使用。

(3)起始條件。為測試用例開始執行之前所需滿足的條件,如模式、軌道電路制式等。

(4)起始約束條件。為測試用例開始執行之前需要滿足的動態條件,如接口狀態、變量值等。

(5)測試步驟。為測試用例的細化,詳細描述了測試中每一過程的模式、變量、按鍵操作等。

(6)結束條件。測試用例結束時的狀態,如變量值、顯示輸出等。

為方便測試用例生成,提高用例設計的效率,自動測試平臺采用圖形化方式生成測試用例,編輯界面示意如圖2所示,主要包括控件區、編輯區及信息顯示區。

圖2 測試用例編輯界面示意

控件區包括參數設定、運行場景控件、輸入控件、輸出控件和用例描述。參數設定具體包括司機號、列車類型、車次號碼、速度等級、總重、輛數、計長等基礎信息的設置;運行場景控件通過解析LKJ存儲的線路數據自動生成,用于表達實際線路運行場景;輸入控件表示LKJ從外部獲取或自身設置的各項參數信息以及獲取時機,具體包括工況、速度、風壓、柴速、DMI按鍵、公里標、信號機燈型、絕緣節、制式、距離和時間間隔等;輸出控件表示LKJ的預期響應輸出,具體包括DMI顯示、語音提示、限速、牽引力指令、制動指令等;用例描述由編輯人員編寫,可供測試人員參考。

編輯區以圖形化的方式展示測試用例的業務邏輯。編輯區上方用于顯示運行場景及超速防護曲線信息;編輯區下方的時間和里程基準軸用于添加控件,用距離或時間間隔表示添加各種控件的時機。

信息顯示區用于顯示某一時機下所涉及到的具體參數信息。

通過各種控件的組合,可模擬LKJ設備在列車運行過程中,從外部獲取或者其自身設置的用于指導列車運行的信息、司機的操作信息、線路信息、邏輯組合和結果斷言的完整表達[11]。

在用例編輯時,編輯人員依據測試需求,首先,在控件區進行基本參數的設定,并選取合適的運行場景控件作為編輯基礎顯示在編輯區,可同時選擇多個運行場景控件組合顯示;其次,選擇輸入控件并設置合適參數及屬性,將其放置在編輯區與基準軸建立聯系,添加距離或時間間隔等控件調整觸發時機;然后,選取輸出控件并設置合適參數及屬性,放置在編輯區中作為預期輸出;最后,填寫用例描述,生成完整用例。

3.2 基于Robot Framework的LKJ自動測試技術

Robot Framework是一種基于Python語言編寫的、支持可擴展關鍵字驅動的通用型測試框架,可作為LKJ自動測試平臺中的測試執行工具[12]。其模塊化的基本結構如圖3所示。

圖3 Robot Framework基本結構

Test Data:是一種易于編輯的表格形式的測試數據。Robot Framework:包含文件解析模塊、內置關鍵字模塊、關鍵字執行模塊、監控記錄模塊等,用于啟用測試數據,執行測試用例。Test Libraries:測試庫由兩部分組成,包括自帶測試庫及自定義的可擴展測試庫。Test Tools:應用軟件工具,輔助測試的軟件或設備。System Under Test:被測產品或系統,本文指LKJ設備。

3.2.1 適應LKJ測試的關鍵字優化模型

為滿足LKJ設備的自動測試需求,自動測試平臺采用關鍵字驅動方式執行測試。關鍵字驅動方式是數據驅動技術的擴展。關鍵字為對測試操作的抽象與封裝,其執行順序體現了測試的業務邏輯。依據不同的參數要求設計關鍵字,選擇關鍵字生成數據鏈表即可實現業務流程[13-15]。

傳統的關鍵字模型創建封裝高級關鍵字,通過高級關鍵字映射測試用例,實現復雜功能。但此種模型抽象封裝關鍵字的級別較低,測試時需要直接調用底層關鍵字,針對LKJ測試復雜的功能及其特殊的運行場景,容易出現關鍵字復用率低和難以擴展等問題。

如圖4可見,優化體系擴增出來的譜帶明亮,背景清晰,穩定性好。因此,建立的ITS-PCR體系和擴增程序能夠滿足芋螺毒腺的ITS序列研究、芋螺遺傳多樣性分析、親緣關系鑒定和種質資源評價等分子生物學的試驗要求。

對此,引入業務關鍵字,在傳統關鍵字模型的基礎上進行擴展,設計一種適應LKJ測試的關鍵字優化模型。優化模型將業務關鍵字創建在測試用例和高級關鍵字之間,由業務關鍵字體現測試用例的功能,二者通過映射機制聯系起來,使得LKJ的業務邏輯與基礎關鍵字分離,提升自動執行的效率。關鍵字優化模型如圖4所示。

圖4 適應LKJ測試的關鍵字優化模型

3.2.2 LKJ自動測試流程

基于Robot Framework自動測試框架,采用適應LKJ測試的關鍵字優化模型驅動,將測試數據與關鍵字獨立存儲并映射聯系,通過各種關鍵字及底層代碼的組合調用,實現測試用例的自動執行。

在自動測試實現過程中,首先將測試用例中的業務邏輯封裝于業務關鍵字中,創建保存業務邏輯關鍵字庫,并將測試數據保存于測試文件中;根據不同的測試需求,測試人員可設置不同的執行參數,使執行模塊有選擇地調用測試用例;Robot Framework對被調用的測試用例進行解析,實現測試用例至業務關鍵字的映射,并按照業務邏輯依次調用通用關鍵字,通過關鍵字對應的底層代碼,實現按鍵操作、模擬信號生成等測試流程,并返回關鍵字執行情況和結果,隨著通用關鍵字被依次調用,實現測試用例的自動執行。自動執行具體流程如圖5所示。

圖5 測試用例自動執行流程

3.3 故障分析專家系統

專家系統是當前設備檢測與故障分析領域中一個重要的應用方向,其通過分析人類專家的知識經驗,模擬決策過程推理解決復雜問題,知識庫和推理機是其核心組成。知識庫用于存儲專家知識以及實例數據并提取其中知識規則。推理機依據已知信息匹配知識庫的規則,給出新的結論,得到問題求解結果。LKJ自動測試平臺采用基于知識庫的故障分析專家系統,結合LKJ領域專家經驗以及以往測試實例對測試結果進行分析,對于設備故障現象給出故障原因。

3.3.1 LKJ故障知識庫構建

專家系統通過“知識+推理”的機制實現故障分析過程。結合領域專家經驗以及以往測試實例數據結果,以LKJ防溜功能故障作為頂事件(T),將各級故障原因作為中間事件(M1~M6)及底事件(X1~X10),逐層分析故障原因,構建防溜功能故障樹,如圖6所示。

圖6 防溜功能故障樹

表1 防溜功能故障樹代碼含義

為保障故障分析可靠有效,專家系統通過產生式規則表示法對故障知識進行標識,構建知識庫[16-17]。產生式規則表示法由模式和動作組成,模式為該規則可用的條件,動作描述應用該規則時要采取的行動,獲得的結論或狀態,其基本形式為:if“條件”,then“結論”。在LKJ自動測試平臺專家系統知識庫的設計中,將故障現象的原因作為條件,故障現象作為結論。對應故障樹相關知識,將下層事件作為條件,與其相對應的上層事件作為結論,通過此種方式標識知識間的邏輯關系,實現規則轉化[18-19]。以LKJ管壓防溜故障子樹為例,規則提取如表2所示。

表2 管壓防溜故障規則

3.3.2 推理機設計

在推理機設計中,依托知識庫規則知識,選用基于規則的推理方法。依照自動測試平臺需求,選用基于規則的正向推理方法,即基于已保存的故障知識及其規則知識,以故障樹為基礎,從故障現象出發,通過持續匹配其對應規則的前提條件,最終得到故障原因[20]。

由于LKJ設備構造復雜,功能繁多,產生故障的原因也復雜多變,所以在推理機的設計中加入沖突消解策略。該策略是指推理機在推理過程中,遇到超過一條可匹配知識規則時,如何選擇其中最合理規則的策略。本文采用基于故障概率的沖突消解策略,通過統計以往測試實例,在故障樹知識的基礎上,依據故障概率設置優先級。當遇到超過一種故障原因的情況,優先選取故障概率高的規則進行匹配,從而提高推理效率和準確性。專家系統推理過程如圖7所示。

圖7 自動測試平臺專家系統推理過程

4 工作流程及關鍵技術驗證

4.1 自動測試平臺工作流程

LKJ自動測試平臺工作流程如圖8所示,具體如下。

圖8 自動測試平臺工作流程

(1)依據LKJ測試規范,采用圖形化方法生成測試用例,保存至測試文件中。

(2)創建測試工程,依據測試需求設置執行參數。

(3)運行測試,主控單元解析測試文件以及相關操作命令,自動化驅動信號適配單元模擬行車環境,對LKJ設備功能進行測試,并實時顯示測試進程。

(4)對測試結果進行分析,對比預期結果及實際輸出,調用專家系統,生成測試報告并分析故障原因。

4.2 關鍵技術驗證

基于LKJ-15型列車運行監控裝置及實驗室仿真測試環境搭建自動測試平臺,驗證本文可行性。以LKJ-15設備在CSM區控制指令輸出功能測試為例,共需設計27條用例,均可采用圖形化生成方式實現,圖形化用例生成界面如圖9所示。

圖9 圖形化用例生成界面

將Robot Framework自動測試框架部署在仿真測試環境中,設置27條用例全部執行,執行時間約為8 min,測試用時遠低于人工測試。測試數據如圖10所示。

圖10 測試數據顯示

自動測試平臺采集實際輸出與預期結果對比,對于結果不一致的用例,平臺顯示故障現象,并通過專家系統分析故障原因,分析結果如圖11所示。

圖11 故障分析結果

驗證可知,本文研究的LKJ自動測試平臺及其關鍵技術可有效減少測試工作量,提高效率,并能對于故障現象合理分析給出故障原因,對測試流程的優化有一定意義。

5 結語

采用圖形化測試用例生成技術設計生成用例,基于適應LKJ測試的關鍵字優化模型,將Robot Framework自動測試框架和故障分析專家系統融合到測試平臺中,自動執行用例并對故障原因進行分析,可實現無人值守的LKJ設備自動化測試。對比傳統人工測試,LKJ自動測試平臺的設計研究對于減少測試人員工作量,提高測試效率及準確性具有一定意義。隨著今后測試用例庫的不斷豐富與完善,對于回歸測試效率的提升也將有很大幫助。

后續將繼續對本測試平臺及其關鍵技術進行研究,主要研究方向如下。(1)測試用例自動生成技術:可進一步提升用例設計的效率,減少測試人員的工作量。(2)便攜式自動測試平臺:可簡化設備,方便攜帶,對測試環境的苛求降低、對測試便攜性的提升有很大意義。

猜你喜歡
測試人員自動測試關鍵字
移動應用眾包測試人員信譽度復合計算模型研究
履職盡責求實效 真抓實干勇作為——十個關鍵字,盤點江蘇統戰的2021
成功避開“關鍵字”
JXG-50S型相敏軌道電路接收器自動測試臺
可并行測試的電磁兼容自動測試系統的實現
關于某型雷達自動測試系統的幾點認識和建議
高校分析測試中心測試隊伍建設方案初探
淺析軟件測試中的心理學應用
一種衛星低頻接口自動測試系統
犯罪心理測試人員素質要求分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合