2016年3月28日 simics.

Simics有助于在24小时内运行60 000 GNAT Pro测试

一个关键方面adacore的gnat pro提供的是我们正在提供的产品的质量,以及我们在出现时解决问题的主动方法。为此,我们需要在为客户提供任何东西之前都需要密集的测试,并为我们提供的每种产品生产“波前”版本。每天这样做是一个真正的挑战,考虑支持的配置的数量,运行的测试数量以及24小时时间帧的限制。在骗子,我们依靠虚拟化作为我们的测试策略的一部分。在本文中,我们将描述我们对GNAT Pro测试的程度VxWorks,以及如何风河模拟帮助我们迎接了这些挑战。

广泛支持VxWorks产品

运行的测试数量与我们支持的配置数成正比。我们有一个令人印象深刻的配置矩阵来验证:

  • 版本:VxWorks,VxWorks Cert,VxWorks 653 ...我们支持的全系列版本(例如,5.5,6.4至6.9,653 2.1至2.5 ......)
  • CPU:ARM,PPC,E500V2,X86 ...
  • 程序类型:实时流程,可下载的内核模块,静态内核模块,Vthreads,ARINC 653流程,用CerT子集...
  • ADA配置变体:零成本异常与SetJMP / Longjmp异常,Ravenscar Tasking Profile与Full ADA Tasking ...

当然,GNAT不支持的这种可能性中存在一些组合,但现实是我们涵盖大部分。所以各种各样的配置非常高。

这个矩阵增长很快。在2013年和2015年之间,我们扩大了我们的报价,以支持新的VxWorks端口(VxWorks 7, VxWorks 653 3.0.x)在大量的cpu (arm, e500v2, ppc..),包括GNAT Pro用户需要的新配置(x86_64)。这表示在现有的168个配置中新增了32个受支持的新配置。显然,为了尽快支持新的VxWorks版本,要根据我们现有的测试套件来限定所有这些新版本是一个挑战。

SIMICS支持广泛的VxWorks配置,并与核心OS本身具有良好的集成。这使得SIMICS为GNAT Pro测试策略进行了自然解决方案。在VxWorks 7和653 3.0.x上,它允许我们快速设置适当的测试环境,因为预定义的材料存在,使其与大多数风河o什么顺利工作;我们可以立即关注自己的技术,而不是在开发,稳定和维护从头划痕的开发,稳定和维护新的测试基础设施。

虚拟硬件的代表性测试

SIMICS的另一个好处是它不仅支持所有版本的VxWorks,而且还模拟了各种硬件平台。这使我们能够测试代表GNAT Pro用户将用于生产的硬件的平台。

一个稳定的QA框架能够提高工作效率

稳定性是测试框架的一个重要属性;否则,由测试框架引起的“故障”开始导致虚假的故障,通常是随机的,然后QA团队需要每次分析这些故障。乘以我们每天运行的大量测试,以及我们测试的大量平台,缺乏稳定性会很快导致无法管理的情况。测试框架的可信度是提高效率的关键因素。

在这方面,尽管沉重的并行性需要为了完成我们所有产品的验证,西米奇被证明是一个健壮的解决方案和在压力下表现良好,从而帮助我们集中精力差异引起的我们的工具,而不是虚假的差异造成的测试框架。

测试执行速度允许进行广泛的测试

一些关于我们的测试有多广泛的额外信息。在VxWorks上,我们有三套测试套件:

  • 标准ADA验证Testsuite(ACATS):约3,600个测试;
  • 蚊虫叮咬的回归试验:约15 000次试验;
  • 特定于工具的测试套件:大约1800个测试。

总而言之,只需计算VxWorks平台,我们每天运行约350,000个测试。其中60,000次在SIMICS上运行,主要是最近的端口(VxWorks 7和653 3.x)。

为了运行所有这些测试,需要一个有效的测试平台。通过Simics,我们能够通过以下方式优化执行:

  • 仿真目标的适当调整;
  • 在使用检查点立即运行测试的执行点处停止并重新启动平台;
  • 开发额外的插件来从模拟器高效地访问主机文件系统。

我们将提供有关这些优化的更多技术细节以后的文章

访客作者:

jbrobecker.

Joel Brobecker, AdaCore高级软件工程师

jguitton

JérômeGuitton,高级软件工程师,骗子

jlombourg

Jérôme Lambourg,高级软件工程师,AdaCore

以前的VxWorks现在支持AMD的嵌入式G和R系列CPU
下一个VxWorks的可伸缩图形