事(shì)倍功半!如何正确選擇自動化軟件測試工具?
分享到
創提科技剖析如何選擇自動化測試工具--創提科技
高安全性産業近年來在産業标準上,對(duì)軟件的驗證及測試要求愈來愈高。如國(guó)防、醫療機械、軌道(dào)交通、航空電子、工業自動化、甚至到汽車電子…等。以汽車電子的産業标準ISO 26262爲例,Part6-9單元測試與Part 6-10單元整合測試,在标準上除了要求許多的測試方法,甚至還(hái)要求開(kāi)發(fā)人員提供程序代碼測試的涵蓋率,若在測試過(guò)程中,沒(méi)有選擇合适且合格的自動化程序代碼測試工具,很可能(néng)事(shì)倍功半,花了許多時(shí)間及資源,結果還(hái)是不符合産業标準要求。本文主要探讨,針對(duì)軟件單元與單元整合測試工具,我們該如何正确地選擇。
在産業标準的要求下,工具的使用信心度爲基本門檻,以ISO26262 Part 8-11的章節爲例,該章節提到了工具的TCL(Tool Confidence Level)應用在不同的産品開(kāi)發(fā)需求ASIL(Automotive Safety Integrity Level)必須提供相關證明或合格證書來符合産品開(kāi)發(fā)。在符合基本門檻後(hòu),工具的支持程度就(jiù)成(chéng)了選擇的難題,我們以嵌入式軟件開(kāi)發(fā)常用的C與C++語言爲例,提供以下幾個項目是否支持給讀者作爲評比:
(一)、自動化測試工具本身是否已完整獲得相關功能(néng)安全認證确保其可使用在功能(néng)安全研發(fā)項目中?無需浪費工程人員寶貴的時(shí)間及資源去準備辨證爲何不使用已得到完整功能(néng)安全認證的測試工具。測試工具本身被(bèi)認證的工具功能(néng)完整性至關重要,否則可能(néng)陷入事(shì)倍功半之泥淖。
(二)、是否可以簡便地操作并自動生成(chéng)測試用例?且自動生成(chéng)之測試用例可立即提升不同測試涵蓋率要求?
(三)、是否可以很好(hǎo)地支持C與C++自動生成(chéng)測試用例? 一般工具都(dōu)可有效地支持C語言的自動生成(chéng)測試用例,但如在SoC芯片開(kāi)發(fā)上,C++也可能(néng)被(bèi)大量使用,故工具是否有效同步支持C++生成(chéng)高效的測試用例變得重要。
(四)、關聯且相依的函數間,是否可非常容易透過(guò)工具内建的打樁(stub)機制來測試單一函數? 并且能(néng)利用工具内建機制較快地完成(chéng)故障注入(Fault injection)測試?
(五)、單元測試工具是否支持市場大部分編譯程序與仿真器環境? 不需耗費大量人力資源及時(shí)間配置。
(六)、工具是否能(néng)提供軟件Architecture 以及Unit Level測試覆蓋率? 且可結合不同層級的覆蓋率報告,讓被(bèi)要求的測試覆蓋率更高效地完成(chéng)。
(七)、測試報告是否可依照不同的安全等級(如: ISO26262的ASIL)自動生成(chéng)?
(八)、因爲大部分的産業功能(néng)安全标準都(dōu)與軟件工程相關,工具應能(néng)用最簡便的方式與ALM系統進(jìn)行集成(chéng),以利達成(chéng)軟件需求與測試的追蹤性要求。
創提科技作爲Vector Informatik公司在台灣的合作夥伴,旗下工具Vector CAST/ Team除了能(néng)符合在ISO26262 ASIL A~D單元測試與單元整合測試的要求,更能(néng)與系統層級測試HiL(Hardware in Loop)搭配使用,并獲取系統層級覆蓋率。創提科技在軟件安全性産業累積了20年以上的經(jīng)驗,創提科技很願意與已踏入或準備踏入高安全性軟件的開(kāi)發(fā)人員進(jìn)行交流,并提供相對(duì)應的解決方案與經(jīng)驗分享。