【技术实现步骤摘要】
本专利技术涉及一种生成测试用例的方法,具体地说,是涉及一种对基于过程模型 建立的系统,生成该系统整体和局部测试用例的方法。
技术介绍
随着软件开发工业化进程的深入发展,对测试用例的描述以及对测试用例自动 生成的研究已成为软件工程领域中的一个重要内容,是软件走向产业化的基础。在测试用例方面,目前研究得较多的是从需求模型获取测试用例,以及确保模 型在转换中统一的方法(指从需求模型转换为测试用例的过程中,如何保证测试用 例与需求保持一致,即测试用例要随需求的变化而变化)。例如,从需求的Z或B 形式化表示中自动获取测试用例(Z和B是两种形式化的描述方法,它们有各自的 符号和语法规则),从需求描述中获取测试用例,从需求的用例描述中自动生成测 试用例,基于系统的UML描述来形成测试的场景等。上述的研究内容主要涉及测试用例的获取过程、方法和表示,而没有涉及到如 何保证用例的正确性和完备性,也没有涉及到如何获得系统整体测试用例全集的问 题。而且,在上述研究中,对测试用例的描述大多采用的是形式化的表示或文本式 的描述,而这些表示或描述都不直观,无法自动验证,难以保持与需求的一致性。
技术实现思路
本专利技术的目的在于提供一种,通过该方法生 成的系统整体和局部的测试用例具有正确、完备、直观、与需求相一致和可验证的 优点。为了达到上述目的,本专利技术采用了以下技术方案一种,其特征在于它包括步骤 歩骤1:针对过程模型PM,生成过程模型图GPM,其中,GPM定义为GPM = <VPM, EPM, VPMstart, VPMend〉, VpM是过程模型图GpM中所有结 ...
【技术保护点】
一种基于过程模型的测试用例生成方法,其特征在于它包括步骤:步骤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=<VPM,EPM,VPMstart,VPMend>,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[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。