汽车中的软件测试 (二)

4.3商业工具分类
  本节介绍了用于汽车行业的各种测试工具。
  这些工具可分为四大类:基于模型的测试生成,测试建模,验证和资源分析工具。
  每个类别说明如下。
  
  4.3.1基于模型的测试生成工具
  鉴于所需系统行为的模型,这些工具由模型生成测试,在目标系统上执行测试以检查系统是否表现的与要求的一样。
  测试是通过由模型按一定的度量“覆盖”其结构产生的。
  大多数的由基于模型的测试生成工具所提供的覆盖度量的往往是控制流定向的,例如测试可以由覆盖模型的所有分支生成。
  
  4.3.2测试建模工具
  不是由系统模型生成测试,这些工具是由一个可能针对测试系统特定区域、可用于不同情况的抽象测试模型生成测试的。
  该工具支持不同的符号来说明这些测试模型。
  此外,这些工具能够在目标机器上进行所生成的测试,并评估相应结果。
  
  4.3.3验证工具
  有了所需系统行为的模型,这些工具就可以进行形式验证,就是说他们证明或否决该模型关于那些使用形式化方法的特定属性的正确性。
  一个属性通常表现一个不良情况。一个验证技术是证明或反证是否不良情况在模型中保持不变的一种手段。当这种情况不变时,它产生一个反例证明。如果没有反例产生,这意味着该系统内没有这种情况。
  有两种主要方法:模型检验和定理证明,被认为是汽车领域的形式验证。
  对这些方法的文献综述超出了本文的范围,感兴趣的读者可以指向别处。
  
  4.3.4资源分析工具
  工具的第三类分析非功能特性,例如时间,内存使用情况等。举例来说,当危险发生时,重要的是要了解最坏执行时间( WCET )的防锁制动系统。此类分析在安全苛求的系统中极为重要。
  过去,这样的分析是用一个特设的方式进行的:要么手动分析大量的系统仿真,要么通过在一些测试场景中运行该系统,观察其性能。然而,这些方法已经变得不切和实际,因为系统的尺寸和目标执行平台的设计的复杂性增加了,特别是在处理器里。
  今天,专门的工具正在成为系统的验证过程用以覆盖这些方面的一个组成部分。
  由于时间和内存特性与目标平台的结构特色一致,分析主要是对循环X测试的先进水平进行的。

表1.主要在用工具
  1 对于目标平台,请查看:http://www.absint.com/ait/trial.htm
  2 IBV(基于仪器的验证)[10]是一项指定属性为一个连接到模型的显示器的技术。然后,它用制导模拟来寻找侵犯知识产权。
笔者将这项技术归类为验证技术的一个变体。
  4.4主要在用工具
  本节提供了汽车行业精选在用工具的一份比较。这些工具是根据上面解释的术语分类的。
  表1提供了工具信息表,包括:他们的供应商,类别,输入格式支持和循环X测试级别。大部分的输入格式是标准建模符号,可以参考相关文献了解详情。
  5 .汽车软件测试工具/服务
供应商
  5.1主要竞争者
  表2按生产国顺序列出了在欧洲提供软件测试工具和/或相关服务的主要竞争者名单,还包括那些在欧洲市场占有不可忽视份额的工具。
这份名单包括公司提供的服务,主要工具,及其主要专业领域。
名单中还包括在汽车行业深受肯定的工具应用笔记。
  5.2其他竞争者
  有些公司擅长嵌入式软件测试,但很少接触汽车系统。尽管这份名单并不详尽,但它包含了Testing Technologies( DE ) , Elvior ( EE)和Conformiq ( FI )公司 。
  有些公司擅长于汽车软件测试,但没有紧密结合V模型(参见图1 ),没有大量应用代码级技术。其中最值得注意的是LDRA (GB ) ,Prover( SE ) , Coverity(US) ,Wind River(US)公司 。
6.潜在机会
  鉴于上述讨论,本节将会讨论一些技术以及潜在的机会。他们能够成为未来商用车领域软件测试的独特卖点。
  6.1实时和连续行为
  商用车嵌入式系统对硬实时约束规范很敏感。特别是,微秒范围内工作的传动系和底盘。
没有实时性,就可能有沟通问题,尤其是连续变化的信号间。此外,实时行为在保证可重复的测试案例里是一个重要要求。
  这篇文章中讨论的大多数工具是事件驱动性质的,极少能够表现连续信号和连续时间问题。
  因此,应重点研究这方面的问题,尤其对于即将到来的新一代混合动力商用车。
  
  6.2黑盒组件分析
  汽车行业的黑盒组件分析还没有被充分挖掘。
  如前所述,许多组件是从供应商那作为黑盒解决方案收集的。很难理解在系统中测试组件及其集成的行为[ 6 ] 。在第4节提到的种类繁多的工具中有几个提供这样的功能。其中一个就是从传统代码生成Simulink模型来检查是否反向工程模型符合代码行为的Reactis Tester。
  当代码不可用时,弗劳恩霍夫商学院的RALT是唯一已知工具,能够保证基于运行时的系统观察的形式分析。

表2.主要竞争者
  1 AbsInt tools已经被应用于Bosch,BMW, Daimler, Honda, Mitsubishi和 Volkswagen。
  2 RALT是从运行时系统观察派生出形式模型的黑盒系统的一种逆向工程工具。RALT已被应用于车门控制系统[8]。
  3 EXAM是奥迪和大众汽车集团合作开发的,并已在内部使用[ 15 ] 。
  4 TPT提供反应测试,反应测试就是:当传感器信号超过某一临界值时,立即精准地反应给系统。
  5 MaTeLo已被应用到奥迪,Johnson Controls,Magneti,雷诺和大众汽车的汽车系统中。
  6 SCADE已被用于商用车领域,尤其是在Liebherr公司的控制系统中[ 14 ] 。
  7 Safety TestBuilder已用于测试Johnson Controls公司的 [ 12 ]轮胎压力监测系统。
  8 CertifyIt已被应用于雷诺公司的汽车系统。
  9 ENEA已成为DYSCAS (动态自配置汽车系统)项目( 2006-2008年)的一员,目前已被加入AUTOSAR标准[ 5 ] 。TD- Frame用于LabVIEW测试管理框架,并与美国国家仪器――TestStand的测试生成及执行相挂钩。
  10 Reactis Tester还可以为了应用基于模型的测试技术,从源代码反向设计模型。Reactis Tester/Validator已经应用到Robert Bosch[10]公司的汽车系统中。
  
  6.3安全性和可靠性分析
  安全性和可靠性是商用车关注的重点。
  现行做法中并没有用来分析可靠性的被认可的工具。对于安全性分析,一方面是进行最坏执行时间和内存使用情况分析,目前正使用专门的工具,如aiT WCET Analyzers和StackAnalyzer来执行。进一步增加安全性和可靠性方法以覆盖更多方面的潜力是很大的。
   
  6.4工具链和GUI
  对于嵌入式软件测试的各种不同的准则,一个适当的工具集是至关重要的。从可用性的角度来看,易用性和图形化界面是非常重要的。这方面的合理投资,加上几个案例研究的例子将有助于吸引汽车行业的从业者。
7.结论
  本文介绍了商用车领域的软件测试的当前做法的调查,也从软件测试的角度预测了这个领域的主要特性和潜在的未来机会。
  调查发现,用于商用车的主要测试技术已被用于一般的汽车行业了。主要的原因是,商用车分享了其大部分的特征给其他类别的道路车辆。
  但是,商用车需要优秀的方法来处理特定的工程问题。
  值得注意的是,这些问题在现在的市售工具集行业里还没有得到充分解决。例如:硬实时功能,没有特殊的工具存在的安全性和可靠性问题。
  此外,软件测试界还没有具体关注混合动力商用车将在不远的将来占据主要市场份额的问题。
  尽管从业者已经开始在汽车行业宣传测试,但这与商用车领域的情况是不同的。
  还有许多非正式的工具和方法,但关于质量和生产力的实际效用的经验数据却收集得很少。
  因此,有相当大的机会,让利益相关者集中努力创立一个共同的平台,正式通过商用车领域里的最先进技术。


最新内容请见作者的GitHub页:http://qaseven.github.io/

你可能感兴趣的:(汽车中的软件测试 (二))