2012-08-28 164 views
1

我不是在尋找這個問題的答案,而只是一個簡要的大綱如何做到這一點。這是考試過去的一個問題。Java - 如何測試一些代碼?

它聲明:用英文描述可用於測試代碼以實現NumberCoversion類的測試序列。您的測試應涵蓋上述定義中描述的所有條件。

我不會寫之類的規範,但它包含的東西,如:它必須採取String作爲輸入和輸出,接受兩個參數並返回null如果號碼無效等

的問題是價值10%,所以我只需要編寫一系列的東西,例如:確保構造函數只接受兩個int類型的參數,而不是其他任何東西,例如加倍或接受3個參數。

是否值得在英文/僞代碼中編寫可能的JUnit測試方法。

這是寫英語測試的正確方式嗎?

+0

這取決於你的教授他如何想要測試用例。 – Mike

+0

他希望用英語測試案例。 –

+0

「用英文描述......」IMO,它只是尋找一個解釋而不是代碼。 –

回答

1

我認爲目標是描述一個測試用例,它檢查問題中的每個規範,同時也避免嘗試測試受語言構造限制的事物(例如錯誤的數量/類型的參數)。

1

用英文描述如果你寫測試你會怎麼做。通常使用NumberConversion類。

1

根據這個問題,你需要用英語來描述測試。我認爲跳轉到JUnit單元測試不僅僅是被要求。如果我回答了這個問題,我將首先看看NumberConversion課程的定義。我將描述使用有效輸入的測試以及使用無效輸入的測試。對於每個測試描述如何確保NumberConversion類的行爲如預期,包括預期的錯誤條件。

1

至於什麼可能是適當的例子...

如果是規格:

  • 接受一個字符串輸入
  • 的字符串可以是任意大小非負整數
  • 如果字符串不是非負整數,則拋出異常

然後我可能會回答沿着線的東西:

  • 我會用「42」測試的輸入,檢查方法與「正常」號
  • 工作我會用「0」進行試驗,輸入端,查看該方法適用於邊緣案例編號
  • 我會測試「9223372036854775808」(長度超過1個。MAX_VALUE)作爲輸入來檢查該方法的工作方式是否大於Java提供的固定長度整數
  • 我會用「-1」作爲輸入進行測試,並確保拋出異常,因爲負輸入無效
  • 我將測試witht「是0xA」作爲輸入,並確保將引發異常,爲十六進制輸入無效
  • 我將測試witht「0.1」作爲輸入,並確保將引發異常,作爲非積分輸入無效