閱讀屋>機械/重工/工業自動化> 城軌嵌入式軟體自動化測試框架的設計和實現的論文

城軌嵌入式軟體自動化測試框架的設計和實現的論文

關於城軌嵌入式軟體自動化測試框架的設計和實現的論文

  城市軌道交通系統的關鍵系統如聯鎖(CI,Computer based Interlocking)系統 , 車載控制(CC,Carborne Controller,)系統 , 軌旁區域控制器(ZC,Zone Controller), 軌 旁 線 路 控 制 器(LC,Line Controller)均為安全苛求系統(Safety Critical System)。為了滿足安全苛求系統故障 — 安全的需要 ,高實時性 , 多工的嵌入式系統成為首選 [1] 。為了提高其關鍵系統的嵌入式軟體測試效率 , 克服手工測試存在的困難 , 有效提高該領域的自動化測試程度成為亟需解決的關鍵問題。本文分析面向城軌軟體黑盒測試的自動化測試難點 ;闡述城軌嵌入式軟體的自動化測試策略、自動化測試框架設計思想和自動化測試框架整體架構;提出基於面向服務的架構(SOA,Service Oriented Architecture)的實現方法 ;介紹該框架在軌旁安全平臺系統測試中的應用情況。

  1城軌嵌入式軟體的自動化測試

  難點從被測物件的角度來看,城軌嵌入式系統在故障 — 安全、實時性、容錯性上都有嚴苛的要求。對於此類軟體的測試,在測試場景構造、測試激勵和測試結果捕獲上都存在一定的困難。其自動化測試難點可具體概括為以下幾方面。

  1。1 測試場景複雜從模擬系統的角度看 , 實時嵌入式軟體模擬測試平臺實際上是一種面向實時嵌入式軟體測試的半實物模擬系統。因此,在測試場景中需模擬大量的外部裝置,並能透過測試指令碼,精確控制這些模擬裝置的行為,如訊號機、道岔、信標、模擬列車、模擬 CI、模擬 CC、模擬 ZC,模擬 LC、模擬列車自動監控(ATS,Automatic Train Supervision)系統 ;另外,根據被測軟體和測試資料不同,測試場景需構造以上模擬裝置的子集,並採用合適的軌道線路資料,模擬裝置引數,安全通訊協議等。

  1。2 測試激勵的`實時性與時序性當採用黑盒測試方式(激勵 — 反饋機制)對城軌嵌入式軟體自動化測試時 :(1)被測系統需要實時獲取和處理外部激勵資料,測試平臺也需要實時獲取和分析被測物件的反饋資料 ;(2)測試平臺需確保對於相同的測試用例,每一次進行測試執行的過程中,其產生的測試激勵資料在時序關係上是完全一致的。1。3 測試結果處理困難(1)需要在被測物件中合理地嵌入測試代理模組捕獲被測物件的測試結果,包括狀態變數、校核字等;(2)測試平臺需線上或離線分析這些測試結果,給出最後的用例執行報告。

  2城軌嵌入式軟體的自動化測試策略

  自動化測試是指,把以人為驅動的測試行為轉化為計算機依據一定規則與設計自動執行測試行為的一種過程[2]。透過工具代替或輔助人工進行測試執行過程,目標是透過較少的開銷,使被測物件得到更充分的測試,提升產品質量。在制定自動化測試策略時,需從自動化測試投資回報率的角度,對自動化測試需求分配合適的優先順序。因此,對於城軌軟體測試而言,自動化測試主要用於軟體或系統的黑盒測試,並且產品生命週期較長,迴歸測試較多,在如下場合尤其適合進行自動化測試。

  2。1適合進行自動化測試的場合(1)安全平臺產品,包括安全基礎類庫、安全協議等,該類產品作為企業的基礎軟體產品,一般開發週期長,迴歸測試頻繁 ;(2)專案資料測試,如列控中心報文資料測試,該類資料測試人工測試繁瑣重複,而測試介面比較穩定,適合採用自動化工具進行測試 ;(3)產品驗收測試,如基於無線通訊的列車自動控制(CBTC,Communication Based Train Control)系統的驗收測試,可選取其測試的關鍵場景用例,進行自動化測試,保證產品上線前的測試效率。

  2。2不適合進行自動化測試的場合(1)主觀性強的測試,如車站操作介面的顯示,聲音提示和告警等 ;(2)開發週期短的專案,如產品原型開發,被測物件不穩定,測試介面變更頻繁 ;由於開發週期較短,積累的自動化測試指令碼得不到充分的複用。

  3城軌嵌入式軟體測試自動化測試框架

  3。1自動化測試框架架構模型城軌嵌入式軟體自動化測試框架應該解決測試過程中的以下幾方面的問題 :(1)自動化測試框架應能提供基於業務描述的指令碼,使得測試人員在編寫測試用例時,專注業務需求而不必關心具體的測試驅動細節 ;(2)自動化測試框架提供了測試用例管理功能,使得測試用例在整個測試生命週期中可以複用;(3)自動化測試框架提供了測試結果分析功能,在複雜場景的測試用例中,該功能可以顯著提高測試效率。根據城軌嵌入式軟體的自動化測試策略,該領域的自動化測試框架符合以下設計原則 :(1)測試框架的整合應基於統一開放的標準,具有良好的通用性、松耦合性、開放性和可擴充套件性,確保框架中子模組的實現不侷限與特定的開發語言和技術,並且當子模組進行修改或重構時,整個框架保持穩定 ;(2)測試資料的管理基於統一的資料格式,子模組能透明地提交和獲取測試資料進行處理 ;(3)實時性,為了確保對被測系統激勵的實時性,測試框架在架構上應確保訊息在平臺內部能實時的處理和傳遞 ;(4)大容量和高效能,為了滿足城軌軟體大容量資料測試的要求,測試框架應採取分散式的系統架構,在提高模擬裝置數量時,不影響測試平臺效能。面向分散式控制系統的實時 SOA 架構[3],不僅具有SOA的統一介面標準、優秀的開放性和松耦合性,也具備分散式控制系統的實時性。因此,該架構是本文的自動化化測試框架較為理想的架構模型。

  基於文獻的面向分散式控制系統的實時 SOA 架構,自動化測試框架位於該架構的企業應用服務層,並主要分為3個子服務層 :測試管理服務層、測試驅動服務層和介面協議適配服務層,其架構模型如圖 1 所示。測試管理層的核心功能是 :為測試人員提供測試用例的全生命週期管理,並輔助測試人員編寫測試指令碼、測試結果的記錄與分析和測試報告生成 ;測試驅動層的核心功能是 :根據用例指令碼和測試場景配置檔案,構造測試場景,並排程模擬裝置的執行,另外在該層也提供了安全協議和資料庫訪問功能 ;介面適配層的核心功能是 :提供測試平臺與被測物件之間的各種通訊介面。

  3。2自動化測試框架邏輯架構基於上述的架構模型,本文實現的自動化測試框架邏輯架構如圖 2 所示。服務和訊息管理節點是整個測試框架的主節點,提供了基於實時訊息匯流排的節點管理、服務註冊、服務代理、服務排程、服務執行等一系列的排程和管理服務 ;測試管理服務層作為一個從節點,通常在一個伺服器上,另外,測試人員可透過該層提供的 Web 服務來管理和配置整個測試框架,以及測試用例的管理、執行和分析 ;測試驅動服務層可根據測試場景的容量進行靈活的部署,通常測試環境建立、模擬器排程和資料庫驅動作為一個從節點部署在一個伺服器上,而安全協議節點、模擬裝置節點作為獨立的從節點進行動態部署,便於測試框架根據測試場測試管理層的核心功能是 :為測試人員提供測試用例的全生命週期管理,並輔助測試人員編寫測試指令碼、測試結果的記錄與分析和測試報告生成 ;測試驅動層的核心功能是 :根據用例指令碼和測試場景配置檔案,構造測試場景,並排程模擬裝置的執行,另外在該層也提供了安全協議和資料庫訪問功能 ;介面適配層的核心功能是 :提供測試平臺與被測物件之間的各種通訊介面。

【城軌嵌入式軟體自動化測試框架的設計和實現的論文】相關文章: