嵌入式软件自动化测试平台分析与设计

来源 :中国新通信 | 被引量 : 0次 | 上传用户:Nibel
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】    针对嵌入式软件测试对硬件依赖程度高,而所依托的硬件环境往往在软件故障模拟和故障记录方面困难的问题,研究了采用硬件平台全数字仿真模拟技术,并在嵌入式软件自动化仿真测试基本技术架构下,设计了基于硬件仿真的嵌入式软件自动化测试平台。
  【关键词】     嵌入式软件    自动化测试    测试平台
  引言:
  嵌入式软件由于其本身的复杂性,通用的人工手动测试都具有很大的挑战性,要实现自动化测试,则更是需要突破很多关键技术问题。由于嵌入式软件对硬件环境的依赖程度高,在测试时硬件环境在软件故障的模拟和测试数据的记录上,不灵活、不方便,实现困难。采用硬件环境的全数字仿真测试技术,通过在通用平台上模拟嵌入式软件运行开发的软硬件环境、构建嵌入式软件自动化测试平台,已成为嵌入式软件自动化测试的一个重要研究方向。
  一、软件自动化测试的技术架构
  软件自动化测试的基础技术主要有测试脚本自动执行技术、测试用例自动运行技术、数据驱动被测软件自动运行技术以及关键字驱动被测软件自动运行技术。这四种主要基础技术中,在嵌入式软件测试领域应用最多、效果最明显的是后两种。
  1.1软件自动化测试的技术基础
  这里对数据驱动被测软件自动运行技术和关键字驱动被测软件自动运行技术这两中自动化测试基础技术进行比较,可以看出这两种技术还是有很多区别的,比较结果见表1。
  表1表明,数据驱动被测件自动运行技术框架中,测试脚本对测试的描述级别为整个测试用例,测试脚本中包含有测试用例的业务信息。当被测软件的业务信息发生后,数据驱动被测软件运行技术架构下的所有相关测试脚本都需要重新编写,以与变化后软件的测试需求相呼应。关键字驱动被测软件自动运行技术将被测软件的界面组件统一映射成组件映射表,对界面中的各个组件进行操作时,不是直接操作各个组件,而是操作组件映射表中的逻辑组件名。这种技术特别适应用户界面经常会发生变化软件测试。
  1.2嵌入式软件组合自动化测试技术
  本文结合嵌入式软件测试的特点,基于对上述两种驱动被测软件自动运行的技术基础,设计一种组合型的嵌入式软件自动化测试技术架构,如图1所示。该架构能较好地适用于通用嵌入式软件系统的自动化测试。
  该技术架构主要由接口定义表、底层函数库、脚本驱动模块和数据驱动模块等组成。传送到目标机端的用例脚本由脚本驱动模块执行,测试用例执行过程中一般会涉及到对下一级操作脚本的调用,也就是说要调用下一层级的脚本,照此类推,直到调用的都是操作脚本,能够自动运行即可。当操作脚本运行时需要对被测嵌入式软件的接口进行调用时,可通过查询接口定义表,找到关于该接口属性与参数的描述,进而完成接口调用与执行,实现接口的自动测试;在测试执行脚本需要读取测试数据时,数据驱动模块就从数据文件中读取输入数据和期望的输出值,并通过执行操作脚本,将数据传递给被测软件,执行自动化测试。
  二、嵌入式软件自动化测试平台
  2.1嵌入式软件自动化测試平台总体设计
  根据国内嵌入式软件普遍采用的宿主机+目标机共同构建测试环境的测试技术路线,结合基于数据驱动和关键字驱动的嵌入式软件全数字仿真自动化技术,设计宿目一体的嵌入式软件通用自动化仿真测试平台的总结框架如图2所示。
  该平台主要采用嵌入式软件全数字仿真测试技术构建被测嵌入式软件的仿真运行环境,采用“宿目一体”(即,宿主机和目标机在同一个通用计算机环境中运行)的测试基本技术路线,构建基于全数字仿真的目标机运行环境,以便于执行基于数据驱动和基于关键字驱动的嵌入式软件自动化测试。
  图2    宿目一体的嵌入式软件自动化仿真测试平台总体架构
  从测试应用顶层上看,该平台核心功能的实现主要有两个测试辅助工具软件,即测试管理工具和测试代理软件。测试管理工具运行在宿主机中。测试代理软件运行在全数字仿真测试平台的目标机中。
  这两个工具软件实现该平台在一个物理机上构建宿主机/目标机测试环境的核心功能。解决了利用该平台实现宿主机/目标机测试过程中一个核心难点:目标机端的数据如何与宿主机端数据进行交互的问题。
  这种问题的解决途径一般为:开发一些嵌入式软件测试工具的虚拟接口功能,将实际物理通道中的数据与目标机的内存数据进行交互。若是在真实环境中,这种方式受制于目标机物理资源的限制。但是在采用全数字仿真目标机的架构中,由于目标机的物理硬件全部是仿真模拟的,受实际物理硬件资源的限制较小,该问题不再是影响测试的关键问题。但是如何提高效率、如何提高自动化程度,是在此平台上需要解决的关键问题。
  在同一个物理机上实现宿主机与全数字仿真目标机的信息交换的一个基础部件是数据通信组件。宿主机与全数字仿真的目标机实际上是在同一台物理机上,通过适当的技术手段,例如内存共享、文件共享等手段,实现宿主机与目标机之间的高效通信从原理上讲不再是关键问题。
  2.2宿目一体的嵌入式软件自动化仿真测试平台典型运行流程
  测试人员需要进行的是开机启动系统、执行编译命令、进行测试设计和分析测试报告;测试管理工具负责自动进行插桩、将目标码传送给目标机、配置目标机、解析用户测试脚本和对测试数据进行记录和对故障库的调取及生成测试报告;测试代理软件实现全数字目标机与宿主机之间信息转换工作,主要完成命令的解析、数据转换、测试用例执行、故障注入执行、测试手机收集等。在这个流程中,目标机实际上就是测试的一个执行环境。
  从测试执行的全过程看,宿目一体的嵌入式软件自动化仿真测试平台运行主要分为三个阶段:测试准备阶段、测试执行阶段和测试报告生成阶段。
  在测试准备阶段,测试平台需要完成源代码插桩、配置文件的解析与设置。源代码插桩主要为覆盖测试做准备。在该阶段,必须完成源代码的插桩、将源代码编译成目标码,然后再将目标码部署到测试目标机中,为目标码的运行做好测试前的准备。测试配置文件是由测试人员设计好的,提交给测试平台进行解析后,按配置的内容对测试平台的参数和环境进行设置,完成各种测试运行前的各种信息配置工作。
  在测试执行阶段,平台将已经通过编译的包含测试脚本的被测嵌入式软件目标码,发动给目标机,部署的在目标机的测试代理软件接收到目标码以后,将其存放在内存特定的区域内,等待执行指令。测试代理软件在控制测试脚本运行的同时,记录测试结果和测试的覆盖信息,暂时将这些信息存放在内存区域,按照测试人员配置的数据记录策略,在固定时间点,由目标机向宿主机发送测试结果和覆盖信息。
  测试执行完成以后,进入报告生成阶段,该阶段平台根据目标机和宿主传送的测试结果数据,汇总分析并生成最终的测试报告的状态。
  三、结束语
  在通用计算机环境中构建宿目一体的嵌入式软件自动化测试平台,对嵌入式软件进行开发调试与测试,是提高嵌入式软件开发效率的通用方法。本文重点研究了嵌入式软件全数字仿真测试策略,设计了嵌入式软件自动化测试框架,并设计了宿目一体的嵌入式软件自动化仿真测试平台。由于受到论文篇幅的限制,该平台架构中的数据通信与测试代理的设计内容,尚未展开。相关内容,笔者另有专门论文进行研究。
  参  考  文  献
  [1]陈琳,嵌入式软件自动化测试平台的研究与实现,《南京航空航天大学硕士论文》,2010.12
  [2]陈琳、张育平、倪红英、崔玉美,嵌入式软件自动化测试平台的研究与实现,《航空电子技术》,2011.03
  [3]彭珲、张晓娜、张翔、于鑫,DSP6x架构的嵌入式CPU模拟技术研究与实现,《中国新通信》,2021.07
  [4] Len Bass, Paul Clements, Rick Kazman. Software architecture inpractice[M] . MA: Addison-Wesley Professional, 1998
其他文献
【摘要】 随着国家海洋战略的推进和发展,海洋经济开发方式已逐步由传统的单向开发向现代综合利用发展型转变。由于现代海洋开发设备的智能化、海事业务领域对信息通信技术的需求日益迫切,传统的通信方式已适应不了发展的要求,本文阐述了5G 700MHz通信网络在海域通信覆盖方面的可行性及助力于智慧海洋建设,在海事管理、海上搜救、海洋生态等海上各类生产活动等相关领域的新业务和新应用,将有效助力提升海洋领域的智
【摘要】 在现代化建设进程不断加快的背景之下,我国科学技术水平得到了有效的提升,IDC作为现代化建设中的新型产物,其有效地为企业、新媒体、网站提供了高质量且专业化的托管服务,同时在利用IDC技术的过程当中,也进一步促进了宽带以及互联网技术的可持续化发展,从而为今后数据信息的共享奠定了良好的基础。本文首先对IDC技术进行细致的介绍,然后在此基础之上详细阐述了IDC技术机房建设技术以及如何科学地开展
【摘要】 随着多年数字化资源建设积累,许多数字化建设推进较早的政府机关和企业,均面临数字化资源分批建设导致的新老系统混用,数字资源多次扩容,机房物理位置不统一,基础资源分散等现状。导致资源管理复杂,无法统一管理调度等问题。本文提出了一种使用VXLAN+SDN技术的数字资源多维一体整合方案,充分利用既有网络设备实现数字资源的整合,使其能够更加高效稳定地支撑各项业务的发展,并改善用户接入体验,增强资
【摘要】 互联网医院的远程医疗使越来越多患者得到了医疗服务,同时也方便了医务专业技术人员。近年来,随着相关技术及基础设施的涌现,远程医疗服务已经逐渐成为趋势。自新冠肺炎爆发以来,人们不太愿意冒着新冠的风险亲自去看医生,所以远程医疗的优势也越发明显。本文主要關注了医生和患者之间远程问诊的用户体验。随着远程医疗服务需求的增加,远程问诊质量和效率显得至关重要。因此,本文设计一种智能自动回复机制,以帮助
【摘要】 在室内通信过程中,电话断开、语音质量下降、乒乓球效应等问题都与移动信号的室内覆盖有关。解决这一问题不仅可以大大减少内部信号的盲点现象,而且可以提高声音质量、网络质量和通信网络性能,并扩大覆盖范围。在此基础上,本文的主题是移动信号的内部覆盖问题。  【关键词】 电波 信号覆盖 移动通信 盲区  社会发展日新月异的同时,移动用户不仅日趋增长,移动需求也呈现出越来越多样的趋势。对于移
【摘要】 现如今,在互联网时代下,国际贸易形式也在发生转变,跨境电子商务作为互联网时代一种新形式的国际贸易方式,对推动全球经济发展以及各国之间的贸易往来有着重要作用。在跨境电子商务快速发展的过程中,还存在诸多问题需要进一步解决。本文基于互联网时代,首先对我国跨境电子商务发展机遇进行了分析,剖析了电子商务发展中所面临的问题,最后提出了几点解决对策,以期推动我国跨境电子商务实现更好发展。  【关键词
【摘要】 本文首先论述了针对空中交通管制智能化指挥开展研究探索的重要意义,并在此基础上,分析了当前时代背景下,空中交通管制智能化指挥所涉及到的重要技术,希望可以为相关单位以此从事相关领域工作的人员带来有价值的参考。  【关键词】 空中交通管制 智能化指挥 价值 关键技术  引言:  在当前时代背景下,世界范围内的空中指挥系统整体处在“半自动化”阶段。例如:管理自动化系统,并不是真正意义上
【摘要】 本文针对基于LoRa的机场应急疏散系统为基础,提出了LoRa低功耗需求,并根据相关LoRa低功耗技术研究成果,着重围绕组网优化技术进行了分析和探讨,在对LoRa技术与功耗、节点功耗特点、低功耗策略进行了必要介绍的基础上,进一步就LoRa节点入网和多跳时隙分配机制优化研究成果进行了介绍和分析,并结合某机场应急疏散管理系统的应用试验,对低功耗优化机制进行简要比较,为后续进一步深入研究LoR
【摘要】 目前,我国光纤宽带的发展水平处于世界领先位置,相比起其他国家而言,更加的快速、安全。但是,目前我国的千兆宽带仍然没有得到较为广泛的推广,如果想要对我国的信息通信网络进行全面提升,就必须对我国千兆宽带小区升级的事情进行充分考虑。本文首先对千兆宽带小区建设升级的意义进行了研究,然后对千兆宽带小区的演进思路进行了阐述,最后对依托千兆网络实现智能化家庭生活进行了简要阐述。  【关键词】 宽带
【摘要】 个人原生数字资源的长期保存对个人、社会、国家和民族都有非常重要的意义。目前有关个人原生数字资源长期保存的研究很少。为促进个人原生数字资源长期保存的研究,本文介绍了个人原生数字资源的概念、类别和特点,从众包的角度提出建设个人原生数字资源长期保存平台,并阐述了众包模式在个人数字资源建设平台中的应用方法,为个人原生数字资源长期保存提供参考。  【关键词】 众包模式 个人原生数字资源 数