CN111597115A - 一种嵌入式操作系统自动化闭环测试系统及测试方法 - Google Patents
一种嵌入式操作系统自动化闭环测试系统及测试方法 Download PDFInfo
- Publication number
- CN111597115A CN111597115A CN202010424089.XA CN202010424089A CN111597115A CN 111597115 A CN111597115 A CN 111597115A CN 202010424089 A CN202010424089 A CN 202010424089A CN 111597115 A CN111597115 A CN 111597115A
- Authority
- CN
- China
- Prior art keywords
- test
- defect
- code
- tested
- testing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Abstract
本发明公开了一种嵌入式操作系统自动化闭环测试系统及测试方法,包括被测目标系统和测试控制系统,所述被测目标系统模拟宇航计算机系统外围设备,通过基于QEMU仿真应用系统和被测操作系统构成运行环境;测试控制系统由测试用例管理系统、代码托管系统和缺陷跟踪系统组成,将代码提交代码托管系统后,激活测试用例系统提取选定测试用例,将测试用例和代码自动编译下载到被测目标系统测试,测试过程发现的缺陷数据则提交给缺陷跟踪系统,缺陷跟踪系统记录缺陷数据并实时跟踪缺陷修复情况。该系统解决了嵌入式操作系统多任务、大批量数据处理及特殊空间环境故障注入等特性的一体化测试要求;测试流程降低了测试过程的误操作率,极大地提高测试效率。
Description
技术领域
本发明涉及星载嵌入式操作系统测试领域,特别涉及一种嵌入式操作系统自动化闭环测试系统及测试方法。
背景技术
随着国产化进程的推进和国际安全形势的日益严峻,研发自主可控且拥有知识产权的安全、可靠和稳定的信息化系统被提升到国家战略高度,国产操作系统得到大力的发展。国防科技大学计算机学院开发的麒麟操作系统已经逐步应用于政府、金融等行业;上海航天电子技术研究所研发的AIC-OS风云翼辉操作系统已经应用于在轨卫星中。但是,针对嵌入式操作系统的自动化测试系统仍处于起步阶段。
国内外的研究机构与公司对嵌入式软件测试技术进行了很多研究,例如:AppliedMicrosystems Corporatin公司研发的CodeTest测试工具;IPL公司研发的Cantata++嵌入式测试工具;北京航天航空大学研发的InSim仿真测试环境及研究的基于UML状态图和类图的实时性扩展的嵌入式软件测试用例生成技术等。这些主要是针对嵌入式软件实时性、特定的硬件环境要求等方面的测试进行相关研究。
航天航空领域的嵌入式实时操作系统,具有强实时性、动态加载和分离编译等特性,并且需要应对单粒子翻转等特殊的空间环境,目前市面上现有的自动化测试平台及方法无法满足航天航空专用嵌入式操作系统强实时性、多任务、大批量数据处理及特殊空间环境故障注入的一体化测试要求。
发明内容
为了克服现有技术中的不足,本发明提供一种嵌入式操作系统自动化闭环测试系统及测试方法,针对嵌入式操作系统的多任务、大批量数据处理和特殊空间环境故障注入等特性进行一体化测试,有效降低误操作率,提高测试效率。
为了达到上述发明目的,解决其技术问题所采用的技术方案如下:
本发明公开了一种嵌入式操作系统自动化闭环测试系统,包括被测目标系统和测试控制系统,其中:
所述被测目标系统模拟宇航计算机系统外围设备,通过基于QEMU仿真应用系统和被测操作系统构成运行环境;
所述测试控制系统由测试用例管理系统、代码托管系统和缺陷跟踪系统组成,将代码提交所述代码托管系统后,激活所述测试用例系统提取选定测试用例,由所述测试用例管理系统激活自动编译、下载系统,从所述测试用例管理系统和代码托管系统下载代码及测试用例,编译下载到所述被测目标系统测试,测试过程中发现的缺陷数据则提交给所述缺陷跟踪系统,所述缺陷跟踪系统记录缺陷数据并实时跟踪缺陷修复情况。
进一步的,所述测试用例管理系统根据测试需求将测试用例分为用例增加、缺陷修复、功能完善和需求变更四种类型的测试用例集,然后依据测试需求,提取相应的测试用例,通过脚本,编译下载到所述被测目标系统。
进一步的,所述代码托管系统对提交的代码进行版本控制,将变更所产生的影响进行记录和跟踪,然后根据测试需求,提取相应的代码,通过脚本,编译下载到所述被测目标系统。
进一步的,所述缺陷跟踪系统用于记录缺陷数据状态,当在测试过程中发现缺陷后,所述被测目标系统自动提交缺陷数据,所述缺陷跟踪系统将实时跟踪缺陷的处理情况。
本发明另外公开了一种嵌入式操作系统自动化闭环测试系统的测试方法,利用上述嵌入式操作系统自动化闭环测试系统进行测试,包括以下步骤:
步骤S1:配置被测目标系统,自动编译下载环境配置;
步骤S2:根据需求输入,进行代码设计、测试用例设计及分类;
步骤S3:利用脚本,组织测试用例,自动加入执行结果和预期结果的比较;
步骤S4:将步骤S2设计的代码提交给代码托管;
步骤S5:将步骤S3和步骤S4的输出,进行自动编译下载;
步骤S6:进行代码测试,并生成测试报告;
步骤S7:发现的缺陷提交缺陷跟踪系统,并实时跟踪缺陷的修复情况;
步骤S8:缺陷被修复后,重复步骤S2~S6。
进一步的,在所述步骤S2中,所述测试用例分类为需求变更型、功能完善型、缺陷修复型和用例增加型。
进一步的,在所述步骤S4中,所述设计的代码包括测试用例设计代码和被测目标设计代码。
进一步的,在所述步骤S5中,所述步骤S3和S4输出编译是指依据需求输入设计的代码提交代码托管后,激活测试用例管理系统提取选定测试用例,由测试用例管理系统激活自动编译、下载系统,从测试用例管理系统和代码托管系统下载代码及测试用例,编译下载到被测目标系统测试。
本发明由于采用以上技术方案,使之与现有技术相比,具有以下的优点和积极效果:
1、本发明与现有嵌入式自动化测试系统相比,利用本发明,可以通过基于虚拟机的仿真系统构建灵活自定义的外部设备,解决特殊空间环境故障注入的测试要求;被测目标系统与测试用例管理系统、代码托管系统、缺陷跟踪系统进行交互,形成闭环自动化测试系统,可以解决嵌入式操作系统多任务、大批量数据处理等特性的一体化测试要求;
2、本发明依据需求输入,对测试用例进行分类管理,提升软件测试的充分性;
3、本发明测试流程降低了测试过程追踪的误操作率,极大地提高测试效率,节省人力成本。
4、本发明将多任务测试需求进行分类管理,对测试用例进行合理配置;对代码版本进行有效控制;对测试缺陷进行实时记录跟踪。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图中:
图1是本发明的嵌入式操作系统自动化闭环测试系统的组成图。
图2是运行本发明的自动化闭环测试系统进行测试的流程图。
具体实施方式
以下将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整的描述和讨论,显然,这里所描述的仅仅是本发明的一部分实例,并不是全部的实例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
实施例一
如图1所示,本发明公开了一种嵌入式操作系统自动化闭环测试系统,包括被测目标系统和测试控制系统,其中:
所述被测目标系统模拟宇航计算机系统外围设备,通过基于QEMU仿真应用系统和被测操作系统构成运行环境;
所述测试控制系统由测试用例管理系统、代码托管系统和缺陷跟踪系统组成,将代码提交所述代码托管系统后,激活所述测试用例系统提取选定测试用例,由所述测试用例管理系统激活自动编译、下载系统,从所述测试用例管理系统和代码托管系统下载代码及测试用例,编译下载到所述被测目标系统测试,测试过程中发现的缺陷数据则提交给所述缺陷跟踪系统,所述缺陷跟踪系统记录缺陷数据并实时跟踪缺陷修复情况。
进一步的,所述测试用例管理系统根据测试需求将测试用例分为用例增加、缺陷修复、功能完善和需求变更四种类型的测试用例集,然后依据测试需求,提取相应的测试用例,通过脚本,编译下载到所述被测目标系统。
进一步的,所述代码托管系统对提交的代码进行版本控制,将变更所产生的影响进行记录和跟踪,达到代码的可控和可追溯性,然后根据测试需求,提取相应的代码,通过脚本,编译下载到所述被测目标系统。
进一步的,所述缺陷跟踪系统用于记录缺陷数据状态,当在测试过程中发现缺陷后,所述被测目标系统自动提交缺陷数据,所述缺陷跟踪系统将实时跟踪缺陷的处理情况。
实施例二
如图2所示,本发明另外公开了一种嵌入式操作系统自动化闭环测试系统的测试方法,利用上述嵌入式操作系统自动化闭环测试系统进行测试,包括以下步骤:
步骤S1:配置被测目标系统,自动编译下载环境配置;
一可选的实施例中,在所述步骤S1-1中,所述被测目标系统是指在QEMU仿真应用系统中添加网络设备、CAN控制器、串口等设备,编译生成在WINDOWS下可执行程序;编写操作系统BSP,使其能够在修改后的QEMU模拟器上运行操作系统;在被测嵌入式操作系统移植脚本引擎,配置系统环境,使其可以运行脚本;
例如,AIC-OS风云翼辉操作系统应用组件测试,在QEMU仿真系统中,针对需要模拟,或者被测试的综合电子计算机架构,选择对应的处理器选型。梳理其外围设备配置,如常用的串口、CAN控制器、1553B总线控制器、网络设备等,根据真实单机或者任务需求进行配置添加,按着QEMU内部设备模型进行相应所需外围设备的开发与扩展。针对新添加模块进行编译,生成最终可执行程序。
QEMU模拟器中新增加的设备,根据为其设置的内存映射、寄存器配置、特殊操作等要求,在操作系统的BSP包中添加对应的驱动程序,保证能够在操作系统运行过程中,能够对这些设备进行访问。
另一可选的实施例中,在所述步骤S1-2中,所述环境配置是修改其Makefile中对交叉编译器及相应的依赖文件,在操作系统开发环境中,对Lua5.3版本进行移植。最终编译生成Lua可执行程序以及相应依赖的动态库文件。操作系统在模拟器中正常运行后,将生成的可执行程序Lua及动态库文件都部署在模拟器中,保证Lua的可运行环境。
步骤S2:根据需求输入,进行代码设计、测试用例设计及分类;
一可选的实施例中,在所述步骤S2中,根据GJB7714标准规定,依据任务功能需求、概要设计和详细设计中制定的接口,编制满足功能和性能要求的测试用例,并按测试需求进行归类。本实施例中,所述测试用例分类为需求变更型、功能完善型、缺陷修复型和用例增加型。
步骤S3:利用脚本,组织测试用例,自动加入执行结果和预期结果的比较;
一可选的实施例中,在所述步骤S3中,利用Lua动态语言的特性,类型无关性,快速的实现具体测试用例的调用,并且加入了测试结果与预期结果的比较。
步骤S4:将步骤S2设计的代码提交给代码托管;
一可选的实施例中,在所述步骤S4中,依据需求输入,将设计好的代码提交给代码托管系统,进行版本控制。代码托管系统的代码片段收集功能实现了代码复用,可以在日后需要的时候进行代码查找。本实施例中,所述设计的代码包括测试用例设计代码和被测目标设计代码。
步骤S5:将步骤S3和步骤S4的输出,进行自动编译下载;
一可选的实施例中,在所述步骤S5中,所述步骤S3和S4输出编译是指依据需求输入设计的代码提交代码托管后,激活测试用例管理系统,针对测试需求在测试用例分类库中进行测试用例的选择,由测试用例管理系统激活自动编译、下载系统,从测试用例管理系统和代码托管系统下载代码及测试用例,编译下载到被测目标系统测试。
步骤S6:进行代码测试,并生成测试报告;
步骤S7:发现的缺陷提交缺陷跟踪系统,并实时跟踪缺陷的修复情况;
步骤S8:缺陷被修复后,重复步骤S2~S6。
本系统也支持针对真实的目标系统进行的测试,只要将模拟器换作目标机即可,操作步骤与S1~S8相同;
综上所述,本发明与现有的嵌入式自动化测试系统相比,解决了嵌入式操作系统多任务、大批量数据处理及特殊空间环境故障注入等特性的一体化测试要求;测试流程降低了测试过程追踪的误操作率,极大地提高测试效率,节省人力成本。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (8)
1.一种嵌入式操作系统自动化闭环测试系统,其特征在于,包括被测目标系统和测试控制系统,其中:
所述被测目标系统模拟宇航计算机系统外围设备,通过基于QEMU仿真应用系统和被测操作系统构成运行环境;
所述测试控制系统由测试用例管理系统、代码托管系统和缺陷跟踪系统组成,将代码提交所述代码托管系统后,激活所述测试用例系统提取选定测试用例,由所述测试用例管理系统激活自动编译、下载系统,从所述测试用例管理系统和代码托管系统下载代码及测试用例,编译下载到所述被测目标系统测试,测试过程中发现的缺陷数据则提交给所述缺陷跟踪系统,所述缺陷跟踪系统记录缺陷数据并实时跟踪缺陷修复情况。
2.根据权利要求1所述的一种嵌入式操作系统自动化闭环测试系统,其特征在于,所述测试用例管理系统根据测试需求将测试用例分为用例增加、缺陷修复、功能完善和需求变更四种类型的测试用例集,然后依据测试需求,提取相应的测试用例,通过脚本,编译下载到所述被测目标系统。
3.根据权利要求1所述的一种嵌入式操作系统自动化闭环测试系统,其特征在于,所述代码托管系统对提交的代码进行版本控制,将变更所产生的影响进行记录和跟踪,然后根据测试需求,提取相应的代码,通过脚本,编译下载到所述被测目标系统。
4.根据权利要求1所述的一种嵌入式操作系统自动化闭环测试系统,其特征在于,所述缺陷跟踪系统用于记录缺陷数据状态,当在测试过程中发现缺陷后,所述被测目标系统自动提交缺陷数据,所述缺陷跟踪系统将实时跟踪缺陷的处理情况。
5.一种嵌入式操作系统自动化闭环测试系统的测试方法,其特征在于,利用上述权利要求1-4中任意一项所述嵌入式操作系统自动化闭环测试系统进行测试,包括以下步骤:
步骤S1:配置被测目标系统,自动编译下载环境配置;
步骤S2:根据需求输入,进行代码设计、测试用例设计及分类;
步骤S3:利用脚本,组织测试用例,自动加入执行结果和预期结果的比较;
步骤S4:将步骤S2设计的代码提交给代码托管;
步骤S5:将步骤S3和步骤S4的输出,进行自动编译下载;
步骤S6:进行代码测试,并生成测试报告;
步骤S7:发现的缺陷提交缺陷跟踪系统,并实时跟踪缺陷的修复情况;
步骤S8:缺陷被修复后,重复步骤S2~S6。
6.根据权利要求5所述的一种嵌入式操作系统自动化闭环测试系统的测试方法,其特征在于,在所述步骤S2中,所述测试用例分类为需求变更型、功能完善型、缺陷修复型和用例增加型。
7.根据权利要求5所述的一种嵌入式操作系统自动化闭环测试系统的测试方法,其特征在于,在所述步骤S4中,所述设计的代码包括测试用例设计代码和被测目标设计代码。
8.根据权利要求5所述的一种嵌入式操作系统自动化闭环测试系统的测试方法,其特征在于,在所述步骤S5中,所述步骤S3和S4输出编译是指依据需求输入设计的代码提交代码托管后,激活测试用例管理系统提取选定测试用例,由测试用例管理系统激活自动编译、下载系统,从测试用例管理系统和代码托管系统下载代码及测试用例,编译下载到被测目标系统测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010424089.XA CN111597115A (zh) | 2020-05-19 | 2020-05-19 | 一种嵌入式操作系统自动化闭环测试系统及测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010424089.XA CN111597115A (zh) | 2020-05-19 | 2020-05-19 | 一种嵌入式操作系统自动化闭环测试系统及测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111597115A true CN111597115A (zh) | 2020-08-28 |
Family
ID=72192373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010424089.XA Pending CN111597115A (zh) | 2020-05-19 | 2020-05-19 | 一种嵌入式操作系统自动化闭环测试系统及测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111597115A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131116A (zh) * | 2020-09-25 | 2020-12-25 | 中国直升机设计研究所 | 一种嵌入式软件自动化回归测试方法 |
CN112181392A (zh) * | 2020-10-19 | 2021-01-05 | 上海航天计算机技术研究所 | 自动判读硬件接口生成数字外部设备代码的方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050097399A1 (en) * | 2003-11-03 | 2005-05-05 | Microsoft Corporation | Techniques for managed code debugging |
WO2005119455A1 (en) * | 2004-06-03 | 2005-12-15 | Purple Scout Ab | System for testing embedded computers |
CN103995777A (zh) * | 2014-05-29 | 2014-08-20 | 上海科梁信息工程有限公司 | 嵌入式软件黑盒自动化测试系统及测试方法 |
CN104407971A (zh) * | 2014-11-18 | 2015-03-11 | 中国电子科技集团公司第十研究所 | 自动化测试嵌入式软件的方法 |
CN109902005A (zh) * | 2019-02-19 | 2019-06-18 | 广州云测信息技术有限公司 | 一种自动化测试的方法和系统 |
CN110750459A (zh) * | 2019-10-23 | 2020-02-04 | 天津汇缘诚信科技有限公司 | 基于白盒分析的测试用例自动生成和测试进程管理方法 |
-
2020
- 2020-05-19 CN CN202010424089.XA patent/CN111597115A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050097399A1 (en) * | 2003-11-03 | 2005-05-05 | Microsoft Corporation | Techniques for managed code debugging |
WO2005119455A1 (en) * | 2004-06-03 | 2005-12-15 | Purple Scout Ab | System for testing embedded computers |
CN103995777A (zh) * | 2014-05-29 | 2014-08-20 | 上海科梁信息工程有限公司 | 嵌入式软件黑盒自动化测试系统及测试方法 |
CN104407971A (zh) * | 2014-11-18 | 2015-03-11 | 中国电子科技集团公司第十研究所 | 自动化测试嵌入式软件的方法 |
CN109902005A (zh) * | 2019-02-19 | 2019-06-18 | 广州云测信息技术有限公司 | 一种自动化测试的方法和系统 |
CN110750459A (zh) * | 2019-10-23 | 2020-02-04 | 天津汇缘诚信科技有限公司 | 基于白盒分析的测试用例自动生成和测试进程管理方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131116A (zh) * | 2020-09-25 | 2020-12-25 | 中国直升机设计研究所 | 一种嵌入式软件自动化回归测试方法 |
CN112131116B (zh) * | 2020-09-25 | 2023-06-27 | 中国直升机设计研究所 | 一种嵌入式软件自动化回归测试方法 |
CN112181392A (zh) * | 2020-10-19 | 2021-01-05 | 上海航天计算机技术研究所 | 自动判读硬件接口生成数字外部设备代码的方法和系统 |
CN112181392B (zh) * | 2020-10-19 | 2023-06-20 | 上海航天计算机技术研究所 | 自动判读硬件接口生成数字外部设备代码的方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shokry et al. | Model-Based Verification of Embedded Software. | |
US5911073A (en) | Method and apparatus for dynamic process monitoring through an ancillary control code system | |
EP2204738A2 (en) | Method and system for performing software verification | |
GB2508643A (en) | Method for Performing a Regression Test after Modifying Source Code File | |
US10909285B2 (en) | Method for creating a model compatible with a simulation device | |
Sanches et al. | J-swfit: A java software fault injection tool | |
Frost et al. | Wcet analysis of java bytecode featuring common execution environments | |
WO2019118691A1 (en) | Method and system for identifying functional attributes that change the intended operation of a compiled binary extracted from a target system | |
CN111597115A (zh) | 一种嵌入式操作系统自动化闭环测试系统及测试方法 | |
Engblom | Continuous integration for embedded systems using simulation | |
CN116069648A (zh) | 一种软件测试方法、系统、设备以及存储介质 | |
Kooli et al. | Fault injection tools based on virtual machines | |
Borde et al. | Pride-an environment for component-based development of distributed real-time embedded systems | |
Vinter et al. | Fiscade-a fault injection tool for scade models | |
CN116594861A (zh) | 基于模拟执行的Native动态链接库分析方法及系统 | |
Paikan et al. | A generic testing framework for test driven development of robotic systems | |
CN109144575B (zh) | 跨操作系统运行应用的装置、方法、电子设备和存储器 | |
CN115809076A (zh) | Ecu软件自动化集成方法及系统 | |
CN109144849A (zh) | 一种嵌入式软件调测方法 | |
Wehrmeister et al. | Support for early verification of embedded real-time systems through UML models simulation | |
CN113805848B (zh) | 目标机控制软件集成方法和系统 | |
KR20190075508A (ko) | 가상화된 시스템 상에서 임베디드 소프트웨어를 자동으로 생성하는 방법 및 컴퓨팅 시스템 | |
Clune et al. | Testing and debugging exascale applications by mocking MPI | |
Gilles et al. | Applying WCET analysis at architectural level | |
Wehrmeister et al. | Framework to simulate the behavior of embedded real-time systems specified in UML models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |