• 软件测试方法及系统

    • 摘要:

      本发明提供一种软件测试方法及系统,该方法包括:确定被测程序的抽象语法树;遍历分析抽象语法树,获取对应的符号表和控制流图;根据符号表确定被测程序的输入变量和全局变量,并分别赋予输入变量和全局变量初始取值范围,输入变量和全局变量的取值范围以数值的区间形式表示;将输入变量和全局变量取值范围的区间表示形式转换为仿射表示形式;根据控制流图确定路径集合,并对路径集合中的每条路径进行逐节点的变量仿射形式运算,输出每条路径对应的变量以及变量取值范围;在每条路径对应的变量的取值范围中取值,生成测试用例,并根据测试用例对被测程序进行测试.本发明提供的软件测试方法及系统,提高了变量取值范围和软件测试结果的精确性.

    • 专利类型:

      发明专利

    • 申请/专利号:

      CN201510325619.4

    • 申请日期:

      2015.06.12

    • 公开/公告号:

      CN104915293A

    • 公开/公告日:

      2015-09-16

    • 发明人:

      宫云战 钱茛南 王雅文 黄俊飞 金大海

    • 申请人:

      北京邮电大学

    • 主分类号:

      G06F11/36(2006.01)I,G,G06,G06F,G06F11

    • 分类号:

      G06F11/36(2006.01)I,G,G06,G06F,G06F11,G06F11/36

    • 主权项:

      一种软件测试方法,其特征在于,包括:确定被测程序的抽象语法树;遍历分析所述抽象语法树,获取对应的符号表和控制流图;根据所述符号表确定所述被测程序的输入变量和全局变量,并分别赋予所述输入变量和全局变量初始取值范围,其中,所述输入变量和全局变量的取值范围以数值的区间形式表示;将所述输入变量和全局变量取值范围的区间表示形式转换为仿射表示形式;根据所述控制流图确定路径集合,并对所述路径集合中的每条路径进行逐节点的变量仿射形式运算,输出所述每条路径对应的变量以及变量的取值范围,其中,所述路径集合中包含所述被测程序的所有待覆盖元素,所述待覆盖元素包括所述被测程序中的变量以及变量间的运算关系;在所述每条路径对应的变量的取值范围中取值,生成测试用例,并根据所述测试用例对所述被测程序进行测试.