CN112015639A - 一种星载软件测试用例的生成方法及装置 - Google Patents
一种星载软件测试用例的生成方法及装置 Download PDFInfo
- Publication number
- CN112015639A CN112015639A CN202010762816.3A CN202010762816A CN112015639A CN 112015639 A CN112015639 A CN 112015639A CN 202010762816 A CN202010762816 A CN 202010762816A CN 112015639 A CN112015639 A CN 112015639A
- Authority
- CN
- China
- Prior art keywords
- state
- test
- path
- executable
- state machine
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012360 testing method Methods 0.000 claims abstract description 237
- 238000012546 transfer Methods 0.000 claims abstract description 87
- 230000006870 function Effects 0.000 claims abstract description 53
- 238000010586 diagram Methods 0.000 claims abstract description 37
- 230000014509 gene expression Effects 0.000 claims description 57
- 239000002131 composite material Substances 0.000 claims description 55
- 230000007704 transition Effects 0.000 claims description 51
- 230000009471 action Effects 0.000 claims description 32
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 11
- 239000000126 substance Substances 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 206010048669 Terminal state Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007619 statistical method Methods 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
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
本申请公开了一种星载软件测试用例的生成方法及装置,该方法包括:根据预设的星载软件需求信息建立状态机模型,其中,所述状态机模型是指采用状态机图描述软件系统中功能的状态图元以及转移图元;将所述状态机模型转换为有向图以及确定所述有向图中所有路径集合,并根据预设的路径约束条件从所有路径集合中确定出可执行路径集合;根据预设的测试用例覆盖策略从所述可执行路径集合中确定出可执行测试路径集合,根据所述可执行测试路径集合自动生成测试用例集。本申请提高了所生成的测试用例的质量。
Description
技术领域
本申请涉及测试技术领域,尤其涉及一种星载软件测试用例的生成方法及装置。
背景技术
由于嵌入式软件系统内核较小、系统精简以及实时性强等优点,嵌入式软件系统非常适用于具有多任务的操作系统,星载系统资源有限,专用性强的特定场合,故嵌入式软件被广泛应用到航天领域中。随着航天技术的快速发展,嵌入式软件能够实现对设备运行、监控或自动化管理等功能,航天领域相关软件一旦出现错误或者失效将会导致非常严重的后果甚至造成重大的损失,因此,对航天领域相关软件的正确性、可靠性以及安全性有着非常严格的要求。为了保证软件的正确性、可靠性以及安全性,通常采用测试用例对软件的正确性、可靠性以及安全性检测。随着软件研制趋于工程化,敏捷化发展,研制周期变短,需求更动迭代快速,对测试用例的效率和测试充分性要求也越来越高。
目前,常用的测试用例的生成方法主要是技术人员基于文档的需求分析模式,通过经验以及自然语言描述生成软件的测试用例。一方面,由于自然语言的描述存在二义性,且测试用例设计的质量和效率主要依赖于人员经验,使得生成的测试用例缺乏规范性和标准性;另一方面,对于具有复杂逻辑的功能模块,测试用例设计的充分性和合理性难以保障,缺乏评价标准,并且对于测试用例的回归测试影响需要采用专门的覆盖率分析工具进行统计,针对不同的测试设备,嵌入式处理器需要选用特定的工具进行统计分析,因此,现有技术中所生成的测试用例缺乏规范性、标准性以及评价标准,且充分性以及合理性也不足,进而降低了测试用例的质量。
发明内容
本申请解决的技术问题是:针对现有技术所生成的测试用例的质量较差的问题,本申请提供了一种星载软件测试用例的生成方法及装置,本申请实施例所提供的方案中,一方面通过采用状态机图对软件系统中功能的状态图元以及转移图元进行描述,即采用半形式化的语言对软件系统中功能的状态图元以及转移图元进行描述,避免传统自然语言描述的不规范性和二义性、需求可读性差且不容易维护等问题,能够清晰准确的表示软件系统复杂的行为逻辑;另一方面,将状态机模型转换为有向图以及确定有向图中所有路径集合,并根据预设的路径约束条件从所有路径集合中确定出可执行路径集合,然后根据预设的测试用例覆盖策略从可执行路径集合中确定出可执行测试路径集合,并根据可执行测试路径集合自动生成测试用例集,不仅能够根据设定的路径约束条件选择可执行路径集合,保证了测试的充分性和完备性,还能根据可执行测试路径集合自动生成测试用例集,降低了对测试人员用例设计能力的依赖,进而提高了所生成的测试用例的质量。
第一方面,本申请实施例提供一种星载软件测试用例的生成方法,该方法包括:
根据预设的星载软件需求信息建立状态机模型,其中,所述状态机模型是指采用状态机图描述软件系统中功能的状态图元以及转移图元;
将所述状态机模型转换为有向图以及确定所述有向图中所有路径集合,并根据预设的路径约束条件从所有路径集合中确定出可执行路径集合;
根据预设的测试用例覆盖策略从所述可执行路径集合中确定出可执行测试路径集合,根据所述可执行测试路径集合自动生成测试用例集。
本申请实施例所提供的方案中,一方面通过采用状态机图对软件系统中功能的状态图元以及转移图元进行描述,即采用半形式化的语言对软件系统中功能的状态图元以及转移图元进行描述,避免传统自然语言描述的不规范性和二义性、需求可读性差且不容易维护等问题,能够清晰准确的表示软件系统复杂的行为逻辑;另一方面,将状态机模型转换为有向图以及确定有向图中所有路径集合,并根据预设的路径约束条件从所有路径集合中确定出可执行路径集合,然后根据预设的测试用例覆盖策略从可执行路径集合中确定出可执行测试路径集合,并根据可执行测试路径集合自动生成测试用例集,不仅能够根据设定的路径约束条件选择可执行路径集合,保证了测试的充分性和完备性,还能根据可执行测试路径集合自动生成测试用例集,降低了对测试人员用例设计能力的依赖,进而提高了所生成的测试用例的质量。
可选地,根据预设的星载软件需求信息建立状态机模型,包括:
确定所述软件系统与外部系统之间的硬件接口信息以及数据流信息;
根据所述星载软件需求信息、所述硬件接口信息以及所述数据流信息将所述软件系统的功能进行分层划分确定所述软件系统的功能和子功能,根据所述功能和子功能建立分层的数据流图;
建立各功能对应的测试场景以及根据所述数据流图确定各功能的状态图元以及转移图元以及测试场景,基于所述测试场景采用状态机图对所述状态图元、所述转移图元进行描述建立得到所述状态机模型。
可选地,基于所述测试场景采用状态机图对所述状态图元、所述转移图元进行描述建立得到所述状态机模型,包括:
确定所述状态图元以及所述转移图元的属性信息,其中,属性信息包括状态图元的执行动作、转移图元的触发、守卫和转移造成的影响;
采用预设的动作表达式对所述状态图元的执行动作、所述转移图元的触发进行定义,采用预设的变量表达对所述转移图元的守卫进行定义,以及采用预设的动作表达式或预设的变量表达对所述转移造成的影响进行定义得到所述状态机模型。
可选地,将所述状态机模型转换为有向图以及确定所述有向图中所有路径集合,包括:
根据将所述状态图元作为所述有向图的节点以及将所述转移图元作为所述有向图的边原则,将所述状态机模型转换为有向图;
计算所述有向图中各节点的出度和入度,根据所述出度和入度建立邻接矩阵,根据所述邻接矩阵确定所述所有路径集合。
可选地,根据将所述状态图元作为所述有向图的节点以及将所述转移图元作为所述有向图的边原则,将所述状态机模型转换为有向图,包括:
对所述状态机模型进行解析确定各个图元的属性信息,其中,所述属性信息包括通用属性信息以及专用属性信息;
根据所述属性信息判断所述状态机模型中是否存在复合状态,其中,所述复合状态包括外层状态和至少一层内层子状态;
若存在,则判断所述复合状态是否设置为隐蔽;
若设置为隐蔽,则将所述复合状态作为简单状态进行转换;
否则,判断转移是否指向复合状态的外层状态;
若指向外层状态,则从所述复合状态中每个内层子状态的初始节点开始进行转换;若转移指向所述复合状态中任一内层子状态,则从指向的内层子状态开始进行转换。
可选地,所述预设的测试用例覆盖策略包括:基本路径覆盖策略以及简单路径覆盖策略;其中,
所述基本路径覆盖策略包括:状态覆盖、转移覆盖以及基本覆盖;所述状态覆盖是指可执行路径的集合中覆盖有向图中的所有状态,所述转移覆盖是指可执行路径的集合中覆盖有向图中的所有转移,所述基本覆盖是指采用深度优先遍历算法生成的可执行路径的集合,且每个状态在路径中只能执行一次。
简单路径覆盖策略包括所述状态覆盖、所述转移覆盖和简单路径覆盖;所述简单路径覆盖是指采用深度优先遍历算法生成的可执行路径的集合,且每个转移在路径中只能执行一次。
可选地,所述可执行测试路径集合,包括如下至少一种集合:涵盖指定状态的可执行路径的集合、涵盖指定转移的可执行路径的集合、涵盖指定分支的可执行路径的集合、包含指定相邻节点的可执行路径的集合、以及包含指定节点优先关系的可执行路径的集合。
可选地,根据所述可执行测试路径集合自动生成测试用例集,包括:
设置测试用例中测试关键字表达形式,其中,所述测试关键字表达形式包括关键字名称、参数、参数个数以及参数类型;
根据所述状态机模型中各图元属性与参数类型之间预设的关联关系确定所述可执行测试路径集合中每个节点以及边所对应的参数类型;
根据预设的参数生成方式以及参数类型确定所述测试关键字中的参数,根据预设的测试数据覆盖策略以及所述参数自动生成所述测试用例集。
可选地,所述预设的测试数据覆盖策略,包括:数据全覆盖策略、数据组合覆盖策略以及数据约束覆盖策略;其中,
所述数据全覆盖策略包括:生成的测试用例集能够全面覆盖所需要测试的多个测试输入数据;对于不存在约束关系的参数,可采用随机组合的方法任意选取测试关键字的参数组合进行测试。
所述数据组合覆盖策略包括:生成的测试用例集能够覆盖多个测试输入数据之间相互两两组合的情况;对于没有约束关系的参数,通过对测试输入关键字的参数进行多种组合的方式生成测试用例集。
所述数据约束覆盖策略:生成的测试用例集能够满足多个测试输入数据的约束条件;对于存在约束关系的参数,应根据预设的测试输入数据约束表达式生成满足约束关系的测试用例集。
第二方面,本申请实施例提供了一种星载软件测试用例的生成装置,该装置包括:
建模单元,用于根据预设的星载软件需求信息建立状态机模型,其中,所述状态机模型是指采用状态机图描述软件系统中功能的状态图元以及转移图元;
确定单元,用于将所述状态机模型转换为有向图以及确定所述有向图中所有路径集合,并根据预设的路径约束条件从所有路径集合中确定出可执行路径集合;
生成单元,用于根据预设的测试用例覆盖策略从所述可执行路径集合中确定出可执行测试路径集合,根据所述可执行测试路径集合自动生成测试用例集。
可选地,所述建模单元,具体用于:
确定所述软件系统与外部系统之间的硬件接口信息以及数据流信息;
根据所述星载软件需求信息、所述硬件接口信息以及所述数据流信息将所述软件系统的功能进行分层划分确定所述软件系统的功能和子功能,根据所述功能和子功能建立分层的数据流图;
建立各功能对应的测试场景以及根据所述数据流图确定各功能的状态图元以及转移图元以及测试场景,基于所述测试场景采用状态机图对所述状态图元、所述转移图元进行描述建立得到所述状态机模型。
可选地,所述建模单元,具体用于:
确定所述状态图元以及所述转移图元的属性信息,其中,属性信息包括状态图元的执行动作、转移图元的触发、守卫和转移造成的影响;
采用预设的动作表达式对所述状态图元的执行动作、所述转移图元的触发进行定义,采用预设的变量表达对所述转移图元的守卫进行定义,以及采用预设的动作表达式或预设的变量表达对所述转移造成的影响进行定义得到所述状态机模型。
可选地,所述确定单元,具体用于:
根据将所述状态图元作为所述有向图的节点以及将所述转移图元作为所述有向图的边原则,将所述状态机模型转换为有向图;
计算所述有向图中各节点的出度和入度,根据所述出度和入度建立邻接矩阵,根据所述邻接矩阵确定所述所有路径集合。
可选地,所述确定单元,具体用于:
对所述状态机模型进行解析确定各个图元的属性信息,其中,所述属性信息包括通用属性信息以及专用属性信息;
根据所述属性信息判断所述状态机模型中是否存在复合状态,其中,所述复合状态包括外层状态和至少一层内层子状态;
若存在,则判断所述复合状态是否设置为隐蔽;
若设置为隐蔽,则将所述复合状态作为简单状态进行转换;
否则,判断转移是否指向复合状态的外层状态;
若指向外层状态,则从所述复合状态中每个内层子状态的初始节点开始进行转换;若转移指向所述复合状态中任一内层子状态,则从指向的内层子状态开始进行转换。
可选地,所述预设的测试用例覆盖策略包括:基本路径覆盖策略以及简单路径覆盖策略;其中,
所述基本路径覆盖策略包括:状态覆盖、转移覆盖以及基本覆盖;所述状态覆盖是指可执行路径的集合中覆盖有向图中的所有状态,所述转移覆盖是指可执行路径的集合中覆盖有向图中的所有转移,所述基本覆盖是指采用深度优先遍历算法生成的可执行路径的集合,且每个状态在路径中只能执行一次。
简单路径覆盖策略包括所述状态覆盖、所述转移覆盖和简单路径覆盖;所述简单路径覆盖是指采用深度优先遍历算法生成的可执行路径的集合,且每个转移在路径中只能执行一次。
可选地,所述可执行测试路径集合,包括如下至少一种集合:涵盖指定状态的可执行路径的集合、涵盖指定转移的可执行路径的集合、涵盖指定分支的可执行路径的集合、包含指定相邻节点的可执行路径的集合、以及包含指定节点优先关系的可执行路径的集合。
可选地,所述生成单元,具体用于:
设置测试用例中测试关键字表达形式,其中,所述测试关键字表达形式包括关键字名称、参数、参数个数以及参数类型;
根据所述状态机模型中各图元属性与参数类型之间预设的关联关系确定所述可执行测试路径集合中每个节点以及边所对应的参数类型;
根据预设的参数生成方式以及参数类型确定所述测试关键字中的参数,根据预设的测试数据覆盖策略以及所述参数自动生成所述测试用例集。
可选地,所述预设的测试数据覆盖策略,包括:数据全覆盖策略、数据组合覆盖策略以及数据约束覆盖策略;其中,
所述数据全覆盖策略包括:生成的测试用例集能够全面覆盖所需要测试的多个测试输入数据;对于不存在约束关系的参数,可采用随机组合的方法任意选取测试关键字的参数组合进行测试。
所述数据组合覆盖策略包括:生成的测试用例集能够覆盖多个测试输入数据之间相互两两组合的情况;对于没有约束关系的参数,通过对测试输入关键字的参数进行多种组合的方式生成测试用例集。
所述数据约束覆盖策略:生成的测试用例集能够满足多个测试输入数据的约束条件;对于存在约束关系的参数,应根据预设的测试输入数据约束表达式生成满足约束关系的测试用例集。
第三方面,本申请提供一种计算机设备,该计算机设备,包括:
存储器,用于存储至少一个处理器所执行的指令;
处理器,用于执行存储器中存储的指令执行第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行第一方面所述的方法。
附图说明
图1为本申请实施例所提供的一种星载软件测试用例的生成方法的流程示意图;
图2为本申请实施例所提供的一种数据流图的结构示意图;
图3为本申请实施例所提供的一种基于测试数据覆盖策略所生成的测试用例集合;
图4为本申请实施例所提供的一种星载软件测试用例的生成装置的结构示意图;
图5为本申请实施例所提供的一种计算机设备的结构示意图。
具体实施方式
本申请实施例提供的方案中,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
以下结合说明书附图对本申请实施例所提供的一种星载软件测试用例的生成方法做进一步详细的说明,该方法具体实现方式可以包括以下步骤(方法流程如图1所示):
步骤101,根据预设的星载软件需求信息建立状态机模型,其中,所述状态机模型是指采用状态机图描述软件系统中功能的状态图元以及转移图元。
在本申请实施例所提供的方案中,计算机设备根据预设的星载软件需求信息建立状态机模型的方式有多种,下面以一种较佳的方式为例进行说明。
在一种可能实现的方式中,根据预设的星载软件需求信息建立状态机模型,包括:确定所述软件系统与外部系统之间的硬件接口信息以及数据流信息;根据所述星载软件需求信息、所述硬件接口信息以及所述数据流信息将所述软件系统的功能进行分层划分确定所述软件系统的功能和子功能,根据所述功能和子功能建立分层的数据流图;建立各功能对应的测试场景以及根据所述数据流图确定各功能的状态图元以及转移图元以及测试场景,基于所述测试场景采用状态机图对所述状态图元、所述转移图元进行描述建立得到所述状态机模型。
具体的,硬件接口信息包括接口结构、接口组成、接口类型、接口功能、以及接口特性等,数据流信息包括数据流向和名称、数据格式、数据内容、数据接收和发送时序等。在确定出软件系统与外部系统之间的硬件接口信息以及数据流信息之后,计算机设备从预设的软件系统需求说明书中提取软件需求信息,然后根据软件需求信息、所述硬件接口信息以及所述数据流信息将所述软件系统的功能进行层次化划分、建立分层的数据流图,其中,数据流图中包括软件系统的功能和子功能。
为了便于理解,下面对数据流图的构建过程进行简要介绍。
参见图2,本申请实施例提供了一种数据流图的结构示意图。在图2所示的数据流图中,顶层数据流图包括软件系统与外部所有交互系统的输入、输出数据流方向和名称;第一层数据流图按照选定某个数据流流向的顺序,形成第一层数据流图;对软件的功能模块进行分解,明确输入流和输出流,形成第二层数据流图;以此类推,采用多层的数据流图对软件的功能进行划分,直到当前功能可以采用某种模型对其进行描述和表示。
在一种可能实现的方式中,基于所述测试场景采用状态机图对所述状态图元、所述转移图元进行描述建立得到所述状态机模型,包括:确定所述状态图元以及所述转移图元的属性信息,其中,属性信息包括状态图元的执行动作、转移图元的触发、守卫和转移造成的影响;采用预设的动作表达式对所述状态图元的执行动作、所述转移图元的触发进行定义,采用预设的变量表达对所述转移图元的守卫进行定义,以及采用预设的动作表达式或预设的变量表达对所述转移造成的影响进行定义得到所述状态机模型。
具体的,计算机设备在建立数据流图之后,建立各功能对应的测试场景,以及根据数据流图确定功能的状态图元以及转移图元。在本申请实施例所提供的方案中,软件系统实现某一功能可能涉及一个或者多个状态,其中,状态图元就是指实现某一功能可能涉及一个或者多个状态,以及与状态相关的执行动作,其中,一个或者多个状态包括可停留、保持或可观测的对象;与状态相关的执行动作包括进入当前状态执行的动作(用entry表示),退出当前状态执行的动作(用exit表示),当前状态中执行的动作(用do表示)。转移图元是指两个或多个状态之间相互转移的触发条件、转移发生的条件以及转移后所造成的后果等,其中,转移的触发条件包括事件、时间或者信号等。在建立状态机模型的过程中将转移发生的条件作为守卫,将转移后所造成的后果作为影响。
进一步,采用状态机图描述状态图元以及转移图元构建得到状态机模型,其中,状态机模型为半形式化的状态机模型。当实现某一功能涉及多个状态,且多个状态中存在两个或多个状态之间可以相互转移时,建立的状态机模型为分层的状态机模型。当多个状态之间可并发的存在时,建立的状态机模型为分层的状态机模型。
进一步,在建立状态机模型的过程中,处理采用状态机图对状态图元以及转移图元进行描述之外,还需要对各图元的属性进行规约化定义。具体的,状态图元的执行动作、转移图元的触发可采用预设的动作表达式进行表示,转移图元的守卫可采用预设的变量表达式表示,转移图元的影响可采用预设的动作表达式或预设的变量表达式进行表示,其中,转移图元的影响采用哪种表达式表示与应用场景或者影响结果等因素有关。具体的,预设的动作表达以及变量表达式的形式如下所示:
动作表达式定义:动作(变量表达式),如:Rev(x<20)
变量表达式定义:变量表达式,如:a>10
多个表达式之间存在“与”和“或”的关系,“与”采用符号“&&”表示,“或”采用符号“||”,“,”表示。
进一步,在本申请实施例所提供的方案中,建立的状态机图模型需符合系统建模语言状态机图的基本语法要求。具体的,状态机图的基本语法要求如下所示:
1)、一个状态机图有且只有一个initial图元,可以没有final图元;
2)、必须存在终止遍历节点;
3)、分岔节点和汇合节点需要配合使用;
4)、不存在能到达初始状态的转移;
5)、初始状态无输入转移;
6)、分支节点的条件需完整;
7)、不存在一个转移能使终止状态到达另一个状态;
8)、若存在有复合状态,那么一定存在一个到达该复合状态的转移;
9)、每个Region中有且只有一个初始状态;
10)、不存在无意义的转移,包括从初始状态直接转移到终止状态;
11)、每一个状态都存在至少一个转移;
12)、终止状态无输出转移。
102,将所述状态机模型转换为有向图以及确定所述有向图中所有路径集合,并根据预设的路径约束条件从所有路径集合中确定出可执行路径集合。
在本申请实施例所提供的方案中,计算机设备在建立状态机模型之后,将状态机模型转换为有向图以及确定有向图中所有路径集合。具体的,将状态机模型转换为有向图以及确定有向图中所有路径集合的方式有多种,下面以一种较佳的方式为例进行说明。
在一种可能实现的方式中,将所述状态机模型转换为有向图以及确定所述有向图中所有路径集合,包括:根据将所述状态图元作为所述有向图的节点以及将所述转移图元作为所述有向图的边原则,将所述状态机模型转换为有向图;计算所述有向图中各节点的出度和入度,根据所述出度和入度建立邻接矩阵,根据所述邻接矩阵确定所述所有路径集合。
在一种可能实现的方式中,根据将所述状态图元作为所述有向图的节点以及将所述转移图元作为所述有向图的边原则,将所述状态机模型转换为有向图,包括:对所述状态机模型进行解析确定各个图元的属性信息,其中,所述属性信息包括通用属性信息以及专用属性信息;根据所述属性信息判断所述状态机模型中是否存在复合状态,其中,所述复合状态包括外层状态和至少一层内层子状态;若存在,则判断所述复合状态是否设置为隐蔽;若设置为隐蔽,则将所述复合状态作为简单状态进行转换;否则,判断转移是否指向复合状态的外层状态;若指向外层状态,则从所述复合状态中每个内层子状态的初始节点开始进行转换;若转移指向所述复合状态中任一内层子状态,则从指向的内层子状态开始进行转换。
具体的,计算机设备对状态机图模型的语义进行解析得到图元属性,其中,图元的属性包括通用属性和专有属性,而不同类型的图元具有不同的专有属性。例如,通用属性包括:图元名称、图元ID等。专有属性包括:状态图元的执行动作(do、entry或exit),是否可作为终止节点,最多可循环的次数,是否有父节点,是否有子节点,父节点名称或相邻节点数组等。
进一步,在将状态机模型转换为有向图的过程中,对于可以作为终止节点的简单状态,需要将其设置为有向图中的终止节点;对于复合状态可设置为隐蔽或者可见。当同一条转移路径上的触发事件相互独立时,可认为两个状态间存在两个独立的转移事件,如果两个触发事件需要同时发生才触发状态转移时,可认为是相关事件;在转换过程中每个转移应从源状态指向目标状态。
进一步,当状态机模型中存在复合状态时,在将状态机模型转换为有向图过程中,复合状态可设置为隐蔽或者可见,而对于不同的设置情况转换过程也不同,为了便于理解下面对复合状态设置为隐蔽以及设置为可见两种情况分别进行说明。
一、复合状态设置为隐蔽
具体的,如果状态机模型中存在复合状态,且复合状态(子状态机)设置为隐蔽时,将复合状态作为简单状态转换为有向图。
二、复合状态设置为可见
具体的,当复合状态(子状态机)设置为可见时,若转移指向外层状态,则从所述复合状态中每个内层子状态的初始节点开始进行转换;若转移指向所述复合状态中任一内层子状态,则从指向的内层子状态开始进行转换。
进一步,计算机设备将状态机模型转换为有向图之后,计算有向图节点的出度和入度,然后根据节点的出度和入度建立邻接矩阵,再基于邻接矩阵利用深度优先算法确定有向图中所有路径的集合。
进一步,计算机设备在确定有向图中所有路径的集合之后,根据状态机模型中的转移图元的守卫和影响上存在的约束条件表达式,从有向图中所有路径的集中确定出所有的可执行路径集合。
在本申请实施例所提供的方案中,对于可执行路径集合中任一可执行路径应满足如下条件:
(1)、每条路径的起始节点为初始节点initial节点。
(2)、所有路径应以结束节点或者终止节点作为结束节点。
进一步,对于可执行路径集合中任一可执行路径定义如下:用数字标识节点,英文字母标识边,且节点和边所标识的编号具有唯一性,不能重复。进一步,为了表示区分,状态在括号外,转移在括号内,复合状态用大括号表示,例如,任意一条路径可以表示为:1(a)2(b)3(c){4(d)5(e)}6。
步骤103,根据预设的测试用例覆盖策略从所述可执行路径集合中确定出可执行测试路径集合,根据所述可执行测试路径集合自动生成测试用例集。
在本申请实施例所提供的方案中,计算机设备在确定出可执行路径的集合之后,需要根据预设的测试用例覆盖策略从可执行路径集合中确定出可执行测试路径的集合,其中,可执行测试路径是指与生成测试用例相关的路径。具体的,预设的测试用例覆盖策略有多种,下面以一种较佳的策略为例进行说明。
在一种可能实现的方式中,所述预设的测试用例覆盖策略包括:基本路径覆盖策略以及简单路径覆盖策略;其中,所述基本路径覆盖策略包括:状态覆盖、转移覆盖以及基本覆盖;所述状态覆盖是指可执行路径的集合中覆盖有向图中的所有状态,所述转移覆盖是指可执行路径的集合中覆盖有向图中的所有转移,所述基本覆盖是指采用深度优先遍历算法生成的可执行路径的集合,且每个状态在路径中只能执行一次。
简单路径覆盖策略包括所述状态覆盖、所述转移覆盖和简单路径覆盖;所述简单路径覆盖是指采用深度优先遍历算法生成的可执行路径的集合,且每个转移在路径中只能执行一次。
进一步,在全部可执行路径的基础上,计算机设备需要从可执行路径集合中确定出可执行测试路径集合。具体的,可执行测试路径集合的种类有多种,下面以一种较佳的为例进行说明。
在一种可能实现的方式中,所述可执行测试路径集合,包括如下至少一种集合:涵盖指定状态的可执行路径的集合、涵盖指定转移的可执行路径的集合、涵盖指定分支的可执行路径的集合、包含指定相邻节点的可执行路径的集合、以及包含指定节点优先关系的可执行路径的集合。
具体的,在本申请实施例所提供的方案中,提供了五种自定义方式确定可执行测试路径集合,其中,五种自定义方式分别为:指定节点的方式、指定边的方式、指定分支的方式、指定相邻节点的方式、指定节点优先级的方式。为了便于理解下面对这五种方式的每一种分别进行说明。
1、指定节点的方式:生成涵盖指定状态的可执行路径集合。
2、指定边的方式:生成涵盖指定转移的可执行路径集合。
3、指定分支的方式:生成涵盖指定分支(伪状态)的可执行路径集合。
4、指定相邻节点的方式:生成含有指定相邻节点的可执行路径集合。
5、指定节点优先级的方式:生成含有指定节点优先关系的可执行路径集合。
进一步,计算机设备在确定出可执行测试路径集合之后,可执行测试路径集合中任一路径是指对一个特定的测试场景或者某个测试业务逻辑的执行路径。对于软件的测试用例除了包括测试场景或者测试业务逻辑的执行路径之外,还应包括初始条件、测试输入以及预期结果,数据信息等要素。在本申请实施例所提供的方案中,根据所述可执行测试路径集合自动生成测试用例集的方式有多种,下面以一种较佳的方式为例进行说明。
在一种可能实现的方式中,根据所述可执行测试路径集合自动生成测试用例集,包括:设置测试用例中测试关键字表达形式,其中,所述测试关键字表达形式包括关键字名称、参数、参数个数以及参数类型;根据所述状态机模型中各图元属性与参数类型之间预设的关联关系确定所述可执行测试路径集合中每个节点以及边所对应的参数类型;根据预设的参数生成方式以及参数类型确定所述测试关键字中的参数,根据预设的测试数据覆盖策略以及所述参数自动生成所述测试用例集。
为了便于理解下面对自动生成测试用例集的过程进行简要介绍。
首先,需要将状态机模型中图元与测试用例相关的操作转换为测试关键字或者指令的形式。具体的,对于测试关键字和指令的定义如下:
测试关键字:关键字名称;参数个数;参数表达式;参数类型。
具体的,关键字名称表达形式为:(参数1,参数2,……)。例如:Rev(para1),Init(para1)等;参数可以是执行时刻(绝对时间,相对时间)或者执行状态,参数表达形式为:参数名称;参数类型;参数值或参数表达形式为:(<<=>>===!=)。对于相同名称的关键字,可通过参数个数加以区分。参数类型包括:初始条件、测试输入、预期输出。
然后,设定状态机模型中图元操作属性与测试关键字类型之间的关联关系;具体的,图元操作属性与测试关键字类型之间的关联关系参见表1所示。
表1
图元操作 | 测试关键字类型 |
Transition:trigger | 测试输入 |
Transition:effect | 预期输出 |
Transition:guard | 无 |
State:entry | 预期输出 |
State:do | 预期输出 |
State:exit | 预期输出 |
Initial | 初始条件 |
进一步,当建立测试关键字类型与状态机模型中图元操作的关联后,根据状态机模型中图元操作即可获取测试关键字类型。
然后,计算机设备根据测试关键字类型自动生成测试关键字中的参数。具体的,根据测试关键字类型自动生成测试关键字中参数的方式有多种,例如,测试关键字中参数的生成方式包括设定值,随机值,连续值,边界值,异常值;其中,设定值:指定具体数据值;随机值:满足表达式要求的随机值;连续值:根据表达式的要求,以某个设定的起始点开始,按照设定的步长,生成一系列在表达式范围内的数据值。边界值:满足表达式要求的边界点数据值,对于开区间和闭区间的边界值存在不同的要求,例如:表达式1<x<10生成的边界点数值为1、2、9、10共四个值,1<=x<=10生成的边界点数值为0、1、2、9、10、11共六个值。
进一步,在确定测试用例中测试关键字的参数之后,根据预设的测试数据覆盖策略以及所述参数自动生成所述测试用例集。具体的,预设的测试数据覆盖策略有多种,下面以一种较佳的为例进行说明。
在一种可能实现的方式中,所述预设的测试数据覆盖策略,包括:数据全覆盖策略、数据组合覆盖策略以及数据约束覆盖策略;其中,
所述数据全覆盖策略包括:生成的测试用例集能够全面覆盖所需要测试的多个测试输入数据;对于不存在约束关系的参数,可采用随机组合的方法任意选取测试关键字的参数组合进行测试。
所述数据组合覆盖策略包括:生成的测试用例集能够覆盖多个测试输入数据之间相互两两组合的情况;对于没有约束关系的参数,通过对测试输入关键字的参数进行多种组合的方式生成测试用例集。
所述数据约束覆盖策略:生成的测试用例集能够满足多个测试输入数据的约束条件;对于存在约束关系的参数,应根据预设的测试输入数据约束表达式生成满足约束关系的测试用例集。
具体的,参见图3所示,本申请实施例所提供的一种基于测试数据覆盖策略所生成的测试用例集合。
本申请实施例所提供的方案中,一方面通过采用状态机图对软件系统中功能的状态图元以及转移图元进行描述,即采用半形式化的语言对软件系统中功能的状态图元以及转移图元进行描述,避免传统自然语言描述的不规范性和二义性、需求可读性差且不容易维护等问题,能够清晰准确的表示软件系统复杂的行为逻辑;另一方面,将状态机模型转换为有向图以及确定有向图中所有路径集合,并根据预设的路径约束条件从所有路径集合中确定出可执行路径集合,然后根据预设的测试用例覆盖策略从可执行路径集合中确定出可执行测试路径集合,并根据可执行测试路径集合自动生成测试用例集,不仅能够根据设定的路径约束条件选择可执行路径集合,保证了测试的充分性和完备性,还能根据可执行测试路径集合自动生成测试用例集,降低了对测试人员用例设计能力的依赖,进而提高了所生成的测试用例的质量。
基于与图1所示的方法相同的发明构思,本申请实施例提供了一种星载软件测试用例的生成装置,参见图4,该装置包括:
建模单元401,用于根据预设的星载软件需求信息建立状态机模型,其中,所述状态机模型是指采用状态机图描述软件系统中功能的状态图元以及转移图元;
确定单元402,用于将所述状态机模型转换为有向图以及确定所述有向图中所有路径集合,并根据预设的路径约束条件从所有路径集合中确定出可执行路径集合;
生成单元403,用于根据预设的测试用例覆盖策略从所述可执行路径集合中确定出可执行测试路径集合,根据所述可执行测试路径集合自动生成测试用例集。
可选地,所述建模单元401,具体用于:
确定所述软件系统与外部系统之间的硬件接口信息以及数据流信息;
根据所述星载软件需求信息、所述硬件接口信息以及所述数据流信息将所述软件系统的功能进行分层划分确定所述软件系统的功能和子功能,根据所述功能和子功能建立分层的数据流图;
建立各功能对应的测试场景以及根据所述数据流图确定各功能的状态图元以及转移图元以及测试场景,基于所述测试场景采用状态机图对所述状态图元、所述转移图元进行描述建立得到所述状态机模型。
可选地,所述建模单元401,具体用于:
确定所述状态图元以及所述转移图元的属性信息,其中,属性信息包括状态图元的执行动作、转移图元的触发、守卫和转移造成的影响;
采用预设的动作表达式对所述状态图元的执行动作、所述转移图元的触发进行定义,采用预设的变量表达对所述转移图元的守卫进行定义,以及采用预设的动作表达式或预设的变量表达对所述转移造成的影响进行定义得到所述状态机模型。
可选地,所述确定单元402,具体用于:
根据将所述状态图元作为所述有向图的节点以及将所述转移图元作为所述有向图的边原则,将所述状态机模型转换为有向图;
计算所述有向图中各节点的出度和入度,根据所述出度和入度建立邻接矩阵,根据所述邻接矩阵确定所述所有路径集合。
可选地,所述确定单元402,具体用于:
对所述状态机模型进行解析确定各个图元的属性信息,其中,所述属性信息包括通用属性信息以及专用属性信息;
根据所述属性信息判断所述状态机模型中是否存在复合状态,其中,所述复合状态包括外层状态和至少一层内层子状态;
若存在,则判断所述复合状态是否设置为隐蔽;
若设置为隐蔽,则将所述复合状态作为简单状态进行转换;
否则,判断转移是否指向复合状态的外层状态;
若指向外层状态,则从所述复合状态中每个内层子状态的初始节点开始进行转换;若转移指向所述复合状态中任一内层子状态,则从指向的内层子状态开始进行转换。
可选地,所述预设的测试用例覆盖策略包括:基本路径覆盖策略以及简单路径覆盖策略;其中,
所述基本路径覆盖策略包括:状态覆盖、转移覆盖以及基本覆盖;所述状态覆盖是指可执行路径的集合中覆盖有向图中的所有状态,所述转移覆盖是指可执行路径的集合中覆盖有向图中的所有转移,所述基本覆盖是指采用深度优先遍历算法生成的可执行路径的集合,且每个状态在路径中只能执行一次。
简单路径覆盖策略包括所述状态覆盖、所述转移覆盖和简单路径覆盖;所述简单路径覆盖是指采用深度优先遍历算法生成的可执行路径的集合,且每个转移在路径中只能执行一次。
可选地,所述可执行测试路径集合,包括如下至少一种集合:涵盖指定状态的可执行路径的集合、涵盖指定转移的可执行路径的集合、涵盖指定分支的可执行路径的集合、包含指定相邻节点的可执行路径的集合、以及包含指定节点优先关系的可执行路径的集合。
可选地,所述生成单元403,具体用于:
设置测试用例中测试关键字表达形式,其中,所述测试关键字表达形式包括关键字名称、参数、参数个数以及参数类型;
根据所述状态机模型中各图元属性与参数类型之间预设的关联关系确定所述可执行测试路径集合中每个节点以及边所对应的参数类型;
根据预设的参数生成方式以及参数类型确定所述测试关键字中的参数,根据预设的测试数据覆盖策略以及所述参数自动生成所述测试用例集。
可选地,所述预设的测试数据覆盖策略,包括:数据全覆盖策略、数据组合覆盖策略以及数据约束覆盖策略;其中,
所述数据全覆盖策略包括:生成的测试用例集能够全面覆盖所需要测试的多个测试输入数据;对于不存在约束关系的参数,可采用随机组合的方法任意选取测试关键字的参数组合进行测试。
所述数据组合覆盖策略包括:生成的测试用例集能够覆盖多个测试输入数据之间相互两两组合的情况;对于没有约束关系的参数,通过对测试输入关键字的参数进行多种组合的方式生成测试用例集。
所述数据约束覆盖策略:生成的测试用例集能够满足多个测试输入数据的约束条件;对于存在约束关系的参数,应根据预设的测试输入数据约束表达式生成满足约束关系的测试用例集。
参见图5,本申请提供一种计算机设备,该计算机设备,包括:
存储器501,用于存储至少一个处理器所执行的指令;
处理器502,用于执行存储器中存储的指令执行图1所述的方法。
本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行图1所述的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种星载软件测试用例的生成方法,其特征在于,包括:
根据预设的星载软件需求信息建立状态机模型,其中,所述状态机模型是指采用状态机图描述软件系统中功能的状态图元以及转移图元;
将所述状态机模型转换为有向图以及确定所述有向图中所有路径集合,并根据预设的路径约束条件从所有路径集合中确定出可执行路径集合;
根据预设的测试用例覆盖策略从所述可执行路径集合中确定出可执行测试路径集合,根据所述可执行测试路径集合自动生成测试用例集。
2.如权利要求1所述的方法,其特征在于,根据预设的星载软件需求信息建立状态机模型,包括:
确定所述软件系统与外部系统之间的硬件接口信息以及数据流信息;
根据所述星载软件需求信息、所述硬件接口信息以及所述数据流信息将所述软件系统的功能进行分层划分确定所述软件系统的功能和子功能,根据所述功能和子功能建立分层的数据流图;
建立各功能对应的测试场景以及根据所述数据流图确定各功能的状态图元以及转移图元以及测试场景,基于所述测试场景采用状态机图对所述状态图元、所述转移图元进行描述建立得到所述状态机模型。
3.如权利要求2所述的方法,其特征在于,基于所述测试场景采用状态机图对所述状态图元、所述转移图元进行描述建立得到所述状态机模型,包括:
确定所述状态图元以及所述转移图元的属性信息,其中,属性信息包括状态图元的执行动作、转移图元的触发、守卫和转移造成的影响;
采用预设的动作表达式对所述状态图元的执行动作、所述转移图元的触发进行定义,采用预设的变量表达对所述转移图元的守卫进行定义,以及采用预设的动作表达式或预设的变量表达对所述转移造成的影响进行定义得到所述状态机模型。
4.如权利要求3所述的方法,其特征在于,将所述状态机模型转换为有向图以及确定所述有向图中所有路径集合,包括:
根据将所述状态图元作为所述有向图的节点以及将所述转移图元作为所述有向图的边原则,将所述状态机模型转换为有向图;
计算所述有向图中各节点的出度和入度,根据所述出度和入度建立邻接矩阵,根据所述邻接矩阵确定所述所有路径集合。
5.如权利要求4所述的方法,其特征在于,根据将所述状态图元作为所述有向图的节点以及将所述转移图元作为所述有向图的边原则,将所述状态机模型转换为有向图,包括:
对所述状态机模型进行解析确定各个图元的属性信息,其中,所述属性信息包括通用属性信息以及专用属性信息;
根据所述属性信息判断所述状态机模型中是否存在复合状态,其中,所述复合状态包括外层状态和至少一层内层子状态;
若存在,则判断所述复合状态是否设置为隐蔽;
若设置为隐蔽,则将所述复合状态作为简单状态进行转换;
否则,判断转移是否指向复合状态的外层状态;
若指向外层状态,则从所述复合状态中每个内层子状态的初始节点开始进行转换;若转移指向所述复合状态中任一内层子状态,则从指向的内层子状态开始进行转换。
6.如权利要求1~5任一项所述的方法,其特征在于,所述预设的测试用例覆盖策略包括:基本路径覆盖策略以及简单路径覆盖策略;其中,
所述基本路径覆盖策略包括:状态覆盖、转移覆盖以及基本覆盖;所述状态覆盖是指可执行路径的集合中覆盖有向图中的所有状态,所述转移覆盖是指可执行路径的集合中覆盖有向图中的所有转移,所述基本覆盖是指采用深度优先遍历算法生成的可执行路径的集合,且每个状态在路径中只能执行一次。
简单路径覆盖策略包括所述状态覆盖、所述转移覆盖和简单路径覆盖;所述简单路径覆盖是指采用深度优先遍历算法生成的可执行路径的集合,且每个转移在路径中只能执行一次。
7.如权利要求1~5任一项所述的方法,其特征在于,所述可执行测试路径集合,包括如下至少一种集合:涵盖指定状态的可执行路径的集合、涵盖指定转移的可执行路径的集合、涵盖指定分支的可执行路径的集合、包含指定相邻节点的可执行路径的集合、以及包含指定节点优先关系的可执行路径的集合。
8.如权利要求1~5任一项所述的方法,其特征在于,根据所述可执行测试路径集合自动生成测试用例集,包括:
设置测试用例中测试关键字表达形式,其中,所述测试关键字表达形式包括关键字名称、参数、参数个数以及参数类型;
根据所述状态机模型中各图元属性与参数类型之间预设的关联关系确定所述可执行测试路径集合中每个节点以及边所对应的参数类型;
根据预设的参数生成方式以及参数类型确定所述测试关键字中的参数,根据预设的测试数据覆盖策略以及所述参数自动生成所述测试用例集。
9.如权利要求8所述的方法,其特征在于,所述预设的测试数据覆盖策略,包括:数据全覆盖策略、数据组合覆盖策略以及数据约束覆盖策略;其中,
所述数据全覆盖策略包括:生成的测试用例集能够全面覆盖所需要测试的多个测试输入数据;对于不存在约束关系的参数,可采用随机组合的方法任意选取测试关键字的参数组合进行测试;
所述数据组合覆盖策略包括:生成的测试用例集能够覆盖多个测试输入数据之间相互两两组合的情况;对于没有约束关系的参数,通过对测试输入关键字的参数进行多种组合的方式生成测试用例集;
所述数据约束覆盖策略:生成的测试用例集能够满足多个测试输入数据的约束条件;对于存在约束关系的参数,应根据预设的测试输入数据约束表达式生成满足约束关系的测试用例集。
10.一种星载软件测试用例的生成装置,其特征在于,包括:
建模单元,用于根据预设的星载软件需求信息建立状态机模型,其中,所述状态机模型是指采用状态机图描述软件系统中功能的状态图元以及转移图元;
确定单元,用于将所述状态机模型转换为有向图以及确定所述有向图中所有路径集合,并根据预设的路径约束条件从所有路径集合中确定出可执行路径集合;
生成单元,用于根据预设的测试用例覆盖策略从所述可执行路径集合中确定出可执行测试路径集合,根据所述可执行测试路径集合自动生成测试用例集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010762816.3A CN112015639B (zh) | 2020-07-31 | 2020-07-31 | 一种星载软件测试用例的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010762816.3A CN112015639B (zh) | 2020-07-31 | 2020-07-31 | 一种星载软件测试用例的生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112015639A true CN112015639A (zh) | 2020-12-01 |
CN112015639B CN112015639B (zh) | 2024-03-15 |
Family
ID=73500098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010762816.3A Active CN112015639B (zh) | 2020-07-31 | 2020-07-31 | 一种星载软件测试用例的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112015639B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112486839A (zh) * | 2020-12-14 | 2021-03-12 | 中国航空综合技术研究所 | 基于状态机的机载产品测试建模方法 |
CN112559343A (zh) * | 2020-12-11 | 2021-03-26 | 腾讯科技(深圳)有限公司 | 测试路径生成方法及相关设备 |
CN113009845A (zh) * | 2021-03-08 | 2021-06-22 | 中国科学院微小卫星创新研究院 | 一种卫星软件的仿真测试系统及方法 |
CN113535594A (zh) * | 2021-09-17 | 2021-10-22 | 广州裕睿信息科技有限公司 | 业务场景测试用例的生成方法、装置、设备和存储介质 |
CN113590453A (zh) * | 2021-01-28 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 测试用例的生成方法、装置与存储介质 |
CN113704093A (zh) * | 2021-08-05 | 2021-11-26 | 卡斯柯信号(成都)有限公司 | 一种通用联锁软件测试用例生成方法 |
CN113806232A (zh) * | 2021-10-08 | 2021-12-17 | 中国航空综合技术研究所 | 基于模型的嵌入式软件测试用例生成模型 |
CN114186854A (zh) * | 2021-12-10 | 2022-03-15 | 北京得瑞领新科技有限公司 | Ssd设备量产测试方法、装置、存储介质及设备 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100235814A1 (en) * | 2009-03-16 | 2010-09-16 | Kabushiki Kaisha Toshiba | Apparatus and a method for generating a test case |
CN102420727A (zh) * | 2012-01-05 | 2012-04-18 | 北京邮电大学 | 一种基于分布式的协议测试系统及方法 |
US20120198280A1 (en) * | 2011-01-28 | 2012-08-02 | International Business Machines Corporation | Test cases generation for different test types |
CN102929775A (zh) * | 2012-10-23 | 2013-02-13 | 中标软件有限公司 | 一种Web应用系统测试方法 |
CN105022691A (zh) * | 2015-07-22 | 2015-11-04 | 国家电网公司 | 一种基于uml图的高度自动化软件测试方法 |
CN105677563A (zh) * | 2016-01-05 | 2016-06-15 | 南昌航空大学 | 一种基于SysML模块图的集成测试序列生成方法 |
CN106802862A (zh) * | 2016-12-14 | 2017-06-06 | 中国铁路总公司 | 列车运行控制系统安全关键软件自动测试平台 |
CN106814730A (zh) * | 2016-12-14 | 2017-06-09 | 中国铁路总公司 | 列车运行控制系统安全关键软件测试用例生成方法 |
CN108446220A (zh) * | 2018-03-02 | 2018-08-24 | 国网吉林省电力有限公司信息通信公司 | 一种测试用例的生成方法和装置 |
CN109117363A (zh) * | 2018-06-28 | 2019-01-01 | 腾讯科技(深圳)有限公司 | 一种测试用例生成方法、装置及服务器 |
CN109582558A (zh) * | 2018-09-06 | 2019-04-05 | 杭州电子科技大学 | 一种基于efsm模型的最小成本测试用例生成方法 |
CN109902002A (zh) * | 2019-02-14 | 2019-06-18 | 浙江口碑网络技术有限公司 | 组合测试用例的生成方法及装置、存储介质、计算机设备 |
CN110069410A (zh) * | 2019-04-15 | 2019-07-30 | 上海微小卫星工程中心 | 一种基于动态故障树的嵌入式星载软件测试用例生成方法 |
CN111258911A (zh) * | 2020-02-13 | 2020-06-09 | 深圳航天科技创新研究院 | 一种基于数据驱动及多种覆盖策略的软件测试用例生成方法、系统及存储介质 |
-
2020
- 2020-07-31 CN CN202010762816.3A patent/CN112015639B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100235814A1 (en) * | 2009-03-16 | 2010-09-16 | Kabushiki Kaisha Toshiba | Apparatus and a method for generating a test case |
US20120198280A1 (en) * | 2011-01-28 | 2012-08-02 | International Business Machines Corporation | Test cases generation for different test types |
CN102420727A (zh) * | 2012-01-05 | 2012-04-18 | 北京邮电大学 | 一种基于分布式的协议测试系统及方法 |
CN102929775A (zh) * | 2012-10-23 | 2013-02-13 | 中标软件有限公司 | 一种Web应用系统测试方法 |
CN105022691A (zh) * | 2015-07-22 | 2015-11-04 | 国家电网公司 | 一种基于uml图的高度自动化软件测试方法 |
CN105677563A (zh) * | 2016-01-05 | 2016-06-15 | 南昌航空大学 | 一种基于SysML模块图的集成测试序列生成方法 |
CN106802862A (zh) * | 2016-12-14 | 2017-06-06 | 中国铁路总公司 | 列车运行控制系统安全关键软件自动测试平台 |
CN106814730A (zh) * | 2016-12-14 | 2017-06-09 | 中国铁路总公司 | 列车运行控制系统安全关键软件测试用例生成方法 |
CN108446220A (zh) * | 2018-03-02 | 2018-08-24 | 国网吉林省电力有限公司信息通信公司 | 一种测试用例的生成方法和装置 |
CN109117363A (zh) * | 2018-06-28 | 2019-01-01 | 腾讯科技(深圳)有限公司 | 一种测试用例生成方法、装置及服务器 |
CN109582558A (zh) * | 2018-09-06 | 2019-04-05 | 杭州电子科技大学 | 一种基于efsm模型的最小成本测试用例生成方法 |
CN109902002A (zh) * | 2019-02-14 | 2019-06-18 | 浙江口碑网络技术有限公司 | 组合测试用例的生成方法及装置、存储介质、计算机设备 |
CN110069410A (zh) * | 2019-04-15 | 2019-07-30 | 上海微小卫星工程中心 | 一种基于动态故障树的嵌入式星载软件测试用例生成方法 |
CN111258911A (zh) * | 2020-02-13 | 2020-06-09 | 深圳航天科技创新研究院 | 一种基于数据驱动及多种覆盖策略的软件测试用例生成方法、系统及存储介质 |
Non-Patent Citations (2)
Title |
---|
SANTOSH KUMAR SWAIN等: "Test Case Generation Based on Use case and Sequence Diagram", SOFTWARE ENGINEERING, vol. 3, no. 2, 31 July 2010 (2010-07-31), pages 21 - 52 * |
黄晨等: "基于UML模型的嵌入式软件测试用例生成方法", 空间控制技术与应用, vol. 39, no. 1, 15 February 2013 (2013-02-15), pages 57 - 62 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559343A (zh) * | 2020-12-11 | 2021-03-26 | 腾讯科技(深圳)有限公司 | 测试路径生成方法及相关设备 |
CN112559343B (zh) * | 2020-12-11 | 2022-11-15 | 腾讯科技(深圳)有限公司 | 测试路径生成方法及相关设备 |
CN112486839A (zh) * | 2020-12-14 | 2021-03-12 | 中国航空综合技术研究所 | 基于状态机的机载产品测试建模方法 |
CN112486839B (zh) * | 2020-12-14 | 2022-05-27 | 中国航空综合技术研究所 | 基于状态机的机载产品测试建模方法 |
CN113590453A (zh) * | 2021-01-28 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 测试用例的生成方法、装置与存储介质 |
CN113009845A (zh) * | 2021-03-08 | 2021-06-22 | 中国科学院微小卫星创新研究院 | 一种卫星软件的仿真测试系统及方法 |
CN113704093A (zh) * | 2021-08-05 | 2021-11-26 | 卡斯柯信号(成都)有限公司 | 一种通用联锁软件测试用例生成方法 |
CN113535594A (zh) * | 2021-09-17 | 2021-10-22 | 广州裕睿信息科技有限公司 | 业务场景测试用例的生成方法、装置、设备和存储介质 |
CN113806232A (zh) * | 2021-10-08 | 2021-12-17 | 中国航空综合技术研究所 | 基于模型的嵌入式软件测试用例生成模型 |
CN113806232B (zh) * | 2021-10-08 | 2023-05-09 | 中国航空综合技术研究所 | 基于模型的嵌入式软件测试用例生成模型 |
CN114186854A (zh) * | 2021-12-10 | 2022-03-15 | 北京得瑞领新科技有限公司 | Ssd设备量产测试方法、装置、存储介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112015639B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112015639A (zh) | 一种星载软件测试用例的生成方法及装置 | |
CN111427681B (zh) | 边缘计算中基于资源监控的实时任务匹配调度系统和方法 | |
Van Der Aalst et al. | Soundness of workflow nets: classification, decidability, and analysis | |
CN111694741B (zh) | 一种基于路径深度覆盖的测试用例设计方法 | |
CN112416337B (zh) | 一种面向航天嵌入式系统的软件架构开发系统 | |
US20170046631A9 (en) | Detecting Missing Rules with Most General Conditions | |
Mittal et al. | Theory and Practice of M & S in Cyber Environments | |
Aichernig et al. | Statistical model checking meets property-based testing | |
Liu et al. | Net-structure-based conditions to decide compatibility and weak compatibility for a class of inter-organizational workflow nets | |
Mani et al. | Validation of automated test cases with specification path | |
Li et al. | Automated functional scenarios-based formal specification animation | |
CN110928761B (zh) | 需求链及其应用的系统和方法 | |
Tasharofi et al. | Modeling web service interactions using the coordination language reo | |
Jahan et al. | Test case generation for BPEL-based web service composition using Colored Petri Nets | |
Lin et al. | Test sequence reduction of wireless protocol conformance testing to internet of things | |
Herbert et al. | Workflow fault tree generation through model checking | |
Daszczuk | Critical trees: counterexamples in model checking of CSM systems using CBS algorithm | |
Ghassemi et al. | Automated mapping of Reo circuits to constraint automata | |
Voit et al. | Verification Method for Diagrammatic Workflow Specifications in Computer-Aided Design | |
CN111596893A (zh) | 软件需求抽取方法、装置、计算机设备和可读存储介质 | |
Wan et al. | Quantitative model checking of knowledge | |
Qian et al. | A dynamic service composition schema for pervasive computing | |
Bouchekir et al. | Automatic compositional verification of probabilistic safety properties for inter-organisational workflow processes | |
Jebali | Formal framework for modelling and verifying globally asynchronous locally synchronous systems | |
Alevizou et al. | Enhanced specifications for web service composition |
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 |