# 導論 - Specification by Example是一種讓開發團隊與業務人員更好溝通的技術,有助於橋接業務和開發之間的溝通差距。 - Agile軟體開發可以從協作、技術卓越和規劃三個角度來看,而Specification by Example則涉及這三者。 - 目標是減少開發者和業務之間的誤解,以及以更少的缺陷編寫複雜的業務邏輯。 # 介紹Specification by Example - 這種技術包含測試人員、開發者、領域專家和產品擁有者一起參與規格,共享相同的知識和上下文。 - 使用具體的數據示例而不是僅提供公式,有助於更清晰地說明需求。 # 以實例說明  - 舉例說明如何使用具體數據示例,提供了一個要求的例子,並使用HTML表格呈現。 - 這種方法有助於從中得到更多問題,例如對輸入數據的不同情境的假設。 - 強調以實例規格要求,並透過討論補充例子以更好地理解需求。 # 文件與自動化測試 - 儘管Agile宣言強調優先使用軟體過程中的工作軟體,但仍強調文件的可變性,特別是為了可維護性。 - 提到測試驅動開發、單元測試等實踐,並將這些例子視為文件,以取代傳統文檔。 # 工具介紹 - 提到了一些工具,如Cucumber、Concordian、SpecFlow,這些工具可以將規格轉換為可執行的測試,同時保持可讀性。 # Concordian演示 - 展示了一個使用Concordian的實際演示,將HTML文件中的例子轉換為可執行測試,以確保業務邏輯的正確性。 # 自動化測試的價值 - 強調對自動化測試的價值,並提出當業務支持創建“living documentation”(活的文件)時,自動化測試是值得投資的。 # Gherkin語言介紹 - 介紹了Gherkin語言,這是一種用於指定表格的特殊語法,有助於保持一致性。 # 單元測試的實例 - 使用Spock進行單元測試的實例展示,這些測試方法的名稱與規格中的需求相對應,並保持了可讀性。 # 總結 - 總結了這種做法的好處,包括減少誤解、減少缺陷並提供一致性,強調了從單元測試開始並逐步提高成熟度的建議。 # 參考資料 - 提供了一些參考資料,包括推薦的書籍和其他相關連結,以便進一步了解Specification by Example。 # 關鍵字 - Specification by Example: 這是一種軟體開發技術,旨在通過使用具體的數據示例來橋接業務和開發之間的溝通差距。其目標是減少誤解,提高技術卓越,並有助於更好地規劃任務。 - Agile Manifesto: Agile軟體開發宣言,強調合作、軟體技術卓越、以及客戶合作優先於合約談判、遵從計劃的價值。 - Gherkin Language: 一種特殊的語法,用於指定表格,特別用於Specification by Example的工具,例如Cucumber和SpecFlow。 - Unit Testing: 單元測試,是一種測試軟體中最小單元的方法,通常以方法或函數的形式進行。 - Living Documentation: 活的文件,指的是使用自動化測試保持持續更新的文件,以確保與實際程式碼的一致性。 - Concordian, Cucumber, SpecFlow: 這些都是Specification by Example的工具,用於將規格轉換為可執行的測試,同時保持可讀性。 - Spock: 一個用於Java和Groovy的測試框架,用於撰寫清晰、可讀的單元測試。 - Test-Driven Development (TDD): 一種開發方法,先寫測試,再編寫足夠的程式碼使其通過測試,以確保程式碼的正確性。 - Acceptance Test-Driven Development (ATDD): 一種開發方法,強調在開發過程中同時創建可接受的測試。 - UI Automation: 通常指的是使用自動化測試工具測試應用程序的用戶界面。 - Scrum Project: 一種敏捷軟體開發方法,強調固定時間的迭代開發。 - TDD: Test-Driven Development的縮寫,即測試驅動開發。 - MS Test, JUnit: 分別是.NET和Java環境中的測試框架。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up