【技术实现步骤摘要】
一种基于变量分割的扩展有限状态机测试数据生成方法
本专利技术属于软件测试
,特别是涉及一种基于模型的测试
,用以判定、分割扩展有限状态机测试数据生成中的无关输入变量,具体地,是指一种基于变量分割的扩展有限状态机测试数据生成方法。
技术介绍
软件测试对于保证软件质量具有关键作用。模型是软件系统的一种抽象描述,基于模型的测试(Model-BasedTesting,MBT)是采用形式化的方法判定软件错误所在,从而确保待测软件的正确性与可靠性。由于MBT并不针对某一程序代码本身,因而广泛用于软件生命周期早期阶段的产品测试,尤其适合于航空航天软件等安全悠关系统的前期评估,是软件测试领域重要的研究方向之一。在MBT中,扩展有限状态机(ExtendedFiniteStateMachine,EFSM)与有限状态机(FiniteStateMachine,FSM)是两种最为通用的测试模型,其中EFSM一直被作为SDL、UML、Simulink等建模语言的底层行为模型使用,它是在FSM的基础上引入了变量、操作以及状态迁移的谓词条件,因而相比于FSM更加适合于描述诸如嵌入式及 ...
【技术保护点】
1.一种基于变量分割的扩展有限状态机测试数据生成方法,其特征在于:具体包括以下步骤,步骤1)建立待测软件的扩展有限状态机模型,生成从起始状态节点到其他节点的测试路径候选集,而后对所述测试路径候选集中的测试路径进行预处理,并去除测试路径候选集中不可执行的测试路径;步骤2)从预处理后的测试路径候选集中选取一条目标测试路径,分析目标测试路径中变量与迁移之间的依赖关系,判定目标测试路径中的无关输入变量及其起始分割迁移;步骤3)建立可执行模型,利用语义解析方法使得扩展有限状态机模型可执行化,为启发式算法提供运行时反馈;步骤4)使用遗传算法搜索目标测试路径的测试数据,若当前测试数据所能 ...
【技术特征摘要】
1.一种基于变量分割的扩展有限状态机测试数据生成方法,其特征在于:具体包括以下步骤,步骤1)建立待测软件的扩展有限状态机模型,生成从起始状态节点到其他节点的测试路径候选集,而后对所述测试路径候选集中的测试路径进行预处理,并去除测试路径候选集中不可执行的测试路径;步骤2)从预处理后的测试路径候选集中选取一条目标测试路径,分析目标测试路径中变量与迁移之间的依赖关系,判定目标测试路径中的无关输入变量及其起始分割迁移;步骤3)建立可执行模型,利用语义解析方法使得扩展有限状态机模型可执行化,为启发式算法提供运行时反馈;步骤4)使用遗传算法搜索目标测试路径的测试数据,若当前测试数据所能经过的测试路径包含可分割输入变量的起始分割迁移,则直接固定这些可分割输入变量的取值为常数,在以后的遗传算法迭代中仅需搜索其余输入变量的取值直到成功生成测试数据为止。2.根据权利要求1所述的一种基于变量分割的扩展有限状态机测试数据生成方法,其特征在于:扩展有限状态机M由一个六元组(S,S0,I,O,T,V)构成,其中S是非空状态集合,S0为初始状态,I是输入消息集合,O为输出消息集合,T是状态迁移集合,V是变量集合;状态迁移集合T中的元素为迁移t由五元组(Si,i,g,op,ST)组成,其中Si是迁移t的出发状态,i∈I是输入消息,g是迁移t执行的谓词条件,op则是由变量的赋值语句或输出语句组合而成,ST是状态迁移t的到达状态;扩展有限状态机M中的变量集合V由三元组(Iv,Cv,Ov)构成,其中Iv表示输入变量集合,Ov表示输出变量集合,Cv表示环境变量集合;扩展有限状态机M中的测试路径定义为一个迁移序列,即TP=[t1,t2,…,tn],其中TP对应的谓词条件序列GP=[g1,g2,…,gn],若tk为测试路径TP中的状态迁移,gk为迁移tk的谓词条件则分别表示为tk→TP,gk→GP;其中,k=1,2,…,n,n为测试路径中迁移的个数;使用图遍历方法获取初始测试路径集合。3.根据权利要求1所述的所述的一种基于变量分割的扩展有限状态机测试数据生成方法,其特征在于:步骤2)中所述变量与迁移之间的依赖关系包含两个方面,一是变量的取值是否受到迁移上赋值语句及谓词条件中其他变量的影响,简称为变量与变量的关系,二是谓词条件的满足是否会受到某些变量的影响。4.根据权利要求1所述的所述的一种基于变量分割的扩展有限状态机测试数据生成方法,其特征在于:步骤2)中所述判定目标测试路径中的无关输入变量,自动判定算法如下:对于一条测试路径中是否存在无关变量,取决于谓词条件与变量间的依赖矩阵Q,对于谓词条件与变量的直接依赖关系,通过扫描谓词条件中是否包含该变量得到,而间接依赖关系需要依靠变量与变量的关系进行判断,下面给出依赖矩阵P与矩阵Q的计算方法;[算法1]变量间直接依赖矩阵P计算方法输入.EFSM模型M的变量集合V={x0,x1,…,xn-1},迁移集合T={t0,t1,…,te-1}输出.直接依赖矩阵P0,P1,…,Pe-1Step1.选择某一未建立依赖矩阵的迁移td∈T,建立n维矩阵Pd并初始化元素为0;Step2.扫描迁移td中的每一赋值语句,若xj∈V使得xi={包含xj的表达式},则令pij=1;Step3.扫描迁移td的谓词条件,若xj∈V使得条件中即包含xi又包含xj,则令p...
【专利技术属性】
技术研发人员:潘雄,郝帅,苑政国,张春熹,代琪,王磊,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。