李倩
摘要:互联网技术的飞快发展,促使嵌入式软件的应用范围越来越广泛,能够满足各行各业的复杂应用功能需求,逐渐成为日常工作生活中不可缺少的一部分。嵌入式软件的结构与一般的计算机具有明显的区别,因此在对嵌入式软件进行功能测试的过程中,需要考虑到更多的因素。针对计算机中的嵌入式软件类型及其测试技术进行探索研究,以期提高嵌入式软件运行时的实际性能。
关键词:计算机;嵌入式软件;测试技术研究
引言:
嵌入式软件系统目前发展势头良好,已经融入诸多电子产品之中,广泛应用于人们的日常工作和生活中。随着嵌入式系统的普遍使用,其处理数据的性能和使用质量面临着巨大的挑战,因此对嵌入式软件测试技术的研究至关重要。在社会日益复杂的现实需求下,嵌入式软件必须具有更强大功能,才能应对大环境下纷繁复杂的要求,对于嵌入式软件的性能进行测试,改进其存在的不足确保实际运行时嵌入式软件具有较高的可靠性,以更好地适应环境的要求是有必要的。
一、嵌入式计算机基本概念
嵌入式计算机是指根据用户的具体需求,开发出来的专用于某项特定项目的具有针对性的功能的一种计算机类型,具有较强的适应性,根据具体应用环境开发相应的硬件和软件。嵌入式计算机的功能具有较复杂的特点,在实际开发的过程中,需要开发人员严格控制成本,提高技术水准保证其可靠性,根据实际运用环境确定其体积大小,优化一般的计算机系统,使其在现实中的应用更具有灵活性,有助于嵌入式计算机在人们生活和工业制造中发挥更好的作用,让人们的生活和工作更方便高效,促进国家工业朝着更好的方向发展。
二、嵌入式计算机软件基本概念
在嵌入式计算机的开发中,离不开软件系统的支持,这种类型的软件属于嵌入式计算机软件,一般包括操作控制软件整体功能的微处理器和控制器,用于时序计算的定时器,用于信号感知传递的传感器,用于存储数据的存储器等模块。具有嵌入式软件的计算机系统,可以完成很多复杂的功能,比如监控环境的变化情况,收集环境数据并做出分析处理等。嵌入式软件是嵌入式计算机的重要功能实现模块,使得电子设备的功能更加智能化,处理能力更加强大,比如处理速度较快,处理结果更加精准。根据实际运用的环境需求,嵌入式软件的功能有简单和复杂之分,最简单的类似于单片机这种结构,其主要是对单一的工作进行处理,复杂类型则功能较为全面,可以处理诸多类型的数据计算。
三、嵌入式计算机软件测试的基本概念
为了保证嵌入式计算机软件在运行时对数据处理具有较高的正确性和可靠性,采用一定的测试方案对软件进行运行模拟测试,对于嵌入式计算机软件系统的高效运行具有重要的现实意义。一般使用宿主机和目标机的模式对嵌入式软件进行测试,宿主机即日常生活中使用的普遍的计算机类型,目标机则是作为待测试的嵌入式软件的载体,通过宿主机与目标机的相互配合通信,对嵌入式软件进行测试。需要注意的是,嵌入式软件的内存空间应该控制在合理的范围内,且软件开发中使用的各种功能的处理器与开发工具都有着较昂贵的价格,所以开发人员应做好成本控制工作。在越来越复杂的实际运行环境要求下,嵌入式软件的功能日益复杂,测试难度也越来越大,测试技术朝着不断创新的方向发展。
四、嵌入式计算机软件测试关键技术探索
(一)宿主机的测试技术
宿主机的测试方式包括静态测试技术和动态测试技术。静态测试技术将待测试的嵌入式软件系统与各种类型的测试数据进行连接,对系统的源代码进行复制,确定其程序代码之后绘制出系统使用的程序逻辑结构图。静态测试技术还可以在逻辑框架图、程序逻辑图和程序运行流程图之间实现相互转换。较早的嵌入式软件测试技术使用的是人工方式,测试人员在获得程序的设计情况和使用的算法类型后,需要使用这些参数模拟其实际运行时的情况,对所有功能项目进行测试排查,当出现错误时对其进行改正,以达到测试的目的,这种人工测试的方法较为复杂且施行过程需要耗费大量的时间。如今嵌入式软件的运行环境日益复杂,软件使用的设计程序数据较为分散,人工的检测方式已经满足不了功能复杂的嵌入式软件需求。现在测试人员在对嵌入式软件进行静态测试时,无须对所有的计算机设备进行测试,只需要根据获取的数据信息对软件的逻辑和功能进行全面的模拟运行,自动监测过程中出错的信息,根据测试状况进行改进优化,这种方法耗时较低很是便捷且准确性较高。
不同于静态检测,动态测试则是在待测试嵌入式软件的实际运行过程中,对运行状况进行监测分析,动态测试通过记录分析嵌入式软件在实际运行时的数据处理情况,与软件在开发时确定的目标功能进行对比,分析两者之间存在的差距,从而确定被测软件系统的实际运行中存在的问题,并对系统的性能进行优化提升。动态测试的实行步骤较多,需要对嵌入式软件的每个单元的数据处理性能,单元之间的集成合作性能,系统整体性能以及最后的验收情况进行多维度的测试,各个类型的测试之间相互联系并且层层递进。动态测试主要是对嵌入式软件的内置程序代码进行运行情况测试,通过对其实际运行时的状态进行检测,记录该软件的基础功能实现情况。动态测试的结果覆盖面较广,既可以检测软件存在的功能漏洞,也可以检测出相关参数的设置存在的问题。动态测试还可以对嵌入式软件的开发过程中的内存配置以及功能完成情况进行检测,并对存在的问题漏洞进行修补,有针对性地完善优化软件系统的功能。
(二)仿真机的测试技术
對于仿真机的测试也离不开对源程序代码与实际参数数据的测试。源程序代码在设计之初已经有了记录且不难获取,不过源代码的数量巨大,给测试带来的较重的工作量的同时也增加了测试的难度,另外对于参数设置数据的获取则比较复杂。一般通过对内存指数直接读取,或者使用高级开发工具对输入输出通道进行模拟,以及使用目标机和宿主机之间的物理通道通过专业的通讯软件实现对数据的载入采集。仿真机测试可以对系统中庞大的数据群进行处理,保证系统数据完整性的同时,还可以根据仿真运行实际情况对数据进行相应的修改优化,测试结束后也可以对数据进行提取。仿真机测试过程中,操作人员可以清楚地看到数据的运行时使用情况,获得集中管理的数据仿真和模拟的过程是透明的。嵌入式软件在仿真过程中有着较为复杂的结构类型,包括用来实时模拟的仿真开发工具,软件的输入输出模块,对软件进行测评控制的分析模块,对测试结果作出整合的模块,对总线的仿真和控制模块,以及实时调度任务模块。较为优秀的仿真工具可以对现实中的实际运行情况作出完美的模拟,并获得较为客观真实的数据。仿真测试技术可以对差异性较大的不同类型的数据进行模拟,还可以对具有特定设置需求的数据进行仿真设计,仿真数据的现实多样性使得仿真结果较为真实可靠,另外仿真数据具有实时性,且需要采取合适的控制技术保证仿真数据在模拟运行过程中的稳定性,从而避免运行时出现故障错误影响仿真结果。
(三)目标机的测试技术
目标机的测试技术主要有针对内存的分析技术,特定的故障注入技术和最终的整体性能分析技术。故障注入测试技术是指在对嵌入式软件进行功能测试之前,宿主机将数据传送到目标机,目标机使用已经安装的测试软件迅速获取软件的功能模块数据并进行处理。内存分析的过程是对系统内存资源在运行时的分配使用回收情况做出观察和分析,并对其进行相应的优化,提高软件运行时的流畅性和软件实际运行时的工作效率,节省软件数据处理的时间和节约价格较为昂贵且容量有限的内存资源。
具体来说,在故障注入检测过程中,通过对目标集中输入预先准备好的故障数据,针对特定模块进行测试,观察故障数据对软件运行时产生的影响,从而模拟现实中的实际运行故障情况,提前做好故障处理措施,提高软件在实际应用时处理故障的能力,保证软件的正确高效运行。故障注入一般对软件运行前的数据参数进行修改产生错误的数据类型或者在运行时对软件的功能作出错误的修改,所以对目标机的要求较高。软件的内存出现故障的频率相对较高且影响较大,对于内存分析技术,需要技术人员提高对存储系统的重视度,并对硬件的运行效果提出更好的优化策略。技术人员需要严格把控内存在软件数据处理时的分配情况和数据处理完成之后系统对内存空间的回收情况,保证内存的合理使用,有利于软件运行时卡顿次数的减少,软件的使用更加流畅。内存分析师可以结合软件分析和硬件分析的优势,根据实际测试需求选择合适的测试模式,降低測试成本节约测试时间并且提高测试数据的有效性。
以上步骤完成之后,需要对系统的整体性能进行分析,这是嵌入式软件测试中的最终环节,保证嵌入式软件整体系统在实际运行中具有高效性,降低系统实际运用时的出错率。评价系统的性能指标包括嵌入式软件数据处理的速度,运行时卡顿情况以及遇到的错误类型等等,用户感受到的使用体验是这些指标的客观反映。为了更深层次地对系统性能进行了解和优化,性能分析过程中对相关指标进行记录,及时发现嵌入式软件存在的不足并提出有针对性的解决方案,以此提高软件的数据处理效率,给用户更好的使用体验。
五、结束语
互联网技术的迅速发展,使得嵌入式软件的发展迎来了技术的高速更新时代,并已经广泛地应用于人们的生活和工作中,身边充满了嵌入式软件计算机电子产品,嵌入式计算使得传统的设备具有更灵活的智能化特点,为人们的提供便捷高效的使用体验。在这样的背景下,加强对嵌入式软件的测试技术研究,改进更新嵌入式软件测试技术的实用性,对于提高与嵌入式软件相关的计算机产品的使用效率,更新升级关键软件开发和测试技术,保证嵌入式计算机软件未来的发展质量有着至关重要的意义,
参考文献:
[1]林永峰,陈亮.面向安全性分析的嵌入式软件测试方法研究[J].现代电子技术,2016,39(13):80-83.
[2]陈效儒,何宇化.关键字驱动的嵌入式实时软件自动化测试框架研究[J].工业控制计算机,2018,27(2):46-47.
[3]雷何鑫,杨顺昆,刘斌.基于FMEA/FTA的嵌入式软件故障诊断模型与应用[J]. 计算机测量与控制,2019,54(1):42-45.
[4]金维佳.嵌入式系统接口转换计算机软件测试平台研制[J].数字技术与应用,2018,(9):158-159.