【摘要】 本发明涉及软件测试技术领域,本发明能够在一定程度上解决在程序静态测试中对不可达路径的无效计算以及对变量取值信息未充分利用的技术问题。本发明提出区间集的概念,定义了数值型变量区间集上的集合运算及四则运算,对程序中布尔类型变量及引用类型变量及表达式定义了区间计算方法,本发明所述方法在软件测试过程的前期收集了变量及表达式的取值范围信息,并将其应用在控制流图的语句节点上,实验证明,添加了区间运算的软件测试方法较之未添加区间信息的原方法而言,测试结果的误报率降低,测试的准确率更高。 -官网 【专利类型】发明授权 【申请人】北京邮电大学 【申请人类型】学校 【申请人地址】100876 北京市海淀区西土城路10号 【申请人地区】中国 【申请人城市】北京市 【申请人区县】海淀区 【申请号】CN200810114262.5 【申请日】2008-06-02 【申请年份】2008 【公开公告号】CN101286133B 【公开公告日】2010-06-16 【公开公告年份】2010 【授权公告号】CN101286133B 【授权公告日】2010-06-16 【授权公告年份】2010.0 【IPC分类号】G06F11/36 【发明人】杨朝红; 宫云战; 王雅文; 肖庆; 陈俊亮; 吴子敬 【主权项内容】一种应用区间运算的软件测试方法,其特征在于,该方法包括:步骤A、取符号表中的每一个变量,根据所述变量的类型设置初始区间值,具体为:判断符号表中所取的变量是否为数值型变量,若是则将其区间集初始化为{[MIN,MAX]},MIN和MAX为自定义的最小值和最大值,然后执行步骤B;若否,则判断符号表中所取的变量是否为布尔型变量,若是则将其区间值初始化为TRUE_OR_FALSE,然后执行步骤B;若否,判断符号表中所取的变量是否为引用型变量,若是则将其区间值初始化为NOTNULL,然后执行步骤B;步骤B、根据控制流图产生时的节点序号顺序取控制流图中的下一个节点作为当前节点,如果所述当前节点为最后一个节点,则结束遍历,输出新生成的控制流图;否则执行步骤C;步骤C、对所述当前节点的前驱节点上出现的除超出作用域的变量之外的每一个变量,求其在所述当前节点的所有前驱节点上的取值区间或区间集的并集,得到该变量在所述当前节点上的初始区间值或初始区间集;步骤D、判断在所述当前节点上是否存在某个变量的初始区间值为空,若存在则标记该节点为矛盾节点后,执行步骤B;若否,则执行步骤E;步骤E、根据所述当前节点所对应的语句类型对该节点上的每个已获得初始区间值或初始区间集的变量进行相应的区间运算,得到所述变量新的区间取值后执行步骤B。 【当前权利人】北京邮电大学 【当前专利权人地址】北京市海淀区西土城路10号 【专利权人类型】公立 【统一社会信用代码】12100000400009952C 【引证次数】1.0 【被引证次数】4 【自引次数】1.0 【被自引次数】4.0 【家族引证次数】1.0 【家族被引证次数】14