动态测试是通过运行被测试程序,对运行结果与预期结果进行比较分析,同时分析运行效率和健壮性能等。边界值分析是动态测试的一种主要方法,因此选项B是正确答案。而静态测试是不运行被测试程序,只通过分析和检查源代码等来进行测试,如桌面检查、代码走查和代码审查等,所以A、C、D选项都是静态测试的方法,不是动态测试的方法。