1

在数据流覆盖中,DU 路径用于隔离在整个代码部分中定义和使用的变量。

在这样的功能场景中,如何编写涵盖变量所有定义的测试用例x

因为它每次只分配一个新值,但在此函数的任何地方都没有使用:

Function x (int y, int z) {
   int x = 0;
   M = y + z;
   My_Array = [1,2,3];        
   if (0 < M < 10)
       x = My_Array[1];
   else if (10 < M < 20)
       x = My_Array[2];
   else
       x = 0;
}
4

1 回答 1

1

在测试中使用数据流分析的方法是

  • 分析代码
  • 如果数据流分析发现代码有问题,构建一个没有这些问题的理想数据流
  • 根据理想的数据流编写测试。测试将通过,因为我们是根据代码的清理视图来设计它们的。
  • 纠正代码中的任何问题以匹配理想的数据流。只要您在更正代码时不犯任何错误,测试仍然会通过。

DU 路径分析假设所有变量都已定义然后使用。如果在代码结束前未使用变量,则表示代码有错误,我们按上述方法进行更正。DUK 路径分析考虑“杀死”(变量被重新分配或退出程序的地方),但它认为没有使用的杀死是需要以相同方式纠正的错误。

因此,在您的示例中,我们消除了所有未使用的分配,发现没有代码留下,没有要测试的内容,并且可以内联函数!

于 2016-05-10T22:32:33.487 回答