CN111858338A - 一种测试用例设计方法和装置 - Google Patents
一种测试用例设计方法和装置 Download PDFInfo
- Publication number
- CN111858338A CN111858338A CN202010705925.1A CN202010705925A CN111858338A CN 111858338 A CN111858338 A CN 111858338A CN 202010705925 A CN202010705925 A CN 202010705925A CN 111858338 A CN111858338 A CN 111858338A
- Authority
- CN
- China
- Prior art keywords
- functional module
- test case
- functional
- interface
- embedded system
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 96
- 238000013461 design Methods 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000006870 function Effects 0.000 claims description 35
- 239000011159 matrix material Substances 0.000 claims description 31
- 238000004891 communication Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 abstract description 6
- 238000007726 management method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 102100037944 Integrator complex subunit 12 Human genes 0.000 description 1
- 101710149803 Integrator complex subunit 12 Proteins 0.000 description 1
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种测试用例设计方法和装置,涉及软件黑盒测试技术领域,用于模式化的基于不够清晰的需求生成嵌入式系统的测试用例。该方法用于对目标嵌入式系统进行用例设计,包括:根据目标嵌入式系统的功能需求自顶向下将目标嵌入式系统划分为至少一个功能模块;确定各功能模块的接口和各功能模块的接口之间的连接关系;接口包括:输入接口和输出接口;根据各功能模块的接口和各功能模块的接口之间的连接关系在Scade Architect中建立模型,获取各功能模块的需求模型;基于各功能模块的需求模型设计各功能模块对应的测试用例。本发明实施例用于需求分析和测试用例设计。
Description
技术领域
本发明涉及软件黑盒测试技术领域,尤其涉及一种测试用例设计方法和装置。
背景技术
基于动态间隔的运能可配置列车运行控制系统(C4D-I)吸收、优化既有信号逻辑,采用卫星定位、多模通信、运能动态配置等技术,实现了轨旁设备最少化、通信多模化、车载中心化、运能适配化和维护智能化。由于基于动态间隔的运能可配置列车运行控制系统去除了轨道电路,减少了轨旁设备,因此可以有效降低建设和运维成本,同时可以极大减少信号设备现场调试时间和测试时间,对于地域辽阔、自然环境恶劣、交通及通信基础设施不完善地区的列车运行控制有着重大意义。
RMU作为基于动态间隔的运能可配置列车运行控制系统的地面核心设备,它高度集成既有第三代中国列车运行控制系统(Chinese Train Control System-3,CTCS-3)级系统中的地面无限闭塞中心(Radio Block Center,RBC)、临时限速服务器(Temporary SpeedRestriction Server,TSRS)、列车控制中心(Train Control Center,TCC)和联锁设备部分功能,对基于动态间隔的运能可配置列车运行控制系统的应用有着非常主要的意义。然而,基于动态间隔的运能可配置列车运行控制系统作为一种新型列车运行控制系统,目前仍处于产品项目初始阶段,其RMU系统缺乏成熟的技术规范和参考文件,且RMU系统一般为嵌入式系统,因此如何模式化的基于不够清晰的需求生成嵌入式系统的测试用例是一个亟待解决的问题。
发明内容
有鉴于此,本发明提供了一种测试用例设计方法和装置,用于模式化的基于不够清晰的需求生成嵌入式系统的测试用例。
为了实现上述目的,本发明实施例提供技术方案如下:
第一方面,本发明实施例提供一种测试用例设计方法,用于对目标嵌入式系统进行用例设计,所述方法包括:
根据所述目标嵌入式系统的功能需求自顶向下将所述目标嵌入式系统划分为至少一个功能模块;
确定各功能模块的接口和各功能模块的接口之间的连接关系;所述接口包括:输入接口和输出接口;
根据各功能模块的接口和各功能模块的接口之间的连接关系在Scade Architect中建立模型,获取各功能模块的需求模型;
基于各功能模块的需求模型设计各功能模块对应的测试用例。
作为本发明实施例一种可选的实施方式,所述基于各功能模块的需求模型设计各功能模块对应的测试用例,包括:
基于所述目标嵌入式系统的业务规则,确定各功能模块的不同输入参数对应的输出参数,以及各输入参数之间的约束条件;
基于各功能模块的不同输入参数、不同输入参数对应的输出参数以及各输入参数之间的约束条件,形成各功能模块对应的二维矩阵;
根据各功能模块对应的二维矩阵生成各功能模块对应的测试用例。
作为本发明实施例一种可选的实施方式,所述根据各功能模块对应的二维矩阵获取各功能模块对应的测试用例,包括:
根据各功能模块对应的二维矩阵的复杂度,将各个功能模块对应的二维矩阵拆分为至少一个测试用例。
作为本发明实施例一种可选的实施方式,在基于所述目标嵌入式系统的业务规则,确定各功能模块的不同输入参数对应的输出参数,以及各输入参数之间的约束条件之前,所述方法还包括:
根据各功能模块的各输入参数的取值,生成各功能模块的输入参数取值集;
通过等价类和/或边界值的方式精简各功能模块的输入参数取值集。
作为本发明实施例一种可选的实施方式,在基于各功能模块的需求模型设计各功能模块对应的测试用例之前,所述方法还包括:
通过Scade checker对各功能模块的需求模型进行查验。
作为本发明实施例一种可选的实施方式,所述通过Scade checker对各功能模块的需求模型进行查验,包括:
通过Scade checker对各功能模块的需求模型进行以下至少一个查验项目的查验:
查验各功能模块的需求模型是否有未定义的输入输出;
查验各功能模块的需求模型是否完整;
查验各功能模块的需求模型是否具有非必要的数据流。
作为本发明实施例一种可选的实施方式,所述目标嵌入式系统为基于动态间隔的运能可配置列车运行控制系统中的资源管理单元RMU的系统。
第二方面,本发明实施例提供一种测试用例设计装置,用于对目标嵌入式系统进行用例设计,包括:
拆分单元,用于根据所述目标嵌入式系统的功能需求自顶向下将所述目标嵌入式系统划分为至少一个功能模块;
处理单元,用于确定各功能模块的接口和各功能模块的接口之间的连接关系;所述接口包括:输入接口和输出接口;
建模单元,用于根据各功能模块的接口和各功能模块的接口之间的连接关系在Scade Architect中建立模型,获取各功能模块的需求模型;
设计单元,用于基于各功能模块的需求模型设计各功能模块对应的测试用例。
作为本发明实施例一种可选的实施方式,所述设计单元,具体用于基于所述目标嵌入式系统的业务规则,确定各功能模块的不同输入参数对应的输出参数,以及各输入参数之间的约束条件;基于各功能模块的不同输入参数、不同输入参数对应的输出参数以及各输入参数之间的约束条件,形成各功能模块对应的二维矩阵;根据各功能模块对应的二维矩阵生成各功能模块对应的测试用例。
作为本发明实施例一种可选的实施方式,所述设计单元,具体用于根据各功能模块对应的二维矩阵的复杂度,将各个功能模块对应的二维矩阵拆分为至少一个测试用例。
作为本发明实施例一种可选的实施方式,所述设计单元,还用于根据各功能模块的各输入参数的取值,生成各功能模块的输入参数取值集;通过等价类和/或边界值的方式精简各功能模块的输入参数取值集。
作为本发明实施例一种可选的实施方式,所述测试用例设计装置还包括:
检测单元,用于在所述设计单元基于各功能模块的需求模型设计各功能模块对应的测试用例之前,通过Scade checker对各功能模块的需求模型进行查验。
作为本发明实施例一种可选的实施方式,所述检测单元,具体用于通过Scadechecker对各功能模块的需求模型进行以下至少一个查验项目的查验:
查验各功能模块的需求模型是否有未定义的输入输出;
查验各功能模块的需求模型是否完整;
查验各功能模块的需求模型是否具有非必要的数据流。
作为本发明实施例一种可选的实施方式,所述目标嵌入式系统为基于动态间隔的运能可配置列车运行控制系统中的资源管理单元RMU的系统。
第三方面、本发明实施例提供一种电子设备,包括:处理器、存储器、通信接口以及输入装置,所述存储器、所述通信接口和所述输入装置耦合至所述处理器,所述存储器用于存储计算机执行代码,所述计算机执行代码用于控制所述处理器执行第一方面或第一方面任一种可选的实施例方式所述的测试用例设计方法。
第四方面,本发明实施例还提供计算机存储介质,所述计算机存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行第一方面或第一方面任一种可选的实施例方式所述的测试用例设计方法。
本发明实施例提供了一种用于对目标嵌入式系统进行用例设计的测试用例设计方法,该方法首先根据所述目标嵌入式系统的功能需求自顶向下将所述目标嵌入式系统划分为至少一个功能模块,然后确定各功能模块的输入接口和输出接口和各功能模块的输入接口和输出接口之间的连接关系;再根据各功能模块的接口和各功能模块的接口之间的连接关系在Scade Architect中建立模型,获取各功能模块的需求模型,最后基于各功能模块的需求模型设计各功能模块对应的测试用例。由于本发明实施例可以根据所述目标嵌入式系统的功能需求自顶向下将所述目标嵌入式系统划分为至少一个功能模块,并根据各功能模块的接口和各功能模块的接口之间的连接关系在Scade Architect中建立模型,再基于各功能模块的需求模型设计各功能模块对应的测试用例,在生成测试用例之前无需预先确定需求,因此本发明实施例可以模式化的基于不够清晰的需求模式化的生成嵌入式系统的测试用例。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。
图1为本发明实施例提供的测试用例设计方法的步骤流程图之一;
图2为本发明实施例提供的嵌入式软件的简化模型示意图;
图3为本发明实施例提供的测试用例设计方法的步骤流程图之二;
图4为本发明实施例提供的RMU系统的第一层级功能模块示意图;
图5为本发明实施例提供的资源请求模块的需求模型示意图;
图6为本发明实施例提供的测试用例设计装置的结构示意图之一;
图7为本发明实施例提供的测试用例设计装置的结构示意图之二;
图8为本发明实施例提供的电子设备的硬件结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。此外,在本发明实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
以下首先对本发明实施例中的技术术语进行说明。
需求分析:需求分析也称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。
测试用例:英文名称:Test Case,是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。简单地认为,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。
本发明实施例提供了一种用于对目标嵌入式系统进行用例设计的测试用例设计方法。具体的,参照图1所示,本发明实施例提供的测试用例设计方法,包括如下步骤:
S11、根据所述目标嵌入式系统的功能需求自顶向下将所述目标嵌入式系统划分为至少一个功能模块。
本发明实施例中的目标嵌入式系统可以为没有明确的技术规范和用户需求的产品的嵌入式系统。可选的,本发明实施例中的目标嵌入式系统可以为基于动态间隔的运能可配置列车运行控制系统中的RMU的系统。
参照图2所示,根据嵌入式软件的特点,可以把需求划分为接口和功能模块两部分,接口包括:输入接口11和输出接口12,功能模块部分由连续控制部分21与状态逻辑部分22组成,其输入接口11和输出接口12分别为传感器和执行器。针对这种划分,SCADE提供了两套图形化的建模机制:数据流图和有限状态机。对应嵌入式软件结构的划分,数据流图模型可以用来表示连续控制部分,主要包括输入输出处理、复杂的数学逻辑计算和实现各种算法等功能;有限状态机模型可以用来表示状态逻辑部分,主要包括各种状态的迁移和工作模式的变化等功能。
S12、确定各功能模块的接口和各功能模块的接口之间的连接关系。
其中,所述接口包括:输入接口和输出接口。
即,确定每一个模块的输入接口、输出接口以及各个模块的输出接口和输出接口之间的连接关系。
S13、根据各功能模块的接口和各功能模块的接口之间的连接关系在ScadeArchitect中建立模型,获取各功能模块的需求模型。
具体的,可以根据各功能模块的功能需求和接口需求在Scade Architect创建项目直接建立模型,建立各功能模块对应的黑盒模型。
S14、基于各功能模块的需求模型设计各功能模块对应的测试用例。
本发明实施例提供了一种用于对目标嵌入式系统进行用例设计的测试用例设计方法,该方法首先根据所述目标嵌入式系统的功能需求自顶向下将所述目标嵌入式系统划分为至少一个功能模块,然后确定各功能模块的输入接口和输出接口和各功能模块的输入接口和输出接口之间的连接关系;再根据各功能模块的接口和各功能模块的接口之间的连接关系在Scade Architect中建立模型,获取各功能模块的需求模型,最后基于各功能模块的需求模型设计各功能模块对应的测试用例。由于本发明实施例可以根据所述目标嵌入式系统的功能需求自顶向下将所述目标嵌入式系统划分为至少一个功能模块,并根据各功能模块的接口和各功能模块的接口之间的连接关系在Scade Architect中建立模型,再基于各功能模块的需求模型设计各功能模块对应的测试用例,在生成测试用例之前无需预先确定需求,因此本发明实施例可以模式化的基于不够清晰的需求模式化的生成嵌入式系统的测试用例。
作为对上述实施例提供的测试用例设计方法的细化,本发明实施例提供一种测试用例设计方法,具体的,参照图3所示,该测试用例设计方法包括如下步骤:
S301、根据所述目标嵌入式系统的功能需求自顶向下将所述目标嵌入式系统划分为至少一个功能模块。
S302、确定各功能模块的接口和各功能模块的接口之间的连接关系。
其中,所述接口包括:输入接口和输出接口。
S303、根据各功能模块的接口和各功能模块的接口之间的连接关系在ScadeArchitect中建立模型,获取各功能模块的需求模型。
S304、通过Scade checker对各功能模块的需求模型进行查验。
具体的,通过Scade checker对各功能模块的需求模型进行查验,包括:
通过Scade checker对各功能模块的需求模型进行以下至少一个查验项目的查验:
查验各功能模块的需求模型是否有未定义的输入输出;
查验各功能模块的需求模型是否完整;
查验各功能模块的需求模型是否具有非必要的数据流。
即,通过Scade checker检测各个功能模块的需求模型是否具有未定义的输入输出、是否完成以及是否有非必要的数据流。
S305、根据各功能模块的各输入参数的取值,生成各功能模块的输入参数取值集。
例如:对于某一功能模块其包括两个输入,该两个输入分别为In1和In2,且In1的取值范围为(x1,y1),In2的取值范围为(x2,y2),则功能模块的输入参数取值集包括:[In1,In2;In1∈(x1,y1),In2∈(x2,y2)]。
S306、通过等价类和/或边界值的方式精简各功能模块的输入参数取值集。
承上示例所述,对于In1,当In1取值大于Q1时,In1为有效输入;当In1取值小于或等于Q1时,In1为无效输入;对于In2,当In2取值大于Q2时,In2为有效输入;当In2取值小于或等于Q2时,In2为无效输入。其中,x1≤Q1≤y1;x2≤Q2≤y2,则可以通过等价类和/或边界值的方式将功能模块的输入参数取值集精简为:[In1,In2;In1∈(0,1),In2∈(0,1)],其中,当In1或In2取值为1时,In1或In2为有效输入,而当In1或In2取值为0时,In1或In2为无效输入。
S307、基于所述目标嵌入式系统的业务规则,确定各功能模块的不同输入参数对应的输出参数,以及各输入参数之间的约束条件。
S308、基于各功能模块的不同输入参数、不同输入参数对应的输出参数以及各输入参数之间的约束条件,形成各功能模块对应的二维矩阵。
例如:某一功能模块有三个输入参数(In 1、In 2和In 3),两个输出参数(Out1,Out2),对于任一输入参数,若取值为0,则表示该输入参数不满足对应条件,若取值为1,则表示该输入参数满足对应条件,则基于该功能模块的不同输入参数、不同输入参数对应的输出参数以及各输入参数之间的约束条件,形成的该功能模块对应的二维矩阵可以如下表1所示:
表1
S309、根据各功能模块对应的二维矩阵生成各功能模块对应的测试用例。
具体的,各功能模块对应的二维矩阵即为各功能模块的测试用例集,各功能模块对应的二维矩阵的每一列即为各功能模块的一个测试用例,因此根据各功能模块对应的二维矩阵生成各功能模块对应的测试用例即为将各功能模块对应的二维矩阵的每一列拆分为各功能模块的一个测试用例。
上述用例设计方法可以很好的避免用例至于需求的覆盖不全或者错误覆盖的问题,同时为自动化设计导出用例提供了很好的前期工作。
进一步的,所述根据各功能模块对应的二维矩阵获取各功能模块对应的测试用例,包括:
根据各功能模块对应的二维矩阵的复杂度,将各个功能模块对应的二维矩阵拆分为至少一个测试用例。
即,在转化为用例时可以依据用例集本身的复杂程度进行用例的拆分,避免单个用例步骤过于复杂。
以下以目标嵌入式系统为基于动态间隔的运能可配置列车运行控制系统中的RMU的系统为例对上述实施例提供的测试用例设计方法进行举例说明。
步骤1、根据数据流图可以将基于动态间隔的运能可配置列车运行控制系统中的RMU的系统划分分为多个第一层级功能模块,参照图4所示,包括:输入管理模块401、RA管理模块402、列车位置管理模块403、列车状态管理模块404、地图管理模块405、差分管理模块406、报文数据管理模块407、资源管理模块408、第一运营计划处理模块409、第二运营计划处理模块410以及输出管理模块411。此外,在得到第一层级功能模块后,还可以根据功能需求进一步对第一层级功能模块中的各个功能模块进行划分,得到第二层级的功能模块,并进一步对第二层级的功能模块进行划分,直到每一个功能模块均为最低层的可实现的功能模块。
进一步的,以下以建立资源管理模块408中的资源请求的需求模型为例对测试用例设计方法的后续步骤进行说明。
步骤2,确定资源请求模块包括4个输入和2个输出,其中,第一输入(In1)用于指示资源请求消息的发送主体,其取值包括2个,一个为列车,另一个为动态运能决策系统(Dynamic Capacity Decision,DCD);第二输入(In2)用于指示道岔位置当前位置,其取值包括3个,分别为:在规定位置、不在规定位置以及位置异常(包括挤岔等);第三输入(In3)用于指示区段状态,其取值包括2个,分别为:区段占用和区段清出。第四输入(In4)用于指示区段状态,其取值包括4个,分别为:有LOI封锁无区段封锁、有LOI封锁有区段封锁、无LOI封锁无区段封锁以及无LOI封锁,无区段封锁;第一输出(Out1)用于指示目标控制器(Object controller,OC)是否驱动岔道,其取值包括2个,分别为:驱动道岔和不驱动道岔;第二输出(Out2)用于指示资源申请状态,其取值包括2个,分别为:申请成功和申请失败。
步骤3、根据资源请求模块的输入接口和输出接口在Scade Architect中建立模型,获取的资源请求模块的需求模型。
示例性的,资源请求模块的需求模型可以如图5所示。
步骤4、根据资源请求模块的各输入参数的取值,生成资源请求模块的输入参数取值集,并通过等价类和/或边界值的方式精简资源请求模块的输入参数取值集。
承上示例所述,资源请求模块的输入参数取值集包括:
第一输入(In1):
In11:列车→0
Int12:DCD→1
第二输入(In2):
In21:在规定位置→0
In22:不在规定位置→1
In23:位置异常→2
输入3(In3):
In31:区段占用→0
In32:区段出清→1
第四输入(In4):
In41:有LOI封锁,无区段封锁→0
In42:有LOI封锁,有区段封锁→1
In42:无LOI封锁,无区段封锁→2
In42:无LOI封锁,无区段封锁→3
步骤5、基于动态间隔的运能可配置列车运行控制系统的业务规则,确定资源申请模块的不同输入参数对应的输出参数。
例如:基于业务规则确定当In1=0、In2=0、In3=0且In4=0时,第一输出应当为OC不驱动岔道,第二输出应当为资源申请失败。
再例如:基于业务规则确定当In1=0、In2=0、In3=0且In4=2时,第一输出应当为OC不驱动岔道,第二输出应当为资源申请成功。
将OC驱动岔道定义为取值为0,不驱动岔道定义为取值为1,资源申请成功定义为取值为0,资源申请失败定义为取值为1,则资源请求模块的输出参数取值集包括:
第一输出(Out1):
Out11:驱动道岔→0
Out12:不驱动道岔→1
第二输出(Out2):
Out21:申请成功→0
Out22:申请失败→1
步骤6、基于资源申请模块的不同输入参数、不同输入参数对应的输出参数以及各输入参数之间的约束条件,形成资源申请模块对应的二维矩阵。
示例性的,资源申请模块对应的二维矩阵可以如下表2所示:
表2
步骤7、根据表2所示二维矩阵的复杂度,将资源申请模块对应的二维矩阵拆分为至少一个测试用例。
例如:一个测试用例为基于业务规则确定In1=0、In2=0、In3=0、In4=0、Out1、Out2。
基于同一发明构思,作为对上述方法的实现,本发明实施例还提供了一种用于对目标嵌入式系统进行用例设计的测试用例设计装置,该实施例与前述方法实施例对应,为便于阅读,本实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的测试用例设计装置能够对应实现前述方法实施例中的全部内容。
图6为本发明实施例提供的测试用例设计装置的结构示意图,参照图6所示,本发明实施例提供的测试用例设计装置600包括:
拆分单元61,用于根据所述目标嵌入式系统的功能需求自顶向下将所述目标嵌入式系统划分为至少一个功能模块;
处理单元62,用于确定各功能模块的接口和各功能模块的接口之间的连接关系;所述接口包括:输入接口和输出接口;
建模单元63,用于根据各功能模块的接口和各功能模块的接口之间的连接关系在Scade Architect中建立模型,获取各功能模块的需求模型;
设计单元64,用于基于各功能模块的需求模型设计各功能模块对应的测试用例。
作为本发明实施例一种可选的实施方式,所述设计单元64,具体用于基于所述目标嵌入式系统的业务规则,确定各功能模块的不同输入参数对应的输出参数,以及各输入参数之间的约束条件;基于各功能模块的不同输入参数、不同输入参数对应的输出参数以及各输入参数之间的约束条件,形成各功能模块对应的二维矩阵;根据各功能模块对应的二维矩阵生成各功能模块对应的测试用例。
作为本发明实施例一种可选的实施方式,所述设计单元64,具体用于根据各功能模块对应的二维矩阵的复杂度,将各个功能模块对应的二维矩阵拆分为至少一个测试用例。
作为本发明实施例一种可选的实施方式,所述设计单元64,还用于根据各功能模块的各输入参数的取值,生成各功能模块的输入参数取值集;通过等价类和/或边界值的方式精简各功能模块的输入参数取值集。
作为本发明实施例一种可选的实施方式,参照图7所示,所述测试用例设计装置还包括:
检测单元65,用于在所述设计单元基于各功能模块的需求模型设计各功能模块对应的测试用例之前,通过Scade checker对各功能模块的需求模型进行查验。
作为本发明实施例一种可选的实施方式,所述检测单元65,具体用于通过Scadechecker对各功能模块的需求模型进行以下至少一个查验项目的查验:
查验各功能模块的需求模型是否有未定义的输入输出;
查验各功能模块的需求模型是否完整;
查验各功能模块的需求模型是否具有非必要的数据流。
作为本发明实施例一种可选的实施方式,所述目标嵌入式系统为基于动态间隔的运能可配置列车运行控制系统中的资源管理单元RMU的系统。
本发明实施例提供的测试用例设计装置可以执行上述实施例提供的测试用例设计方法中的全部内容,因此可达到相同的技术效果,在此不再对测试用例设计装置所能达到的技术效果进行赘述。
基于同一发明构思,本发明实施例还提供了一种电子设备。图8为本发明实施例提供的电子设备的结构示意图,如图8所示,本实施例提供的电子设备包括:处理器81、存储器82、通信接口83以及输入装置84,所述存储器82、所述通信接口83和所述输入装置84耦合至所述处理器81,所述存储器82用于存储计算机执行代码,所述计算机执行代码用于控制所述处理器81执行上述方法实施例所述的测试用例设计方法。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所述的测试用例设计方法的步骤。
本领域技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储,信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。根据本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种测试用例设计方法,其特征在于,用于对目标嵌入式系统进行用例设计,所述方法包括:
根据所述目标嵌入式系统的功能需求自顶向下将所述目标嵌入式系统划分为至少一个功能模块;
确定各功能模块的接口和各功能模块的接口之间的连接关系;所述接口包括:输入接口和输出接口;
根据各功能模块的接口和各功能模块的接口之间的连接关系在Scade Architect中建立模型,获取各功能模块的需求模型;
基于各功能模块的需求模型设计各功能模块对应的测试用例。
2.根据权利要求1所述的方法,其特征在于,所述基于各功能模块的需求模型设计各功能模块对应的测试用例,包括:
基于所述目标嵌入式系统的业务规则,确定各功能模块的不同输入参数对应的输出参数,以及各输入参数之间的约束条件;
基于各功能模块的不同输入参数、不同输入参数对应的输出参数以及各输入参数之间的约束条件,形成各功能模块对应的二维矩阵;
根据各功能模块对应的二维矩阵生成各功能模块对应的测试用例。
3.根据权利要求2所述的方法,其特征在于,所述根据各功能模块对应的二维矩阵获取各功能模块对应的测试用例,包括:
根据各功能模块对应的二维矩阵的复杂度,将各个功能模块对应的二维矩阵拆分为至少一个测试用例。
4.根据权利要求2所述的方法,其特征在于,在基于所述目标嵌入式系统的业务规则,确定各功能模块的不同输入参数对应的输出参数,以及各输入参数之间的约束条件之前,所述方法还包括:
根据各功能模块的各输入参数的取值,生成各功能模块的输入参数取值集;
通过等价类和/或边界值的方式精简各功能模块的输入参数取值集。
5.根据权利要求1所述的方法,其特征在于,在基于各功能模块的需求模型设计各功能模块对应的测试用例之前,所述方法还包括:
通过Scade checker对各功能模块的需求模型进行查验。
6.根据权利要求5所述的方法,其特征在于,所述通过Scade checker对各功能模块的需求模型进行查验,包括:
通过Scade checker对各功能模块的需求模型进行以下至少一个查验项目的查验:
查验各功能模块的需求模型是否有未定义的输入输出;
查验各功能模块的需求模型是否完整;
查验各功能模块的需求模型是否具有非必要的数据流。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述目标嵌入式系统为基于动态间隔的运能可配置列车运行控制系统中的资源管理单元RMU的系统。
8.一种测试用例设计装置,其特征在于,用于对目标嵌入式系统进行用例设计,包括:
拆分单元,用于根据所述目标嵌入式系统的功能需求自顶向下将所述目标嵌入式系统划分为至少一个功能模块;
处理单元,用于确定各功能模块的接口和各功能模块的接口之间的连接关系;所述接口包括:输入接口和输出接口;
建模单元,用于根据各功能模块的接口和各功能模块的接口之间的连接关系在ScadeArchitect中建立模型,获取各功能模块的需求模型;
设计单元,用于基于各功能模块的需求模型设计各功能模块对应的测试用例。
9.一种电子设备,其特征在于,包括:处理器、存储器、通信接口以及输入装置,所述存储器、所述通信接口和所述输入装置耦合至所述处理器,所述存储器用于存储计算机执行代码,所述计算机执行代码用于控制所述处理器执行权利要求1-7任一项所述的测试用例设计方法。
10.一种计算机存储介质,所述计算机存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行如权利要求1-7中任一项所述的测试用例设计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010705925.1A CN111858338A (zh) | 2020-07-21 | 2020-07-21 | 一种测试用例设计方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010705925.1A CN111858338A (zh) | 2020-07-21 | 2020-07-21 | 一种测试用例设计方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111858338A true CN111858338A (zh) | 2020-10-30 |
Family
ID=73001241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010705925.1A Pending CN111858338A (zh) | 2020-07-21 | 2020-07-21 | 一种测试用例设计方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858338A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327381A (zh) * | 2021-11-24 | 2022-04-12 | 北京机电工程研究所 | 基于软件产品线可变性的嵌入式软件功能模块设计方法 |
CN118394638A (zh) * | 2024-04-22 | 2024-07-26 | 成都信息工程大学 | 一种列车自主运行控制系统测试用例生成方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10311864A1 (de) * | 2003-03-17 | 2004-09-30 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Generieren von Testfallmengen für einen Funktionstest eines Software-Moduls |
CN103036739A (zh) * | 2012-12-11 | 2013-04-10 | 首都师范大学 | 一种用于高可靠通信系统验证与性能分析的形式化方法 |
US20160378646A1 (en) * | 2015-06-24 | 2016-12-29 | Tata Consultancy Services Limited | Method and system for generating functional test cases for software systems |
CN107783901A (zh) * | 2017-09-26 | 2018-03-09 | 深圳市牛鼎丰科技有限公司 | 测试用例生成方法、装置、计算机设备及存储介质 |
CN110083527A (zh) * | 2019-03-18 | 2019-08-02 | 平安普惠企业管理有限公司 | 一种测试用例的生成方法及装置、电子设备 |
CN110430079A (zh) * | 2019-08-05 | 2019-11-08 | 腾讯科技(深圳)有限公司 | 车路协同系统 |
-
2020
- 2020-07-21 CN CN202010705925.1A patent/CN111858338A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10311864A1 (de) * | 2003-03-17 | 2004-09-30 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Generieren von Testfallmengen für einen Funktionstest eines Software-Moduls |
CN103036739A (zh) * | 2012-12-11 | 2013-04-10 | 首都师范大学 | 一种用于高可靠通信系统验证与性能分析的形式化方法 |
US20160378646A1 (en) * | 2015-06-24 | 2016-12-29 | Tata Consultancy Services Limited | Method and system for generating functional test cases for software systems |
CN107783901A (zh) * | 2017-09-26 | 2018-03-09 | 深圳市牛鼎丰科技有限公司 | 测试用例生成方法、装置、计算机设备及存储介质 |
CN110083527A (zh) * | 2019-03-18 | 2019-08-02 | 平安普惠企业管理有限公司 | 一种测试用例的生成方法及装置、电子设备 |
CN110430079A (zh) * | 2019-08-05 | 2019-11-08 | 腾讯科技(深圳)有限公司 | 车路协同系统 |
Non-Patent Citations (2)
Title |
---|
王华茂: "《航天器综合测试技术》", 31 March 2018, 北京理工大学出版社, pages: 284 - 285 * |
胡保生和彭勤科: "《嵌入式实时操作系统及应用开发 第2版》", vol. 2, 30 September 2006, 北京航空航天大学出版社, pages: 106 - 109 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327381A (zh) * | 2021-11-24 | 2022-04-12 | 北京机电工程研究所 | 基于软件产品线可变性的嵌入式软件功能模块设计方法 |
CN118394638A (zh) * | 2024-04-22 | 2024-07-26 | 成都信息工程大学 | 一种列车自主运行控制系统测试用例生成方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hammond et al. | Will it work?[requirements engineering] | |
US11079749B2 (en) | Method and apparatus for automated hazard detection | |
CN107783758B (zh) | 一种智能合约工程方法 | |
CN111108481B (zh) | 故障分析方法及相关设备 | |
WO2015143750A1 (zh) | 一种高速铁路列车运行控制车载系统故障逻辑建模方法 | |
CN103853650A (zh) | 一种模糊测试的测试用例生成方法及装置 | |
CN113271237B (zh) | 工控协议的解析方法、装置、存储介质及处理器 | |
JP4882736B2 (ja) | 情報処理装置,障害処理方法,障害処理プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体 | |
Heule et al. | Bridging the gap between easy generation and efficient verification of unsatisfiability proofs | |
CN113434355A (zh) | 模块验证方法、uvm验证平台、电子设备及存储介质 | |
Borälv | Case study: Formal verification of a computerized railway interlocking | |
CN111858338A (zh) | 一种测试用例设计方法和装置 | |
CN115469635A (zh) | 自动驾驶仿真测试功能安全的验证方法、装置及设备 | |
Hartung et al. | Automatized Parametric Modeling to Enhance a data-based Maintenance Process for Infrastructure Buildings | |
Arcaini et al. | Validation of the hybrid ERTMS/ETCS level 3 using SPIN | |
CN118132327A (zh) | 应用于化塑产业平台的电子商城运行数据分析方法及系统 | |
CN112860587B (zh) | Ui自动测试方法和装置 | |
Diab et al. | Dependable Computing Systems: Paradigms, Performance Issues, and Applications | |
CN115480944A (zh) | 车载娱乐终端的黑屏故障分析方法、装置、车辆及介质 | |
CN115221063A (zh) | 自动驾驶系统的软件在环仿真测试方法、装置及存储介质 | |
CN117056238B (zh) | 验证部署框架下模型转换正确性的方法及计算设备 | |
Cao et al. | Application oriented testcase generation for validation of environment perception sensor in automated driving systems | |
Bhatnagar et al. | On the challenges of on-the-fly knowledge acquisition for automated planning applications | |
Hadj-Mabrouk | Case-based reasoning for safety assessment of critical software | |
Morris | Data integration in the rail domain |
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 |