iT邦幫忙

2023 iThome 鐵人賽

0
Mobile Development

在 iOS 專案上加上 Unit testing - 因為 You need testing系列 第 31

D31 - 在 iOS 專案加上測試-You need testing { 沒有銀色子彈 - No silver bullet }

  • 分享至 

  • xImage
  •  

Unit testing 做不到的事 (世界上沒有銀色子彈)

銀色子彈:

「銀色子彈」是一種軟體工程的術語,指的是一種能夠解決所有軟體問題的理想方法或技術。這個詞源自於美國西部的傳說,認為只有銀色的子彈才能殺死狼人或其他怪物。

「銀色子彈」是一種軟體工程的術語,指的是一種能夠解決所有軟體問題的完美方案。然而,這種方案並不存在,因為軟體開發是一個複雜而多變的過程,需要不斷地調整和改進。因此,軟體工程師應該避免尋找「銀色子彈」,而是採用適合自己項目的方法和工具,並持續學習和優化。

  • 測試可以幫助你設計嗎?

不會, 因為你只是先寫 Test,

你的程式碼並不會因為有 Test Case

就自己變得符合設計模式

  • 測試可以幫助你明確需求嗎?

不能,因為先寫 Test 和明確需求無關

  • 測試可以幫助提高程式碼品質嗎?

不能,因為先寫測試和品質也沒關係,你在 test case 中沒有寫的東西,如果有可能導致 crash,他就會 crash

  • 測試可以改善使用者體驗嗎?

不能,因為使用者體驗無法用程式測試

  • 測試可以做出酷炫的 App 嗎?

不能,因為是否酷炫沒辦法用程式測試

在專案加上 Unit Testing 時不要做的事

  • 不要回頭寫測試。不要回頭! 不要回頭! 不要回頭! 因為,你有可能會偷懶,然後寫出沒有意義的測試讓 func 過關。要寫等重構再寫。(寫出 XCTAssertNotNil 也是有寫 test,但這有符合 spec 要求嗎?)
  • 不要追求 code coverage。理由同上。
  • UI 變化的程度並不一定需要 unit test。
  • 一次只加一個會讓 func failed 的測試條件

上一篇
D30 - 在 iOS 專案加上測試-You need testing { 測試報告 }
下一篇
D32 - Where to go from here?
系列文
在 iOS 專案上加上 Unit testing - 因為 You need testing32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
John Lu
iT邦新手 4 級 ‧ 2023-10-13 00:08:05

時間很多欸,還有餘裕寫 D31

Marvin iT邦新手 2 級 ‧ 2023-10-13 08:25:15 檢舉

你知道密訣是什麼嗎?三年前寫過的東西,再把資料翻出來就好

我要留言

立即登入留言