方格精選

測試的目的

閱讀時間約 2 分鐘
大多數的工程師常常會有一個疑問,就是「測試」應該要怎麼測試才是正確的?在過去,軟體測試大多還是以人工為主,在這幾年逐漸的出現自動化測試之後,實際上我們是不清楚應該要怎麼寫測試。
即使有寫,我們對測試的概念也停留在「檢查正常」這件事情上,雖然本質上沒有問題,然而根據我們對其理解、認知的方式,會有許多不同的解釋。

為什麼要測試

我們的程式是不斷改變的,需要透過測試去避免每一次的變化造成的影響,也就是軟體是一種生物,所提到的概念,情況隨時會改變。
既然情況會改變,每一次都做一次品質保證(QA,Quality Assurance)的檢查似乎就沒問題了!然而,進行 QA 大多是需要專門的工程師來驗證的,透過這樣的方式很難自動化,也難以對應現今軟體快速發展的趨勢。
也因此,根據測試的成本、規模,我們還區分出了整合測試、單元測試不同的層級,從不同角度來觀察一個系統的穩定程度。

如何有效地測試

答案其實意外的簡單,我們只需要先專注在有「商業價值」上的程式碼進行測試即可。如同 StackOverflow 上由 Kent Beck 這位測試驅動開發大師的回答一樣,工作是寫程式而不是寫測試,因此測試是用來保證對程式的信心。
以自己早期 Ruby on Rails 專案的開發狀況來說,我們大多會選擇優先針對 Model 類型的物件測試,因為這類物件在 Rails 中大多存放著「商業邏輯」也就是攸關整個產品的核心。
一昧的追求「覆蓋率(測試涵蓋的程式碼比例)」不一定是一件好事,更多時候我們應該在開發的過程中思考,加入這個測試是否能夠讓系統更加「穩定」透過這樣的循環,持續的提升覆蓋率來改善系統的穩定度。

修改的勇氣

寫測試最直接的好處,不外乎就是給我們提供了「安心修改」的勇氣,當我們的產品有複雜的邏輯存在時,一但破壞了這些邏輯就會造成損失。然而,假設有測試幫我們檢驗,每一次的修改就不會有那麼大的心理負擔。
即使真的發生錯誤,我們也可以針對「測試不夠完善」這件事情來討論,而不是去檢討由誰改壞了系統。透過這樣的正向循環,工程師就能夠更加勇敢的修改、調整系統,搭配自動化的測試機制,就能逐步的加快開發的速度。

封面圖片使用 UnsplashGreen Chameleon 的作品,有想聽的主題可以透過匿名問卷告訴我,想了解專業的技術主題可以到弦而時習之找找靈感。
為什麼會看到廣告
avatar-img
55會員
40內容數
軟體工程師逐漸變成一個熱門的職業,當我們進入這個職業之後應該要具備怎樣的技能才會在工作上更加順利呢?這系列的專欄會分享日常工作中的經驗以及一些案例分析,讓我們一起努力成為一位更優秀的軟體工程師吧!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
蒼時弦也的沙龍 的其他內容
刷題的時候,我們應該思考的不是「如何回答」而是用科學的方式,根據情境、題目要求進行分析,最後再找出適合的演算法去解決這些問題,同時也可以反思自己是否缺少對某些知識的理解。
很多公司面試確實會去考這些題目,並不是為了知道你是否會解題,更多的是想知道你怎麼思考。在工作中,當我們遇到各種不同類型的問題時,是否能夠根據自身的知識、經驗去探索出最佳的解決方案,大多是面試工程師所看重的一環。
既然是例外,就表示出現了我們預期以外的事情,就這點而言這個用詞跟翻譯都非常的精確。假設我們認為這段程式執行的時後不應該出現這個情況,那麼它就必須是一個例外。
簡單來說,寫程式最困難的地方往往不是技術上的問題,而是如何對當下的狀況正確判斷並且建立良好協作的狀態,才會是最為困難的地方。
聽了描述之後我的直覺反應告訴他「會有這樣的問題,應該是設計時少考慮了什麼!」 大多數軟體工程師從初學者階段開始進入到能夠獨立工作的時候,大多會需要自己考慮一個功能的設計,直到一個完整的系統設計。然而,我們總是找不到正確答案。
「什麼時候會有訂飲料系統呢?」從加入五倍紅寶石軟體開發到現在已經過了五年,每次都會有人提出來,接下來就不了了之。我們是一間九成以上都是工程師的公司,理論上像這樣的系統不應該那麼困難才對,為什麼就是沒辦法做出來呢?
刷題的時候,我們應該思考的不是「如何回答」而是用科學的方式,根據情境、題目要求進行分析,最後再找出適合的演算法去解決這些問題,同時也可以反思自己是否缺少對某些知識的理解。
很多公司面試確實會去考這些題目,並不是為了知道你是否會解題,更多的是想知道你怎麼思考。在工作中,當我們遇到各種不同類型的問題時,是否能夠根據自身的知識、經驗去探索出最佳的解決方案,大多是面試工程師所看重的一環。
既然是例外,就表示出現了我們預期以外的事情,就這點而言這個用詞跟翻譯都非常的精確。假設我們認為這段程式執行的時後不應該出現這個情況,那麼它就必須是一個例外。
簡單來說,寫程式最困難的地方往往不是技術上的問題,而是如何對當下的狀況正確判斷並且建立良好協作的狀態,才會是最為困難的地方。
聽了描述之後我的直覺反應告訴他「會有這樣的問題,應該是設計時少考慮了什麼!」 大多數軟體工程師從初學者階段開始進入到能夠獨立工作的時候,大多會需要自己考慮一個功能的設計,直到一個完整的系統設計。然而,我們總是找不到正確答案。
「什麼時候會有訂飲料系統呢?」從加入五倍紅寶石軟體開發到現在已經過了五年,每次都會有人提出來,接下來就不了了之。我們是一間九成以上都是工程師的公司,理論上像這樣的系統不應該那麼困難才對,為什麼就是沒辦法做出來呢?
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
任何的無人實體餐飲或是商店,以後只會越來越多,現在各國都是在測試 0>1很慢 1之後就很快,這是我從智慧型手機就說過的習慣產業術語 到2019年說電動車產業也都是一樣的劇本 自助加油站 自助結帳都是緩慢前進但是一旦到了一個關鍵轉折週期,就會加速 無人商店也是一樣,現在覺得慢,之後就會忽然
Thumbnail
有別於試圖直接從數據中找出洞察,商業分析的精髓在於先思考 so what——從定義目標開始,做出商業決策的雛形後,才用數據去支持假說。這篇文章介紹 A/B 測試的技巧,以及摘櫻桃的應用,解說數據篩選的操作、摘櫻桃的好處,以及企業案例:數位轉型後的報社,亞馬遜CEO貝佐斯改造百年郵報。
Thumbnail
擷取至今,潛意識創造的夢境場景裡,會有固定幾個頻繁出現的場景。而這些場景全部裡,雙生靈魂通通在。總會背後有個默默在看著你、陪伴你的男性能量。體驗到烏托邦之戰徵兵現場,神關了一扇窗,也開了另一扇窗,就為了守護看不見的愛。
Thumbnail
資料分析三個主要的目的分別是探索性、解釋性及預測性。看看他們在方法及複雜度上有什麼差異,以及適用的情境。
Thumbnail
在好友推坑之下,跑來測試惹 ̄﹃ ̄ 姆……當日記來執筆嗎? 反正喬到床頭自然直(喂w) 先有東西再說๛ก(ー̀ωー́ก) 相信有玩過模型改造的同好,大概有買過這個……「蝕刻片」? 談不上是什麼大改技巧,但隨著對造型審美的進步,及玩家自己想呈現的效果,該工具越熟練,作品完成度也會越高 では、また。
Thumbnail
一場史無前例的疫情,使我們必須強迫自己去適應不同於以往的生活型態,難免會大大影響自己的心情。這個單元我們將帶孩子回顧在疫情肆虐之下的遭遇和改變,並且捕捉內心的感觸。
Thumbnail
投資的好夥伴,圖片引用自pexels 接續上篇大綱: (7)怎麼規避風險? NASA的太空衣測試故事 (8)這個世界充滿驚奇 (9)這個世界是一連串的蝴蝶效應 本篇podcast收聽網址: https://sndn.link/willyfc5566/TdO696 (7)怎麼規避風險? NASA的太
Thumbnail
如果你是一個新秀模特兒,你覺得最難挑戰的表演秀是哪一種?   A臨時被派上場沒練習過。  B衣服太輕薄會走光。  C廠商的衣服粉俗。  D要穿30公分的高跟鞋。  E剛失戀還要裝可愛。             A選“臨時被派上場沒練習過”的朋友 你為了愛美,會讓自己變的不怕死。 你的愛美指
Thumbnail
桌遊出版社在測試遊戲時,心態跟設計師差很多。但基本上脫離不了今天要跟大家分享的3個面向:創意、商品與募資。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
任何的無人實體餐飲或是商店,以後只會越來越多,現在各國都是在測試 0>1很慢 1之後就很快,這是我從智慧型手機就說過的習慣產業術語 到2019年說電動車產業也都是一樣的劇本 自助加油站 自助結帳都是緩慢前進但是一旦到了一個關鍵轉折週期,就會加速 無人商店也是一樣,現在覺得慢,之後就會忽然
Thumbnail
有別於試圖直接從數據中找出洞察,商業分析的精髓在於先思考 so what——從定義目標開始,做出商業決策的雛形後,才用數據去支持假說。這篇文章介紹 A/B 測試的技巧,以及摘櫻桃的應用,解說數據篩選的操作、摘櫻桃的好處,以及企業案例:數位轉型後的報社,亞馬遜CEO貝佐斯改造百年郵報。
Thumbnail
擷取至今,潛意識創造的夢境場景裡,會有固定幾個頻繁出現的場景。而這些場景全部裡,雙生靈魂通通在。總會背後有個默默在看著你、陪伴你的男性能量。體驗到烏托邦之戰徵兵現場,神關了一扇窗,也開了另一扇窗,就為了守護看不見的愛。
Thumbnail
資料分析三個主要的目的分別是探索性、解釋性及預測性。看看他們在方法及複雜度上有什麼差異,以及適用的情境。
Thumbnail
在好友推坑之下,跑來測試惹 ̄﹃ ̄ 姆……當日記來執筆嗎? 反正喬到床頭自然直(喂w) 先有東西再說๛ก(ー̀ωー́ก) 相信有玩過模型改造的同好,大概有買過這個……「蝕刻片」? 談不上是什麼大改技巧,但隨著對造型審美的進步,及玩家自己想呈現的效果,該工具越熟練,作品完成度也會越高 では、また。
Thumbnail
一場史無前例的疫情,使我們必須強迫自己去適應不同於以往的生活型態,難免會大大影響自己的心情。這個單元我們將帶孩子回顧在疫情肆虐之下的遭遇和改變,並且捕捉內心的感觸。
Thumbnail
投資的好夥伴,圖片引用自pexels 接續上篇大綱: (7)怎麼規避風險? NASA的太空衣測試故事 (8)這個世界充滿驚奇 (9)這個世界是一連串的蝴蝶效應 本篇podcast收聽網址: https://sndn.link/willyfc5566/TdO696 (7)怎麼規避風險? NASA的太
Thumbnail
如果你是一個新秀模特兒,你覺得最難挑戰的表演秀是哪一種?   A臨時被派上場沒練習過。  B衣服太輕薄會走光。  C廠商的衣服粉俗。  D要穿30公分的高跟鞋。  E剛失戀還要裝可愛。             A選“臨時被派上場沒練習過”的朋友 你為了愛美,會讓自己變的不怕死。 你的愛美指
Thumbnail
桌遊出版社在測試遊戲時,心態跟設計師差很多。但基本上脫離不了今天要跟大家分享的3個面向:創意、商品與募資。