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

来源:期刊VIP网所属分类:软件开发发布时间:2019-08-22浏览:

  摘 要:目前,嵌入式软件在军用和民用领域的应用越来越广泛,其自动化测试技术的作用也越来越重要。推进嵌入式软件自动化测试技术的发展,对推动军用和民用领域嵌入式软件发展进步,有着非常重要的作用。所以,必须要加强对嵌入式软件自动化测试技术的研究,为我国军用和民用领域嵌入式软件质量的提升提供重要的推动力量。

  关键词:嵌入式软件;自动化测试技术;应用

软件工程师论文

  1 嵌入式软件自动化测试系统简析

  嵌入式软件自动化测试系统的应用原理是运用相应的测试脚本,通过自动运行嵌入式软件,控制其运行时的输入,同时对数据进行收集和分析并最终形成相关测试报告,得出科学准确的测试结果。嵌入式软件自动化测试系统一般会采用分布式架构组成,这种结构便于对系统进行扩展和升级。该系统结构主要包括两部分,即测试开发管理主机和目标仿真机。

  2 嵌入式软件的自动化测试过程研究

  要实现嵌入式软件自动化测试,主要分析以下几点因素特征。

  2.1 测试驱动分析

  为了提升测试结果的真实性,需要测试人员在测试前进行区域规划,尽量的拓展测试区域。由于在嵌入式软件测试过程中,测试人员会采取不同的数据和运行方式实现交互式程序运作。当完成脚本录制后,所有脚本录制数据都包含了测试全过程数据。如果后期会出现程序变化,以上测试数据都会影响变化后程序的正常使用。这种分离处理方式实现了测试自动化驱动,也简化了原有测试逻辑语言。

  2.2 对于生成数据的测试

  就嵌入式软件测试特点而言,运行环境较为特殊,需要软件在一个海量数据库中进行测试,而由于传统的人工测试效率低,质量差,因此需要借助自动化测试驱动。在进行自动化处理后,这些数据能够实现多种类型和方式的输入,生成有效的测试数据。且该方式能够促进和保证嵌入式软件测试运行质量。

  3 嵌入式软件自动化测试

  3.1 自动化测试运行环境

  为了提升嵌入式软件自动化测试技术,建议从自动化工具运行环境优化入手。首先,让嵌入式软件运行解除特殊硬件设备的绑定。分析嵌入式软件的运行环境,完善所有程序覆盖率信息统计,实现对被测目标文件的有效性分析。此时,若分析到位,就可以直接利用覆盖率信息数据,实现嵌入式软件自动化、监控管理运行。

  3.2 自动化测试流程

  嵌入式自动化测试能降低测试成本,提高产品运行质量,因此该技术具有较好的发展前景。由于测试阶段不同,传统的嵌入式软件自动化测试可分为“需求测试”“设计测试”“单元测试”“集成测试”“确认测试”“系统测试”几个方面。

  针对单元测试而言,其代表着软件基本组成单元的运行测试,能够测试各个单元组成是否符合性能需求和可行性需求,因此单元测试也被称为模块测试。该阶段测试的目的是最大限度地检测程序错误。

  集成测试也被称为结合测试,其测试的对象是由若干个单元组成融合的子系统。在实现单元测试后,其能够保证系统的正常运行。而测试中常见问题有接口数据丢失、系统数据出错等。确认测试的目的是检验软件可运行性。因此也常被称为“可行性测试”。该阶段是检测软件性能是否符合客户需求的重要阶段。系统测试是在基于集成测试和确认测试后,对软件各个系统接口进行的统一测试,其目的是检测系统和其他设备之间的兼容性和系统建设目标一致性。

  3.3 嵌入式软件测试技术比较

  嵌入式软件测试技术主要有以下三个方面,一是对目标环境下被测软件的测试,测试人员利用手工测试方式,对真实目标环境下运行的被测软件进行测试,但是这种方式并不自动化,且耗时耗力。二是非侵入式自动化测试,其通过交叉测试方式,实现对所有内存文件和程序的测试,能够克服环境和程序内存影响。三是對宿主环境下被测软件的测试,这种方式通过建立模拟数字化环境,对软件进行运行测试,这种方式在运行时会受到外界环境干扰,且其测试结果并不能真实反应后期运行效果,因此该种测试也仅仅是作为数据参考和模拟分析,适合软件开发人员使用。

  4 嵌入式软件自动化测试运行策略

  与传统的测试方式不同,嵌入式软件的专业性较强,且在运行过程中都需要进行大量测试。而最为常见且实用的自动化测试策略如下:

  4.1 使用静态测试

  静态测试即为不通过程序各个接口处理和结构对接方式来测试软件可行性。通过静态测试,一般能够发现软件程序参数匹配、嵌套等问题。借助静态测试结果,能够为测试人员进一步分析案例和明确测试提供依据。常见的静态测试的流程类型主要有代码检查、静态分析等。通过控制流程图等方式,能够为测试人员提供更为直观的测试信息。

  4.2 数字仿真测试分析

  数值仿真测试分析是一种实时自动化的测试方式,通过模拟软件信号传输的方式来实现测试,不需要借助其他硬件系统。就其运行效果而言,仿真测试环境下的嵌入式软件测试实现了通用性测试推进。在嵌入式测试初期,激励信号的注入和运行监控存在较大问题,而仿真测试能够虚拟CPU 运行环境,对系统中可运行程序进行代码检查和模拟运行、生产报告等功能,有效解决了传统嵌入式软件测试运行方面的难题。

  4.3 Host-target 测试策略

  实际上,数值仿真环境中也会出现很多问题,例如测试软件会引起时间问题。传统的解决方式是建立更多的目标平台,和以往主机平台对比,存在着运行目标不紧密等问题。通过Host-target测试策略,能够提升测试效率,提升程序精确度。主要处理流程为:首先,借助辅助插件实现静态测试,并为动态测试编写程序代码;其次,借助程序代码的运行状况,在主机平台上进行功能测试,纠正错误代码;次而,在插件影响下进行覆盖测试,并加强覆盖率。最后,重复性测试,以保证软件运行合理性。

  5 结束语

  作为一项传统的信息技术,嵌入式软件测试在运行早期是采取手工操作方式的,其运行费时费力,测试结果也会受到人为因素影响。自动化技术的引入,优化了嵌入式软件测试效能,能够降低人力成本,提高经济效益和测试质量。因此嵌入式软件自动化测试技术有着较好的发展空间。

  参考文献

  [1]陈佐,张怀相,方景龙.嵌入式软件自动化测试技术[J].计算机工程与设计,2018,39(10):3125-3131.

  [2]陈佐.基于分布式架构的嵌入式软件自动化测试平台研究与实现[D].杭州电子科技大学,2018.

  [3]郭延霞,陈晓轩,郑重虎.基于嵌入式安全平台的软件自动化测试方法研究与实现[J].铁道通信信号,2018,54(01):66-68.

  推荐阅读:《软件和集成电路》(月刊)创刊于1984年,邮发代码:82-469。由中国电子信息产业发展研究院、北京中电报发展有限公司主办的计算机科学技术刊物。

期刊VIP网,您身边的高端学术顾问

文章名称: 嵌入式软件自动化测试技术分析

文章地址: http://www.qikanvip.com/ruanjiankaifa/48380.html