汽車軟件的有效測試方法
隨著汽車上電子部件越來越多,諸如安全氣囊、防抱制動系統(tǒng)、駕駛員輔助系統(tǒng)、車身控制系統(tǒng)、無鑰匙啟動系統(tǒng)及電動助力轉向系統(tǒng)等都通過復雜的軟件程序來實現(xiàn)。這些系統(tǒng)都涉及到車輛安全性,軟件上的缺陷可能導致傷亡事故。因此,必須要求汽車軟件零缺陷,為了保證軟件零缺陷,需要對其進行窮舉測試。但由于測試案例過于龐大,因此窮舉測試往往不能被全部執(zhí)行。
軟件測試是以找出程序錯誤為目的而執(zhí)行該程序的過程。然而,要找出該程序的全部錯誤往往不切實際。此外,由于工程項目所能利用的資源和時間有限,因此不足以實施窮舉測試。這樣,就有必要找到一種經濟的測試方法。
為了實現(xiàn)汽車軟件測試的目的,需要制定測試策略。指定的策略包含以下幾點。
(1)確定代表性的測試案例。好的測試案例極有可能檢測出未發(fā)現(xiàn)的錯誤。
(2)確定測試案例執(zhí)行的優(yōu)先級。
(3)確保覆蓋所有需求。
(4)確保等價劃分和邊界值分析。
(5)隨著軟件的升級,也要升級測試案例。
(6)避免“殺蟲劑悖論”。
(7)測試案例的自動化生成及測試的自動執(zhí)行。
在使用新的測試方法之后,系統(tǒng)化方法確定的測試案例及正交陣列的使用保證了測試效率。正交陣列在錯誤檢測中發(fā)揮了極大的作用,在約60%的測試案例下找出90%的錯誤;測試案例優(yōu)先級的劃分使得6h執(zhí)行過程中利用5%的測試案例找出20%的錯誤,保證了極高的執(zhí)行效率;軟件升級之后為避免“殺蟲劑悖論”而額外增加大量的測試案例,測試案例的書寫為自動進行,此項工作能夠減小75%的工作量,同時測試執(zhí)行階段的自動化使得執(zhí)行所有測試案例成為可能。
SujitSopanBarhate.2015 InternationalConferenceon IndustrialInstrumentation and Control(ICIC),India-May 28-30 2015.
編譯:李峻峰