基于过程模型的系统整体和系统局部测试用例生成方法技术方案

技术编号:2829308 阅读:225 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于过程模型的测试用例生成方法,它包括步骤:针对过程模型PM,生成过程模型图G↓[PM],其中,G↓[PM]定义为G↓[PM]=<V↓[PM],E↓[PM],V↓[PMstart],V↓[PMend]>,V↓[PM]是过程模型图G↓[PM]中所有结点的集合,E↓[PM]是过程模型图G↓[PM]中所有边的集合,V↓[PMstart]是过程模型图G↓[PM]中开始结点的集合,V↓[PMend]是过程模型图G↓[PM]中结束结点的集合;根据生成的过程模型图G↓[PM],获取测试用例。本发明专利技术不仅可获取系统整体的测试用例,还可获取系统局部的测试用例。通过本发明专利技术获取的测试用例具有正确、完备、直观、与需求相一致和可验证的优点。

【技术实现步骤摘要】

本专利技术涉及一种生成测试用例的方法,具体地说,是涉及一种对基于过程模型 建立的系统,生成该系统整体和局部测试用例的方法。
技术介绍
随着软件开发工业化进程的深入发展,对测试用例的描述以及对测试用例自动 生成的研究已成为软件工程领域中的一个重要内容,是软件走向产业化的基础。在测试用例方面,目前研究得较多的是从需求模型获取测试用例,以及确保模 型在转换中统一的方法(指从需求模型转换为测试用例的过程中,如何保证测试用 例与需求保持一致,即测试用例要随需求的变化而变化)。例如,从需求的Z或B 形式化表示中自动获取测试用例(Z和B是两种形式化的描述方法,它们有各自的 符号和语法规则),从需求描述中获取测试用例,从需求的用例描述中自动生成测 试用例,基于系统的UML描述来形成测试的场景等。上述的研究内容主要涉及测试用例的获取过程、方法和表示,而没有涉及到如 何保证用例的正确性和完备性,也没有涉及到如何获得系统整体测试用例全集的问 题。而且,在上述研究中,对测试用例的描述大多采用的是形式化的表示或文本式 的描述,而这些表示或描述都不直观,无法自动验证,难以保持与需求的一致性。
技术实现思路
本专利技术的目的在于提供一种,通过该方法生 成的系统整体和局部的测试用例具有正确、完备、直观、与需求相一致和可验证的 优点。为了达到上述目的,本专利技术采用了以下技术方案一种,其特征在于它包括步骤 歩骤1:针对过程模型PM,生成过程模型图GPM,其中,GPM定义为GPM = <VPM, EPM, VPMstart, VPMend〉, VpM是过程模型图GpM中所有结点的集合,EPM是过程模型 图GPM中所有边的集合,Vwt是过程模型图GpM中开始结点的集合,VpMend是过 程模型图GpM中结束结点的集合;歩骤2:根据生成的过程模型图GPM,获取测试用例。 对于生成系统整体的测试用例,步骤2进一步包括以下步骤歩骤A:从过程模型图GPM的开始结点VpMsart开始遍历搜索,识别过程模型图 GPM中的环路,并记录下每个环路的位置,环路的位置是指环始点和环终点,环始点是指进入过程模型PM环路时的第一个结点,环终点是指在过程模型PM环路中,以入边与该环始点相连的结点;歩骤B:将搜索出的所有环路解除,以使过程模型图GpM变成有向无环图OpMNoCycle;歩骤C:在生成的有向无环图Gp刚。cyde中,从开始结点VPMstart开始遍历,得到拓扑序列集TSequence,拓扑序列集TSequence中记录的是所有从开始结点VPMstart 到结束结点VPMend 的路径;步骤D:根据记录下的环路的位置,修正歩骤C中得到的拓扑序列集TSequence, 并生成初始的结果集TUseCasePM;步骤E:根据步骤D中修正的拓扑序列集TS叫uence ,扩充结果集TUseCasePM , 以使结果集TUseCasepM中记录有系统整体的所有测试用例。对于生成系统局部的测试用例,歩骤2进一步包括以下步骤歩骤a:确定切片准则〈PM, I, Directions初始化过程模型PM的切片过程模型图GpMDirection , GpMDirection = < Voirection , Goireciion , Voirectionstart , Voirectionend > , 其中,PM表示需实施切片的过程模型,I表示实施切片的始点,Direction表示切片方向;歩骤b:从过程模型图G,的开始结点VpMstart开始遍历搜索过程模型图GPM,査找到结点I的位置,并将I添加到GPMD,t,。n中;步骤C:从I所在结点开始,按照切片准则中的切片方向遍历GPM,生成从I所在结点开始的传递闭包,从而生成过程模型切片PMDirection的过程模型图GpMDirection ;步骤d:根据生成的过程模型切片PMDirection的过程模型图GPMD,reet,。n,获取 过程模型切片的测试用例。本专利技术的优点是本专利技术不仅可获取系统整体的测试用例,即获取系统测试用 例全集,还可获取系统局部(后向切片、前向切片或双向切片)的测试用例,追踪 系统局部过程模型图中结点之间相互影响的情况,且由于本专利技术是基于直观可视、 可模拟验证的过程模型而生成测试用例的,故通过本专利技术获取的测试用例具有正确、 完备、直观、与需求相一致和可验证的优点。通过本专利技术获取的测试用例既可作为系统测试的依据,也可供开发人员参考。 另外,本专利技术的研究与实现,为挖掘过程模型的语义关联提供了技术手段。在描述 系统过程的过程模型中,本专利技术可用于系统的验证和确认。附图说明图1是过程模型的一个实例图2是过程模型的顺序结构图3是过程模型的分支结构图4是过程模型的循环结构图5是本专利技术测试用例生成方法的实施流程图6是获取系统整体测试用例的流程图7是一过程模型示意图8是解除图7中的环路而得到的有向无环图9是遍历图8后得到的路径1示意图10是遍历图8后得到的路径2示意图11是遍历图8后得到的路径3示意图12是扩展结果集后得到的路径4示意图13是扩展结果集后得到的路径5示意图14是扩展结果集后得到的路径6示意图15是获取系统局部测试用例的流程图16是对图1实施后向切片而得到的后向切片的过程模型图17是对图1实施前向切片而得到的前向切片的过程模型图18是对图1实施双向切片而得到的双向切片的过程模型图。具体实施例方式本专利技术测试用例生成方法是基于过程模型(Process Model)而实现的。本专利技术 的过程模型是通过企事业过程建模系统EPMS (Enterprise Process Modeling System) 创建的。EPMS由过程模型建造环境PMBE (Process Model Building Environment) 和过程模型模拟环境PMSE (Process Model Simulation Environment)两部分组成。 PMBE是一个图形化的过程编辑器。通过使用一套预定义的图符,用户可以快速地 构造过程模型。它支持按照可视化过程建模语言VPML (Visual Process Modeling Language)来建立过程模型,支持对过程模型中图符对象之间连接的自动语法检查。 用PMBE构造的过程是按层次结构组织的。PMSE是一个图形化的过程模拟器。在 使用PMBE完成过程模型的构造之后,通过对模型设置参数,可使用PMSE对模型 进行模拟执行,检查在所创建的模型中,是否存在不可达路径,是否存在活锁(死 循环)和死锁(竞争资源而不可得),并可以提供与过程执行有关的花费、周期、 质量和资源利用等方面的度量数据和图表。过程模拟是对过程模型进行分析、验证、 改进和优化的实用方法。使用EPMS创建一个过程模型的步骤为首先,用户应通过PMBE来构造一个 过程模型,并进行完整性检査。然后,为该过程模型创建一个过程实例,并在PMSE 中,为该过程实例设置参数(如活动持续时间、活动持续时间的分布、分支概率等), 通过该过程实例对该过程模型进行模拟,从而得到一个经过模拟验证的过程模型。通过上述歩骤创建的过程模型是符合实际需求的,并且,由于理论上己经证明 Petri网(Petr本文档来自技高网...

【技术保护点】
一种基于过程模型的测试用例生成方法,其特征在于它包括步骤:步骤1:针对过程模型PM,生成过程模型图G↓[PM],其中,G↓[PM]定义为G↓[PM]=<V↓[PM],E↓[PM],V↓[PMstart],V↓[PMend]>,V↓[ PM]是过程模型图G↓[PM]中所有结点的集合,E↓[PM]是过程模型图G↓[PM]中所有边的集合,V↓[PMstart]是过程模型图G↓[PM]中开始结点的集合,V↓[PMend]是过程模型图G↓[PM]中结束结点的集合;步骤2: 根据生成的过程模型图G↓[PM],获取测试用例。

【技术特征摘要】
1、一种基于过程模型的测试用例生成方法,其特征在于它包括步骤步骤1针对过程模型PM,生成过程模型图GPM,其中,GPM定义为GPM=&lt;VPM,EPM,VPMstart,VPMend&gt;,VPM是过程模型图GPM中所有结点的集合,EPM是过程模型图GPM中所有边的集合,VPMstart是过程模型图GPM中开始结点的集合,VPMend是过程模型图GPM中结束结点的集合;步骤2根据生成的过程模型图GPM,获取测试用例。2、 根据权利要求1所述的测试用例生成方法,其特征在于 所述歩骤2进一歩包括歩骤A:从过程模型图GpM的丌始结点VpM^n丌始遍历搜索,识别过程模型图 GpM中的环路,并记录下每个环路的位置,环路的位置是指环始点和环终点,环始点是指进入过程模型PM环路时的第一个结点,环终点是指在过程模型PM环路中, 以入边与该环始点相连的结点;步骤B:将搜索出的所有环路解除,以使过程模型图GpM变成有向无环图 GpMNoCycle;步骤C:在生成的有向无环图GpMN。c一e中,从开始结点VPMstart开始遍历,得到拓扑序列集TSequence,拓扑序列集TSequence中记录的是所有从开始结点VPMstart到结束结点VpM^的路径;歩骤D:根据记录下的环路的位置,修正歩骤C中得到的拓扑序列集TSequence, 并生成初始的结果集TUseCasePM;步骤E:根据歩骤D中修正的拓扑序列集TS叫uence ,扩充结果集TUseCasePM , 以使结果集TUseCasePM中记录有系统整体的所有测试用例。3、 根据权利要求2所述的测试用例生成方法,其特征在于 所述步骤B具体为在环路中,删除从环终点到环始点的边,以形成有向无环路的过程模型图GpMNoCycle, GpMNoCycle = < Vpm , GpMNoCycle , Vf>Mstart, VpMend>, 其中GpMNoCycle ; £pM ; 所述歩骤D具体为保留拓扑序列集TSequence中同时含有某环始点和环终点的路径,将其余路径 添加到结果集TUseCasePM中 所述步骤E具体为将保留的拓扑序列集TSequence中的每一条路径与结果集TUseCasepM中的每一 条路径逐一进行比较,该结果集中的每一条路径包括结果集被扩充后增加的新路径若结果集TUseCasepM中的路径i不含有TSequence中的路径j的环始点和环终 点,则路径i不需扩展,直接作为结果集中的元素; 若结果集TUseCasePM中的路径i含有TSequence中的路径j的环始点,但不含 有TSequence中的路径j的环终点,则除路径i作为结果集中的元素外,在路径i的 环始点位置将路径j的环序列插入,以形成一条新路径,该新路径添加到结果集中;若结果集TUseCasepM中的路径i不含有TSequence中的路径j的环始点,但含 有TSequence中的路径j的环终点,则将路径i中含有路径j的环终点的后面部分截 去,将TSequence中含有路径j的环始点但不含有路径j的环终点情况的路径截取出 从环始点到该路径最后一结点的部分序列,将该部分序列连接到截去后的路径i的末 尾,再形成一条新路径,该新路径添加到结果集中;其中,1《i《结果集中的路径总个数,1《j《保留的拓扑序列集中的路径总个数。4、 根据权利要求1所述的测试用例生成方法,其特征在于 所述歩骤2进一步包括歩骤a:确定切片准则〈PM, I, Directions初始化过程模型PM的切片过程模型图GpMDirection , GpmDirection — < Voirection , Eoirection , VDi「ectionsarl , Voirectionend 〉, 其中,PM表示需实施切片的过程模型,I表示实施切片的始点,Direction表示切片方向;步骤b:从过程模型图GpM的开始结点VpMs^开始遍历搜索过程模型图GPM,査找到结点I的位置,并将I添加到GPMDire,。n中 ,歩骤c:从I所在结点开始,按照切片准则中的切片方向遍历GPM,生成从I所在结点开始的传递闭包,从而生成过程模型切片PMDirectkm的过程模型图GpMDirection;歩骤d:根据生成的过程模型切片PMDirection的过程模型图GPMDirecti。n,获取 过程模型切片的测试用例。5、 根据权利要求4所述的测试用例生成方法,其特征在于若所述切片准则中的Direction为Backward ,则对过程模型图GPM实施后向切片, 所述歩骤a至c具体为歩骤al:确定切片准则〈PM, I, Backward>,初始化过程模型PM的后向切片过禾呈模型图GpMBackward' GpMBack丽d 二 < VBackward , EBackward' Vfiackwardstart , VBackwardend > ,其中,PM表示需实施切片的过程模型,I表示实施切片的始点,Backward表示后向 切片;歩骤bl:从过程模型图GpM的开始结点VpMs^开始广度优先遍历搜索过程模型 图GPM,査找到结点I的位置,并将I添加到GPMBa(;kward的Vsawd和VBackwardend中; 步骤C1:从I所在结点开始,逆向遍历GpM,生成从I所在结点开始的逆向传递闭包,从而将满足如下条件的结点和关联边添加到GPMBaekwaRi中,生成后向切片过程模型图GpMBack丽d,条件Vm, meVpM' 3n, neVBackward,使得〈m, n〉eEPM,则将m添加到VBackward 中,将〈m, n〉添力n至U EBackward中,此时,若添加的结点meVPMstart, 贝ll也将该结点m 添加至lj VBackwardstan中。6、 根据权利要求4.所述的测试用例生成方法,其特征在于若所述切片准则中的Direction为Forward ,则对过程模型图GPM实施前向切片, 所述步骤a至c具体为-步骤a2:确定切片准则〈PM, I, Forward>,初始化过程模型PM的前向切片过禾呈模型图GpMForward, GpMForward = < VVorward , ...

【专利技术属性】
技术研发人员:罗文劼周伯生王雷孙奎英
申请(专利权)人:北京赛柏科技有限责任公司
类型:发明
国别省市:11[中国|北京]

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

1