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

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

Info

Publication number
CN104598373B
CN104598373B CN201310525179.8A CN201310525179A CN104598373B CN 104598373 B CN104598373 B CN 104598373B CN 201310525179 A CN201310525179 A CN 201310525179A CN 104598373 B CN104598373 B CN 104598373B
Authority
CN
China
Prior art keywords
software
test
embedded
simulation
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310525179.8A
Other languages
English (en)
Other versions
CN104598373A (zh
Inventor
刘海山
张建国
李文
王效亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Academy of Launch Vehicle Technology CALT
Beijing Research Institute of Precise Mechatronic Controls
Original Assignee
China Academy of Launch Vehicle Technology CALT
Beijing Research Institute of Precise Mechatronic Controls
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Academy of Launch Vehicle Technology CALT, Beijing Research Institute of Precise Mechatronic Controls filed Critical China Academy of Launch Vehicle Technology CALT
Priority to CN201310525179.8A priority Critical patent/CN104598373B/zh
Publication of CN104598373A publication Critical patent/CN104598373A/zh
Application granted granted Critical
Publication of CN104598373B publication Critical patent/CN104598373B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种多技术融合的嵌入式软件测试方法,根据型号嵌入式软件的特点,借助于专业软件测试工具和设备,将多种嵌入式软件测试手段进行最优化组合,通过人工或自动的方式,验证软件的功能和对故障的处理能力,保证软件测试的全面性和完整性,提高软件测试的效率,达到高可靠性和高安全性指标。

Description

一种多技术融合的嵌入式软件测试方法
技术领域
本发明涉及一种多技术融合的嵌入式软件测试方法,特别是涉及一种根据型号嵌入式软件的特点,借助于专业软件测试工具和设备,将多种嵌入式软件测试手段进行最优化组合,通过人工或自动的方式,验证软件的功能和对故障的处理能力,保证软件测试的全面性和完整性,提高软件测试的效率,达到高可靠性和高安全性指标的多技术融合的嵌入式软件测试方法。
背景技术
随着型号发展的需要以及控制系统性能的不断提高,越来越多的型号采用高速数字控制取代传统的模拟控制,特别是数字信号处理器、FPGA、高速数据总线等嵌入式实时系统的广泛应用,使得软件在型号中所占的比重不断加大,软件代码的质量对嵌入式系统的质量起到了决定性的作用,因此各型号对软件提出了更为苛刻的要求,例如高安全性、高可靠性、强实时性等要求。
嵌入式软件测试有以下几方面的特点:一是软件测试必须依附于硬件平台;二是在特定环境和条件下的系统可靠性测试;三是实时性测试。嵌入式系统一般有实时性的要求,因此除了对嵌入式软件进行功能测试之外,还应对软件的实时性进行测试。在传统的嵌入式软件测试中,主要存在以下问题:一是受测试环境的限制,出现测试的可控性差、通用性不强,测试环境与软件的实际运行环境存在差异;二是缺少故障注入的方式和手段,无法全面覆盖软件运行过程中的突发异常情况;三是缺乏对高速总线接口的验证方法,无法保证软件接口的正确性和软件测试的全面性;四是测试的效率较低,测试的周期较长,测试成本较高。因此亟需提供一种新型的多技术融合的嵌入式软件测试方法。
发明内容
本发明要解决的技术问题是提供一种可实现多种测试技术的融合,全面覆盖嵌入式软件的功能、接口,保证嵌入式软件测试的全面性的通用性强、可控性好、效率高的多技术融合的嵌入式软件测试方法。
为解决上述技术问题,本发明一种多技术融合的嵌入式软件测试方法,依次包括以下步骤:
步骤1、结合半实物仿真测试技术,构建半实物仿真测试平台;
步骤1-1以伺服控制驱动器作为被测目标机,用来运行嵌入式伺服控制驱动软件,其内部含有CAN总线、1553B总线两种接口;
步骤1-2以仿真工控机作为实时仿真机,接入CAN板卡和1553B板卡,并安装虚拟仿真测试软件,模拟伺服控制驱动器外部运行环境,向伺服控制驱动器提供激励信号,同时接收反馈信号,实现弹上计算机及总线设备的模拟与仿真;
步骤1-3以测试工控机作为宿主机,并安装LDRA Testbed嵌入式软件测试工具、RTinsight物理总线数据采集器、CCS3.3数字信号处理器调试编译软件,用来运行嵌入式软件测试工具,对嵌入式伺服控制驱动软件进行自动插桩,经JTEG接口将插桩后的测试用例脚本下载到被测目标机,并记录嵌入式伺服控制驱动软件运行状态和测试结果,以判断功能、性能等指标是否达到测试用例的设计要求;
步骤1-4构建环境模拟设备,包括供电电源、高精度可调直流电源、示波器、TDS510仿真器、总线耦合器,实现软件在线调试、模拟信号的输入和输出以及信号进行观测;
步骤2、采用测试用例集成测试技术进行测试用例的设计与生成,包括以下步骤:
步骤2-1利用LDRA Testbed软件将被测的.c文件导入并进行自动插桩,将程序源代码翻译成能够在LDRA Testbed中运行的驱动文件,生成.tct文件;
步骤2-2将预先设计好的若干测试用例填入表格中,利用.tct到.tcf转换工具将测试用例转换成TBrun能够执行的.tcf文件;
步骤2-3利用LDRA Testbed的自动插桩功能将.tcf文件插桩到执行文件S_xx.c中,再由TBrun调用该.c文件,自动执行若干测试用例;
步骤3、利用总线虚拟测试技术,进行型号嵌入式伺服控制驱动软件的接口测试;根据型号嵌入式伺服控制驱动软件协议,在实时仿真机上配置虚拟仿真测试软件,并向伺服控制驱动器下发自检、同步、时序、参数下载指令,通过观测返回的状态信息检验总线接口的发送和接收数据的能力、数据的约定与协议的一致性;
步骤4、采用故障模拟注入技术,对型号伺服控制驱动软件的功能、性能等指标进行验证,模拟飞行中可能出现的故障并施加于软件上,验证软件对故障数据的处理、抵御误操作的能力是否满足软件功能、性能方面的需求。
步骤4依次包括以下几个步骤:
步骤4-1利用高精可调直流电源向各A/D采集通道输入可变的模拟信号,在宿主机上观测经软件处理后的各采样值,检测A/D接口硬件的精度、线性度和超边界采样能力;
步骤4-2通过虚拟仿真测试软件模拟CAN总线、1553B总线下发一系列真实的数据类型和数据值进行测试,测试软件在超负荷、饱和下的结果;下发假想的、非约定的数据或错误指令,测试软件的响应情况和容错的能力;
步骤4-3通过CCS3.3编译调试软件的在线调试功能,利用插桩技术,在源代码中插入变量标志,通过对变量标志的判断来改变程序的流向,或者在变量查看窗口中改变关键功能的操作顺序,考核软件对误操作的抵御能力。
总线虚拟测试技术为使用虚拟仿真测试软件模拟真实总线上的数据传输,实现各种指令的输入、故障的注入、遥测数据的接收和显示、状态信息的查询、参数的下载。
本发明实现的技术效果如下:
特点如下:
1、可以解决嵌入式软件测试的真实性与可控性之间的矛盾,真实地反映软件的实际运行能力和与硬件匹配的能力,满足高动态软件对实时性的要求;
2、通过总线虚拟测试技术,可以真实地模拟弹上计算机的各种指令的输入、故障的注入、参数下载和遥测数据返回等功能,可以实现了高速数据总线链路上的闭环测试,检验总线接口的各项指标;
3、对于实现功能较多,控制较为复杂的嵌入式软件,采用三类故障模拟注入技术(即硬件故障、操作故障、数据故障),可以全面覆盖飞行过程中可能发生的各种突发异常情况,检验软件的功能和容错能力,保证软件的可靠性与安全性;
4、针对型号嵌入式伺服控制驱动软件函数模块多,调用关系复杂的特点,采用测试用例集成测试技术,可以验证程序的内部结构和逻辑,并且实现多个测试用例同时自动执行,测试设备和资源可以重复利用,从而大大节省测试资源,减少用例设计与用例执行的交叉时间,提高测试效率,缩短测试时间。
5、多技术融合的嵌入式软件测试方法可以将多种嵌入式软件测试手段进行最优化组合,发挥各种测试技术和方法的优势,扬长避短,从不同的角度和方面对软件进行测试,从而实现对软件的功能、性能、接口、安全性和可靠性等方面进行全面的覆盖。
6、多种测试技术融合不仅可以充分利用现有成熟的软件测试技术,最大限度地发挥现有测试工具和设备的能力,且通用性强,又可以回避在嵌入式软件测试领域的瓶颈,较少在嵌入式软件测试技术方面的研究费用,降低嵌入式软件测试平台建设的资金投入。
本发明与现有技术相比,可实现功能较多、控制复杂、动态性能高的嵌入式软件的实时测试,对保证嵌入式软件质量上会有一个质的飞跃,且基础技术较成熟,易实现。
附图说明
图1为多技术融合嵌入式软件测试方案原理图。
图2为半实物仿真测试环境组成框图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细的说明。
本发明依次包括以下步骤:
包含以下步骤:
步骤1、结合半实物仿真测试技术,构建半实物仿真测试平台。
半实物仿真测试技术,就是在计算机仿真回路中接入一些实物,以取代相应部分数学模型的系统仿真,这种技术是建立在半实物仿真测试环境基础上的。半实物仿真测试平台可以真实地反映软件的实际运行能力和与硬件匹配的能力,既能够保证真实性、可控性,又能够满足对高动态的测试要求,因此特别适合于型号嵌入式伺服控制驱动软件的测试。
如图2所示,需要从以下几方面构建半实物仿真测试平台:
步骤1-1构建被测目标机。以伺服控制驱动器作为被测目标机,用来运行嵌入式伺服控制驱动软件,其内部含有CAN总线、1553B总线两种接口。
步骤1-2构建实时仿真机。以仿真工控机作为实时仿真机,在PCI插槽中接入CAN板卡和1553B板卡,并安装虚拟仿真测试软件,模拟伺服控制驱动器外部运行环境,向伺服控制驱动器提供激励信号,同时接收反馈信号,实现弹上计算机及总线设备的模拟与仿真。
步骤1-3构建测试宿主机。以测试工控机作为宿主机,并安装LDRATestbed嵌入式软件测试工具、RTinsight物理总线数据采集器、CCS3.3数字信号处理器调试编译软件,用来运行嵌入式软件测试工具,对嵌入式伺服控制驱动软件进行自动插桩,经JTEG接口将插桩后的测试用例脚本下载到被测目标机,并记录嵌入式伺服控制驱动软件运行状态和测试结果,以判断功能、性能等指标是否达到测试用例的设计要求。
步骤1-4构建环境模拟设备。包括供电电源、高精度可调直流电源、示波器、TDS510仿真器、总线耦合器,主要实现软件在线调试、模拟信号的输入和输出以及信号的观测。
步骤2、采用测试用例集成测试技术进行测试用例的设计与生成,包括以下步骤:
步骤2-1生成.tct文件。利用LDRA Testbed软件将被测的.c文件导入并进行自动插桩,将程序源代码翻译成能够在LDRA Testbed中运行的驱动文件,生成.tct文件。
步骤2-2将.tct文件转换成.tcf文件。将预先设计好的多个测试用例填入一个Excel表格中,利用.tct到.tcf转换工具将测试用例转换成TBrun能够执行的.tcf文件。
步骤2-3测试用例执行。利用专业软件测试工具LDRA Testbed的自动插桩功能将.tcf文件插桩到执行文件S_xx.c中,再由TBrun调用该.c文件,自动执行多个测试用例,达到对测试用例集成测试的目的。从而大大节省了测试资源,减少了用例设计与用例执行的交叉时间,提高了测试效率,缩短了测试时间。
步骤3、利用总线虚拟测试技术,进行型号嵌入式伺服控制驱动软件的接口测试。总线虚拟测试技术,就是使用虚拟仿真测试软件模拟真实总线上的数据传输,实现各种指令的输入、故障的注入、遥测数据的接收和显示、状态信息的查询、参数的下载等。根据型号嵌入式伺服控制驱动软件协议,在实时仿真机上配置虚拟仿真测试软件,并向伺服控制驱动器下发自检、同步、时序、参数下载等指令,通过观测返回的状态信息检验总线接口的发送和接收数据的能力、数据的约定与协议的一致性。
步骤4、采用故障模拟注入技术,对型号伺服控制驱动软件的功能、性能等指标进行验证,通过人工的方法有意识模拟飞行中可能出现的故障并施加于软件上,验证软件对故障数据的处理、抵御误操作的能力是否满足软件功能、性能等方面的需求。包括以下几个步骤:
步骤4-1硬件故障的注入。利用高精可调直流电源向各A/D采集通道输入可变的模拟信号,在宿主机上观测经软件处理后的各采样值,检测A/D接口硬件的精度、线性度和超边界采样能力。
步骤4-2数据故障的注入。通过虚拟仿真测试软件模拟CAN总线、1553B总线下发一系列真实的数据类型和数据值进行测试,测试软件在超负荷、饱和及其他“最坏情况”下的结果;下发一些假想的、非约定的数据或错误指令,测试软件的响应情况和容错的能力。
步骤4-3操作故障的注入。通过CCS3.3编译调试软件的在线调试功能,利用插桩技术,在源代码中插入一些变量标志,通过对变量标志的判断来改变程序的流向,或者在变量查看窗口中改变某些关键变量的值,以此来改变某些关键功能的操作顺序,考核软件对误操作的抵御能力。

Claims (3)

1.一种多技术融合的嵌入式软件测试方法,依次包括以下步骤:
步骤1、结合半实物仿真测试技术,构建半实物仿真测试平台;
步骤1-1以伺服控制驱动器作为被测目标机,用来运行嵌入式伺服控制驱动软件,其内部含有CAN总线、1553B总线两种接口;
步骤1-2以仿真工控机作为实时仿真机,接入CAN板卡和1553B板卡,并安装虚拟仿真测试软件,模拟伺服控制驱动器外部运行环境,向伺服控制驱动器提供激励信号,同时接收反馈信号,实现弹上计算机及总线设备的模拟与仿真;
步骤1-3以测试工控机作为宿主机,并安装LDRA Testbed嵌入式软件测试工具、RTinsight物理总线数据采集器、CCS3.3数字信号处理器调试编译软件,用来运行嵌入式软件测试工具,对嵌入式伺服控制驱动软件进行自动插桩,经JTEG接口将插桩后的测试用例脚本下载到被测目标机,并记录嵌入式伺服控制驱动软件运行状态和测试结果,以判断功能、性能等指标是否达到测试用例的设计要求;
步骤1-4构建环境模拟设备,包括供电电源、高精度可调直流电源、示波器、TDS510仿真器、总线耦合器,实现软件在线调试、模拟信号的输入和输出以及信号进行观测;
步骤2、采用测试用例集成测试技术进行测试用例的设计与生成,包括以下步骤:
步骤2-1利用LDRA Testbed软件将被测的.c文件导入并进行自动插桩,将程序源代码翻译成能够在LDRA Testbed中运行的驱动文件,生成.tct文件;
步骤2-2将预先设计好的若干测试用例填入表格中,利用.tct到.tcf转换工具将测试用例转换成TBrun能够执行的.tcf文件;
步骤2-3利用LDRA Testbed的自动插桩功能将.tcf文件插桩到执行文件S_xx.c中,再由TBrun调用该.c文件,自动执行若干测试用例;
步骤3、利用总线虚拟测试技术,进行型号嵌入式伺服控制驱动软件的接口测试;根据型号嵌入式伺服控制驱动软件协议,在实时仿真机上配置虚拟仿真测试软件,并向伺服控制驱动器下发自检、同步、时序、参数下载指令,通过观测返回的状态信息检验总线接口的发送和接收数据的能力、数据的约定与协议的一致性;
步骤4、采用故障模拟注入技术,对型号伺服控制驱动软件的功能、性能等指标进行验证,模拟飞行中可能出现的故障并施加于软件上,验证软件对故障数据的处理、抵御误操作的能力是否满足软件功能、性能方面的需求。
2.根据权利要求1所述的一种多技术融合的嵌入式软件测试方法,其特征在于:
所述步骤4依次包括以下几个步骤:
步骤4-1利用高精可调直流电源向各A/D采集通道输入可变的模拟信号,在宿主机上观测经软件处理后的各采样值,检测A/D接口硬件的精度、线性度和超边界采样能力;
步骤4-2通过虚拟仿真测试软件模拟CAN总线、1553B总线下发一系列真实的数据类型和数据值进行测试,测试软件在超负荷、饱和下的结果;下发假想的、非约定的数据或错误指令,测试软件的响应情况和容错的能力;
步骤4-3通过CCS3.3编译调试软件的在线调试功能,利用插桩技术,在源代码中插入变量标志,通过对变量标志的判断来改变程序的流向,或者在变量查看窗口中改变关键功能的操作顺序,考核软件对误操作的抵御能力。
3.根据权利要求1所述的一种多技术融合的嵌入式软件测试方法,其特征在于:所述总线虚拟测试技术为使用虚拟仿真测试软件模拟真实总线上的数据传输,实现各种指令的输入、故障的注入、遥测数据的接收和显示、状态信息的查询、参数的下载。
CN201310525179.8A 2013-10-30 2013-10-30 一种多技术融合的嵌入式软件测试方法 Active CN104598373B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310525179.8A CN104598373B (zh) 2013-10-30 2013-10-30 一种多技术融合的嵌入式软件测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310525179.8A CN104598373B (zh) 2013-10-30 2013-10-30 一种多技术融合的嵌入式软件测试方法

Publications (2)

Publication Number Publication Date
CN104598373A CN104598373A (zh) 2015-05-06
CN104598373B true CN104598373B (zh) 2017-09-29

Family

ID=53124185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310525179.8A Active CN104598373B (zh) 2013-10-30 2013-10-30 一种多技术融合的嵌入式软件测试方法

Country Status (1)

Country Link
CN (1) CN104598373B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326122B (zh) * 2016-08-23 2018-08-31 北京精密机电控制设备研究所 一种软件单元测试用例管理系统
CN106292336B (zh) * 2016-10-10 2019-05-07 上海航天控制技术研究所 基于嵌入式VxWorks的卫星姿轨控系统的故障模拟系统及方法
CN106598864B (zh) * 2016-12-19 2019-06-11 中国科学院长春光学精密机械与物理研究所 一种多通道总线时序监测系统、方法及微型计算机系统
CN107153591B (zh) * 2017-05-09 2020-06-16 苏州浪潮智能科技有限公司 一种存储器供电架构的检测方法及装置
CN109086240B (zh) * 2018-08-28 2020-10-27 中国科学院长春光学精密机械与物理研究所 一种空间载荷遥控数据的注入系统及方法
CN109522215A (zh) * 2018-10-12 2019-03-26 中国铁道科学研究院集团有限公司通信信号研究所 铁路信号系统安全苛求软件的自动化测试平台
CN112612672B (zh) * 2020-12-18 2022-03-01 四川九洲电器集团有限责任公司 一种嵌入式软件实时运行状态监控方法
CN114138670B (zh) * 2021-12-10 2024-05-14 四川启睿克科技有限公司 基于接口自动化测试与功能、性能、安全测试融合的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306022A (zh) * 2011-08-19 2012-01-04 中国农业大学 汽车can总线和电控单元结合的半实物仿真实验系统
CN103135545B (zh) * 2013-03-04 2015-04-15 河南科技大学 一种自动变速器控制器半实物仿真测试系统

Also Published As

Publication number Publication date
CN104598373A (zh) 2015-05-06

Similar Documents

Publication Publication Date Title
CN104598373B (zh) 一种多技术融合的嵌入式软件测试方法
CN106292336B (zh) 基于嵌入式VxWorks的卫星姿轨控系统的故障模拟系统及方法
CN104536303B (zh) 一种故障注入方法
CN105302950A (zh) 一种软、硬件协同的可编程逻辑器件交联仿真测试方法
CN104750603B (zh) 一种多核dsp软件仿真器及其物理层软件测试方法
CN107368408A (zh) 一种面向接口的软件故障注入自动化测试方法
CN110442043B (zh) 卫星gnc系统实时-半物理柔性化仿真测试系统
CN109324601A (zh) 基于硬件在环的机器人控制器或控制系统的测试平台
CN103235756A (zh) 一种面向嵌入式系统分区应用程序软件的仿真测试方法
CN105067933A (zh) 用于电子装备测试性验证与评估的通用系统及测试方法
CN109765860B (zh) 核反应堆dcs的验证方法、验证装置及验证系统
CN102722107A (zh) 一种高压变频器的智能综合开发测试系统及其建立方法
CN109933521A (zh) 基于bdd的自动化测试方法、装置、计算机设备及存储介质
CN107944193A (zh) 航电半实物仿真系统
CN105808432A (zh) 轨道交通牵引传动控制单元软件自动化测试系统及方法
CN108984403A (zh) Fpga逻辑代码的验证方法及装置
CN112036023A (zh) 一种发电机变压器组保护装置软件一体化生成系统
CN106776326A (zh) 一种数据分析模型的建模方法及系统
CN110611312B (zh) 一种变电站间隔层全景数据在线模拟系统及方法
CN111459814A (zh) 自动化测试用例生成方法、装置及电子设备
CN205015414U (zh) 用于电子装备测试性验证与评估的通用系统
CN108984945A (zh) 基于多核心联合仿真被验证设计的仿真验证平台
CN116467211A (zh) 一种基于数字化仿真环境的系统级测试验证方法
Susarev et al. Training simulators development technique for oil and gas industry automation control systems
CN107037803A (zh) 用于仿真残余总线控制仪组合的计算机实现的方法和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant