· 迫使测试人员去仔细思考软件的实现· 可以检测代码中的每条分支和路径· 揭示隐藏在代码中的错误· 对代码的测试比较彻底· 最优化 · 昂贵· 无法检测代码中遗漏的路径和数据敏感性错误· 不验证规格的正确性