[发明专利]结构测试中的边界值测试方法及其系统有效
申请号: | 201410115157.9 | 申请日: | 2014-03-26 |
公开(公告)号: | CN103914380B | 公开(公告)日: | 2016-10-19 |
发明(设计)人: | 宫云战;李峰;黄俊飞;金大海;王雅文 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 李迪 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 结构 测试 中的 边界 方法 及其 系统 | ||
1.结构测试中的边界值测试方法,其特征在于,包括:
S1,根据被测文件中的语句的语义和表达式的语义选择特定的边界覆盖准则;
S2,根据所述边界覆盖准则获取所述被测文件的语句边界值和表达式边界值;
S3,为所述语句边界值和所述表达式边界值选择对应的可达路径;
S4,根据所述可达路径生成测试用例,并对所述测试用例进行比较,从而得到边界值测试结果。
2.根据权利要求1所述的故障自动注入与故障检测的方法,其特征在于,所述步骤S2包括:
从所述结构测试的控制流图中,得到语句节点,然后根据所述边界覆盖准则得到所述语句边界值;
从结构测试中的抽象语法树中,得到所述表达式的节点,然后根据所述边界覆盖准则得到所述表达式边界值。
3.根据权利要求2所述的故障自动注入与故障检测的方法,其特征在于,根据所述边界值覆盖准则获取所述语句边界值的过程还包括:
所述结构测试中的跳转语句的每个边界值为一个路径集合,所述边界覆盖准则检测到所述集合中的任一个元素,则得到所述跳转语句的语句边界值。
4.根据权利要求1所述的故障自动注入与故障检测的方法,其特征在于,当语句边界值为路径集合时,为所述路径集合中的任一个元素选择到可达路径,即为此语句边界值选择到可达路径。
5.根据权利要求4所述的故障自动注入与故障检测的方法,其特征在于,当语句边界值为路径集合时,对此语句边界值选择路径的具体步骤包括:
S51,获取所述语句边界值中的第一个元素;
S52,选择一条经过所述第一个元素的第一路径;
S53,判断所述第一路径是否为所述第一个元素的可达路径;
S54,如果是,则将所述第一路径作为所述语句边界值的可达路径;如果否,则选择所述语句边界值中的下一个元素,并重复进行上述判断,直到找到所述语句边界值的可达路径。
6.根据权利要求1所述的故障自动注入与故障检测的方法,其特征在于,对所述表达式边界值选择路径的具体步骤包括:
S61,找到所述表达式所在的控制流图节点;
S62,获取所述表达式的边界值的约束CV;
S63,选择一条经过所述控制流图节点的路径;
S64,获取所述路径的约束CP;
S65,判断C=CV∧CP是否有解;
S66,如果判定C有解,则所述路径为所述表达式边界值的可达路径;如果判定C无解,则重新选择一条经过所述控制流图节点的路径,直至C有解。
7.故障自动注入与故障检测的系统,其特征在于,所述系统包括:
边界覆盖准则选择模块,用于根据被测文件中的语句的语义和表达式的语义选择特定的边界覆盖准则;
边界值选取模块,用于根据所述边界覆盖准则获取所述被测文件的语句边界值和表达式边界值;
可达路径选择模块,用于为所述语句边界值和所述表达式边界值选择对应的可达路径;
边界值测试模块,用于根据所述可达路径生成测试用例,并对所述测试用例进行比较,从而得到边界值测试结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410115157.9/1.html,转载请声明来源钻瓜专利网。