2015-04-24 實踐做業2

1、題目簡介  git

  寫一個程序,計算出一組文本文檔的英文單詞的頻率。github

  練習的能力:安全

  迴歸測試,單元測試,性能分析,性能優化等基本源代碼控制技能性能優化

2、源碼的github連接性能

  https://github.com/WreckBear/2ndHomeWork單元測試

3、所設計的模塊測試用例、測試結果截圖測試

   本實現有三個方法,分別對三個方法作了測試:優化

  對獲取文件中的字符串方法作的三項測試:spa

 1     @Test
 2     public void tsetNullFile() throws IOException{ 3 File file =null; 4 DoSomething dos = new DoSomething(); 5 String result = dos.getString(file); 6  assertNull(result); 7  } 8 9  @Test 10 public void testNoContentFile() throws IOException { 11 File file =new File("D:/Empty.txt"); 12 DoSomething dos = new DoSomething(); 13 String result = dos.getString(file); 14 assertEquals("",result); 15  } 16 17  @Test 18 public void testNormalFile() throws IOException { 19 File file =new File("D:/Normal.txt"); 20 DoSomething dos = new DoSomething(); 21 String result = dos.getString(file); 22 assertEquals("hello,my name is Matin,I am thirty-three years old.",result); 23 }
 對提取單詞的方法作了以下測試:
 1     @Test
 2     public void testTakeWord() throws IOException { 3 File file =new File("D:/Normal.txt"); 4 DoSomething dos = new DoSomething(); 5 String str = dos.getString(file); 6 List<String> result = dos.takeWord(str); 7 for(String show:result){ 8  System.out.print(show); 9  } 10 } 

  該測試打印結果爲:hello my name is Matin I am thirty three years old 設計

 對計算單詞頻率作了以下測試:

 1     @Test
 2     public void testFrequency() { 3 List<String> list = new ArrayList<String>(); 4 list.add("hello"); 5 list.add("hello"); 6 list.add("bye"); 7 list.add("bye"); 8 list.add("hello"); 9 list.add("queue"); 10 list.add("hello"); 11 12 DoSomething dos = new DoSomething(); 13 HashMap map = dos.getFrequency(list); 14 15 Iterator iter = map.entrySet().iterator(); 16 while (iter.hasNext()) { 17 Map.Entry entry = (Map.Entry) iter.next(); 18 String key = (String) entry.getKey(); 19 int val = (Integer) entry.getValue(); 20 System.out.println(key+":"+val); 21  } 22 }

  該測試打印結果:

  hello:4

      queue:1

  bye:2

  測試結果截圖:

  

4、問題及解決方案、心得體會

  問題:

    從文章中獲取單詞的方法不完善,好比若文章中出現連續的非字符,可能獲取單詞就會被截止,該方法在繼續完善。

  心得體會:

    雖然此次做業難度不大,不復雜,體會不出明顯的測試所帶來的效果,但也能清楚的感覺到Junit給測試帶來的便捷性,感嘆Junit的簡單之中的神奇。

   另外此次的測試做業也讓本身測試有了個不一樣的理解,不再是簡單的寫個mian方法測試一下,而是跟全面的去方法安全性和健壯性進行檢測,不可不謂收貨。

相關文章
相關標籤/搜索