主权项 |
一种基于Markov方法的仿真系统测试用例生成方法,其特征在于包括如下步骤:(1)获取仿真系统所有的功能操作,记为一级功能1、一级功能2、一级功能3,,,一级功能n,二级功能1、二级功能2、二级功能3,,,二级功能m,三级功能1、三级功能2、三级功能3,,,三级功能k,以此类推,T级功能1、T级功能2、T级功能3,,,T级功能e,其中n为仿真系统所有一级功能操作的个数,m为仿真系统所有二级功能操作的个数,k为仿真系统所有三级功能操作的个数,e为仿真系统所有T级功能操作的个数,其中I级功能为所有I‑1级功能菜单下的功能,I=2,3,,,T;(2)根据进行当前功能操作得到下一步可能进行的功能操作,如果当前功能操作为一级功能,则下一步进行一级功能或二级功能操作,如果当前操作为二级功能,则下一步进行一级功能、二级功能或三级功能操作,如果当前操作为三级功能,则下一步可能进行一级功能、二级功能、三级功能或四级功能操作,以此类推,如果当前操作为I级功能,则下一步可能进行一级功能、二级功能、三级功能,,,I级功能或I+1级功能,遍历I得到仿真系统所有功能,并获取各功能操作之间的转移概率,其中仿真开始时进行的第一步功能操作为一级功能;所述功能操作之间的转移概率为上一功能操作后进行下一功能操作的概率;(3)根据仿真系统所有功能、各功能操作之间的转移概率建立仿真系统功能的有向图,并得到功能总个数为a,最长功能操作序列的长度为b;所述功能操作序列为仿真开始后直至结束进行的一系列功能操作的集合;(4)生成d个取值范围为[0,1]的元素后组成第t个数组{P<sub>1</sub>,P<sub>2</sub>,P<sub>3</sub>,,,P<sub>d</sub>},在步骤(3)得到的有向图中选取转移概率与P<sub>1</sub>大小最接近的一级功能,然后在该一级功能操作后可能进行的一级功能、二级功能操作中选取转移概率与P<sub>2</sub>大小最接近的功能,直至在上一功能操作后可能进行的功能操作中选取转移概率与P<sub>d</sub>大小最接近的功能,将选取得到的功能顺序组成测试用例,使用该测试用例测试仿真系统并统计测试的功能操作个数,记为c,其中d为随机生成的取值范围为[1,2,3,,,b]的正整数,t的初值为1;所述选取转移概率与数组中元素大小最接近的功能时,如果多于1个功能的转移概率与元素大小最接近,则在多于1个功能中随机选取1个;(5)获取测试功能的覆盖率并判断c/a,如果c/a小于覆盖率,则t=t+1并重复步骤(4),如果c/a大于等于覆盖率,则将步骤(4)得到的所有测试用例输出。 |