[发明专利]一种基于模型的航天器系统自动化测试方法有效
申请号: | 201710138290.X | 申请日: | 2017-03-09 |
公开(公告)号: | CN107066382B | 公开(公告)日: | 2021-01-26 |
发明(设计)人: | 刘艳芳;刘一帆;吕江花;李乃海;乌尼日其其格;张海祥;马世龙 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 赵文利 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 模型 航天器 系统 自动化 测试 方法 | ||
1.一种基于模型的航天器系统自动化测试方法,其特征在于,具体步骤如下:
步骤一、针对某个被测航天器,根据该被测航天器系统的总体设计方案,为每个业务分别构建一个窗口树模型;
具体为:
首先,梳理分析被测航天器系统的业务流程,针对每一个业务,按照业务功能类别进行细粒度划分,得到若干个组成部分,每一个组成部分又包括若干个操作,每一个操作称为一个api,属于同一个组成部分的若干个api划分为一类,该类中的所有api作为窗口树模型的一个窗口节点;
W是该被测航天器系统的每个业务包括的窗口节点集合,W={w0,w1,w2,....wj,...wn},n为整数;wj表示该被测航天器系统的第j个窗口节点,wj={apij1,apij2,...apijm},m≥1;w0∈W为被测航天器系统的启动初始窗口;
然后,根据业务流程中被测航天器系统的动态行为,确定当前窗口节点以及从当前窗口节点流转到另一个窗口节点的事件边;
当从一个窗口节点流转到另一个窗口节点时,会调用至少一个api,对api的调用被称为事件;
被测航天器系统的所有窗口节点之间流转的触发事件的集合用EW表示;定义如下:EW=(EventName,API,Parameters);EventName表示某事件的名称,唯一标识一个事件;API表示该事件触发时的操作集合,可以为空;Parameters表示调用api时的输入参数和输出参数序列;
窗口节点间的流转关系用表示;其中元素(wi,e,wj)∈RW,E表示窗口节点wi与窗口节点wj之间有父子关系,且wi为父节点,wj为子节点,e∈EW表示窗口父节点wi流转到窗口子节点wj的触发事件;
最后,窗口节点以及事件共同形成了窗口树,定义如下:WT=(W,w0,EW,RW,E);
步骤二、根据该被测航天器系统的业务流程,划分系统行为主体运行时的不同行为状态,构建行为状态转移图模型,形成该被测航天器系统预定的状态转移规则集;
行为主体是被测航天器系统运行过程中的所有计算、存储和传输过程的承担者;
行为状态转移图定义如下:STG=(S,S0,ES,RS,E,F)
其中,S表示状态转移图中全部状态的有限集合,即被测航天器系统的系统级行为状态的有限集合;S0表示初始状态,S0∈S;ES是触发状态转移的事件集合或者事件序列集合,为非空有限集合;RS,E是所有状态转移规则的集合:δ:S×Es→S;F是S的子集,表示终止状态的集合;
每个状态转移规则包括前置状态、后置状态和触发状态转移的事件,前置状态在触发状态转移的事件下转移到后置状态;
根据行为状态转移图模型,得到各个状态转移规则,最终形成该被测航天系统的状态转移规则集作为设定目标;
步骤三、运用航天器测试用例自动生成方法遍历被测航天器的窗口树模型,生成测试用例集;
窗口树模型中每一条路径刻画一类系统的运行过程,将每条路径分别作为一个测试用例;
具体为:
步骤301、定义事件序列集合的初始值为空;定义当前遍历路径的输出事件序列thisEventList的初始值为空;
步骤302、针对当前窗口节点w,定义该节点未处理出度变量degree的初始值为0,临时输出事件序列tempEventList的初始值为空,节点处理标志位的初始值为0;
当前窗口节点w初始值为窗口树模型的根节点;
步骤303、读取当前窗口节点w的出度赋给变量degree,并判断变量degree是否为0,如果是,将序列thisEventList追加到事件序列集合,转到步骤309;否则,执行步骤304;
当出度变量degree为0,说明当前窗口节点w是叶子节点,叶子节点的下面没有子节点;
步骤304、顺序读取窗口节点之间的二元关系集CBiRs中未处理的二元关系,并将当前二元关系赋给临时变量tempCBiRs;判断临时变量tempCBiRs是否存在,如果是,转到步骤305;否则,已经读取完,转到步骤309;
二元关系集CBiRs是窗口树模型中所有相邻节点的二元关系的集合;
二元关系是由窗口树模型中每一对相邻窗口节点及边组成,用元素fromWindow、edgeId和toWindow来表示;
临时变量也是包括元素fromWindow、edgeId和toWindow的二元关系;
步骤305、判断临时变量tempCBiRs中的项fromWindow是否等于当前窗口节点w,如果是,转到步骤306;否则,返回步骤304;
步骤306、获取临时变量tempCBiRs的edgeId项追加到事件序列thisEventList,并将当前二元关系标记为已处理完毕;
步骤307、当前窗口节点w的变量degree减1,并判断变量degree是否等于0,如果是,将当前窗口节点w的处理标志位标记为已处理节点,设置当前窗口节点w的序列tempEventList等于上一个窗口节点的序列thisEventList;否则,设置当前窗口节点w的序列tempEventList等于上一个窗口节点的序列tempEventList以及上一个窗口节点的edgeId项;
当前节点为根节点时,临时输出事件序列tempEventList值为空;
步骤308、当前窗口节点w入堆栈,并读取临时变量tempCBiRs的项toWindow对应的窗口作为当前窗口节点w,返回步骤302;
步骤309、堆栈中的最上面节点出栈并作为当前窗口节点w,判断当前窗口节点w是否存在,如果存在,转到步骤310;否则,转到步骤311;
步骤310、判断当前窗口节点w的处理标志位标记是否标记为已处理节点,如果是,返回步骤309;否则,将当前窗口节点w的序列tempEventList赋值给新的路径输出事件序列thisEventList,返回步骤303;
步骤311、遍历被测航天器系统窗口树模型的其余根窗口节点序列,如果没有遍历完,转到步骤302;否则,得到最终的事件序列集合;
步骤312:针对事件序列集合中的每一个事件,找到该事件对应的api序列,得到事件序列对应的测试用例,最终得到整个事件序列集合对应的测试用例集;
每个测试用例是该路径上触发两个相邻窗口之间流转的事件对应的api序列的集合;
步骤四、将生成的测试用例集,逐条输入到航天器数字化模型与验证原型系统中,获取被测航天器的系统级行为的状态转移序列;
首先,上传被测航天器系统的测试用例集到航天器数字化模型与验证原型系统上;
然后,针对当前测试用例,测试人员手动触发一个动作指令,原型系统按照测试用例的行为轨迹模拟被测航天器系统执行任务的行为,在测试用例的每一类操作都设置一个跟踪点,每执行测试用例中的一类操作就记录一下被测航天器系统的行为状态和触发状态转移的事件;直到完成一个测试用例,记录下该测试用例执行全过程中被测航天器系统的不同行为状态和触发状态转移的事件,形成执行该测试用例时被测航天器的系统级行为的状态转移序列;
然后,执行下一个测试用例,直至获得覆盖所有测试用例的被测航天器的系统级行为的状态转移序列;
步骤五、通过模型检测算法判断系统级行为的状态转移序列中的每一步状态转移是否遵循设定的状态转移规则集中的规则;如果是,则说明被测航天器系统通过测试用例集的测试;否则,在行为状态转移序列中至少存在一次状态转移没有遵循状态转移规则,被测航天器系统未通过测试;
具体为:
步骤501、分别设置已处理队列初始值为空,反例队列初始值为空;
步骤502、顺序读取被测航天器系统级行为的状态转移序列,获取当前状态转移序列的当前状态currentSt和下一状态nextSt;
当前状态转移序列初始值为第一个状态转移序列;
步骤503、顺序读取预定的状态转移规则集中的每一条状态转移规则;
步骤504、判断当前状态currentSt和下一状态nextSt是否遵循预定的状态转移规则;如果遵循,则转入步骤505;否则,跳转到步骤507;
步骤505、将当前状态转移序列的当前状态和下一状态全部存入已处理队列;
步骤506、判断被测航天器系统级行为的状态转移序列是否全部遍历完;如果是,进入步骤508;否则,转到步骤502,将当前状态转移序列的下一状态nextSt值作为下一个状态转移序列的当前状态currentSt,同时读取下一个状态转移序列新的下一状态nextSt;
步骤507、判断预定的状态转移规则是否全部读出,如果全部读出,将当前的状态转移序列的当前状态和下一状态存入反例队列,返回步骤502;否则,返回步骤503;
步骤508、判断反例队列中是否为空,如果是,输出被测航天器系统通过测试;否则,在行为状态转移序列中至少存在一次状态转移没有遵循状态转移规则,输出被测航天器系统未通过测试用例集的测试,并输出反例队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710138290.X/1.html,转载请声明来源钻瓜专利网。