邢布雨 韦勇宇 梁美美 翟晓峰 李经纬
摘 要:随着经济和科技的发展,计算机相关行业也逐渐兴起。嵌入式计算机是现今比较热的一种计算机技术。其应用范围也越来越广阔,在嵌入式计算机的使用过程中能很好的实现用户的需求。但是,相对一般的计算机,嵌入式计算机的结构是比较复杂,就需要我们使用一定的方法对它进行测试。
关键词:嵌入式计算机;软件测试;关键技术;研究
引言
近年来嵌入式计算技术不断进行改革和创新,在社会生活的各个领域都有了广泛的应用,行业内对软件质量和性能的重视程度也不断加深,以满足目前日益增长的软件测试需求。嵌入式计算机软件测试工作中最主要重点的内容就是检测软件质量。嵌入式计算机软件技术的应用范围不断扩大,并且系统的发展也越来越复杂,必须加强对计算机软件测试关键技术的探讨。
1 嵌入式软件测试的基本概述
1.1 嵌入式计算机软件测试的含义
嵌入式计算机软件测试通常情况下是指,通过嵌入式计算机把宿主计算机和目标计算机进行连接。宿主计算机是指通用的平台,目标机则是指给嵌入式系统提供运行平台的作用,保证系统可以平稳运行。通过利用计算机进行软件编译处理,运用目标机把编译好的软件进行下载,发挥数据传输和程序运行的基本作用。
1.2 嵌入式计算机软件测试的特征
嵌入式计算机软件测试注重实时保证数据资料的完整,这就导致其中的内存空间较小,并且会需要比较贵的开发工具以及中央处理器,这些都导致嵌入式计算机软件测试和普通软件测试不同。随着科学技术水平的提升,嵌入式计算机软件系统已经在社会中有了很大程度上的应用,并且范围也越来越大。由于嵌入式计算机软件系统越来越复杂,相关的测试工作开展也遇到不同成都的困难。嵌入式计算机软件测试会消耗大量的经费和时间,在进行宿主机测试的过程中,受到时间和经费的限制较小,目前主要的研究方向是如何把测试转变到宿主机中进行。
1.3嵌入式软件
顾名思义,嵌入式软件就是安装在嵌入式计算机上的一种应用软件,可以对软件的功能进行独立操作。嵌入式计算机软件主要包括嵌入式微处理器、控制器、传感器、储存器及定时器。嵌入式计算机软件与其他计算机软件相比更具专业性。另外,嵌入式计算机软件只能运行于特定平台或者系统,因为开发嵌入式计算机软件的环境与运行环境有一定的差异,所以不能在同一网络环境中使用。但安装了嵌入式计算机软件的计算机可以实现很多常规计算机所不能实现的功能,例如实时监控、实时管理设备以及实时处理数据等功能,真正实现了现代自动化的电子处理功能,可以说嵌入式计算机软件是实现自动化和智能化的一个重要途径,而且也是自动化技术的核心。
2 嵌入式计算机软件测试的主要技术
2.1宿主机测试技术
2.1.1静态测试技术
静态测试技术的测试对象是整个嵌入式计算机软件系统,通过连接各类数据,能够对源码进行追踪,从而确定出其程序编程、以源码为依据而绘制出来的相关程序逻辑图,以及嵌入式计算机系统软件的相应程序结构。此外,利用静态测试技术,还可实现各种图形之间的转换,包括框架图、逻辑图和流程图等。传统的嵌入式计算机软件测试,是通过人工的方式来进行的,测试人员在对软件检测时,不仅要检测程序的设计流程,还需要检测数据的算法是否正确,然后再对程序进行虚拟运行,以确定出软件出错的地方。随着嵌入式计算机软件的普及,以及其开发的越来越复杂,其开发工作不再是一名工程师就能完成的,而是需要许多工程师的共同协作才能完成。并且,软件程序的原始数据也不是储存于同一台计算机中的,是以分散的形式储存在多台计算机中,所以不可能再依靠人工的方式来完成对嵌入式计算机软件的测试。静态软件测试技术在对软件进行测试时,不需要对每台计算机都进行检测,只要获取系统中的数据,就能判断出软件出错的地方,这种测试技术不仅很方便,还能节约测试时间。
2.1.2动态测试技术
动态测试技术的测试对象是软件代码,主要检测软件代码的执行能力是否能达到设计要求。在对其进行检测时,还需要确定出其覆盖率,从而对软件的功能进行测试。通过动态测试技术,能找出软件中的缺陷,从而针对性的对系统进行改正,促进嵌入式计算机软件系统的发展。同时,利用动态测试技术,还可对软件的设置情况进行检测,针对其中已经完成开发的数据,还能检测出其完整性,从而为软件的开发提供相应的依据。同时,通过动态检测技术可对软件中的所有函数进行分析,并根据内存的分配情况,将每种元素的分配情况显示出来。
内存分配实用信息、全面分析代码的覆盖率以及代码的动态执行能力组成了动态测试技术的重点。代码的覆盖率是在测试代码执行过程中的执行结果,在提升软件测试的有效性时可以试着从提升对代码覆盖率的监控能力的角度出发,这也有助于科研人员掌控软件测试的完成度并为科研人员的监控过程提供可靠的数据支持。
2.2仿真机测试技术
2.2.1数据获取技术
在对仿真机的数据进行检测时,往往需要依靠大量的数据信息来进行,而在对嵌入式计算机软件进行检测前,应准备好软件设计过程中产生的源代码。利用仿真测试技术,能够获取更加完整的数据信息,在对数据进行缓存处理后,可将测试工具充分的利用起来,对其进行更改,从而确保数据能够被正常的输入。
2.2.2仿真测试技术
在利用仿真测试技术对嵌入式计算机软件进行测试时,要将各类数据信息收集起来,并对其进行集中处理。并且,此技术需要在其他技术的支撑下才能顺利进行,从而完成对数据的仿真模拟。在模拟过程中,能够掌握软件是怎样使用的,再根据软件性质的不同,将其进行分类,从而确保测试结果的准确性。此外,在测试过程中,要确保传输信号的稳定性,这样才能提高不同数据信息的实时性。
2.3对目标机进行测试
2.3.1故障注入
在嵌入式计算机软件处于运行状态时,仍然可对其进行设置,但需要依靠人工的方式来完成设置。同时,要完成这类设置,还要求目标机中的各类部件功能要有所保障,其运行能按照所设置的时间和方式来进行。在利用故障注入技术对目标机进行测试时,可只测试目标机其中的一部分,从而针对性的检测目标机中的某项性能,如边界测试、强度性测试等都会用到故障注入技术。通过这样的测试,能将嵌入式计算机软件的运行状态更加明显的表现出来。
2.3.2内存分析
嵌入式计算机在运行的过程中会产生大量的数据,所以对系统内存的分析是非常重要的。使用内存分析技术可以很好的保证系统的正常运行。在运行的过程中能够高效的找出内存问题,对内存进行合理的划分。
2.3.3性能分析
计算机在运行的过程中对程序性能的要求是非常重要的,所以在运行过程中我们需要我们采用程序性能分析技术对系统数据进行分析和决断,节省系统的运行时间,加快运行速度。对程序性能分析技术的采用,能够清晰的显示系统每一模块运行的时间,对时间近进行排序,利于工作人员对程序的分析。
结束语
综上所述,随着计算机技术的不断发展,嵌入式计算機软件的应用范围在不断的扩大。因此,为确保嵌入式计算机软件在运行过程中的稳定性,就需要对其进行测试。不仅要对宿主机进行测试,还需要对目标机和仿真机进行测试,只有对整个嵌入式计算机系统进行全面的测试,才能进一步提高嵌入式计算机系统的质量。
参考文献
[1]邓平,陈晶晶.嵌入式计算机软件测试关键技术[J].电子技术与软件工程.2017(11)
[2]余学文.嵌入式计算机软件测试关键技术探讨[J].电子技术与软件工程.2018(08)