一种基于场景矩阵的状态机测试方法技术

技术编号:14898888 阅读:44 留言:0更新日期:2017-03-29 14:02
本发明专利技术提供了一种基于场景矩阵的状态机测试方法,采用的测试系统包括需求单元、关键输入捕捉单元、预期输出生成单元、状态分析单元、执行规则生成单元、场景生成器单元和测试执行单元,测试方法包括用户需求输入、获取迁移条件、产生输出变量、产生场景矩阵、产生模型通过准则、完成场景矩阵的搭建和自动执行测试。本发明专利技术能够将复杂的状态机架构映射为清晰的二维场景矩阵,为复杂状态机的测试工作提供一种便捷、灵活、清晰以及高效率的自动化测试方法。能够显著提高复杂状态机验证与测试工作效率。

【技术实现步骤摘要】

本专利技术属于飞行控制系统领域,具体涉及一种基于场景矩阵的状态机测试方法
技术介绍
现如今的飞行控制系统领域,大量复杂状态的系统开发已涉及到使用有限状态机开发方法,它的使用可以解决复杂的逻辑问题。在状态机给飞行控制系统开发工作带来巨大益处的同时,用什么方法进行针对状态机的验证与测试却是个难以解决的问题。由于状态机的开发具有其特殊性,若使用手工代码的代码审查方式进行人工模拟的动态检查过程。则弊端显而易见,不利于问题查找,特别是难以找出复杂的状态机迁移,更加不易筛选出状态机系统的错误和不合格项。
技术实现思路
本专利技术针对飞行控制状态机开发系统的验证与测试工作,提供一种可以清晰描述、无死角遍历以及自动执行测试工作的方法。本专利技术的一种基于场景矩阵的状态机测试方法,首先提取状态机的输入、输出、迁移条件以及状态,然后确定以状态(State)、输出、通过法则(Pass/FailCriteria)及影响状态迁移的关键条件为主的重要元素,并用场景生成器生成场景矩阵(Scenarios),最后自动执行并获取脚本测试结果(Pass/Fail)。考虑到现有技术的上述问题,根据本专利技术公开的一个方面,本专利技术采用以下技术方案:一种基于场景矩阵的状态机测试方法,采用的测试系统包括需求单元、关键输入捕捉单元、预期输出生成单元、状态分析单元、执行规则生成单元、场景生成器单元和测试执行单元,其特征在于,测试方法步骤如下:1)将用户需求输入需求单元(Requirement);2)使用关键输入捕捉单元获取每一个状态(State)对应的输入变量,进行二次分析得到影响状态场景切换的关键迁移条件;3)使用预期输出生成单元产生每一个状态(State)对应的输出变量;4)使用状态分析单元产生多个状态(State),并将所述多个状态(State)分别设定为场景矩阵(Scenarios)的X轴和Y轴;5)使用执行规则生成单元产生模型通过准则(Pass/FailCriteria);6)最后使用场景生成器单元完成场景矩阵的搭建,所述场景矩阵的第一列为通过准则及输出变量,第二列为输入变量,由多个状态(State)组成的场景矩阵的状态迁移焦点(Focus)位置填入影响状态场景切换的关键迁移条件;7)使用测试执行单元执行测试,并自动获取测试结果(Pass/Fail)。本专利技术能够将复杂的状态机架构映射为清晰的二维场景矩阵,为复杂状态机的测试工作提供一种便捷、灵活、清晰以及高效率的自动化测试方法。能够显著提高复杂状态机验证与测试工作效率,并且可保存的场景矩阵现场与自动执行的结果在状态机测试上的应用给相关领域提供了一个新的思路。附图说明图1是对状态机实现的系统运用场景矩阵测试系统示意图。图2是对状态机实现的系统运用场景矩阵测试的步骤流程图。图3是一个以状态机实现的飞行控制系统的机内自检测(BuildInTest)测试指令接收功能的需求实例。图4是按照需求实例实现的场景矩阵状态图。具体实施方式下面结合实施例对本专利技术作进一步地详细说明,但本专利技术的实施方式不限于此。下面用一个以状态机实现的飞行控制系统的机内自检测(BuildInTest)测试指令接收功能为实例,这个飞行控制系统的机内自检测(BuildInTest)测试指令接收功能的用户需求是:a)飞行控制系统进行BIT模式后,在初始的“BIT测试等待状态”等待接收飞控计算机测试指令,若接收到测试指令的指令号且测试指令合法则系统进入“BIT测试确认状态”;b)在“BIT测试确认状态”中判断这个测试指令是否被禁止执行,若指令被禁止执行,那么系统进入“BIT测试禁止状态”,否则系统进入“BIT测试执行状态”;c)当“BIT测试禁止状态”或“BIT测试执行状态”功能执行完成后系统退回至“BIT测试等待状态”等待接收下一个测试指令。待实现的需求单元详情见图3,下面则对方法的具体实施步骤进行详细说明:1)分析用户需求,生成需求单元;2)从图3的需求单元可提取的输入及关键迁移条件:BIT测试指令有效字;BIT测试指令号;BIT测试指令禁止标志;3)从图3的需求单元可提取的输出:BIT测试进行中标志;BIT测试禁止标志;状态位置回报;4)从图3的需求单元可提取的所有状态:4个状态:BIT测试等待状态、BIT测试确认状态、BIT测试执行状态、BIT测试禁止状态;5)从图3的需求单元获取模型通过准则;6)使用场景生成器(ScenariosGenerator)建立包含以上所有关键元素在内场景矩阵(见图4)。其中图中“区域1”为所有状态组成的二维状态矩阵坐标,“区域2”为每个BIT测试状态正常的通过准则及预期输出,“区域3”关键条件迁移块(FocusTransBlock),图中标记为“场景1”与“场景2”的线段是达到所有条件覆盖的状态机动态场景迁移路径;7)执行测试,根据实际输出与预期输出是否一致、场景迁移路径是否完全覆盖自动获取测试结果(Pass/Fail)。整个复杂状态机的验证与测试工作自动执行完成。一个复杂的状态机模型实现的飞行控制系统,若通过人工模型筛查和人工测试用例执行,是很难覆盖复杂逻辑的,不利于问题查找,更加不易筛选出系统错误和不合格项。而基于场景矩阵的状态机测试方法,从状态机需求出发,将复杂的状态机模型转化成为清晰的二维状态机场景迁移矩阵,并实现用例执行和测试结果确认的自动化,从而大大提高状态机测试效率,降低漏测率,填补了状态机测试方面的空白。本文档来自技高网...
一种基于场景矩阵的状态机测试方法

【技术保护点】
一种基于场景矩阵的状态机测试方法,采用的测试系统包括需求单元、关键输入捕捉单元、预期输出生成单元、状态分析单元、执行规则生成单元、场景生成器单元和测试执行单元,其特征在于,测试方法步骤如下:1)将用户需求输入需求单元(Requirement);2)使用关键输入捕捉单元获取每一个状态(State)对应的输入变量,进行二次分析得到影响状态场景切换的关键迁移条件;3)使用预期输出生成单元产生每一个状态(State)对应的输出变量;4)使用状态分析单元产生多个状态(State),并将所述多个状态(State)分别设定为场景矩阵(Scenarios)的X轴和Y轴;5)使用执行规则生成单元产生模型通过准则(Pass/Fail Criteria);6)最后使用场景生成器单元完成场景矩阵的搭建,所述场景矩阵的第一列为通过准则及输出变量,第二列为输入变量,由多个状态(State)组成的场景矩阵的状态迁移焦点(Focus)位置填入影响状态场景切换的关键迁移条件;7)使用测试执行单元执行测试,并自动获取测试结果(Pass/Fail)。

【技术特征摘要】
1.一种基于场景矩阵的状态机测试方法,采用的测试系统包括需求单元、关键输入捕捉单元、预期输出生成单元、状态分析单元、执行规则生成单元、场景生成器单元和测试执行单元,其特征在于,测试方法步骤如下:1)将用户需求输入需求单元(Requirement);2)使用关键输入捕捉单元获取每一个状态(State)对应的输入变量,进行二次分析得到影响状态场景切换的关键迁移条件;3)使用预期输出生成单元产生每一个状态(State)对应的输出变量;4)使用状态分析单元产生多个状态(...

【专利技术属性】
技术研发人员:李鹏武方方赵亮张丹涛田佳陈晰亮王玮
申请(专利权)人:中国航空工业第六一八研究所
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1