一次簡單的集成測試(2)

發表于:2011-08-17來源:未知作者:領測軟件測試網采編點擊數: 標簽:集成測試
測試getCards方法testGetCards1 測試用例 判斷返回長度是否正確; public void testGetCards1() throws Throwable { Deck deck=new Deck(); deck.addDeck(1); Vector deckcard=deck.getCards(); as

  測試getCards方法testGetCards1測試用例判斷返回長度是否正確;

  public void testGetCards1() throws Throwable

  {

  Deck deck=new Deck();

  deck.addDeck(1);

  Vector deckcard=deck.getCards();

  assertEquals(52,deckcard.size());

  }

  testGetCards2測試用例從返回的結果中取任意值判斷內容是否正確;

  public void testGetCards2() throws Throwable

  {

  Deck deck=new Deck();

  deck.addDeck(1);

  Vector deckcard=deck.getCards();

  Card card=(Card) deckcard.elementAt(1);

  String RET=card.toString();

  assertEquals("2H",RET);

  }

  測試shuffle方法testShuffle1用例測試在未增加牌時shuffle方法是否會出錯;

  public void testShuffle1() throws Throwable

  {

  Deck deck=new Deck();

  deck.shuffle();

  Vector RET=deck.getCards();

  assertEquals(0, RET.size());

  }

  testShuffle2用例測試洗牌后紙牌的內容有沒有丟失或改變;代碼中使用了窮舉的方法,驗證每一張牌是否真實存在。是否有更好的測試方法呢?

  public void testShuffle2() throws Throwable

  {

  Deck deck=new Deck();

  Deck deck2=new Deck();

  deck.addDeck( 1);

  deck2.addDeck( 1);

  Vector carddeck= deck.getCards();

  Vector carddeck2= deck2.getCards();

  deck.shuffle();

  Card card,card2;

  boolean RET;

  for(int j=0;j<52;j++){

  card=(Card) carddeck.elementAt( j);

  RET=false;

  for(int i=0;i<52;i++){

  card2=(Card) carddeck2.elementAt(i);

  if(card2.toString().equals( card.toString()))

  RET=true;

  }

  assertEquals(true,RET);

  }

  }

  testShuffle3用例測試洗牌后牌的數量是否錯誤。

  public void testShuffle3() throws Throwable

  {

  Deck deck=new Deck();

  deck.addDeck( 1);

  deck.shuffle();

  Vector RET=deck.getCards();

  assertEquals(52, RET.size());

  }

  注:由于在源代碼中已經注明只使用一幅牌,所以測試過程中未考慮牌多于一幅的情況;

  思考問題:

  是否考慮異常情況?在本次的例子中,當不增加紙牌而取某一張牌時會出現錯誤,但是否有必要進行這種測試?

  在getCard方法中如果測試者不知道Card類如何使用,那么將無法對測試結果進行判斷。當設計文檔編寫的不夠細致時會不會對白盒測試阻礙,這個阻礙會有多大呢?

  測試shuffle方法是否有更好的方法呢?類似這種情況在實際應用中可能會很多,有時可能無法使用窮舉、邊界值、分類等方法來進行測試,這時應該如何進行測試呢?

  由于測試代碼的增多,提高了錯誤存在于測試代碼中的風險,這時應該如何處理呢?

  考慮testBurnIt1測試,當toString方法改變時,可能會引起testBurnIt1測試失敗,這樣會增加測試代碼的維護難度,應該如何解決這一問題呢? 

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97