[发明专利]一种基于贝叶斯估计的测试用例生成方法及系统有效
申请号: | 202010811550.7 | 申请日: | 2020-08-13 |
公开(公告)号: | CN112035343B | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 谢晓园;姚羽秋;关超;浦帆 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N7/00 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 严彦 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 贝叶斯 估计 测试 生成 方法 系统 | ||
1.一种基于贝叶斯估计的测试用例生成方法,其特征在于,包括以下步骤,
步骤S1,将软件的输入域划分成多个子区域,并将输入域的边界区域与内部区域区别开来,将边界区域作为优先级最高的子区域;
步骤S2,引入贝叶斯估计方式,估计内部区域中子区域里可能包含失效区域的概率,基于概率大小对内部区域中子区域进行排序;
步骤S3,按照子区域的优先级顺序生成测试用例,直至发现软件错误;若测试用例数达到预设条件仍未发现软件错误,则继续在优先级最高的子区域生成测试用例,直至发现软件错误;
步骤S3实现方式如下,
1)首先从优先级最高的边界区域中不断生成测试用例,并执行测试,若发现软件错误,则停止;若未发现软件错误,且总的测试用例生成数达到了预先设置的阈值后,则在优先级第二的子区域中生成测试用例,并执行测试,若发现软件错误,则停止;若未发现软件错误,且总的测试用例生成数达到了预先设置的阈值后,则在优先级第三的子区域中生成测试用例,并执行测试,若发现软件错误,则停止;依次类推,在不断降低优先等级后,若在优先级最低的子区域仍未发现软件错误,且总的测试用例生成数达到了预先设置的阈值后,则进入步骤2);
2)如果当前已经执行步骤1)一次,则返回执行步骤1),如果当前已经重复执行步骤1)两次,则改为只在优先级最高的边界区域中继续生成测试用例,并执行测试,直至发现软件错误或达到预设的测试次数上限后停止。
2.根据权利要求1所述基于贝叶斯估计的测试用例生成方法,其特征在于:步骤S1包括以下子步骤,
步骤S1.1,根据输入域的失效率设置内部区域的边界长度,得到内部区域之外的边界区域,记为D1;
步骤S1.2,将边界区域D1的优先级排在第一位,并将内部区域划分成大小相同的两部分,记为子区域D2和D3。
3.根据权利要求2所述基于贝叶斯估计的测试用例生成方法,其特征在于:输入域为二维正方形时,设置内部区域的边界长度如下,
其中,b为内部区域边长,a为总体的输入域边长,θ为失效率。
4.根据权利要求2所述基于贝叶斯估计的测试用例生成方法,其特征在于:步骤S2包括以下子步骤,
步骤S2.1,随机在两个内部子区域D2和D3内各产生1000个测试用例,并分别统计其中发现软件错误的测试用例的个数;
步骤S2.2,用测试用例发现错误且落在子区域的概率替换子区域能够发现软件错误的概率;
步骤S2.3,应用贝叶斯估计方法,结合先验信息给出先验分布;
步骤S2.4,通过抽取的样本来产生样本的联合条件分布;
步骤S2.5,结合先验分布与样本的联合条件分布求出联合分布;
步骤S2.6,通过联合分布求出边际概率函数,得到后验分布;
步骤S2.7,将后验分布的均值做为概率的估计;
步骤S2.8,通过比较概率的大小,将两个内部子区域D2和D3的优先级进行排序;
步骤S2.9,将两个内部子区域分别进一步划分成两个相同大小的两部分,设子区域D2划分为D4与D5,D3划分为D6与D7,针对D4与D5重复上述步骤S2.1至步骤S2.8,针对D6与D7重复上述步骤S2.1至步骤S2.8;
步骤S2.10,对所有划分的子区域的优先级进行排序,确定子区域D1、D4、D5、D6与D7的优先级顺序。
5.根据权利要求1所述基于贝叶斯估计的测试用例生成方法,其特征在于:阈值设置的优选取值为10。
6.一种基于贝叶斯估计的测试用例生成系统,其特征在于:用于实现如权利要求1-5任一项所述的一种基于贝叶斯估计的测试用例生成方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010811550.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种空间组合式高铁专用集装器
- 下一篇:一种固体电解质片的烧制方法及产品