CN116467211B - 一种基于数字化仿真环境的系统级测试验证方法 - Google Patents
一种基于数字化仿真环境的系统级测试验证方法 Download PDFInfo
- Publication number
- CN116467211B CN116467211B CN202310461935.9A CN202310461935A CN116467211B CN 116467211 B CN116467211 B CN 116467211B CN 202310461935 A CN202310461935 A CN 202310461935A CN 116467211 B CN116467211 B CN 116467211B
- Authority
- CN
- China
- Prior art keywords
- test
- information
- data
- level
- coverage
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 195
- 238000004088 simulation Methods 0.000 title claims abstract description 97
- 238000012795 verification Methods 0.000 title claims abstract description 56
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000005516 engineering process Methods 0.000 claims abstract description 7
- 238000004891 communication Methods 0.000 claims description 25
- 238000013461 design Methods 0.000 claims description 16
- 230000003993 interaction Effects 0.000 claims description 9
- 239000000203 mixture Substances 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 7
- 230000006399 behavior Effects 0.000 claims description 6
- 230000002093 peripheral effect Effects 0.000 claims description 6
- 238000013515 script Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 claims description 2
- 230000002085 persistent effect Effects 0.000 claims description 2
- 238000012552 review Methods 0.000 claims description 2
- 230000002452 interceptive effect Effects 0.000 claims 2
- 239000004973 liquid crystal related substance Substances 0.000 claims 2
- 238000013522 software testing Methods 0.000 abstract description 6
- 238000009434 installation Methods 0.000 abstract description 3
- 238000010276 construction Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004880 explosion Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
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/3664—Environments for testing or debugging software
-
- 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/3676—Test management for coverage analysis
-
- 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
-
- 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/3692—Test management for test results analysis
-
- 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/3696—Methods or tools to render software testable
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明涉及一种基于数字化仿真环境的系统级测试验证方法,属于嵌入式软件测试领域。本发明通过数字化仿真技术对实装运行环境进行模拟,实现在实验室环境中进行系统级测试验证。基于数字化仿真环境实现加载配置项软件、设计并运行测试用例、模拟接口数据、进行故障和异常模拟、统计接口覆盖信息等系统级测试验证工作。本发明降低了系统级测试对实装环境和半实物环境的依赖,可在实验室环境中开展有效的系统级测试验证,从而降低了测试成本并提高了测试的充分性。
Description
技术领域
本发明属于嵌入式软件测试领域,具体涉及一种基于数字化仿真环境的系统级测试验证方法。
背景技术
复杂嵌入式软件通常包括多个配置项,配置项间通过接口或者总线进行连接和数据通信,统级测试通常无法在实验室环境下开展,需要前往联调厂房在半实物环境或者实装环境下进行,受限于硬件资源实装环境需同时进行大量的开发、联调工作,与软件测试存在严重冲突,大量压缩了软件测试时间,导致软件测试充分性不足。此外,由于实装环境下各类模拟器支持的异常情况有限、软件状态无法进行修改,导致系统级测试对异常处理和边界条件的测试不足。兼顾实装环境和实验室环境的测试条件和约束,降低系统级测试对硬件环境的依赖,提高系统级测试验证充分性成为当前嵌入式软件系统级测试验证亟需解决的核心问题。
传统的系统级测试验证高度依赖于实装环境,存在资源利用率低、成本高、周期长、出现故障不可逆等问题,缺少有效的测试验证手段,在硬件资源紧张时,将严重影响系统级测试验证的效率和质量。虽然,在半实物或者实装环境下能够搭建系统级测试环境,开展部分测试验证工作;但是,测试环境存在复用性差、软件状态不可见等问题,无法测试到异常等边界情况,软件执行信息只能采用插桩等方式进行统计,影响了测试验证的准确性。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种基于数字化仿真环境的系统级测试验证方法,以解决当前嵌入式软件系统级测试面临的测试环境匮乏、测试充分性不足的问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种基于数字化仿真环境的系统级测试验证方法,该方法包括:
第一步、构建系统级数字化仿真环境
根据嵌入式系统的硬件组成关系,构建与实装和半实物环境等效的数字化仿真环境;系统级数字化仿真环境由多个配置项仿真环境组成,配置项仿真环境间通过外部输入输出接口进行通信和同步;配置项仿真环境由处理器、外部设备模型组成,配置项仿真环境实现配置项软件加载并提供外部输入输出接口;
第二步、建立系统状态模型
对嵌入式软件应用层通信协议进行细化描述,定义系统状态模型,统计出嵌入式系统中所有的系统状态模型;系统状态模型由信息关键字定义和接口关系定义组成,信息关键字包含嵌入式软件运行过程中的各种状态记录,建立关键字与嵌入式系统功能的对应关系,通过关键字的覆盖性来描述系统功能的覆盖性;
第三步、设计并运行测试用例
根据系统状态模型设计测试用例,提取系统状态模型中的关键字信息并设置关键字的重要程度,选取多个关键字生成测试用例,进行故障和异常模拟,在数字化仿真环境中加载运行测试用例;
第四步、采集系统运行状态数据
系统仿真环境由多个配置项仿真环境组成,配置项仿真环境之间存在数据交互,通过监控数字化仿真环境运行状态,采集接口交互数据,对采集的数据进行校验并记录时间戳信息,保证各个配置项仿真环境之间数据的一致性;
第五步、系统级测试充分性分析
解析记录的采集数据,提取系统状态模型信息,判断测试用例对应的关键字的组合覆盖性,进行系统级测试充分性分析,生成当前用例的测试报告;根据关键字覆盖数据指导测试用例设计,重新运行用例,采集数据并进行分析,生成测试报告;重复以上步骤至所有关键字覆盖,生成系统级测试报告。
(三)有益效果
本发明提出一种基于数字化仿真环境的系统级测试验证方法,具有如下特点:
1、采用虚拟化仿真技术实现了处理器、外设、总线等物理设备的仿真,可以摆脱实装环境在实验室中构建系统级的测试验证环境,可监控系统运行状态和重复部署,提高了测试环境的复用性,降低了测试环境的构建成本,解决了系统级测试验证环境匮乏的问题。
2、采用系统状态模型对应用层通信协议进行抽象描述,通过信息关键字定义和特征状态提取生成模型文件,采用模型文件来描述系统功能,为系统级测试验证提供了一种可量化的指标。
3、将组合测试覆盖性应用到系统级测试验证的充分性分析中,在配置项软件测试语句覆盖、分支覆盖的基础上,添加了组合测试覆盖性作为度量依据,同时针对组合测试用例爆炸的问题,对关键字重要等级进行了划分,采用不同的覆盖策略保证系统级测试验证的充分性。
附图说明
图1为本发明基于数字化仿真环境功能的系统级测试验证系统架构。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明提出一种基于数字化仿真环境的系统级测试验证方法,通过数字化仿真技术对实装运行环境进行模拟,实现在实验室环境中进行系统级测试验证。基于数字化仿真环境实现加载配置项软件、设计并运行测试用例、模拟接口数据、进行故障和异常模拟、统计接口覆盖信息等系统级测试验证工作,提高系统级测试验证效率和质量。
本发明给出了一种基于数字化仿真环境的系统级测试验证方法,该方法首先对嵌入式系统硬件组成关系进行分析,以配置项为单位构建数字化仿真环境,完成系统级配置项环境部署,加载配置项软件;其次,建立系统状态模型,对应用层协议进行抽象描述并形成模型文件,通过对模型关键字解析,建立系统状态模型与系统功能、逻辑、行为等的关系;然后,根据定义的系统状态模型进行测试用例生成,基于数字化仿真环境模拟故障和异常,运行测试用例;最后,采集测试用例运行信息,通过分析系统特征状态覆盖性指导测试数据的选择和测试用例设计,从而完成系统级测试的充分性判断。该方法实现的基于数字化仿真环境的系统级测试验证,对系统特征状态进行了抽象描述,基于数字化仿真环境设计并执行测试用例,通过采集和分析运行状态信息进行系统级测试充分性判断,降低了系统级测试对实装环境和半实物环境的依赖,可在实验室环境中开展有效的系统级测试验证,从而降低了测试成本并提高了测试的充分性。
本发明的目的在于提供一种基于数字化仿真环境的系统级测试验证方法,解决了当前嵌入式软件系统级测试面临的测试环境匮乏、测试充分性不足的问题。
第一步构建系统级数字化仿真环境
根据嵌入式系统的硬件组成关系,构建与实装和半实物环境等效的数字化仿真环境。系统级数字化仿真环境由多个配置项仿真环境组成,配置项仿真环境间通过外部输入输出接口进行通信和同步;配置项仿真环境由处理器、外部设备等模型组成,配置项仿真环境实现配置项软件加载并提供外部输入输出接口。
第二步建立系统状态模型
对嵌入式软件应用层通信协议进行细化描述,定义系统状态模型,统计出嵌入式系统中所有的系统状态模型。系统状态模型由信息关键字定义和接口关系定义组成,信息关键字包含嵌入式软件运行过程中的各种状态记录,建立关键字与嵌入式系统功能的对应关系,通过关键字的覆盖性来描述系统功能的覆盖性,系统状态模型从属性、数据、约束等方面对系统状态进行分析。
第三步设计并运行测试用例
根据系统状态模型设计测试用例,提取系统状态模型中的关键字信息并设置关键字的重要程度,选取多个关键字生成测试用例,进行故障和异常模拟,在数字化仿真环境中加载运行测试用例。
第四步采集系统运行状态数据
系统仿真环境由多个配置项仿真环境组成,配置项仿真环境之间存在数据交互,通过监控数字化仿真环境运行状态,采集接口交互数据,对采集的数据进行校验并记录时间戳信息,保证各个配置项仿真环境之间数据的一致性。
第五步系统级测试充分性分析
解析记录的采集数据,提取系统状态模型信息,判断测试用例对应的关键字的组合覆盖性,进行系统级测试充分性分析,生成当前用例的测试报告;根据关键字覆盖数据指导测试用例设计,重新运行用例,采集数据并进行分析,生成测试报告;重复以上步骤至所有关键字覆盖,生成系统级测试报告。
实施例1:
本发明提供一种基于数字化仿真环境的系统级测试方法实施方案,包含系统级数字化仿真环境和系统级测试验证环境,组成关系如图1所示。
首先,根据系统级实装环境的组成关系,采用数字化仿真环境搭建多个配置项软件构成的系统级仿真环境,加载配置项软件,监控配置项间的外部接口,采集测试用例执行后的通信数据;其次,根据应用层通信协议构建系统状态模型,提取通信数据中的关键字信息,指导测试用例设计,根据测试用例执行信息判断系统级测试充分性;最终,基于系统级数字化仿真环境完成系统级测试验证。
具体实施步骤为:
第一步构建系统级数字化仿真环境
系统级数字化仿真环境由多个配置项仿真环境组成,配置项仿真环境间通过外部输入输出接口进行通信和同步,采用指令集仿真、外设模拟、总线模拟等方式实现与之等效的数字化仿真环境,降低对实装环境和专用硬件环境的依赖。
S11、分析被测软件系统组成结构,梳理各分系统的信息交互关系,确认各分系统外部接口。
S12、根据配置项物理环境,采用虚拟化技术建立配置项仿真环境。
S13、建立各配置项仿真环境间的连接关系,对各配置项仿真环境间通信接口进行监控,用于采集通信数据开展系统级测试充分性分析。
第二步建立系统状态模型
S21、定义系统状态模型。系统状态模型描述属性、数据、约束三方面内容,属性包含系统的功能、逻辑、行为、结构等方面信息;数据包含对应的系统信息关键字;约束包含系统状态模型应该满足的约束条件如时序,时间精度等。
S22、建立系统状态模型中属性和数据的对应关系,即系统功能和信息关键字的映射关系。通过建立数据字典,将数据与系统功能、逻辑、行为、结构等信息关联,采用JSON等结构化文件进行持久化存储,测试过程中通过分析信息关键字覆盖情况指导测试用例设计和测试数据选择。
S23、对信息关键字重要等级进行划分并提取关键字的特征状态。信息关键字特征状态的提取包括对离散型特征状态和连续型特征状态,离散型特征状态采用应用层协议中的整型取值定义(如0,1,2);连续型特征状态采用应用层协议中实数取值定义,依据系统测试的需求,通过区间划分方式定义出具体的状态数据(如[1,10])。
第三步设计并运行测试用例
S31、解析系统状态模型,提取信息关键字的特征状态。如关键字包括“运行状态”(0:运行,1:暂停,2:停止)、“IO口电压值”(0-+5:加压,-5-0:减压)等关键字。
S32、对信息关键字赋予权重信息,按照不同的重要程度选取不同的覆盖策略,复杂软件系统的特征状态非常多,即使是所有特征状态的两两组合覆盖也是不现实的,因此按照不同的重要程度选取一一组合、两两组合、三三组合等算法生成测试用例和测试脚本。
S33、执行测试脚本,测试脚本对生成的组合测试用例进行了编排,顺序执行所有生成的测试用例。
第四步采集系统运行状态数据
S41、确认配置项仿真环境间的交互接口。包括接口类型、接口名称、信息来源、信息目的地、数据传输内容。
S42、采集接口通信数据。系统级数字化环境中外部接口类型包括GPIO、串口、CAN、1553B等不同种类,通过虚拟外设监控和记录接口间的通信数据,添加时间戳、信源、信宿等标识信息。
S43、提取系统状态模型数据。解析各接口记录的通信数据,采用定义好相应接口的系统状态模型解析数据,填充系统状态模型属性、数据、约束等内容。
第五步系统级测试充分性分析
S51、解析系统状态模型数据,统计信息关键字特征状态的覆盖性。信息关键字具有X种特征状态,测试用例结果数据中的信息关键字仅覆盖了Y种状态,记录信息关键字特征状态的覆盖性为Y/X。例如,信息关键字“运行状态”具有3种特征状态(0:运行,1:暂停,2:停止),测试用例结果数据中的关键字“运行状态”仅覆盖了0,1两种状态,记录信息关键字“运行状态”特征状态的覆盖性为2/3。
S52、指导测试用例设计。分析信息关键字未覆盖特征状态原因,针对未覆盖特征状态重新设计数据并执行步骤三至步骤五,直至当前信息关键字特征状态已完全覆盖;例如,信息关键字“运行状态”未覆盖特征状态2,即测试用例未覆盖系统运行停止这个分支,针对状态2重新设计数据并执行步骤三至步骤五,直至当前信息关键字特征状态是已完全覆盖。
S53、记录当前信息关键字组合的覆盖信息,重新执行步骤三至步骤五,完成其他信息关键字组合的测试。
S54、将所有组合测试用例执行结果进行汇总,生成整个系统级软件的特征状态覆盖性报告,根据特征状态的覆盖情况来判别系统级测试验证的充分性,若系统级测试不充分,则返回至步骤二审查系统状态模型的有效性,修改完善后继续开展后续测试验证步骤,逐步提高系统级测试验证充分性。
本发明的关键在于:
1.系统级数字化仿真环境
系统级测试验证的核心问题是系统级测试验证环境的缺失,依赖于实装环境和半实物构建的仿真环境,资源利用率低,无法开展故障和异常等边界情况的测试,系统级测试充分性不足。系统级数字化仿真环境以虚拟化仿真技术为核心,实现异构处理器和通用外围设备的仿真,根据目标机硬件组成完成配置项仿真环境构建,根据配置项软件间的接口关系完成多个配置项软件的互联互通,实现系统级数字化仿真环境监控系统,监控配置项间的接口和软件运行状态,读取并记录运行数据,为系统级测试充分性判断提供依据,在实验室环境下实现系统级测试的数字化仿真环境构建,可重复部署,降低了系统级测试环境的成本,提升了系统级测试验证的充分性和效率。
2.系统状态模型描述
系统级测试过程中,配置项软件间接口类型各不相同,应用层通信协议千差万别,通常需要根据接口类型和通信协议进行测试用例设计,按照排列组合的方式尽可能覆盖所有情况,导致测试用例数据量巨大,测试效率低下。本方法提出了一种系统状态模型,通过系统状态模型来描述系统的属性、数据、约束条件等内容。系统状态模型是对应用层通信协议的描述,定义通信协议中的关键字,抽取系统特征状态,包括离散型和连续型两种。通过建立信息关键字和系统功能映射关系的数据字典,将系统功能的描述转化为系统状态模型关键字的描述,实现对系统功能的量化描述,为系统级测试充分性的度量提供依据。例如,某嵌入式系统的运行状态、IO口电压值、工作方式等是该嵌入式系统的重要特征,描述了嵌入式系统的行为特性。
1)离散型关键字“运行状态”Run_State的特征状态
表1信息关键字Run_State的描述与示例
2)连续型关键字“IO口电压值”IO_V的特征状态
表2信息关键字IO_V的描述与示例
系统特征状态模型通过一系列的关键字定义和格式定义,对应用层协议进行二次描述,生成一组系统状态模型文件,对该组模型文件中的关键字进行解析分析,从而统计出系统的特征状态个数。
3.系统级测试充分性分析:
传统的配置项软件测试过程中,测试充分性可以通过软件的语句覆盖、分支覆盖、修订的判定/条件覆盖(MC/DC覆盖)等代码覆盖率信息来度量,这些信息可以通过数字化仿真环境获得。除此之外,针对系统级测试验证,采用了组合测试覆盖的方法来提高软件的测试充分性,将组合测试覆盖的充分性指标应用于软件的系统级测试。
复杂系统级软件的通信协议和关键字非常多,涉及的特征状态个数更多。在系统级测试验证中要实现所有特征状态组合覆盖所需的用例数是爆炸性的,在实际的系统级测试验证过程中不太现实的,因此我们对信息关键字赋予权重信息,按照不同的重要程度选取不同的覆盖策略。通常可以将关键字重要等级划分为一般、重要、核心等级别,不同级别采用不同的覆盖要求,如一般关键字要求一一组合覆盖(或称单覆盖),即所有特征状态被覆盖;重要关键字要求两两组合覆盖;核心关键字要求三三组合覆盖。按照覆盖策略设计并执行测试用例,基于数字化仿真平台采集运行结果信息,对系统级测试充分性进行分析,指导测试用例设计和测试数据选择,逐步提高系统级测试验证的充分性。
本发明的一种基于数字化仿真环境的系统级测试验证方法,具有如下特点:
1、采用虚拟化仿真技术实现了处理器、外设、总线等物理设备的仿真,可以摆脱实装环境在实验室中构建系统级的测试验证环境,可监控系统运行状态和重复部署,提高了测试环境的复用性,降低了测试环境的构建成本,解决了系统级测试验证环境匮乏的问题。
2、采用系统状态模型对应用层通信协议进行抽象描述,通过信息关键字定义和特征状态提取生成模型文件,采用模型文件来描述系统功能,为系统级测试验证提供了一种可量化的指标。
3、将组合测试覆盖性应用到系统级测试验证的充分性分析中,在配置项软件测试语句覆盖、分支覆盖的基础上,添加了组合测试覆盖性作为度量依据,同时针对组合测试用例爆炸的问题,对关键字重要等级进行了划分,采用不同的覆盖策略保证系统级测试验证的充分性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (4)
1.一种基于数字化仿真环境的系统级测试验证方法,其特征在于,该方法包括以下步骤:
第一步、构建系统级数字化仿真环境
根据嵌入式系统的硬件组成关系,构建与实装和半实物环境等效的数字化仿真环境;系统级数字化仿真环境由多个配置项仿真环境组成,配置项仿真环境间通过外部输入输出接口进行通信和同步;配置项仿真环境由处理器、外部设备模型组成,配置项仿真环境实现配置项软件加载并提供外部输入输出接口;
第二步、建立系统状态模型
对嵌入式软件应用层通信协议进行细化描述,定义系统状态模型,统计出嵌入式系统中所有的系统状态模型;系统状态模型由信息关键字定义和接口关系定义组成,信息关键字包含嵌入式软件运行过程中的各种状态记录,建立关键字与嵌入式系统功能的对应关系,通过关键字的覆盖性来描述系统功能的覆盖性;
第三步、设计并运行测试用例
根据系统状态模型设计测试用例,提取系统状态模型中的关键字信息并设置关键字的重要程度,选取多个关键字生成测试用例,进行故障和异常模拟,在数字化仿真环境中加载运行测试用例;
第四步、采集系统运行状态数据
系统级数字化仿真环境由多个配置项仿真环境组成,配置项仿真环境之间存在数据交互,通过监控数字化仿真环境运行状态,采集接口交互数据,对采集的数据进行校验并记录时间戳信息,保证各个配置项仿真环境之间数据的一致性;
第五步、系统级测试充分性分析
解析记录的采集数据,提取系统状态模型信息,判断测试用例对应的关键字的组合覆盖性,进行系统级测试充分性分析,生成当前测试用例的测试报告;根据关键字覆盖数据指导测试用例设计,重新运行测试用例,采集数据并进行分析,生成测试报告;重复以上步骤至所有关键字覆盖,生成系统级测试报告;
其中,
所述第一步具体包括:
S11、分析被测软件系统组成结构,梳理各分系统的信息交互关系,确认各分系统外部接口;
S12、根据配置项物理环境,采用虚拟化技术建立配置项仿真环境;
S13、建立各配置项仿真环境间的连接关系,对各配置项仿真环境间通信接口进行监控,用于采集通信数据开展系统级测试充分性分析;
所述第二步具体包括:
S21、定义系统状态模型,系统状态模型描述属性、数据、约束三方面内容,属性包含系统的功能、逻辑、行为、结构信息;数据包含对应的系统信息关键字;约束包含系统状态模型应该满足的约束条件;
S22、建立系统状态模型中属性和数据的对应关系,包括系统功能和信息关键字的映射关系;
S23、对信息关键字重要等级进行划分并提取关键字的特征状态,信息关键字特征状态的提取包括对离散型特征状态和连续型特征状态的提取;
所述第三步具体包括:
S31、解析系统状态模型,提取信息关键字的特征状态;
S32、对信息关键字赋予权重信息,按照不同的重要程度选取一一组合、两两组合、三三组合算法生成测试用例和测试脚本;
S33、执行测试脚本,测试脚本对生成的组合测试用例进行了编排,顺序执行所有生成的测试用例;
对信息关键字赋予权重信息,按照不同的重要程度选取不同的覆盖策略:将关键字重要等级划分为一般、重要、核心级别,不同级别采用不同的覆盖要求,一般关键字要求一一组合覆盖,即所有特征状态被覆盖;重要关键字要求两两组合覆盖;核心关键字要求三三组合覆盖;按照覆盖策略设计并执行测试用例,基于数字化仿真平台采集运行结果信息,对系统级测试充分性进行分析,指导测试用例设计和测试数据选择,逐步提高系统级测试验证的充分性;
所述第四步具体包括:
S41、确认配置项仿真环境间的交互接口,包括接口类型、接口名称、信息来源、信息目的地和数据传输内容;
S42、采集接口通信数据,通过虚拟外设监控和记录接口间的通信数据,添加时间戳、信源、信宿标识信息;
S43、提取系统状态模型数据,解析各接口记录的通信数据,采用定义好相应接口的系统状态模型解析数据,填充系统状态模型的属性、数据、约束内容;
所述第五步具体包括:
S51、解析系统状态模型数据,统计信息关键字特征状态的覆盖性;
S52、指导测试用例设计,分析信息关键字未覆盖特征状态原因,针对未覆盖特征状态重新设计数据并执行步骤三至步骤五,直至当前信息关键字特征状态已完全覆盖;
S53、记录当前信息关键字组合的覆盖信息,重新执行步骤三至步骤五,完成其他信息关键字组合的测试;
S54、将所有组合测试用例执行结果进行汇总,生成整个系统级软件的特征状态覆盖性报告,根据特征状态的覆盖情况来判别系统级测试验证的充分性,若系统级测试不充分,则返回至步骤二审查系统状态模型的有效性,修改完善后继续开展后续测试验证步骤,逐步提高系统级测试验证充分性。
2.如权利要求1所述的基于数字化仿真环境的系统级测试验证方法,其特征在于,所述S22中,通过建立数据字典,将数据与系统功能、逻辑、行为、结构信息关联,采用JSON结构化文件进行持久化存储,测试过程中通过分析信息关键字覆盖情况指导测试用例设计和测试数据选择。
3.如权利要求1所述的基于数字化仿真环境的系统级测试验证方法,其特征在于,所述S23中,离散型特征状态采用应用层协议中的整型取值定义,连续型特征状态采用应用层协议中实数取值定义,依据系统测试的需求,通过区间划分方式定义出具体的状态数据。
4.如权利要求1所述的基于数字化仿真环境的系统级测试验证方法,其特征在于,所述S51具体包括:信息关键字具有X种特征状态,测试用例结果数据中的信息关键字仅覆盖了Y种状态,记录信息关键字特征状态的覆盖性为Y/X。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310461935.9A CN116467211B (zh) | 2023-04-26 | 2023-04-26 | 一种基于数字化仿真环境的系统级测试验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310461935.9A CN116467211B (zh) | 2023-04-26 | 2023-04-26 | 一种基于数字化仿真环境的系统级测试验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116467211A CN116467211A (zh) | 2023-07-21 |
CN116467211B true CN116467211B (zh) | 2023-09-26 |
Family
ID=87178765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310461935.9A Active CN116467211B (zh) | 2023-04-26 | 2023-04-26 | 一种基于数字化仿真环境的系统级测试验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116467211B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117709256B (zh) * | 2024-02-04 | 2024-04-26 | 北京壁仞科技开发有限公司 | 一种验证信息的生成方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102945204A (zh) * | 2012-11-14 | 2013-02-27 | 清华大学 | 一种基于接口模型的操作系统标准符合性测试的充分性评估方法 |
CN105022691A (zh) * | 2015-07-22 | 2015-11-04 | 国家电网公司 | 一种基于uml图的高度自动化软件测试方法 |
CN113221318A (zh) * | 2021-03-30 | 2021-08-06 | 北京计算机技术及应用研究所 | 一种基于dds的系统级仿真测试环境构建方法 |
CN114816980A (zh) * | 2022-01-28 | 2022-07-29 | 陕西烽火电子股份有限公司 | 一种嵌入式通信系统用自动测试装置及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7711534B2 (en) * | 2005-12-09 | 2010-05-04 | International Business Machines Corporation | Method and system of design verification |
-
2023
- 2023-04-26 CN CN202310461935.9A patent/CN116467211B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102945204A (zh) * | 2012-11-14 | 2013-02-27 | 清华大学 | 一种基于接口模型的操作系统标准符合性测试的充分性评估方法 |
CN105022691A (zh) * | 2015-07-22 | 2015-11-04 | 国家电网公司 | 一种基于uml图的高度自动化软件测试方法 |
CN113221318A (zh) * | 2021-03-30 | 2021-08-06 | 北京计算机技术及应用研究所 | 一种基于dds的系统级仿真测试环境构建方法 |
CN114816980A (zh) * | 2022-01-28 | 2022-07-29 | 陕西烽火电子股份有限公司 | 一种嵌入式通信系统用自动测试装置及方法 |
Non-Patent Citations (1)
Title |
---|
基于全数字仿真的虚拟软件测试环境;滕俊元等;机电一体化(09);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116467211A (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684681B (zh) | 应用uvm验证平台的高层次化验证方法 | |
CN103235756B (zh) | 一种面向嵌入式系统分区应用程序软件的仿真测试方法 | |
US8448148B1 (en) | Detection of deadlocks or race conditions in physical systems using load testing | |
CN111125052B (zh) | 基于动态元数据的大数据智能建模系统及方法 | |
CN111176984A (zh) | 一种面向信号的自动测试实现方法 | |
CN112417798B (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
CN116467211B (zh) | 一种基于数字化仿真环境的系统级测试验证方法 | |
CN104598373B (zh) | 一种多技术融合的嵌入式软件测试方法 | |
CN113887161A (zh) | 一种片上网络设计实例的验证方法、装置、设备及介质 | |
US20070157134A1 (en) | Method for testing a hardware circuit block written in a hardware description language | |
CN115563019A (zh) | 一种uvm与c联合验证方法和系统 | |
CN114757135B (zh) | 一种基于需求驱动验证的可编程逻辑器件验证方法及系统 | |
WO2023230883A1 (zh) | 一种测试方法、系统及装置 | |
Zhu et al. | A methodology of model-based testing for AADL flow latency in CPS | |
CA3144852A1 (en) | Automatic generation of integrated test procedures using system test procedures | |
CN113360397A (zh) | 系统功能的回归测试方法、装置、设备及存储介质 | |
CN113032260A (zh) | 基于组件化分布式系统的故障注入仿真测试方法及系统 | |
CN112035996A (zh) | 一种装备测试性一体化设计与评估系统 | |
CN111338761A (zh) | 一种51单片机虚拟中断控制器及实现方法 | |
Ogawa et al. | A practical study of debugging using model checking | |
CN112699030B (zh) | 一种供电分区软件的自动化测试方法 | |
CN112711532B (zh) | 一种起落架分区软件的自动化测试方法 | |
CN117130348A (zh) | 一种面向车规芯片功能安全验证平台、方法、设备及介质 | |
Wang et al. | Model-based simulation testing for embedded software | |
Shen et al. | A Universal-Verification-Methodology-Based Verification Strategy for High-Level Synthesis Design |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |