>
首页 » 业界动态 » CATC发布GESTE2.0应对嵌入式软件测试挑战

CATC发布GESTE2.0应对嵌入式软件测试挑战

作者:电子设计信息网  时间:2007-09-11 10:27  来源:www.edires.net

嵌入式系统的广泛应用引发了对嵌入式软件质量的深入讨论。由于软件作为人的思维逻辑产物,必然存在设计、开发等方面的缺陷,随着软件性能和复杂度不断提高,人为的软件错误无法避免。如果软件未经测试而直接使用,那么在使用过程中发现的缺陷将导致软件经济成本大幅增加,使软件在较长时间内无法发挥应有至容易导致重大事故。尤其是对于装备软件来说,将缺陷留在使用过程中暴露出来,其后果是灾难性的。因此通过软件测试发现缺陷仍然是目前确保软件质量的关键。

目前软件测试仍然是保证质量与可靠性的最有力手段。由于嵌入式软件具有软硬件结合密切、实时性较强以及接口复杂等特点,针对嵌入式系统的软件测试更侧重于利用仿真原理进行的系统测试。

国际上公认的一种非常有效的测试方法是对其进行软件仿真测试:即通过仿真环境模拟嵌入式系统的真实交联输入,在仿真的环境下实现嵌入式软件在各种情况下的使用,从而在软件正式使用之前暴露出嵌入式软件的缺陷,提高嵌入式软件的可靠性。而对于武器装备、航空航天等软件进行仿真测试,需要仿真测试环境同时进行多个交联设备的仿真,以及支持伴随而来的大量接口、极高的时间精度、复杂的数据格式、繁琐的闭环反馈。传统测试方案在测试如此庞大的数据时,在实时性方面则力不从心。为此由中航一集团软件可靠性测试与管理中心与北京新空间网计算机有限责任公司合作开发了具有自主知识产权的“通用嵌入式软件测试环境(GESTE)”,提供了仿真模型框架的自动生成功能,能够通过图形化的方式,自动为用户生成交联设备的仿真模型框架,极大的提高了仿真能力,减轻了测试人员的负担。

图:新闻发布会现场

“中航一集团计算机软件可靠性管理与测评中心(CATC)长久以来一直致力于通过我们专利性的GESTE系列嵌入式仿真测试产品,承担重要软件的第三方测试任务,并提供相关的软件工程化、软件测试方面的技术咨询以及软件测试培训工作。7年来我们先后承担300余万行规模的嵌入式软件测试,建立以GJB 2725A为主的软件测评实验室质量管理体系,在软件测试界赢得良好口碑及声誉。除却航空、航天、船舶、兵器和电子等相关领域的成功实践,我们亦在积极拓展寻求与更广泛领域软件企业的合作,2008年北京奥林匹克运动会即是新近成功涉足之成功案例之一。本中心员工皆深感荣幸并责任重大。” CATC刘斌教授表示。

GESTE2.0属本系列产品之二代产品,较之于第一代产品,其在如下领域实现了更大突破:
1)仿真测试环境的构建与测试环境集成,使仿真建模更加便利,不仅支持模型代码的自动生成、交叉编译,而且实现了仿真模型的调试功能,极大地提高了建模效率;
2)测试的执行效率进一步提高,不仅实现了测试脚本的实时解释执行,而且提供了脚本编译执行的机制,有助于测试环境实时性能的提高;
3)加强了测试过程的管理,美化了用户界面,丰富了显控面板的构建元素,并且支持测试过程中多个面板的实时显控,方便了测试过程的监控;
4)改进数据收集融合算法,支持海量数据的实时采集,便于对测试数据进行精确的小颗粒度的分析处理;
5)进一步提高可扩展性,实现了对与MATLAB和CodeTest等专业建模工具和测试工具的集成,丰富了建模手段、提高了测试能力。

图:CATC刘斌教授在新闻发布会上答记者问

GESTE2.0组件主要包括测试过程管理、仿真模型、编译器和调试器、脚本编辑器、测试监控工具、硬件连接、测试结果分析工具、扩展功能。

GESTE2.0测试过程采用项目-工程-单元的三级管理机制。一个项目下面可以建多个工程,每个工程对应一个交联环境模型。每个工程下面可以建多个测试单元,每个测试单元是一次测试的组织。

测试环境的搭建主要包括仿真模型的图形化开发和代码的自动生成。只需使用鼠标点击和拖动就可以搭建出被测系统的交联环境。支持多种总线接口,包括MIL-STD-1553B、ARINC429、RS—422、RS—232、AI/AO和DI/DO。也可以增加用户驱动集成用户特殊的接口(CUSTOMBUS)。同时可以为各种总线接口配置多类型的数据变量,实现与被测系统的数据交互。仿真模型搭建完毕后,可自动生成仿真模型框架代码。用户还可以根据需要完成仿真模型的内特性建模(如调用matlab函数)。

图:GESTE基本测试流程

GESTE2.0提供编译器和调试器。可对仿真模型代码进行自动编译。如果模型代码正确无误,则生成可运行在实时处理机上的可执行文件。如果用户编写的模型代码有误,编译窗口将输出错误信息,并进行错误定位。同时可使用调试器进行调试。

GESTE2.0为用户提供测试脚本的开发环境,将测试用例转化为测试脚本,经过下载及测试过程中的调度,驱动测试的运行。用户只需按照相关规范书写测试脚本来描述测试意图,解释器就可以通过读取脚本文本完成相应的功能的实现。GESTE2.0脚本任务包括周期任务和定时任务。并且可以对各个任务的属性(包括名称、类型、优先级、周期、开始时间和结束时间)进行管理。为了辅助用户编辑脚本,脚本编辑器还提供插入块语句功能、非块变量赋值功能、自动添加注释标号和脚本语法检查功能,并且提供常用的逻辑语句(如if…else)。

测试监控工具提供实时的图形化的数据显示功能和测试的在线控制功能。用户可以在测试过程中,按照不同的方式及格式,实时显示指定数据。也可以实时地添加一些测试命令,如在线脚本,完成用户与被测软件的交互。测试监控工具主要包括三类:标记类,包括标签、分组框和分割线;控制类,包括编辑框、组合框、旋钮、按钮和开关,可提供在线脚本功能;显示类,包括趋势图、树形图、柱状图、LED、信号灯等,用于实时观测测试数据。

图:GESTE2.0工作原理

硬件连接主要包括两个方面。实时处理机与被测系统之间可以使用多种标准总线接口连接,包括MIL-STD-1553B、ARINC429、RS-422、RS-232、AI/AO、DI/DO。如果用户有特殊的接口,GESTE2.0也可以通过增加用户驱动的方式将其集成。

测试结果分析工具可以按照用户定制的收集方案采集数据,用于测试事后数据分析和回放。TDA的数据显示和分析功能主要包括三个方面:列表显示与分析、曲线显示与分析和测试脚本显示。列表显示与分析以表格列表的方式显示测试数据。并且可以实现数据过滤、数据查询、进制转换、显示列选择和前往周期等功能。曲线分析以曲线的方式显示测试数据。并且可以选择要显示的数据变量。并且提供选择、复位、放大、移动和坐标等工具。另外,TDA可以显示测试脚本,方便比较测试预期输出与实际测试结果。

此外,GESTE2.0还实现了对matlab模型的集成。对于复杂的交联环境,用户可能需要在matlab中建模仿真。GESTE可以把matlab模型导入GESTE交联环境模型,实现与被测系统的数据交互。GESTE2.0还可以与Codetest集成。从而实现了系统测试与白盒测试的集成。

相关推荐

从TI“蝗虫战略”到雷军“芯片免费”

芯片  嵌入式系统  2013-11-07

嵌入式系统领域迎来创新与转型时代

嵌入式系统  通信  2013-05-30

VDC:物联网将改写嵌入式系统开发趋势

物联网  嵌入式系统  2013-05-14

ARM-Linux嵌入式系统的BootLoader分析与设计

嵌入式系统  Linux  2011-09-19

嵌入式系统的实时数据接口扩展

嵌入式系统  CPLD  2011-09-02

嵌入式系统U盘实时启动技术

VxWorks  嵌入式系统  2011-09-01
在线研讨会
焦点