測試驅動開發是什麼

閱讀時間約 2 分鐘
在軟體開發中,有許多測試的流派,像是 TDD(Test-Driven Development,測試驅動開發)就是其中之一,除此之外還有 BDD(Behavior-Driven Development,行為驅動開發)等等不同方式,根據不同的情境選擇適合的測試方式也會是一個重要的技巧。

測試與規格

從測試方法的名字中可以很輕鬆的了解到,TDD(測試驅動開發)的前提就是先寫測試,然後再去開發我們的系統。要達成這樣的條件,就會需要有明確的規格才能夠實行。
假設我們沒辦法明確的定義出像是「當日用品跟清潔用品一起購買時折扣 10%」的規格時,我們基本上就可以預期測試驅動開發會變得非常難以進行,因為我們無法給出一個詳細的 User Story(使用者故事)並且根據這些資訊推導出所需要的測試案例應該如何撰寫。

先測試的好處

然而,我們可以反過來思考,假設我們希望先進行測試的話,是否應該反向的驗證規格是否有所缺漏。
基於這樣的前提,我們可以將測試驅動開發想像為一個「反思」的技巧,當我們拿到「當日用品跟清潔用品一起購買時折扣 10%」的條件時,是否還需要更多的資訊呢?舉例來說,我們是否需要限定在特定時間折扣、是否有折扣的額度上限等等
當我們釐清規格的時候,大致上也對當下的需求有了更清晰的理解,此時再去根據測試的限制撰寫實際運作的程式,就能夠更好的控制範圍以及減少錯誤。

穩定的發展專案

如同測試的目的所說,測試能夠讓工程師更勇敢的修改,也會在測試逐步完善的過程中減少反覆驗證的成本,逐漸的加速開發。在這樣的狀態下,我們的專案實際上就是穩定發展的,因為人為疏失或者意外造成的影響會逐步地減少。
然而,在不同的情境下使用不同的測試方式依舊還是有必要的。因為 TDD 大多是以「單元」測試為前提,對於產品經理或者專案經理來說是難以直接給出確切的規格。而 BDD(行為驅動開發)可以搭配像是 Cucumber 這類工具,先由工程師設計對應的關鍵字,讓非工程師可以用「描述行為」的方式來定義功能,先進行一個「大方向」的規格定義,再由工程師確認細節夠撰寫「小單元」測試來確保每一個零件都是正常的。

封面圖片使用 UnsplashLauren Sauder 的作品,有想聽的主題可以透過匿名問卷告訴我,想了解專業的技術主題可以到弦而時習之找找靈感。
為什麼會看到廣告
54會員
40Content count
軟體工程師逐漸變成一個熱門的職業,當我們進入這個職業之後應該要具備怎樣的技能才會在工作上更加順利呢?這系列的專欄會分享日常工作中的經驗以及一些案例分析,讓我們一起努力成為一位更優秀的軟體工程師吧!
留言0
查看全部
發表第一個留言支持創作者!
蒼時弦也的沙龍 的其他內容
大多數的工程師常常會有一個疑問,就是「測試」應該要怎麼測試才是正確的?在過去,軟體測試大多還是以人工為主,在這幾年逐漸的出現自動化測試之後,實際上我們是不清楚應該要怎麼寫測試。
刷題的時候,我們應該思考的不是「如何回答」而是用科學的方式,根據情境、題目要求進行分析,最後再找出適合的演算法去解決這些問題,同時也可以反思自己是否缺少對某些知識的理解。
很多公司面試確實會去考這些題目,並不是為了知道你是否會解題,更多的是想知道你怎麼思考。在工作中,當我們遇到各種不同類型的問題時,是否能夠根據自身的知識、經驗去探索出最佳的解決方案,大多是面試工程師所看重的一環。
前陣子剛好聽了 AWS(Amazon Web Service,亞馬遜的雲端服務)介紹他們的雲端服務,簡單來說就是從「硬體思維」轉換到「軟體思維」的方式,以軟體方式去思考就可以看作是「雲端」
既然是例外,就表示出現了我們預期以外的事情,就這點而言這個用詞跟翻譯都非常的精確。假設我們認為這段程式執行的時後不應該出現這個情況,那麼它就必須是一個例外。
當時我不會喝酒,畢竟從小對喝酒的印象就不是很好,因此很自然的到吧台點了一杯「可樂」準備來喝。沒想到,調酒師竟然問我「不調嗎?」然而,身為一個乖寶寶學生,當然要拒絕他!
大多數的工程師常常會有一個疑問,就是「測試」應該要怎麼測試才是正確的?在過去,軟體測試大多還是以人工為主,在這幾年逐漸的出現自動化測試之後,實際上我們是不清楚應該要怎麼寫測試。
刷題的時候,我們應該思考的不是「如何回答」而是用科學的方式,根據情境、題目要求進行分析,最後再找出適合的演算法去解決這些問題,同時也可以反思自己是否缺少對某些知識的理解。
很多公司面試確實會去考這些題目,並不是為了知道你是否會解題,更多的是想知道你怎麼思考。在工作中,當我們遇到各種不同類型的問題時,是否能夠根據自身的知識、經驗去探索出最佳的解決方案,大多是面試工程師所看重的一環。
前陣子剛好聽了 AWS(Amazon Web Service,亞馬遜的雲端服務)介紹他們的雲端服務,簡單來說就是從「硬體思維」轉換到「軟體思維」的方式,以軟體方式去思考就可以看作是「雲端」
既然是例外,就表示出現了我們預期以外的事情,就這點而言這個用詞跟翻譯都非常的精確。假設我們認為這段程式執行的時後不應該出現這個情況,那麼它就必須是一個例外。
當時我不會喝酒,畢竟從小對喝酒的印象就不是很好,因此很自然的到吧台點了一杯「可樂」準備來喝。沒想到,調酒師竟然問我「不調嗎?」然而,身為一個乖寶寶學生,當然要拒絕他!
你可能也想看
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
美國運動醫學會 (American College of Sports Medicine, ACSM) 是全球運動與健康的指標學會之一,去年底,他們預測了 2024 年的運動產業趨勢,內容涵蓋廣泛,總共有 20 項。 總結來說,2024 年穿戴式裝置仍然是首要指標,除了經濟層面外,社會支持是開始運
Thumbnail
《「謝銘峻 醫師 2024.02.01」》 隨著時光轉動,美容保養領域也在不斷進化。在這個系列中,我們將深入探討2024年的美容趨勢,揭示最新的技術、成分和方法,讓您能夠精準預測未來的美容風向。 隨著時光轉動,美容保養領域也在不斷進化。在這個系列中,我們將深入探討2024年的美容趨勢,揭示最
Thumbnail
測試介面大廠穎崴近期股價自先前低點上漲逾 30%,即使市場普遍認定公司Q4營運將持續低迷,但多數都已將目光看向2024年測試座將隨 AI 晶片出貨瓶頸解決需求快速成長,穎崴已成功卡位 NVIDIA 和 AMD 之主要供應商地位,預期可直接受惠,該如何解讀穎崴 2024 年營運狀況?
Thumbnail
在前一日觀察的強勢股觀察的11檔股票中,今天有4檔上漲、7檔紅K,漲幅最大的是2313華通、9958世紀鋼,今天分別上漲超過5%;3034聯詠、8016矽創、4763材料今天則分別下跌超過2%。這幾檔個股今天的走勢,和前述盤勢觀察、盤中多空指標的變化都是一致的,用Miller在前述操作方式都是適用的
Thumbnail
文、圖/Hivestack提供   全球領先的獨立程序化 DOOH 廣告技術公司Hivestack 今天宣佈在亞太地區的特定區域推出一項經獨立第三方驗證的程序化數位家外廣告(DOOH)曝光倍增(impression multiplier)解決方案。   隨著眾多新興市場對衡量標準化和
Thumbnail
因為疫情,體溫計已變成各單位及家庭必備品了, 我們公司雖然人數不多,但因為時常會有客戶來訪,所以一台好的體溫計是必要的! 如果不是因為疫情,還真不知道原來一個溫度計水這麼深! 深入民間調查那些超商、門市都用什麼品牌款式 幾乎都是二合一那種,也就是酒精結合溫度計 手伸進去同時消毒及測量溫度 有點邏
剛剛才發現......我的中秋連載趣第3天的文章是9/21早上寫好發布的,怎麼系統變成9/20號發布的呀!? 然後這篇神奇的設定,測試了好多次,在凌晨發布文章不管是直接發布或是使用預約排程發布,日期設定9/22,時間在早上8點之前都會變成9/21發布!? 所以我的七天日更鐵人第五篇(?)就變成方格子
Thumbnail
台灣探針卡大廠旺矽(MPI)宣布以1,020萬美金收購Celadon Systems,BGo事業情報認為,旺矽此次併購有三個策略上的意義,首先是加速半導體測試解決方案與高低溫測試方案兩個產品的競爭力,第二是因應化合物半導體晶圓的發展,取得相關技術,最後並在未來美國發展自主半導體供應鏈中佔有地位
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
美國運動醫學會 (American College of Sports Medicine, ACSM) 是全球運動與健康的指標學會之一,去年底,他們預測了 2024 年的運動產業趨勢,內容涵蓋廣泛,總共有 20 項。 總結來說,2024 年穿戴式裝置仍然是首要指標,除了經濟層面外,社會支持是開始運
Thumbnail
《「謝銘峻 醫師 2024.02.01」》 隨著時光轉動,美容保養領域也在不斷進化。在這個系列中,我們將深入探討2024年的美容趨勢,揭示最新的技術、成分和方法,讓您能夠精準預測未來的美容風向。 隨著時光轉動,美容保養領域也在不斷進化。在這個系列中,我們將深入探討2024年的美容趨勢,揭示最
Thumbnail
測試介面大廠穎崴近期股價自先前低點上漲逾 30%,即使市場普遍認定公司Q4營運將持續低迷,但多數都已將目光看向2024年測試座將隨 AI 晶片出貨瓶頸解決需求快速成長,穎崴已成功卡位 NVIDIA 和 AMD 之主要供應商地位,預期可直接受惠,該如何解讀穎崴 2024 年營運狀況?
Thumbnail
在前一日觀察的強勢股觀察的11檔股票中,今天有4檔上漲、7檔紅K,漲幅最大的是2313華通、9958世紀鋼,今天分別上漲超過5%;3034聯詠、8016矽創、4763材料今天則分別下跌超過2%。這幾檔個股今天的走勢,和前述盤勢觀察、盤中多空指標的變化都是一致的,用Miller在前述操作方式都是適用的
Thumbnail
文、圖/Hivestack提供   全球領先的獨立程序化 DOOH 廣告技術公司Hivestack 今天宣佈在亞太地區的特定區域推出一項經獨立第三方驗證的程序化數位家外廣告(DOOH)曝光倍增(impression multiplier)解決方案。   隨著眾多新興市場對衡量標準化和
Thumbnail
因為疫情,體溫計已變成各單位及家庭必備品了, 我們公司雖然人數不多,但因為時常會有客戶來訪,所以一台好的體溫計是必要的! 如果不是因為疫情,還真不知道原來一個溫度計水這麼深! 深入民間調查那些超商、門市都用什麼品牌款式 幾乎都是二合一那種,也就是酒精結合溫度計 手伸進去同時消毒及測量溫度 有點邏
剛剛才發現......我的中秋連載趣第3天的文章是9/21早上寫好發布的,怎麼系統變成9/20號發布的呀!? 然後這篇神奇的設定,測試了好多次,在凌晨發布文章不管是直接發布或是使用預約排程發布,日期設定9/22,時間在早上8點之前都會變成9/21發布!? 所以我的七天日更鐵人第五篇(?)就變成方格子
Thumbnail
台灣探針卡大廠旺矽(MPI)宣布以1,020萬美金收購Celadon Systems,BGo事業情報認為,旺矽此次併購有三個策略上的意義,首先是加速半導體測試解決方案與高低溫測試方案兩個產品的競爭力,第二是因應化合物半導體晶圓的發展,取得相關技術,最後並在未來美國發展自主半導體供應鏈中佔有地位