• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 軟件測試驅動開發隨筆------一個最簡單的例

    發表于:2009-04-02來源:作者:點擊數: 標簽:軟件測試開發隨筆驅動
    如果你懶得去看那些很長很長的例子,不妨看看下面這個小例子,這個例子能讓你對 測試驅動開發 有一個直觀的了解。最起碼讓你知道測試驅動開發是一種 開發技術 而不是一項測試的技術。Fibonacci 數列,呵呵,可能有不少人都忘了怎么編的了吧,那正好帶你看看

     

            如果你懶得去看那些很長很長的例子,不妨看看下面這個小例子,這個例子能讓你對測試驅動開發有一個直觀的了解。最起碼讓你知道測試驅動開發是一種開發技術而不是一項測試的技術。Fibonaclearcase/" target="_blank" >cci 數列,呵呵,可能有不少人都忘了怎么編的了吧,那正好帶你看看tdd的威力。

            測試驅動開發,那么測試先行是必然的了。第一個測試來了:

    public void testFibonacci()//不要以為這是junit,nunit也可以這樣寫,而不是非要用屬性哦,不信你試試
    {
      AssertEquals(0,Fib(0));
    }


    Fibonacci 數列的第一個數是0,人人都知吧,好了現在測試代碼有了,那么我們先運行一下測試吧.
    失敗,報錯,可惡的red進度條.
    顯然,因為我們還甚至還沒有Fib()這個函數呢.
    那么讓我們趕緊讓這個測試通過吧.

    int Fib(int n)
    {
     return 0;
    }



    ok!!!  green  這將是你在tdd中最喜歡看到的顏色(多看綠色對我們的視力也是好事)

    第二個測試

    public void testFibonacci()
    {
      AssertEquals(0,Fib(0));
      AssertEquals(1,Fib(1));
    }

     



    那我們趕緊讓它也通過吧

    int Fib(int n)
    {
      if(n==0) return 0;
      return 1;
    }


    通過了!

    從測試代碼中我們看到了
    AssertEquals(0,Fib(0));
    AssertEquals(1,Fib(1));

    重復!不僅在源代碼,就是在測試代碼中,我們也要避免重復!!(測試代碼中也會出現模式哦~~)

    這里,我們用一個最簡單的方法避免重復,用表驅動.

    我們開始改寫測試代碼.

    public void testFibonacci
    {
      int cases[][]={{0,0},{1,1},{2,1}};
      for(int i=0; i<case.Length;i++)
      AssertEquals(case[i][1],fib[i][0]));
     }


    這樣添加測試代碼就容易多了.
    測試代碼改過了!!!小心哦,讓我們再運行下,哦還能通過,那我們就可以放心繼續了.

    public void testFibonacci
    {
      int cases[][]={{0,0},{1,1},{2,1},{3,2}};
      for(int i=0; i<case.Length;i++)
      AssertEquals(case[i][1],fib[i][0]));
     }


    oh! 失敗了,趕快解決它

    int Fib(int n)

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>