Page 54 - 助力製造業無痛轉型 智慧工廠教戰守則揭密
P. 54
50
設計新技術
選擇程式碼覆蓋率工具的 10個準則
作者:Klaus Lambertz,Verifysoft Technology執行長暨聯合創始人
為了開發出安全可靠的軟體,測試是品質保證中不可或缺的一部分。如果沒有充分和有記錄的測試, 就不可能確定軟體是否安全及功能是否正確。在這種情況下,程式碼覆蓋率(code coverage,或測 試覆蓋率,test coverage)這個測量指標就顯得尤為重要,這是因為它可以用來衡量一個軟體已經 被測試的全面程度。
程式碼覆蓋率表示已測程式 碼佔總程式碼的比例,舉例來說, 如果在測試期間執行了四分之三 的程式碼選項,那麼程式碼覆蓋 率就是75%。
意義。這樣的工具不僅可以在當 前項目中使用,也可以在使用不 同編譯器的所有專案中使用。獨 立於編譯器的覆蓋率工具能以更 加多樣化的方式使用,因此非常 值得投資。
如果一款軟體設計成不必要 的複雜,或者設計時沒有經過深思 熟慮,則很少有人願意使用。而一 款操作簡單的測試覆蓋率軟體可 顯著提高使用者的接受度。理想 情況下,這些工具應該在後台運 作,在測試過程中不會為用戶產生 任何額外的負擔。
哪些測試案例仍未完成。透過執行 這些缺失的測試,就能針對性地提 高程式碼覆蓋率,同時也能避免因 冗餘測試而導致不必要的工作。
針對安全關鍵軟體的測試, 許多標準(例如汽車領域的ISO 26262、航空領域的DO-178C和 鐵路運輸領域的EN-50128)規定 了高達MC/DC覆蓋率的高覆蓋水 準。因此,必須確保覆蓋率工具能 夠支援所有要求的覆蓋率等級。為 了能夠長期使用同一個解決方案, 不僅應該考慮當前的需求,還應該 考慮未來的需求。重要的是要知 道:許多覆蓋率工具僅提供判斷或 分支覆蓋,不足以用於安全關鍵軟 體的開發。
特別是在安全關鍵的軟體發 展專案中,產業標準對程式碼覆 蓋率提出了很高的要求,如果沒有 足夠的測試覆蓋率證明,產品就無 法獲得認證。在其他開發專案中, 許多公司也越來越重視軟體品質 和測量程式碼覆蓋率。
2.容易使用
4.可為安全關鍵開發項目提 供更高的覆蓋率水準
市場上可用的程式碼覆蓋率分 析器有很多種,它們在操作性能和 產品品質方面存在顯著差異。出於 這個原因,以下提供選擇程式碼覆 蓋率工具的十個基本標準:
3.覆蓋率報告容易理解
1. 獨立於編譯器
在評估覆蓋率報告時,應該很 容易看清楚程式碼的哪些部分已 通過測試、哪些部分仍未覆蓋到。 使用良好的覆蓋率工具,測試人員 可輕鬆地在原始程式碼層級辨識
當然,程式碼覆蓋率工具必 須與專案中使用的編譯器配合使 用。然而,選用一個從一開始就可 以獨立於編譯器使用的工具很有
www.eettaiwan.com | 2021年12月
5.靈活整合
即使在公司內部,開發環境和
DESIGN CORNER