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