石宇辉
(南京工业大学 江苏省南京市 211816)
嵌入型计算机系统系统软件检测科技也和计算机技术有关。由于嵌入型计算机系统的构成主体包括控制系统、应用领域、移动通讯、数据库系统等。再加上良好的可靠性,因此嵌入型计算机系统也获得了众多应用领域的广泛认可。同时由于其使用范围的扩展,对软件系统品质和性能也提出了更高的要求。嵌入型计算机系统系统软件品质的检测首先取决于嵌入型计算机系统系统软件检测。所以,在当今人类普遍追求软件系统质量效益的社会今天,对应用软件系统检测科技的要求也在日益提高。在整个现代信息社会环境过程中,嵌入型的计算机系统系统软件中往往又需要同时有这样一种庞大的而又复杂的计算机软件系统来协助解决各种复杂系统的问题。所以,研究掌握嵌入式系统计算机软件测试方面的基本核心技术和核心关键软硬件技术问题是相当十分的必要的。
所以说嵌入式系统技术其实也是属于“专用”的嵌入式计算机技术,但同时由于这种嵌入式的计算机技术本身也是专为一个专门的应用领域而所发展产生起来的,如网络、工业、电视等。所以嵌入式计算机系统也是一个特殊的嵌入式操作系统。它以计算机科学为核心,体现了对应用领域操作系统的严苛需求,使设计功用变得更加多种多样,并为处理各种应用领域操作系统的特殊要求创造了机会。但鉴于嵌入式计算机操作系统的特点,其对专用功用的满足也具有极为严苛的技术条件。所以,在计算机软件、硬件等方面上,都需要通过对嵌入式技术加以特殊处理,来达到更有效的解决应用需求,以便于嵌入式计算机操作系统得以更加深入普及。
软体测试系统的设计主要目的之一就是用于捕捉、执行代码和分析代码运行中可能的某些重大错误。而经过了这次试验,将更加能够进一步明显的提高了软件系统使用的系统可靠性水平和运行稳定性,为今后设计和工作改进提供了实物参照样本和理论基础资料。同其他软件一样,由于内嵌软件系统有着很大的专有性,所以需要在专门的软硬件基础网络平台上实现。另外,由于目标电脑与主机之间在处理器结构和操作系统等方面也往往存在不同,这就决定了内嵌软件系统研发的复杂度。而我这里通常所说中的长主机器就主要还是指各种普通小型计算机系统,如小型工作站、微机等,而长目标机的实际主要功能用途则只能是用以严格来区分嵌入式操作系统中所说的长主机。而即使按照我们目前的教学实践的发展的状况,嵌入式的计算机软件与测试开发技能课程也早已成功应用到了汽车智能化、空空导弹、电子工业等领域。随着新一代信息技术及其应用技术范围领域的进一步不断深化扩大,其安全检测防范功能也必将被逐步扩大。
嵌入式计算机软件是一个带有高度自主操作能力的载体,能够完成嵌入式计算机系统所特有的功能。它由微处理器、控制器、传感器、定时器、内存管理等基本模块所构成。专有功能是嵌入式电脑与传统电脑最大区别的主要表现。它包括了监视、数据管理、移动运算、信息处理等功能类型,已成为电子产品智能化的关键。但通常,嵌入式计算机软件主要有二个类别,即单纯的嵌入式系统和复杂嵌入式系统。顾名思义,简易型功能较单一,以单片机为典型代表。反之,复杂计算机则拥有和一般计算机系统相同的各种功能。当然,它也不同于一般的计算机系统。嵌入式计算机系统增加了嵌入式操作系统和应用软件,使计算机功能更加完整。
嵌入式电脑应用软件往往有特定的功用与特性,因此要求多样化的环境。所以,嵌入式计算机系统一般链接着二种主体设备,即主机和目标机,它们是嵌入式计算机系统的主要应用平台和目标操作系统平台。而嵌入式计算机软件测试的工作原理则是首先用计算机系统对应用软件进行初始编译,接着再在目标计算机系统上下载已编译好的应用软件,进而进行数据传输,以指导软件操作。但在实际操作中,软件检测并没有如此容易。因为主机一般从事使用运行系统开发软件,而目标电脑一般从事向主机接收数据,所以检测必须在目标主机与操作电脑之间进行,这就提高了检测的难度。也因为目标主机对硬件和配置的需求明显小于目标电脑,这就降低了检测的成本,所以目前的研发人员正在进一步探讨,期望实现未来检测也可以在主机上进行,让测试过程变得更加经济简单。
在嵌入式软件系统研发与测试过程中,随着应用软件达到了对计算机系统软硬件功能的相互依赖性,内嵌网络操作系统、底层驱动程序与应用中间的界限已相对不清晰。只要正确模仿了被测应用软件的现实工作环境,方可进行应用程序测试、错误检查及故障测试等活动。但目前,在应用嵌入式软件完成不同的应用测试任务的过程中,主要面临着如下问题:
在计算机网络管理系统中,通过嵌入式软件系统对固定任务实现信息资源分发和计算运行。这样,如果执行程序添加到计算机中,就需要完全确定为软件功能提供服务的试验项目。但是,由于嵌入式软件计算复杂性高、继承性较差,在应用软件任务过程中的试验项目持续时间长,资料耗费量大,严重影响了对应用软件的分析与试验。
开发的嵌入式软件大小通常小于数百MB,但必须包围着使用驱动程式和检测程式,对检测软件系统的速度反馈、异步电动并发管理和容错管理等展开全面的分析与检测,因为软件测试项目过多,所以很容易产生嵌入式软件崩溃或出错的问题。
计算机软件测试中的数据信号传递,包括与多个专用设备的连接,在嵌入式硬件或辅助设施的应用软件设备还没有全部到位前,被测应用的软件系统就很难进入测试用例并截获输出数据,因此目标应用的测量结果也就没有可靠性。
20 世纪90 年代开始,中国引进了嵌入式软件检测理论与测试方法,对软件检测工具的自动测试方法也予以了更多的重视与深入研究。目前,中国各大院校、网络科研院所和通信公司主要使用国外公司的嵌入式软件测试工具和软件测试技术,进行嵌入式语言的编译、自动测试和管理。北京航空航天研究院发展的GESTE 嵌入式软件,能够针对不同的计算机和网络软件使用场景,从服务器硬件驱动层、计算机操作系统下层、软件应用层等维度上,实现更为个性化的前端处理、任务识别,以及多任务运算。不过总的来说,中国国内嵌入式软件测试水平和国外比还是有一些差异。计算机嵌入式软件操作系统的具体实现,与计算机设备、I/O设置、输入/输出信息等内容有关。嵌入式软件在计算机软件测试中的应用,通常包含二个测试方法:黑盒测试和白箱试验。黑盒测试是一个根据需要的测试方法,包含语言静态解析、代码分支点覆盖以及数据流测试。白盒试验是一个基于结构的试验。为提高计算机代码的覆盖率,有必要对各种主机平台应用软件进行检测,并进行对嵌入式软件的响应时限、访问速度以及对移动增值业务的合理限制。但是,由于各种应用软件规模和复杂性的日益增加,应用软件质量问题也在逐渐增多,所以,只有进一步改善嵌入式软件的检测品质,才能适应各种计算机软件测试与认证的需求。
4.1.1 静态测试
简而言之,静态测试技术是指一种用于自动的检测和自动捕获错误信息的测试软件,逻辑程序严密,编制标准也严格,它首先是要针对传统软件手工检测结果的各种缺点问题而自动产生出来的。静态测试技术采用的自动测试技术方法首先是要为各种嵌入式的计算机软件系统分析各种数据,整合各种数据的分析计算结果,并据此自动生成跟踪的其程序源代码,最后,根据其源代码来绘制嵌入式系统软件中的程序逻辑图式和建立相应程序的程序结构,静态测试技术测量的数据精度大大高于一般手动软件测试技术,其中另一个主要原因也是因它还具有图形的转换编辑功能,可以用来转换已绘制完成的二维框架图型和流程图。此外,高效测试也是静态测试新技术独有的一项特点,因为这种静态测试的技术基础是一种基于大数据理论的,它几乎可以达到在几乎不重复逐个测试所有运行机器信息的情况前提下精确判断运行系统之间的时间误差,大大的缩短了系统检测的时间,实现出了一个高效率系统的检测。以上这些足以进一步证明,静态测试新技术的迅速出现极大优化改善了传统软件静态测试方法的设计方式,满足了企业当前静态软件设计测试方面的一系列不同功能需求。
4.1.2 动态测试
嵌入式测试计算机软件稳定的连续运行能力是能够实现动态嵌入式测试系统技术实现的关键必要条件,也是实现动态嵌入式测试系统技术实现与传统静态嵌入式测试系统软件技术实现的关键区别条件之一。动态跟踪测试技术它的核心功能原理即是通过将系统实际可开发运行目标数据与用户预期的开发性能目标数据进行静态比较,检测到两者结果之间潜在的技术差距,分析找出两者结论之间隐藏的测试内容差异,从而进一步确定所测试目标对象项目的测试质量控制和最佳运行控制效果,为用户提高产品其整体性能价格比提供决策参考及依据。动态测试新技术的大规模成功落地实施通常需要单元性能测试、集成测试、系统性能测试、验收性能测试等多种测试模式的技术支持,这些技术测试之间紧密的相连,呈现出着层层交叉联动、层层递进发展的良好趋势。在实际的检测与动态性能测试等技术过程中,我们可以主要去关注测试软件代码,通过动态性能测试基本性能测试,以大致了解一下其测试执行强度。动态测试分析技术还具有多种测试功能,不仅只可以动态检测出软件缺陷,还同时可以自动分析出软件的设置。此外,动态测试数据分析技术同时还可以动态帮助进行软件功能开发,测试出软件功能内容,显示出具体系统的硬件内存配置,最终试验证明了它还可以在短期内极大方便地来促进整个嵌入式微型计算机软件系统结构的快速优化。
4.2.1 数据获取
嵌入式计算机软件模拟器测试软件通常至少需要有两个最重要的因素:源代码和数据,模拟器的测试开发技术通常也不应例外。源代码都是开发人员在整个软件测试设计工作过程中直接生成来的,很容易地获得。获取虚拟的I/O 数据源代码通常也比直接获取实际I/O 数据要更显困难。此外,模拟测试技术其实也是用来帮助计算机获取关键数据信息的又一种新方式,它本身的数据合理地使用就可以首先保证关键数据信息内容的真实完整性,然后才能将该数据信息正确保存起来并用各种测试转换工具去进行数据转换,从而真正为关键数据信息真正的有效输入和打开数据通道,保证关键数据信息有效的正确地输入。输入正确数据内容后,即可正常进行测试。最终在测试任务完成结束后,缓存上的所有数据信息便可以及时保存传输到其它计算机系统环境中以提供使用者后续操作参考,但更值得注意一点的事情是,信息数据存储通常需要占据大量系统内存,因此在开展模拟检测技术测试活动之前,设备中必须确保具有一个足够充裕的信息缓存空间容量,以能够使技术软件和测试验证工作更加顺利有效进行。
4.2.2 仿真测试
嵌入式计算机软件测试仿真软件是一个以计算机局域网技术为设计背景,将嵌入式计算机仿真测试设备中所有的仿真数据信息集中起来,然后对数据进行管理和处理的一种数据处理系统。目前,仿真测试评估技术一般分为仿真分析技术方法和仿真检测评估方法控制方法技术等两大类。模拟测试的技术上也有它其所独特具备的许多特点,如数据的模拟,只有建立在一个特定的模拟技术条件下才能成功实现。仿真测试技术可以通过对两个不同层次的测试对象之间进行的数据交互仿真。由于测试不同时对象本身的物理性质有不同,可以通过将测试数据模拟分为好多种的类型,以来确保模拟测试中能够同时得到更加真实而可靠稳定的数据结果,仿真测试中数据可能是比较实时传输的,但其实现传输的首要前提仍然是测试信号本身在被检测的过程中都必须实时稳定进行传输。
内存分配错误将是导致嵌入式系统计算机软件高频故障的两个主要原因之一。一旦软件出现内存分配错误,下一个分发程序将终止,因此无法完全保证所分配数据信息的完整性和有效性。为了全面解决上述三个问题,记忆分析和测试技术无疑起着关键作用。内存分析与测试技术也是检测软件内存正确分配错误的重要关键测试技术。由于大多数嵌入式计算机系统占用的内存较少,内存分析等技术更有利于计算机快速发现因系统内存分配结构不足而导致的性能问题,而使用内存分析技术可以根据具体情况随时解决实际问题,这将大大降低嵌入式计算机软件中的硬件故障频率。内存分析的方法一般要分为软件性能分析法和硬件效能分析,其中,硬件故障分析方法是其中一种较常用的硬件内存异常检测诊断方法,但同时这种新方法在实践中也普遍存在着研究耗时比较长、成本要求高等诸多缺点,此外,在计算机某些工作环境设置中,分析检测工具有时无法正确发挥正常作用,这都可能会因此导致计算机代码错误或造成内存异常操作导致阻塞内存等重大问题。因此,在记忆分析的过程中,选择合适的方法,以满足不同测试的需要,提高测试的准确性是非常重要的。
性能分析检测技术一直是当前嵌入式系统计算机软件测试技术关键检测技术环节中一种不可或缺的软件测试技术,其测试主要目的测试的对象仍然是整个系统性能,嵌入式计算机系统软件整体的稳定优良工作性能始终是能够实现嵌入式系统长期正常有效运行功能的最决定性因素。软件用户通常可以很直接的感受到嵌入式计算机系统软件本身的工作性能,因此有时我们或许可以直接对其硬件质量性能做出一个肤浅的性能判断,但应该如何来深入去理解和全面分析整个嵌入式的计算机系统软件本身的质量性能,此时性能分析的技术便可以全面发挥重要作用。性能跟踪分析检测技术同时也就可以用来进一步地帮助嵌入式系统软件可靠性维护测试工作过程中的各项正常运行顺利保持和高效开展,为其对以后对系统软件系统的各项性能和维护可靠性测试研究工作能够继续推进提供一些重要信息支持,因为以后用了它就也就是可以能够真正的深入和参与投入到开发嵌入式软件系统过程工作中,对嵌入式系统软件系统面临的系统各项系统资源的投入成本和各项系统时间成本等消耗性问题及时进行全系统和具体地跟踪检测分析,发现主要原因问题并给予快速解决该安全问题,从而将进一步地实现嵌入式软件系统性能基础上进一步的安全与高效扩展与功能提升,保持了嵌入式计算机系统软件可靠性方面的高质量。
嵌入式微型计算机软件测试完全依赖起于软件主机和软件测试目标之间的两个共同的作用,主机负责发送测试的数据信息,目标系统主要则负责接收这些数据信息,然而,为了最终达到软件测试要求的高度准确性,计算机软件的运行测试期间的各项设置也需要通过借助手动来设置,以便程序能够真正按照自己设置好的工作时间范围和测试模式运行。然而,故障自动注入系统技术仍有一些其应用特殊性,有时我们需要人工将一个嵌入式的计算机软件上的包含某些特殊功能模块的系统故障自动注入一个目标机,这将对注入目标机所用的计算机组件质量可靠性和工作性能要求会非常地高,这样很容易观察目标机的运行并记录目标机的实际故障,但以这种方式观察和分析目标计算机的操作也很方便。
本文内容首先就简要系统地介绍到了嵌入式的计算机软件测试,然后系统分析探讨了嵌入式主机测试和嵌入式目标机软件测试应用的各种关键检测技术。总之,在实际嵌入式的计算机软件测试系统中,只有注意将各种动态的测试分析技术方法与计算机静态的测试处理技术方法相结合,保证计算机测试系统环境设计的动态严格性,才能最终保证了测试处理数据获取的高准确性。必要时,还应需要计算机仿真及测试相关技术力量的直接支持帮助和间接协助,实现了对各种计算机软件错误的快速全面分析检测,以便可在系统第一时间地发现各计算机软件程序中常见的常见错误代码,及时的采取各种相应形式的错误保护和措施,最大限度的地有效提高各类计算机软件应用开发环境的使用质量。
嵌入式计算机与人们的日常生产生活息息相关,是不可替代的。其功能的充分发挥为人们提供了极大的便利,特别是在飞机飞行控制器和日常家用电器中,嵌入式计算机软件被引用。随着信息技术的飞速发展,嵌入式技术变得越来越复杂。我们必须在使用过程中进一步更新和完善嵌入式技术,确保嵌入式技术的长期稳定发展,同时,应进行软件测试,以提高计算机软件的可靠性和坚固性。