本文重點

客戶一句「覆蓋率報告補一下」,你打開幾萬行 C/C++,一條條寫測試、算覆蓋率到天亮,漏一條認證就卡關。本文說明 VectorCAST 如何自動化嵌入式軟體的單元與整合測試、量測覆蓋率並標出未測分支,並用 Reqs2x AI 從需求生成可追溯的測試,貼合 ISO 26262,附測試流程架構圖與覆蓋率層級對照表。

功能安全要求的不是「測過」,而是「證明測到什麼程度」:語句、分支到 MC/DC 覆蓋率都要有數據。VectorCAST 把單元測試工具化——測試執行、覆蓋率量測與報告自動產出,並支援從需求輔助生成測試案例。

VectorCAST 單元測試:本文章節結構

覆蓋率為什麼難達標:測試與佐證靠人工追不完

嵌入式軟體的測試之所以耗人,是因為它同時要滿足「測得完」與「證明得了」:

  • 量大:幾萬行程式,人工逐一寫測試,寫不完。
  • 要量覆蓋率:不只要測過,還要能證明每一行、每個分支都走過。
  • 漏一條就卡認證:功能安全要求覆蓋率達標,少一個分支就退件。
  • 改版重測:程式一改,對應的測試與覆蓋率要重跑、重證。

只要測試還停留在「手工逐條寫」,這條路就快不起來,也難以佐證。

VectorCAST 怎麼解:自動化單元測試+Reqs2x AI 生成

VectorCAST 是 Vector 專做嵌入式軟體單元與整合測試的平台,並幫你量測程式覆蓋率,支援 C、C++ 與 Ada。哪一行、哪個分支沒測到,它清楚標給你看——直接對得起功能安全的要求。

VectorCAST 測試與覆蓋率流程:自動化單元/整合測試,Reqs2x 從需求生成可追溯測試

覆蓋率量到什麼層級:Statement/Branch/MC/DC

功能安全對覆蓋率的要求會隨 ASIL 等級提高。VectorCAST 量測的層級涵蓋:

覆蓋率層級測的是什麼常見要求
陳述式(Statement)每一行都執行過基本覆蓋
分支/判定(Branch)每個判斷的真、假都走過ASIL 較高等級
MC/DC每個條件都能獨立影響結果ASIL D、航太 DO-178C

專案層級與單元層級的覆蓋率,可以在同一個畫面上看——不必在報告之間跳來跳去。

Coded Tests:直接用程式寫測試

除了圖形化操作,VectorCAST 也支援 Coded Tests——用 xUnit(含原生 GoogleTest)框架,直接用程式碼撰寫測試案例,讓測試的建置、拆解與物件共用更順手,也更貼近開發者原本的習慣。

Reqs2x:用 AI 從需求生成可追溯的測試

VectorCAST 最新的旗艦能力是 Reqs2x——結合程式分析與大型語言模型,直接從軟體需求生成可執行的單元測試

  • 把需求對應到實作它的函式
  • 依需求生成測試案例
  • 兩者都先攤開來給工程師審核,才進入驗證流程

需求可從 DOORS、Polarion 或 CSV 匯入,而且每一條測試都能追溯回對應的需求——全程可追溯,正是 ISO 26262 最看重的一點。

純手工VectorCAST+Reqs2x AI
寫測試逐條手寫工具輔助、Coded Tests從需求自動生成
覆蓋率人工算自動量測、標未測分支同左
需求追溯靠人維護可對應每條自動回溯

常見問題釐清

VectorCAST 是什麼?

VectorCAST 是 Vector 專做嵌入式軟體單元與整合測試的自動化平台,並量測程式覆蓋率(陳述式、分支、MC/DC),支援 C、C++ 與 Ada,主要用於功能安全等高標準的軟體驗證。

它量哪些覆蓋率?和 ISO 26262 有什麼關係?

量測陳述式、分支/判定與 MC/DC 覆蓋率。ASIL 等級越高,對覆蓋率的要求越嚴(例如 ASIL D 常要求 MC/DC)。VectorCAST 標出未測的行與分支,直接產出佐證,對得起 ISO 26262 的要求。

Reqs2x 這個 AI 功能怎麼運作?

Reqs2x 結合程式分析與大型語言模型,從軟體需求自動生成可執行的單元測試:先把需求對應到函式、再生成測試,並攤開給工程師審核。需求可從 DOORS/Polarion/CSV 匯入,每條測試都可追溯回需求。

支援哪些程式語言?

支援 C、C++ 與 Ada。Coded Tests 可用 xUnit(含原生 GoogleTest)框架直接以程式碼撰寫測試。

下一步

讓覆蓋率這件苦工,從手工做到天亮,變成有系統、還能用 AI 加速

功能安全的覆蓋率不能靠人硬撐。歐特莫夫(Vector Informatik 合作夥伴)以 VectorCAST 為核心,協助你把嵌入式軟體的單元/整合測試與覆蓋率自動化、標出未測分支,並用 Reqs2x 從需求生成可追溯的測試,讓驗證證據對得起 ISO 26262。