iT邦幫忙

tdd相關文章
共有 122 則文章
鐵人賽 IT技術 DAY 3
30天快速上手TDD 系列 第 3

達標好文 技術 [Day 3]動手寫Unit Test

上一篇文章介紹了單元測試的5W,這一篇則是要介紹How,怎麼開始動手寫我們第一個Unit Test。(終於可以寫程式了,笑...) 本篇文章會以Visual...

鐵人賽 IT技術 DAY 2
30天快速上手TDD 系列 第 2

達標好文 技術 [Day 2]Unit Testing 簡介

Testing的第一個切入點:單元測試。 本篇文章將針對單元測試進行簡介,主要內容包含了: Why, What, Where, Who, When。 而How的...

鐵人賽 IT技術 DAY 7
30天快速上手TDD 系列 第 7

達標好文 技術 [Day 7]Unit Test - Stub, Mock, Fake簡介

在上一篇文章中,說明了有哪些方式可以對目標物件進行獨立測試,隔絕目標物件與外部的相依性。 這篇文章則要簡介一下,如何透過mock framework,來輔助我們...

鐵人賽 IT技術 DAY 30
30天快速上手TDD 系列 第 31

達標好文 技術 [30天快速上手TDD]目錄與附錄

針對整個系列,做個分類與整理。 補充一些筆者覺得不錯的參考資源,供讀者可以更深入的了解相關概念與技術。 這次鐵人賽,希望可以用30篇文章,來讓讀者了解TDD完整...

鐵人賽 IT技術 DAY 1
30天快速上手TDD 系列 第 1

達標好文 技術 [Day 1]TDD guidance

@前言 相信許多developer一定都曾經聽過、看過甚至寫過所謂的Unit Test,可能也嘗試過所謂的TDD。 但可能心裡也有很大的疑問: 「為什麼我要寫兩...

鐵人賽 IT技術 DAY 21
30天快速上手TDD 系列 第 21

技術 [Day 21]ATDD - Acceptance Testing

上篇文章提到了,系統與程式碼存在的目的,就是為了滿足使用者的需求。 因為我們需要一個方式來定義與管理使用者的需求。本系列TDD的文章,則是以user story...

鐵人賽 IT技術 DAY 5
30天快速上手TDD 系列 第 5

達標好文 技術 [Day 5]如何隔離相依性 - 基本的可測試性

相信許多讀者都聽過「可測試性」,甚至被它搞的要死要活的,還覺得根本是莫名其妙,徒勞無功。 今天這篇文章,主要要講的是物件的相依性,以及物件之間直接相依,會帶來什...

鐵人賽 IT技術 DAY 4
30天快速上手TDD 系列 第 4

達標好文 技術 [Day 4]單元測試:是否需針對非 public method 進行測試?

在上一篇文章有提到,VS2012將原本測試非public method的功能移除了。 而今天也剛好有朋友問到,為什麼這麼好用的功能已經作出來了,還特地要移除呢?...

鐵人賽 IT技術 DAY 8
30天快速上手TDD 系列 第 8

技術 [Day 8]Integration Testing & Web UI Testing

原本只打算講Integration Testing,但又覺得這樣講的不過癮,只好把Web UI的Testing納進來。 這篇文章主要會介紹到,如何界定Integ...

鐵人賽 IT技術 DAY 26
30天快速上手TDD 系列 第 26

技術 [Day 26]User Story/ATDD/BDD/TDD - 總結

前幾篇文章提到了BDD的觀念,以及在.NET solution中,簡單的介紹了如何透過SpecFlow這個工具,來幫助我們減少在驗收測試案例與開始進行TDD中間...

鐵人賽 IT技術 DAY 6
30天快速上手TDD 系列 第 6

技術 [Day 6]隔絕相依性的方式與特性

在上一篇文章中,提到了如何透過IoC的設計,以及Stub Object的方式,來獨立測試目標物件。 這一篇文章,則要說明有哪些設計物件的方式,可以讓測試或需求異...

鐵人賽 IT技術 DAY 24
30天快速上手TDD 系列 第 24

技術 [Day 24]BDD - SpecFlow Introduction

前面幾篇文章,先介紹了user story,ATDD,接著提到了要透過BDD來當作ATDD與TDD之間的橋樑。 這篇文章則是要介紹一下,筆者習慣用的BDD工具:...

鐵人賽 IT技術 DAY 27
30天快速上手TDD 系列 第 27

技術 [Day 27]TDD實戰練習-1

到上一篇文章為止,TDD所需要的每個片段都已經簡單介紹了一遍,相信各位讀者也很清楚的瞭解,筆者要表達的重點,還是一句話:一切都為了滿足使用者需求。 接下來,筆者...

鐵人賽 IT技術 DAY 23
30天快速上手TDD 系列 第 23

技術 [Day 23]BDD - Introduction

前面先介紹了如何透過ATDD,透過user story來定義與管理使用者需求開始,透過驗收測試案例來定義一個user story什麼時候可以視為完成。 然而us...

鐵人賽 IT技術 DAY 20
30天快速上手TDD 系列 第 20

技術 [Day 20]ATDD - User Requirement

TDD系列文章到這邊,只是獨立介紹了測試與重構,接下來要介紹的部分,則是筆者認為TDD整個流程中,影響成敗的一環,也就是從user requirement br...

鐵人賽 IT技術 DAY 11
30天快速上手TDD 系列 第 11

技術 [Day 11]Refactoring - 讓程式碼說話

上一篇文章,介紹了重構的第一步,就是建立測試。跨出了這第一步,才能確保後面的重構動作不會影響到結果。這也是為什麼本系列文章,需要先介紹測試的技巧、目的以及方式。...

鐵人賽 IT技術 DAY 9
30天快速上手TDD 系列 第 9

技術 [Day 9]Refactoring legacy code簡介

到上一篇文章為止,TDD中所需具備的基本測試知識,已經告一段落。 接下來要練習的,是重構的手法。 接下來幾篇文章,會跟各位讀者朋友介紹: 要怎麼找到需要重構的...

鐵人賽 Software Development DAY 2

技術 【Day 2】優秀的Unit Test & 簡介TDD

優秀的Unit Test 優秀的Unit Test(UT)和優秀的程式碼一樣,不外乎清楚簡潔。本書的作者,偏好在方法的命名上下重點,讓UT可以從字面就知道要測試...

鐵人賽 IT技術 DAY 14
30天快速上手TDD 系列 第 14

技術 [Day 14]Refactoring - 驗貨

在上一篇文章中,重構第五式:「給你錢,趕快做」中,重點在於如何站在當下物件的角度,去思考自身職責該處理的邏輯,並思考非自身職責的部分,該委託給哪一個物件來處理。...

鐵人賽 IT技術 DAY 22
30天快速上手TDD 系列 第 22

技術 [Day 22]ATDD - ATDD的循環

上篇文章簡單扼要的說明了,如何透過驗收測試案例,來輔助驗證user story是否已經完成。 也強調了驗收測試案例的基本feature,該由哪些共同協同合作撰寫...

鐵人賽 Modern Web DAY 8

技術 DAY8 - 讓你的 Backend 萬物皆虛,萬事皆可測 - Clean Architecture 測試篇

本文章同時發佈於: Github(包含程式碼) Medium iT 邦幫忙 文章為自己的經驗與夥伴整理的內容,設計沒有標準答案,如有可以改進的地...

鐵人賽 IT技術 DAY 10
30天快速上手TDD 系列 第 10

技術 [Day 10]Refactoring 起手式 - 建立測試

上一篇文章中,介紹了如何透過一些靜態程式碼分析的工具,搭配品質指標的門檻,來快速找到系統中需要重構的程式。 也稍微的介紹了,重構目標的程式基本功能與樣式。 這一...

鐵人賽 IT技術 DAY 25
30天快速上手TDD 系列 第 25

技術 [Day 25]BDD - TDD from BDD

前兩篇文章介紹到了,為什麼需要BDD來輔助我們進行TDD,原因是需求、user story與acceptance test cases都是透過DSL來描述,這離...

鐵人賽 IT技術 DAY 17
30天快速上手TDD 系列 第 17

技術 [Day 17]Refactoring - Strategy Pattern

在上篇文章中,我們將各個物流商的物件,抽象化出來一個物流商的介面,這個介面提供了當下頁面物件所需要的功能: 計算運費 取得運費結果 取得物流商名稱 雖然頁面...

鐵人賽 IT技術 DAY 16
30天快速上手TDD 系列 第 16

技術 [Day 16]Refactoring - 介面導向

上一篇文章中,將原本散落在頁面,屬於物流商職責的部分,搬移填入到物流商的物件中,並且通過了最原始的Selenium測試,代表符合了使用者的需求。也通過了單元測試...

鐵人賽 Software Development DAY 9

技術 測試覆蓋率 與 PHPUnit 設定檔

今天回到我們的測試框架,關於測試的覆蓋率,之前提過 TDD 能夠帶來高覆蓋率,代表我們的產品程式幾乎都有被自動化測試過,因此提高對於產品執行無誤的信心。 讓我們...

鐵人賽 IT技術 DAY 12
30天快速上手TDD 系列 第 12

技術 [Day 12]Refactoring - 職責分離

在上一篇文章中,介紹了先透過理解程式碼,加上註解與排版後,讓我們看了程式碼心情不會再這麼不爽。 也因為抽象思考完,用自己的話在註解來描述程式碼的目的與行為,所以...

鐵人賽 IT技術 DAY 28
30天快速上手TDD 系列 第 28

技術 [Day 28]TDD實戰練習-2

前面介紹完每一塊拼圖的概念之後,上一篇文章開始進入實戰演練。 實戰練習的範例,是透過一個網路銀行的範例專案,挑選了登入功能這個user story,在上一篇文章...

鐵人賽 IT技術 DAY 30
30天快速上手TDD 系列 第 30

技術 [Day 30]TDD實戰練習-END

TDD實戰練習第一篇,介紹了: 如何從PO的描述中,定義出user story與acceptance test cases。 如何建立BDD相關的featur...

鐵人賽 IT技術 DAY 13
30天快速上手TDD 系列 第 13

技術 [Day 13]Refactoring - 告訴我,你要什麼

在上一篇文章中,透過分離主詞與動詞,定義出其他的物件與對應的行為,將不屬於當下物件的職責,拆分到其他的物件上。 在拆物件的過程中,還是一再強調,我們要把關注點放...