您好, 访客   登录/注册

嵌入式软件自动化测试技术分析

来源:用户上传      作者:

  摘要:随着我国嵌入式技术不断发展进步。嵌入式自动化研究的机械工具设计也已经成为当代计算机行业的重点。本文针对自动化技术和嵌入式软件测试的交互使用,分析其运行环境和技术特点,以期为相关企业提供借鉴参考。
  关键词:嵌入式;自动化测试技术;分析
  中图分类号:TP31 文献识别码:A 文章编号:1001-828X(2019)012-0372-02
  作为一项传统的信息技术,嵌入式软件测试在运行早期是采取手工操作方式的,其运行费时费力,测试结果也会受到人为因素影响。自动化技术的引入,优化了嵌入式软件测试效能,能够降低人力成本,提高经济效益和检测质量。因此嵌入式软件自动化测试技术有着较好的发展空间,本文针对其测试应用进行以下分析。
  一、嵌入式软件测试含义
  1.软件测试
  软件测试是一种借助人力来提升软件的质量和准确性的测试方式。目前,该项技术面临着第三方测试应用环境不兼容、测试工具落后、测试系统通用性差等特点。
  2.嵌入式软件测试
  就嵌入式软件测试而言,由于“嵌入式”软件的内部内存小、建设成本高、具有实时性、低兼容性等特点。因此该软件检测的方式和传统方式存在较大差异。和传统软件对比,嵌入式软件专业性强。由于其内部软件特征,导致无法在传统的目标机上完成所有测试。在测试的时候需要耗费大量的人力物力,且测试反复性较强,也会缩短设备使用寿命。其次,嵌入式软件在运行中若发生问题,会威胁整个程序系统,严重时会威胁到人身安全。
  3.自动化测试
  为了降低软件测试耗费的人力、物力、时间资源。为软件开发提供更多测试机会。自动化测试能够弥补嵌入式软件测试需要的高质量测试环境、无遗漏测试效能,有着极高的软件开发意义。推行嵌入式自动化测试,能够改进软件系统优化测试和创新,以让其符合各项测试需求,能够降低产品运行风险,提高软件企业的经济效益和质量。
  二、嵌入式自动化测试运行环境
  随着自动化技术不断发展,原有的嵌入式技术在测试环境和方式上都有着较大改革。就其测试质量而言,能够减缓长周期和人工投入影响,在软件测试方面发挥着不可替代的作用。同时,为了保证运行质量,其在自動化处理时候也需要依赖稳定运行环境。
  就自动化工具运行环境而言,测试工具能够优化产品能效性。为了发挥工具作用,就需要测试人员了解其软件工具的特殊之处。对比传统软件测试,嵌入式软件运行环境需要特殊硬件设备配置。以传统的嵌入式单元测试为例,该环节在运行测试中会对所有覆盖区域的信息进行综合统计。要想保证运行测试有效性,就需要在机械设备中安装监控程序。通过采取这种方式,能够优化程序有效性分析,实现对目标文件的全面整合。事实上,当完成整个文件分析过程后,就可以实现覆盖信息全方位统计。而这个环境下,嵌入式软件实现了监控和运用两个过程。就其运行发展而言,这种运行模式通常出现在硬件平台和宿主机的不同部位,且其在运行环境之中也会存在很多差异性。也就是这个特点,实现了嵌入式软件的良I生测试。
  三、嵌入式软件的自动化测试过程研究
  要实现嵌入式软件自动化测试,主要分析以下几点因素特征。
  1.测试驱动分析
  为了提升测试结果的真实性,需要测试人员在测试前进行区域规划,尽量的拓展测试区域。由于在嵌入式软件测试过程中,测试人员会采取不同的数据和运行方式在实现交互式程序运作。当完成脚本录制后,所有脚本录制数据都包含了测试全过程数据。如果后期会出现程序变化,以上测试数据都会影响变化后程序的正常使用。这种分离处理方式实现了测试自动化驱动。也简化了原有测试逻辑语言。
  2.对于生成数据的测试
  就嵌入式软件测试特点而言,运行环境较为特殊,需要软件在一个海量数据库中进行测试,而由于传统的人工测试效率低,质量差。因此需要借助自动化测试驱动。在进行自动化处理后,这些数据能够实现多种类型能够和方式的输入,生成有效的测试数据。且该方式能够促进和保证嵌入式软件测试运行质量。
  四、嵌入式自动化测试
  1.自动化测试运行环境
  为了提升嵌入式自动化测试技术,建议从自动化工具运行环境进行优化。首先,让嵌入式软件运行解除特殊硬件设备的绑定。分析嵌入式软件的运行环境,完善所有程序覆盖率信息统计,实现对被测目标文件的有效性分析。此时,若分析结束,就可以直接利用覆盖率信息数据,实现了嵌入式软件自动化、监控管理运行。
  2.自动化测试流程
  嵌入式自动化测试能降低测试成本,提高产品运行质量,因此该技术具有较好的发展前景。由于测试阶段不同,传统的嵌入式软件自动化测试可分为“需求测试”、“设计测试”、“单元测试”、“集成测试”、“确认测试”、“系统测试”几个方面。
  针对单元测试而言,其代表着软件基本组成单元的运行测试,能够测试各个单元组成是否符合性能需求和可行性需求,因此单元测试也被称之为模块测试。该阶段测试的目的是最大限度地检测程序错误。
  集成测试也被称为联合测试,其测试的对象是由若干个单元组成融合的子系统。在实现单元测试后,其能够保证系统的正常运行。而测试中常见问题有接口数据丢失、系统数据出错等。
  确认测试的目的是检验软件可运行性。因此也常被称之为“可行性测试”。该阶段是检测软件性能是否符合客户需求的重要阶段。
  系统测试是在基于集成测试和确认测试后,对软件各个系统接口进行的统一测试,其目的是检测系统和其他设备之间的兼容性和系统建设目标一致性。
  3.嵌入式自动化测试技术
  嵌入式软件测试技术体现在以下三个方面,一是对目标环境测试。测试人员利用手工测试方式,对真实的终端进行测试,但是此方式并不自动化,且耗时耗力。二是非侵入式自动化测试,其通过交叉测试方式,实现对所有内存文件和程序实施测试,能够克服环境和程序内存影响。三是宿主环境测试,这种方式通过建立模拟数字化环境,对软件进行运行测试,不过这项方式在运行时候会受到外界环境干扰,且其测试结果并不能真实反应后期运行效果,因此该项测试也仅仅是作为数据参考和模拟分析,适合软件开发人员使用。
  五、对于嵌入式自动化测试运行策略
  与传统的测试方式不同,嵌入式软件的专业性较强,且在运行过程中都需要进行大量测试。而最为常见且实用的自动化测试策略如下:
  1.使用静态测试
  静态测试即为不通过程序各个接口处理和结构对接方式来检验软件可行性。通过静态测试,一般能够发现软件程序参数匹配、嵌套等问题。借助静态测试结果,能够为测试人员进一步分析案例和明确测试提供依据。常见的静态测试的流程类型主要有代码检查、静态分析等。通过控制流程图等方式,能够为测试人员提供更为直观的测试信息。
  2.数字仿真测试分析
  数值仿真测试分析是一种实时自动化的测试方式,通过模拟软件信号传输的方式来实现测试,不需要借助其他硬件系统。就其运行效果而言,仿真测试环境下的嵌入式软件测试实现了通用性测试推进。在嵌入式测试初期,激励信号的注入和运行监控存在较大问题,而仿真测试能够虚拟CPU运行环境,对系统中可运行程序进行代码检查和模拟运行、生产报告等功能,有效解决了传统嵌入式测试运行难题。
  3.Host-tnrcjet测试策略
  实际上,数值仿真环境中也会出现很多问题,例如测试软件会引起时间问题。传统的解决方式是建立更多的目标平台,和以往主机平台对比,存在着运行目标不紧密等问题。通过host-target测试策略,能够提升测试效率,提升程序精确度。主要处理流程如下:首先,借助辅助插件实现静态测试,并为动态测试编写程序代码;其次,借助程序代码的运行状况,在主机平台上进行功能测试,纠正错误代码;次而,在插件影响下进行覆盖测试,并加强覆盖率。最后,重复性测试,以保证软件运行合理性。
  六、结语
  综上所述,对于与传统嵌入式软件测试,自动化手段能够缩短测试时间,降低测试人员操作使用压力,且能降低测试成本,提高产品运行质量,因此该技术具有较好的发展前景。不过,由于我国专业研究技术还存在缺陷,嵌入式自动化测试技术运行研究依旧存在很多问题。笔者根据其运行特点和技术进行了研究分析,并对优化软件测试提出了静态测试、host-target测试策略、数值仿真测试等技术,希望各够为相关企业提供参考借鉴。
转载注明来源:https://www.xzbu.com/3/view-14939395.htm