一种嵌入式RTOS的自动化测试方法、系统、终端及存储介质与流程

文档序号:32870189发布日期:2023-01-07 03:27阅读:309来源:国知局
一种嵌入式RTOS的自动化测试方法、系统、终端及存储介质与流程
一种嵌入式rtos的自动化测试方法、系统、终端及存储介质
技术领域
1.本发明涉及软件测试的技术领域,具体为一种嵌入式rtos的自动化测试方法、系统、终端及存储介质。


背景技术:

2.嵌入式实时操作系统(embedded real-time operation system,rtos)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定时间内控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及时响应和高可靠性是其主要特点。随着技术水平的提高,嵌入式实时操作系统已经充分应用于各个领域,如航空、航天等国防关键部门,它是一个可以在有限确定的时间内对异步输入进行处理并输出的信息系统。在特定的应用环境下,需要对操作系统进行合理的功能、性能、安全性测试从而达到选择最优系统的目的。
3.随着我国军用软件系统规模及层次复杂度持续递增,选用实时操作系统(rtos)产品作为应用软件的运行平台已成为一种趋势。用户选用rtos产品通常采取两种途径:采购或自研,但无论采取哪一种方式,都会带来以下问题。第一,rtos自身的功能、性能指标、安全性指标是否可靠,是否会对应用系统带来安全隐患;第二,rtos做为复杂基础类软件的代表,在测试需求上与嵌入式应用类软件存在明确的不同(比如应用模式不固定、功能集合不固定、硬件平台不固定),相应的测试策略肯定也不同。总装于2013年发布了gjb7706“军用嵌入式操作系统测评要求”,该标准对rtos测试类型、测试内容、评价准则等内容进行了规范性约定,可提供一定的参考。但该标准对于测试方最关注的测试方法却未提供任何说明或建议,因而对于具体测试工作所起的指导作用较为有限;第三,针对嵌入式实时操作系统的测试普遍具有测试用例繁多、测试周期冗长、测试过程繁杂的特点,从而导致测试进度缓慢、测试效率低下、人员成本高昂等负面问题。


技术实现要素:

4.为了克服上述现有技术存在的缺陷,本发明的目的在于提供一种嵌入式rtos的自动化测试方法、系统、终端及存储介质,以解决当前技术中无法快速、有效的对嵌入式实时操作系统进行测试的技术问题。
5.本发明是通过以下技术方案来实现:
6.一种嵌入式rtos的自动化测试方法,包括如下步骤:
7.步骤1,建立实时操作系统综合测试系统框架模型,其中实时操作系统综合测试系统框架模型包括宿主机端和目标机端;
8.步骤2,对目标机端建立测试模型,并确定目标机端测试任务调度策略;
9.步骤3,对宿主机端建立可视化测试界面,并通过i/o端口与目标机端建立数据交互;
10.步骤4,拟定宿主机端与目标机端的测试通信协议;
11.步骤5,宿主机端发送测试遥控指令,接收和分析目标机端返回的测试任务数据,并将测试结果数据实时保存到数据库,完成嵌入式rtos的自动化测试工作。
12.优选的,步骤2中,目标机端建立测试模型,其中包括基准模型、应用模型和安全模型;基准模型用于性能测试,包含rhealstone实时基准测试和thread-metric基准测试;应用模型用于功能测试,包含任务管理及调度、任务间通信及同步互斥、时间与定时器管理、中断管理;安全模型用于安全可靠性测试,包含任务删除安全防护、优先级反转保护、内存使用安全检测、死锁检测、关键数据冗余备份、任务看门狗机制、系统异常处理和系统组合调用安全防护。
13.优选的,步骤2中,目标机端测试任务包括调度管理任务,遥控任务,测试任务,can接收任务,can发送任务,常驻任务,空闲任务。
14.进一步的,目标机端测试任务的调度策略采用优先级从高至低依次执行,高优先级任务执行完成后将自身任务挂起转而执行次高优先级任务,直至最后执行空闲任务,当本周期的时间片用完之后,将会再次被下一周期的调度管理任务打断,接着进行下一轮次的任务调度。
15.更进一步的,目标机端测试任务的调度策略的具体过程如下:
16.调度管理任务执行完成后将自身挂起并启动遥控任务,遥控任务循环读取串口数据,将接收数据解析为总线测试指令,并跳到相应的测试分支执行测试任务;测试任务执行后将测试结果放入测试数据缓冲区,同时将遥控任务挂起;接着队列中执行遥测任务,读取测试数据缓冲区,并将测试数据根据接收数据帧格式组帧,并通过串口发送至地面软件,然后将遥测任务挂起;之后执行can接收任务,循环读取can总线数据,接收到数据后将数据存放至can接收缓冲区,若有数据将数据组帧后通过can总线发送回宿主机软件;然后执行队列中的常驻任务,搜集目标机端中各项系统参数信息,执行完成后挂起;最后执行空闲任务,等待本周期时间片耗尽,将会再次被下一周期的调度管理任务打断,重复执行并完成目标机端的各项任务有序调度。
17.优选的,步骤4中,拟定宿主机与目标机测试通信协议,并根据实际需求设计遥控数据帧格式、遥测数据帧格式和测试指令帧格式。
18.一种嵌入式rtos的自动化测试系统,包括
19.模型建立模块,用于建立实时操作系统综合测试系统框架模型,其中实时操作系统综合测试系统框架模型包括宿主机端和目标机端;
20.第一处理模块,用于对目标机端建立测试模型,并确定目标机端测试任务调度策略;
21.第二处理模块,用于对宿主机端建立可视化测试界面,并通过i/o端口与目标机端建立数据交互;
22.通信协议拟定模块,用于拟定宿主机端与目标机端的测试通信协议;
23.第三处理模块,用于宿主机端发送测试遥控指令,接收和分析目标机端返回的测试任务数据,并将测试结果数据实时保存到数据库,完成嵌入式rtos的自动化测试工作。
24.一种移动终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述所述一种嵌入式rtos的自动化测试方法的步骤。
25.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权上述所述一种嵌入式rtos的自动化测试方法的步骤。
26.与现有技术相比,本发明具有以下有益的技术效果:
27.本发明提供了一种嵌入式rtos的自动化测试方法,在所建立的实时操作系统综合测试系统框架模型内的宿主机端和目标机端通过i/o实现数据交互,并对目标机端建立测试模型以及确定目标机端测试任务调度策略;宿主机端建立可视化的测试界面,宿主机通过i/o端口与目标机连接并进行数据交互,实现测试工程管理、测试选项的配置、测试数据的管理与分析以及测试结果的可视化展现,本发明可进行嵌入式实时操作系统测试指令收发、测试数据处理、测试实时状态监控。可以对被测系统自动进行指定的功能、性能和安全性测试,显示实时的测试过程和状态变化,并自动记录和收集每一项测试结果,利用数据库技术实现海量测试数据的管理、统计和分析。有效缩短了测试时间,削减了人工成本,提高了测试效率和质量,切实有效的保证了测试质量和测试效率。
附图说明
28.图1为本发明中嵌入式rtos的自动化测试方法的流程图;
29.图2为本发明中测试系统结构示意图;
30.图3为本发明中目标机测试模型示意图;
31.图4为本发明中目标机任务调度逻辑流程图;
32.图5为本发明中宿主机测试框架示意图。
具体实施方式
33.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
34.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
35.下面结合附图对本发明做进一步详细描述:
36.本发明的目的在于提供一种嵌入式rtos的自动化测试方法、系统、终端及存储介质,以解决当前技术中无法快速、有效的对嵌入式实时操作系统进行测试的技术问题。
37.具体的,根据图1所示,该嵌入式rtos的自动化测试方法,包括如下步骤:
38.步骤1,建立实时操作系统综合测试系统框架模型,其中实时操作系统综合测试系统框架模型包括宿主机端和目标机端;宿主机端和目标机端每个部分有相应的软件运行
(宿主机软件、目标机软件)。两部分软件相互配合,通过i/o实现数据交互;
39.步骤2,对目标机端建立测试模型,并确定目标机端测试任务调度策略;
40.具体的,目标机端建立测试模型,其中包括基准模型、应用模型和安全模型;基准模型用于性能测试,包含rhealstone实时基准测试和thread-metric基准测试;应用模型用于功能测试,包含任务管理及调度、任务间通信及同步互斥、时间与定时器管理、中断管理;安全模型用于安全可靠性测试,包含任务删除安全防护、优先级反转保护、内存使用安全检测、死锁检测、关键数据冗余备份、任务看门狗机制、系统异常处理和系统组合调用安全防护。
41.具体的,目标机端测试任务包括调度管理任务,遥控任务,测试任务,can接收任务,can发送任务,常驻任务,空闲任务。
42.其中,目标机端测试任务的调度策略采用优先级从高至低依次执行,高优先级任务执行完成后将自身任务挂起转而执行次高优先级任务,直至最后执行空闲任务,当本周期的时间片用完之后,将会再次被下一周期的调度管理任务打断,接着进行下一轮次的任务调度。
43.目标机端测试任务的调度策略的具体过程如下:
44.调度管理任务执行完成后将自身挂起并启动遥控任务,遥控任务循环读取串口数据,将接收数据解析为总线测试指令,并跳到相应的测试分支执行测试任务;测试任务执行后将测试结果放入测试数据缓冲区,同时将遥控任务挂起;接着队列中执行遥测任务,读取测试数据缓冲区,并将测试数据根据接收数据帧格式组帧,并通过串口发送至地面软件,然后将遥测任务挂起;之后执行can接收任务,循环读取can总线数据,接收到数据后将数据存放至can接收缓冲区,若有数据将数据组帧后通过can总线发送回宿主机软件;然后执行队列中的常驻任务,搜集目标机端中各项系统参数信息,执行完成后挂起;最后执行空闲任务,等待本周期时间片耗尽,将会再次被下一周期的调度管理任务打断,重复执行并完成目标机端的各项任务有序调度。
45.步骤3,对宿主机端建立可视化测试界面,并通过i/o端口与目标机端建立数据交互;
46.步骤4,拟定宿主机端与目标机端的测试通信协议,并根据实际需求设计遥控数据帧格式、遥测数据帧格式和测试指令帧格式。
47.步骤5,宿主机端发送测试遥控指令,接收和分析目标机端返回的测试任务数据,并将测试结果数据实时保存到数据库,完成嵌入式rtos的自动化测试工作。
48.实施例
49.该嵌入式rtos的自动化测试方法,包括以下实施步骤:
50.s1:如图2所示,建立实时操作系统综合测试系统框架,由宿主机端和目标机端两部分组成,每个部分有相应的软件运行(宿主机软件、目标机软件)。两部分软件相互配合,通过i/o实现数据交互;
51.s2:如图3所示,在目标机上建立三种测试模型:基准模型、应用模型和安全模型。基准模型用于性能测试,包含rhealstone实时基准测试和thread-metric基准测试,其中rhealstone用来鉴定6种操作的执行时间(任务切换时间、任务抢占时间、中断隐伏时间、信号量混洗时间、死锁解除时间和任务间消息隐伏时间),thread-metric包含1个基准测试和
6个性能对比测试(协同式任务调度测试、抢占式任务调度测试、中断处理测试、中断当中任务抢占处理测试、任务同步处理测试和消息处理测试),通过计算一定时间周期内完成某一事务的次数,作为评估实时操作系统性能的依据;应用模型用于功能测试,包含任务管理及调度、任务间通信及同步互斥、时间与定时器管理、中断管理;安全模型用于安全可靠性测试,包含任务删除安全防护、优先级反转保护、内存使用安全检测、死锁检测、关键数据冗余备份、任务看门狗机制、系统异常处理和系统组合调用安全防护;
52.s3:如图4所示,确定目标机测试任务调度策略,目标机测试系统任务主要包含7个任务,优先级从高到低依次为:调度管理任务,遥控任务,测试任务,can接收任务,can发送任务,常驻任务,空闲任务,高优先级任务执行完成后将自身任务挂起转而执行次高优先级任务,直至最后执行空闲任务,当本周期的时间片用完之后,将会再次被下一周期的调度管理任务打断,接着进行下一轮次的任务调度。
53.任务具体执行过程如下所述:调度管理任务执行完成后将自身挂起并启动遥控任务,遥控任务循环读取串口数据,将接收数据解析为总线测试指令,并跳到相应的测试分支执行测试任务;测试任务执行后将测试结果放入测试数据缓冲区,同时将遥控任务挂起;接着队列中执行遥测任务,读取测试数据缓冲区,并将测试数据根据接收数据帧格式组帧,并通过串口发送至地面软件,然后将遥测任务挂起;之后执行can接收任务,循环读取can总线数据,接收到数据后将数据存放至can接收缓冲区,如有数据将数据组帧后通过can总线发送回宿主机软件;然后执行队列中的常驻任务,搜集目标机中各项系统参数信息,执行完成后挂起;最后执行空闲任务,等待本周期时间片耗尽,将会再次被下一周期的调度管理任务打断,如此周而复始地进行目标机各项任务有序调度;
54.s4:如图5所示,在宿主机上建立可视化的测试界面,宿主机通过i/o端口与目标机连接并进行数据交互,实现测试工程管理、测试选项的配置、测试数据的管理与分析以及测试结果的可视化展现;
55.s5:拟定宿主机与目标机测试通信协议,根据实际需求设计遥控数据帧格式、遥测数据帧格式和测试指令帧格式;
56.s6:通过宿主机可视化界面进行测试遥控指令发送,接收和解析目标机返回的测试任务数据,并将测试结果数据实时保存到数据库以供后续的数据统计分析。
57.利用该平台,测试人员可通过发送遥控指令的方式实现对嵌入式实时操作系统的功能测试、性能测试、安全可靠性测试,并能自动记录测试过程中的各项数据,确保了测试效率和测试质量。
58.本发明还提供了一种嵌入式rtos的自动化测试系统,包括模型建立模块、第一处理模块、第二处理模块、通信协议拟定模块和第三处理模块;
59.模型建立模块,用于建立实时操作系统综合测试系统框架模型,其中实时操作系统综合测试系统框架模型包括宿主机端和目标机端;
60.第一处理模块,用于对目标机端建立测试模型,并确定目标机端测试任务调度策略;
61.第二处理模块,用于对宿主机端建立可视化测试界面,并通过i/o端口与目标机端建立数据交互;
62.通信协议拟定模块,用于拟定宿主机端与目标机端的测试通信协议;
63.第三处理模块,用于宿主机端发送测试遥控指令,接收和分析目标机端返回的测试任务数据,并将测试结果数据实时保存到数据库,完成嵌入式rtos的自动化测试工作。
64.本发明还提供了一种移动终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如嵌入式rtos的自动化测试程序。
65.所述处理器执行所述计算机程序时实现上述嵌入式rtos的自动化测试方法的步骤,例如:建立实时操作系统综合测试系统框架模型,其中实时操作系统综合测试系统框架模型包括宿主机端和目标机端;
66.对目标机端建立测试模型,并确定目标机端测试任务调度策略;
67.对宿主机端建立可视化测试界面,并通过i/o端口与目标机端建立数据交互;
68.拟定宿主机端与目标机端的测试通信协议;
69.宿主机端发送测试遥控指令,接收和分析目标机端返回的测试任务数据,并将测试结果数据实时保存到数据库,完成嵌入式rtos的自动化测试工作。
70.或者,所述处理器执行所述计算机程序时实现上述系统中各模块的功能,例如:
71.模型建立模块,用于建立实时操作系统综合测试系统框架模型,其中实时操作系统综合测试系统框架模型包括宿主机端和目标机端;
72.第一处理模块,用于对目标机端建立测试模型,并确定目标机端测试任务调度策略;
73.第二处理模块,用于对宿主机端建立可视化测试界面,并通过i/o端口与目标机端建立数据交互;
74.通信协议拟定模块,用于拟定宿主机端与目标机端的测试通信协议;
75.第三处理模块,用于宿主机端发送测试遥控指令,接收和分析目标机端返回的测试任务数据,并将测试结果数据实时保存到数据库,完成嵌入式rtos的自动化测试工作。
76.示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述移动终端中的执行过程。例如,所述计算机程序可以被分割成模型建立模块、第一处理模块、第二处理模块、通信协议拟定模块和第三处理模块,各模块具体功能如下:模型建立模块,用于建立实时操作系统综合测试系统框架模型,其中实时操作系统综合测试系统框架模型包括宿主机端和目标机端;
77.第一处理模块,用于对目标机端建立测试模型,并确定目标机端测试任务调度策略;
78.第二处理模块,用于对宿主机端建立可视化测试界面,并通过i/o端口与目标机端建立数据交互;
79.通信协议拟定模块,用于拟定宿主机端与目标机端的测试通信协议;
80.第三处理模块,用于宿主机端发送测试遥控指令,接收和分析目标机端返回的测试任务数据,并将测试结果数据实时保存到数据库,完成嵌入式rtos的自动化测试工作。
81.所述移动终端可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述移动终端可包括,但不仅限于,处理器、存储器。
82.所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他
通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分。
83.所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述移动终端的各种功能。
84.所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
85.本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述一种嵌入式rtos的自动化测试方法的步骤。
86.所述移动终端集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
87.基于这样的理解,本发明实现上述方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述嵌入式rtos的自动化测试方法的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。
88.所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。
89.需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
90.最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1