eVTOL 與航電系統測試解決方案 (DO-178C)
航電系統的功能正逐漸集中到軟體與網路整合上,LRU(線路可更換單元)之間的通訊與失效行為必須被完整且可重複地驗證。歐特莫夫身為 Vector 合作夥伴,協助客戶把 DO-178C / ED-12C 的軟體驗證要求,拆解成可執行的工具化流程:單元測試、結構覆蓋率(含 Level A 的 MC/DC)、回歸測試,以及在主機、模擬器與嵌入式目標板上的一致執行。系統層面則以 CANoe 搭配 VT System,對 ARINC 429、ARINC 825、AFDX (ARINC 664) 與 Ethernet 進行 SIL/HIL 測試與殘餘匯流排模擬。我們的目標,是讓認證所需的測試證據在開發過程中自然累積,而不是在專案末期才補件。
eVTOL 航電軟體一個 bug 就墜機|DO-178C 測試平台實戰
歐特莫夫獨立製作影片;Vector 與 CANoe、CANalyzer、CANape 等為 Vector Informatik GmbH 之商標。
01 我們的技術方法
- 以 VectorCAST/C++ 為每個 C/C++ 函式建立獨立測試單元,自動生成測試框架、樁函式與驅動程式,並自動產出基本路徑、邊界值與 MC/DC 測試用例
- 針對 DO-178C / ED-12C 要求的結構覆蓋率,採用「語句 → 分支 → MC/DC」分級策略對應 Level C / B / A,並以覆蓋率視圖即時追蹤缺口
- 支援在主機、模擬器與嵌入式目標板上執行同一套測試,確保測試碼與開發碼一致,並以 VectorCAST/QA 於系統整合階段取得白盒級覆蓋率
- 系統層以 CANoe 建立殘餘匯流排模擬與 SIL/HIL 環境,對 ARINC 429、ARINC 825、AFDX、Ethernet 進行功能、診斷與回歸測試;以 vTESTstudio 設計可追溯的自動化測試序列
- 以 VT System 模組化硬體搭建 HIL 測試台,涵蓋類比/數位 I/O、故障注入與訊號模擬,規模可從單一 LRU 擴充到完整系統測試台
- 協助導入 Vector 的工具鑑定套件 (Tool Qualification Kit),處理 DO-178C / DO-330 要求的工具鑑定文件與證據
02 使用的核心工具
我們利用業界標準的 Vector 工具來執行此解決方案:
自動化 C/C++ 單元與整合測試工具,可自動建立測試環境、自動打樁並生成測試用例。支援語句、分支、MC/DC 等結構覆蓋率,對應 DO-178C / ED-12C 各等級,並可在主機、模擬器與嵌入式目標板上執行。
於系統整合階段取得白盒級程式碼覆蓋率。自動插樁、沿用既有測試框架,支援語句/分支/MC/DC/函式/函式呼叫覆蓋率,且不依賴目標板晶片架構。
航電系統開發、模擬、分析、診斷與測試的整合平台。內建殘餘匯流排模擬與 CAPL 腳本,支援 ARINC 429、ARINC 825、AFDX (ARINC 664)、Ethernet、RS485、CAN(FD) 與 I/O。
自動化 LRU 測試的開發環境。提供程式化、表格化與圖形化測試設計,支援參數、波形、分類樹、變體管理與測試追溯,並含 Fuzz Testing。
模組化 HIL 測試硬體,可組裝從簡單到複雜的測試台。VT5838 為 Multi-IO / E-Machine 模組,單槽即可組成含大量 I/O 通道的閉迴路系統,內建 UserFPGA 可載入電力電子/馬達模型,適合 eVTOL 電力推進與馬達控制器的即時模擬與測試。
匯流排通訊的分析與激勵工具,可觀察、記錄、發送匯流排資料。航電選項涵蓋 CAN (ARINC 825)、ARINC 429、AFDX、Ethernet,適用於現場測試與網路分析。
軟體分析與品質決策儀表板,管理品質、流程與標準合規(含技術負債分析),彙整各測試階段的度量資料,支援認證證據的收攏與追溯。
03 技術難點
DO-178C 的軟體等級與結構覆蓋率
DO-178C 依軟體失效對飛航安全的影響,把軟體分為 Level A 到 E 五級,並據此規定所需的結構覆蓋率:Level A(災難性)要求語句、判定與 MC/DC;Level B(危險)要求語句與判定;Level C(重大)要求語句;Level D(次要)則不要求結構覆蓋率。等級一旦確定,測試工作量與證據形式也就跟著確定。
MC/DC 要求每個布林條件都能獨立影響判定結果,測試用例數量會隨條件數快速成長,且樁函式與測試資料必須同步維護——這是 Level A 專案手動難以達成的主要原因。此外,當工具的輸出被用來取代或自動化 DO-178C 要求的驗證活動,且輸出不再經人工檢查時,該工具必須依 DO-330 進行鑑定。歐特莫夫會在專案初期就把這兩件事納入規劃,避免認證後期才發現證據不被採信。
從軟體單元到系統整合的 V 模型驗證流程
軟體單元驗證 (Software Unit)
以 VectorCAST/C++ 進行白盒單元測試,取得語句/分支/MC/DC 覆蓋率,對應 Level C / B / A。
軟體整合測試 (SW Integration)
延用 VectorCAST/C++ 驗證模組/元件間介面與函式控制流,並保持覆蓋率累積。
軟體系統測試 (SW System Test)
以 VectorCAST/QA 搭配 CANoe 在主機上進行系統功能測試並取得覆蓋率。
硬體/軟體整合測試 (HW/SW Integration)
以 CANoe + VT System 建立 HIL 環境,對 ARINC/AFDX/Ethernet 匯流排與 I/O 進行整合驗證。
系統確認 (System Validation)
在目標裝置上以 CANoe + vTESTstudio + VT System 進行端對端系統確認與目標板覆蓋率量測。
證據與追溯 (Evidence & Traceability)
以 Squore 彙整全流程度量,並協助以 Vector 工具鑑定套件產出 DO-178C / DO-330 認證所需文件。
歐特莫夫的技術服務流程
前面談的是驗證要做到什麼程度,這裡談專案怎麼推進。四個階段各有明確產出,避免做到後期才發現證據不足。
軟體等級與驗證範圍確認
依系統安全評估的結果確認軟體等級,據此決定結構覆蓋率要做到哪一層,並界定哪些程式碼屬於驗證範圍。等級與範圍先定清楚,後面的工作量才估得準。
驗證環境與工具鑑定
建置測試環境並確認工具的鑑定需求。DO-330 對開發與驗證工具有鑑定要求,這一步要釐清所選工具需要哪一級的鑑定資料,並取得對應文件,不要等審查時才補。
分層驗證執行
依軟體單元、軟體整合、軟體系統與硬體/軟體整合各層執行驗證,逐層累積覆蓋率。未達標的部分回頭補測試案例,而不是放寬判定標準。
證據彙整與審查準備
把需求、測試案例、執行結果與覆蓋率串成可雙向追溯的證據鏈,並整理成審查時能直接提交的形式。這一步的品質決定審查會不會反覆退回。