汽车软件的有效测试方法
随着汽车上电子部件越来越多,诸如安全气囊、防抱制动系统、驾驶员辅助系统、车身控制系统、无钥匙启动系统及电动助力转向系统等都通过复杂的软件程序来实现。这些系统都涉及到车辆安全性,软件上的缺陷可能导致伤亡事故。因此,必须要求汽车软件零缺陷,为了保证软件零缺陷,需要对其进行穷举测试。但由于测试案例过于庞大,因此穷举测试往往不能被全部执行。
软件测试是以找出程序错误为目的而执行该程序的过程。然而,要找出该程序的全部错误往往不切实际。此外,由于工程项目所能利用的资源和时间有限,因此不足以实施穷举测试。这样,就有必要找到一种经济的测试方法。
为了实现汽车软件测试的目的,需要制定测试策略。指定的策略包含以下几点。
(1)确定代表性的测试案例。好的测试案例极有可能检测出未发现的错误。
(2)确定测试案例执行的优先级。
(3)确保覆盖所有需求。
(4)确保等价划分和边界值分析。
(5)随着软件的升级,也要升级测试案例。
(6)避免“杀虫剂悖论”。
(7)测试案例的自动化生成及测试的自动执行。
在使用新的测试方法之后,系统化方法确定的测试案例及正交阵列的使用保证了测试效率。正交阵列在错误检测中发挥了极大的作用,在约60%的测试案例下找出90%的错误;测试案例优先级的划分使得6h执行过程中利用5%的测试案例找出20%的错误,保证了极高的执行效率;软件升级之后为避免“杀虫剂悖论”而额外增加大量的测试案例,测试案例的书写为自动进行,此项工作能够减小75%的工作量,同时测试执行阶段的自动化使得执行所有测试案例成为可能。
SujitSopanBarhate.2015 InternationalConferenceon IndustrialInstrumentation and Control(ICIC),India-May 28-30 2015.
编译:李峻峰