嵌入式软件自动化测试系统研究

阅读: 评论:0

摘要:目前,在国内的嵌入式软件开发速度较快的情况下,嵌入式系统在自动化测试中的应用越来越广泛,对提高产品质量起到了积极的作用。但是,在各大企业对该软件的应用来看存在诸多不足。基于这种现状,本文就嵌入式软件自动化测试系统进行了研究分析,以供相关人员参考。
关键词:嵌入式软件;自动化;测试系统
Abstract: At present, with the rapid development of embedded software in China, the application of embedded systems in automated testing is becoming more and more extensive, which has played a positive role in improving product quality. However, there are many deficiencies in the application of the software in major enterprises. Based on this situation, this paper researches and analyzes the embedded software automated testing system for the reference of relevant personnel.
Key words: embedded software; automation; test system
引言:
嵌入式自动化测试系统在民用、军事等各方面都有着广泛的应用。加速嵌入式软件自动测试系统的研制,可以使民用和军事领域的软件更加稳定,在实际应用中有着重要的意义。该测试系统还可以模拟被测物体和工作环境,并能独立地完成被测物体的回路探测,保证被测物体的质量。
一、嵌入式软件自动测试的现状
嵌入式软件是嵌入到硬件系统中的一种软件。该系统具有无接口、小内存、小体积和难测试的特点。在测试中,由于其特殊性,与常规软件有很大差异,因此在进行测试时,常常要进行多次重复的测试,其复杂性要比接口软件高得多。通过嵌入式软件实现自动化检测,其意义在于节省成本、降低测试人员投入。由于嵌入式软件在测试阶段所需的硬件设备费用比较高,因此,使用自动测试,可以大大减少测试时间,从而可以节省硬件设备的费用,节省工程费用。同时,也能降低工作人员的数量,提高工作效率;其次,不断地使用自动化的测试软件,不断地改善测试用例的完整性,并不断完善测试策略,可以改善软件的性能。另外,该测试方式能减轻测试人员的工作负荷,并能充分利用测试资源,这样,
可以让测试者更加专注于提高测试质量,并能有效地提升测试工作的效率。最后,采用自动化的方法,可以大大减少回归检测的时间。
二、嵌入式软件自动化测试流程
在嵌入式软件测试中,通常包括单元、集成、确认以及系统测试。本阶段的单元测试主要目的是出所有的错误,目前有两个主要的单元测试流,一种是在开发人员完成所有的项目之后,进行统一的测试;第二种是对已开发出的各个模块进行测试,最终将其整合,与连续整合方式相似。由于能够更快地检测出问题,所以在企业和用户中引起了广泛的关注。
集成测试是将各个模块集成一个功能完备的子系统,系统的功能、可靠性、流程性、性能、单元之间的接口等是集成测试的关键。所以,集成测试是一个非常关键的环节。有很多工具可以用于集成测试,比如Swagger、Mock、Jmeter、Postman等,都可以进行性能测试。
确认测试是一个一个地匹配系统,并进行需求说明,从而达到客户的全部需求,包括商业和非商业需要。检验自动化的测试工具需要把文字描述转化为一个流程图,这样就可以使用诸如Test Manger之类的测试工具来进行标识测试。
系统测试是对系统进行最终检验,以保证各子系统的兼容性和功能与构建目标的高度一致性。在系统的测试中,该软件将会被提供给用户。
三、入式软件自动化测试框架
嵌入式软件的自动化测试系统是其测试的基础,而以非嵌入式系统的运行方式为基础的自动测试技术,在嵌入式系统的测试中并不切实可行。
首先,构建嵌入式软件自动化测试系统的关键在于了解其数据流和性能参数,也就是说,该软件应当对某些外在的激励或行为的反应做出什么样的反应;其次,通过软件界面文件对界面进行分析,抽取界面和响应数据,并对其进行分析,建立相应的工具库。嵌入式软件中的数据流是指由源、目的地址、输入数据、输出数据等组成的数据流,而行为参数是一种限制数据流的方法。根据使用者的需要,或者是隐藏的,通过判断各种输入和输出是否正确,确保软件能够达到功能的要求。一个数据流可以包括多个行为参数,一个动作参数可以包括多个数据流。
四、嵌入式软件自动化测试系统分析
(一)嵌入式软件自动化测试系统设计
该系统具有实时并行计算能力和分布式模拟试验能力。嵌入式软件自动测试系统可以独立于电脑,由嵌入式软件自动测试系统独立完成测试和模拟操作。为了使软件的测试功能得以实施,在进行主机开发和管理时,必须事先安装软件[1]。该测试系统的主要功能是测试用例、图像监控、测试任务等。测试的对象也要有总线卡之类的模块,这就要求模型可以实时计算,I/O端口可以进行通讯,在测试的时候,可以提供大量的I/O口测试脚本,保证可以对目标快速的测试和计算。Matlab是一个模拟模型,作用就是分析被测的系统的内外特性,然后构建一个模拟模型,不断地改进外部传感器和动态模型[2]。该系统不仅具有RT-LAB模拟软件的性能,也可以独立运行RT-LAB模拟软件,而且可以独立编写模拟接口,提高了测试的效率。测试与开发管理计算机,主要以 PC的操作系统为基础,可以根据实际的测试环境,设定相应的人机接口,对整个测试的过程进行实时的监测,并及时地将相关的数据记录下来。测试与开发管理计算机可以把一个复杂的系统划分为若干个子单元,通过该单元实现二进制程序的产生,并将其分配给相应的模拟计算机,从而实现对二进制程序的操作。在实时模拟计算机子系统中,模拟计算公式是实现对设备层和控制层的关键,不仅具有良好的动态性能,而且可以及时地管理被测软件的I/0口性能和模拟过程,
聚氨酯膜
保证其具有良好的逻辑性[3]。该系统在实际测试时,可以达到10μs的准确率,并且可以在测试时提供各种驱动,使模拟模型和系统之间建立起联系,使软件可以进行转换,保证相应的数据功能得以正常运行。操作人员要关注受控目标和动态系统的仿真,从而可以直接模拟外部传感器和执行器的工作性能。在该测试系统中,采用1394B总线传输协议将模拟计算机与两个实时测试机相连,并实现了模拟计算机的实时控制。
五、嵌入式软件自动化测试技术
(一)静态分析
随着软件广泛应用于各个行业,软件的规模越来越大,动不动就是几十万个亿的代码,传统的人工检测技术已经跟不上时代,所以在嵌入式软件的自动化测试中,可以充分发挥其优势。与其他软件类似,C++测试、Test Bed等静态分析工具能够在初始阶段对嵌入式软件进行静态分析,保证代码的实用性、准确性、规范性,同时还能有效地排除因长时间更新而导致的无效和多余的代码,减少了系统的复杂性[4]。对嵌入式软件进行静态分析,可以减少软件更新和维护的难度。但由于各种静态分析方法所得到的结果存在着差异,并且存在着错误,所以必须根据静态分析的结果与人工检查相结合。
(二))自动化测试脚本
生态砖>回转式空气预热器自动测试脚本技术是一种以代码为基础的白盒测试技术,主要目的是增加代码数量,增加重复使用的可能性,该技术是实现脚本自动化的一种重要方法。当前的检测技术主要有三大部分:第一,确保测试及其他资料库的独立性,并从资料库中抽取出满足不同试验要求的资料,例如,测试的参数、属性值和期望值,就可以判断测试的性能是否满足。通过对单一测验点的检测,将各种测试项合并为一份文件表格,然后根据表格来完成测验工作;通过使用关键词驱动技术。该技术将关键词文档和逻辑思想有机地结合起来,从而推动自动测试技术的发展[5]。在测试的实施阶段,还要把测试的数据与脚本、测试描述和特定的实施分开,这是一个非常抽象且逻辑性很强的过程。结构脚本技术将数据、脚本等与具体实施相结合,这对测试人员编程技能和逻辑推理能力提出了更高的要求。
(三)Python CLI测试
空压机系统
Python CLI是一种通过远程访问嵌入式软件来实现指令操作的方法。在测试端,用户只要将用户指令键入,从而实现了软件的自动化检测。使用Python来构造一组命令,在键盘上输入Python或图形界面。通过对系统的分析,可以把用户的行为分解成一套与嵌入式软件防辐射面料
进行信息交互的集合。通过指令来驱动嵌入式软件以及对现有的命令进行分析。通过对系统的运行结果及程序的分析,实现对嵌入式系统的遥控。为了提高测试的效率,可以对常见的报文ID和结果进行进一步的封装。在闭环试验结束后,能够对有关的测试数据进行自动读取,并对其进行分析、转化。为将来的测试提供更多可复用的数据。
(四)数字仿真测试与Cross-Test测试
数字模拟试验是通过模拟软件的输入和输出信号的传递,实现对嵌入式软件功能的实时分析。由于该方法无须依赖其他硬件设施,因此具有良好的通用性,能够很好地应用到嵌入式软件的测试中。数字仿真试验解决了计算机模拟虚拟 CPU的工作环境、正确激发软件输出的问题,实现了计算机程序的虚拟运行,尤其是大规模的代码测试[6]。尽管数字模拟试验可以解决大量的自动化测试问题,但也存在时间问题。这种时间问题可以通过构建更多的目标平台来解决,但是这样做有悖于节省测试人员、提高测试效率的目的。采用Cross-Test法,提高检测的效率,同时也解决时间的问题。第二步,使用脚本语言进行动态测试。第三,对主机平台的脚本进行编程,并对其进行性能测试。第四种方法是进行覆盖分析和反复试验。
(五)自动化测试生成技术
自动测试产生技术主要有两个方面:一是根据开发文档来实现。这种自动产生技术可以分为基于模型的产生技术和技术代数的产生技术,前者主要是用来产生功能的,而后者主要是用来产生数据的。二是根据程序产生的路径形成技术。在大量的程序代码,尤其是在复杂度高的情况下,根据路径生成非常困难,所以测试人员必须对所要测试的程序进行分析,并将所要检测的路径分割开来,并自动生成所需的路径,从而提高其生成的覆盖、效率和准确性。
六、结束语
情趣口香糖
目前,嵌入式软件自动化测试系统在国内已得到了广泛的应用,极大地推动了国内的软件开发。随着对嵌入式软件的持续深入研究,可以增强其稳定性,从而使其在应用中得到充分地利用。因此,在嵌入式软件的自动化测试方面,必须继续加强,以促进国内软件产业的迅速发展。
参考文献:
[1]李雯雯.嵌入式语音识别系统性能评测方法的研究与实现[D].南京邮电大学,2019.DOI:10.jdc.2019.000730.
[2]陈佐.基于分布式架构的嵌入式软件自动化测试平台研究与实现[D].杭州电子科技大学,2018.

本文发布于:2023-06-28 01:07:32,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/155084.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:测试   系统   进行   嵌入式软件   技术   软件   模拟   分析
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图