一种多技术融合的嵌入式软件测试方法

文档序号:8282196阅读:924来源:国知局
一种多技术融合的嵌入式软件测试方法
【技术领域】
[0001]本发明涉及一种多技术融合的嵌入式软件测试方法,特别是涉及一种根据型号嵌入式软件的特点,借助于专业软件测试工具和设备,将多种嵌入式软件测试手段进行最优化组合,通过人工或自动的方式,验证软件的功能和对故障的处理能力,保证软件测试的全面性和完整性,提高软件测试的效率,达到高可靠性和高安全性指标的多技术融合的嵌入式软件测试方法。
【背景技术】
[0002]随着型号发展的需要以及控制系统性能的不断提高,越来越多的型号采用高速数字控制取代传统的模拟控制,特别是数字信号处理器、FPGA、高速数据总线等嵌入式实时系统的广泛应用,使得软件在型号中所占的比重不断加大,软件代码的质量对嵌入式系统的质量起到了决定性的作用,因此各型号对软件提出了更为苛刻的要求,例如高安全性、高可靠性、强实时性等要求。
[0003]嵌入式软件测试有以下几方面的特点:一是软件测试必须依附于硬件平台;二是在特定环境和条件下的系统可靠性测试;三是实时性测试。嵌入式系统一般有实时性的要求,因此除了对嵌入式软件进行功能测试之外,还应对软件的实时性进行测试。在传统的嵌入式软件测试中,主要存在以下问题:一是受测试环境的限制,出现测试的可控性差、通用性不强,测试环境与软件的实际运行环境存在差异;二是缺少故障注入的方式和手段,无法全面覆盖软件运行过程中的突发异常情况;三是缺乏对高速总线接口的验证方法,无法保证软件接口的正确性和软件测试的全面性;四是测试的效率较低,测试的周期较长,测试成本较高。因此亟需提供一种新型的多技术融合的嵌入式软件测试方法。

【发明内容】

[0004]本发明要解决的技术问题是提供一种可实现多种测试技术的融合,全面覆盖嵌入式软件的功能、接口,保证嵌入式软件测试的全面性的通用性强、可控性好、效率高的多技术融合的嵌入式软件测试方法。
[0005]为解决上述技术问题,本发明一种多技术融合的嵌入式软件测试方法,依次包括以下步骤:
[0006]步骤1、结合半实物仿真测试技术,构建半实物仿真测试平台;
[0007]步骤1-1以伺服控制驱动器作为被测目标机,用来运行嵌入式伺服控制驱动软件,其内部含有CAN总线、1553B总线两种接口 ;
[0008]步骤1-2以仿真工控机作为实时仿真机,接入CAN板卡和1553B板卡,并安装虚拟仿真测试软件,模拟伺服控制驱动器外部运行环境,向伺服控制驱动器提供激励信号,同时接收反馈信号,实现弹上计算机及总线设备的模拟与仿真;
[0009]步骤1-3以测试工控机作为宿主机,并安装LDRA Testbed嵌入式软件测试工具、RTinsight物理总线数据采集器、CCS3.3数字信号处理器调试编译软件,用来运行嵌入式软件测试工具,对嵌入式伺服控制驱动软件进行自动插桩,经JTEG接口将插桩后的测试用例脚本下载到被测目标机,并记录嵌入式伺服控制驱动软件运行状态和测试结果,以判断功能、性能等指标是否达到测试用例的设计要求;
[0010]步骤1-4构建环境模拟设备,包括供电电源、高精度可调直流电源、示波器、TDS510仿真器、总线耦合器,实现软件在线调试、模拟信号的输入和输出以及信号进行观测;
[0011]步骤2、采用测试用例集成测试技术进行测试用例的设计与生成,包括以下步骤:
[0012]步骤2-1利用LDRA Testbed软件将被测的.c文件导入并进行自动插桩,将程序源代码翻译成能够在LDRA Testbed中运行的驱动文件,生成.tct文件;
[0013]步骤2-2将预先设计好的若干测试用例填入表格中,利用.tct到.tcf转换工具将测试用例转换成TBrun能够执行的.tcf文件;
[0014]步骤2-3利用LDRA Testbed的自动插桩功能将.tcf文件插桩到执行文件S_xx.c中,再由TBrun调用该.c文件,自动执行若干测试用例;
[0015]步骤3、利用总线虚拟测试技术,进行型号嵌入式伺服控制驱动软件的接口测试;根据型号嵌入式伺服控制驱动软件协议,在实时仿真机上配置虚拟仿真测试软件,并向伺服控制驱动器下发自检、同步、时序、参数下载指令,通过观测返回的状态信息检验总线接口的发送和接收数据的能力、数据的约定与协议的一致性;
[0016]步骤4、采用故障模拟注入技术,对型号伺服控制驱动软件的功能、性能等指标进行验证,模拟飞行中可能出现的故障并施加于软件上,验证软件对故障数据的处理、抵御误操作的能力是否满足软件功能、性能方面的需求。
[0017]步骤4依次包括以下几个步骤:
[0018]步骤4-1利用高精可调直流电源向各A/D采集通道输入可变的模拟信号,在宿主机上观测经软件处理后的各采样值,检测A/D接口硬件的精度、线性度和超边界采样能力;
[0019]步骤4-2通过虚拟仿真测试软件模拟CAN总线、1553B总线下发一系列真实的数据类型和数据值进行测试,测试软件在超负荷、饱和下的结果;下发假想的、非约定的数据或错误指令,测试软件的响应情况和容错的能力;
[0020]步骤4-3通过CCS3.3编译调试软件的在线调试功能,利用插桩技术,在源代码中插入变量标志,通过对变量标志的判断来改变程序的流向,或者在变量查看窗口中改变关键功能的操作顺序,考核软件对误操作的抵御能力。
[0021]总线虚拟测试技术为使用虚拟仿真测试软件模拟真实总线上的数据传输,实现各种指令的输入、故障的注入、遥测数据的接收和显示、状态信息的查询、参数的下载。
[0022]本发明实现的技术效果如下:
[0023]特点如下:
[0024]1、可以解决嵌入式软件测试的真实性与可控性之间的矛盾,真实地反映软件的实际运行能力和与硬件匹配的能力,满足高动态软件对实时性的要求;
[0025]2、通过总线虚拟测试技术,可以真实地模拟弹上计算机的各种指令的输入、故障的注入、参数下载和遥测数据返回等功能,可以实现了高速数据总线链路上的闭环测试,检验总线接口的各项指标;
[0026]3、对于实现功能较多,控制较为复杂的嵌入式软件,采用三类故障模拟注入技术(即硬件故障、操作故障、数据故障),可以全面覆盖飞行过程中可能发生的各种突发异常情况,检验软件的功能和容错能力,保证软件的可靠性与安全性;
[0027]4、针对型号嵌入式伺服控制驱动软件函数模块多,调用关系复杂的特点,采用测试用例集成测试技术,可以验证程序的内部结构和逻辑,并且实现多个测试用例同时自动执行,测试设备和资源可以重复利用,从而大大节省测试资源,减少用例设计与用例执行的交叉时间,提高测试效率,缩短测试时间。
[0028]5、多技术融合的嵌入式软件测试方法可以将多种嵌入式软件测试手段进行最优化组合,发挥各种测试技术和方法的优势,扬长避短,从不同的角度和方面对软件进行测试,从而实现对软件的功能、性能、接口、安全性和可靠性等方面进行全面的覆盖。
[0029]6、多种测试技术融合不仅可以充分利用现有成熟的软件测试技术,最大限度地发挥现有测试工具和设备的能力,且通用性强,又可以回避在嵌入式软件测试领域的瓶颈,较少在嵌入式软件测试技术方面的研究费用,降低嵌入式软件测试平台建设的资金投入。
[0030]本发明与现有技术相比,可实现功能较多、控制复杂、动态性能高的嵌入式软件的实时测试,对保证嵌入式软件质量上会有一个质的飞跃,且基础技术较成熟,易实现。
【附图说明】
[0031]图1为多技术融合嵌入式软件测试方案原理图。
[0032]图2为半实物仿真测试环境组成框图。
【具体实施方式】
[0033]下面结合附图和实施例对本发明作进一步详细的说明。
[0034]本发明依次包括以下步骤:
[0035]包含以下步骤:
[0036]步骤1、结合半实物仿真测试技术,构建半实物仿真测试平台。
[0037]半实物仿真测试技术,就是在计算机仿真回路中接入一些实物,以取代相应部分数学模型的系统仿真,这种技术是建立在半实物仿真测试环境基础上的。半实物仿真测试平台可以真实地反映软件的实际运行能力和与硬件匹配的能力,既能够保证真实性、可控性,又能够满足对高动态的测试要
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1