登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書

『繁體書』單元測試的藝術 [第二版]

書城自編碼: 3061417
分類:繁體書 →台灣書
作者: RoyOsherove 譯者: 陳仕傑91
國際書號(ISBN): 9789864342471
出版社: 博碩
出版日期: 2017-09-29
版次: 二版
頁數/字數: 336頁
書度/開本: 18.5x23cm

售價:HK$ 203.1

 

** 我創建的書架 **
未登入.


新書推薦:
打造燃燒系體質的控醣增肌常備菜:鐵人三項選手&料理研究家高橋善郎的80道高代謝燃脂料理
《 打造燃燒系體質的控醣增肌常備菜:鐵人三項選手&料理研究家高橋善郎的80道高代謝燃脂料理 》

售價:HK$ 95.0
樹懶的逆襲:當競爭成為事實,耍廢就是義務!
《 樹懶的逆襲:當競爭成為事實,耍廢就是義務! 》

售價:HK$ 103.9
日本人氣NO.1京大校長開講!狂放思考學:狂野發想╳放泥Funny學習,成為未來需要的全球化人才
《 日本人氣NO.1京大校長開講!狂放思考學:狂野發想╳放泥Funny學習,成為未來需要的全球化人才 》

售價:HK$ 89.1
設計幀理:裝幀的藝術
《 設計幀理:裝幀的藝術 》

售價:HK$ 148.1
大圓滿前行:普賢上師言教【索達吉堪布藏文直譯經典】
《 大圓滿前行:普賢上師言教【索達吉堪布藏文直譯經典】 》

售價:HK$ 201.9
貝佐斯寫給股東的信:亞馬遜14條成長法則帶你事業、人生一起飛
《 貝佐斯寫給股東的信:亞馬遜14條成長法則帶你事業、人生一起飛 》

售價:HK$ 133.6
聖女大德蘭自傳
《 聖女大德蘭自傳 》

售價:HK$ 118.8
金錢解答:你對錢的作為,決定你的人生
《 金錢解答:你對錢的作為,決定你的人生 》

售價:HK$ 95.0

 

內容簡介:
理解如何撰寫單元測試,以及讓它們變得可維護、可讀、可被信任,是這本書的主要內容,不管你使用的是何種程式語言跟編輯器。這本書涵蓋了撰寫單元測試的基本知識,並且講解互動測試的基礎,介紹了在真實世界撰寫、管理和維護單元測試的最佳實踐。

名人推薦:

不管你是對單元測試或是測試驅動開發的新手,還是已經有豐富經驗的人,都能在這本書裡找到適合自己的內容。——《無瑕的程式碼》作者RobertC.Martin(Bob大叔)

《單元測試的藝術》很重要,在好幾年前就應該要有這麼一本書了!——MichaelFeathers

這本書將單元測試所有相關知識解釋地完整透徹。——連任八屆微軟最有價值專家陳仕傑91
關於作者:

RoyOsherove

從事程式設計已超過15年,他在世界各地擔任顧問及訓練團隊,教導有關單元測試的藝術以及測試驅動開發(TDD)。部落格網址為ArtOfUnitTesting.com。
譯者簡介
陳仕傑91

連任八屆微軟最有價值專家(2010~2017)
著作:《ASP.NETMVC5:網站開發美學》(12刷)、《ASP.NETMVC4網站開發美學》
譯作:《敏捷開發實踐》
審校:《進入IT產業必讀的200個.NET面試決勝題》
講師:各大技術研討會、知名企業內訓與公開培訓講師、知名部落客
目錄
致謝
第二版序
第一版序
譯者序
前言
關於本書
關於封面圖片
PARTI入門
Chapter1單元測試基礎
1.1逐步定義單元測試
1.1.1撰寫優秀單元測試的重要性
1.1.2我們都寫過(某種)單元測試
1.2優秀單元測試的特質
1.3整合測試
1.3.1與自動化單元測試相比,非自動化整合測試的缺點
1.4什麼是優秀的單元測試
1.5一個簡單的單元測試範例
1.6測試驅動開發
1.7成功進行TDD的三種核心技能
1.8小結
Chapter2第一個單元測試
2.1單元測試框架
2.1.1單元測試框架提供哪些東西
2.1.2xUnit框架
2.2LogAn專案介紹
2.3NUnit的第一個步驟
2.3.1安裝NUnit
2.3.2載入方案的方式
2.3.3在程式中使用NUnit的特性
2.4撰寫第一個測試程式
2.4.1Assert類別
2.4.2用NUnit執行第一個測試
2.4.3增加正向的測試
2.4.4由紅到綠:測試成功
2.4.5測試程式風格
2.5使用參數來重構測試
2.6更多的NUnit特性
2.6.1setup和teardown
2.6.2驗證預期的例外
2.6.3忽略此測試
2.6.4NUnit的流利語法
2.6.5設定測試分類
2.7測試系統狀態的改變,而非驗證回傳值
2.8小結
PARTII核心技術
Chapter3透過虛設常式解決依賴問題
3.1虛設常式簡介
3.2找到LogAn中對檔案系統的依賴
3.3如何讓測試LogAnalyzer更簡單
3.4重構設計以提昇程式碼的可測試性
3.4.1擷取介面以便替換底層實作內容
3.4.2依賴注入:在被測試單元中注入一個假的實作內容
3.4.3從建構函式注入一個假物件(建構函式注入)
3.4.4用假物件來模擬異常
3.4.5透過屬性get或set注入假物件
3.4.6在呼叫方法之前才注入假物件
3.5重構技術的變形
3.5.1透過擷取與覆寫直接模擬假結果
3.6克服封裝的問題
3.6.1使用internal和[InternalsVisibleTo]
3.6.2使用[Conditional]特性
3.6.3使用#if和#endif進行條件編譯
3.7小結
Chapter4使用模擬物件驗證互動
4.1基於值、狀態與互動的測試
4.2模擬物件和虛設常式物件的差異
4.3手刻模擬物件的簡單範例
4.4同時使用模擬物件和虛設常式物件
4.5每個測試只用一個模擬物件
4.6假物件鏈:用虛設常式物件來產生模擬物件或其他虛設常式物件
4.7手刻模擬物件和虛設常式物件的問題
4.8小結
Chapter5隔離(模擬)框架
5.1為什麼要使用隔離框架
5.2動態產生假物件
5.2.1在測試中使用NSubstitute
5.2.2用動態假物件來取代手刻假物件
5.3模擬回傳值
5.3.1同時使用模擬物件和虛設常式物件
5.3.1.1驗證物件是帶著某些屬性的情況
5.4測試事件相關的活動
5.4.1測試事件監聽者
5.4.2測試事件是否觸發
5.5現有的.NET隔離框架
5.6隔離框架的優缺點
5.6.1使用隔離框架時應避免的陷阱
5.6.2測試程式可讀性變差
5.6.3驗證了錯誤的東西
5.6.4一個測試中有多個模擬物件
5.6.5過度指定的測試
5.7小結
Chapter6深入了解隔離框架
6.1受限框架和不受限框架
6.1.1受限框架
6.1.2不受限框架
6.1.3基於探查器的不受限框架是如何運作的
6.1.4框架揭露了不同的探查器能力
6.2好的隔離框架的價值
6.3支援適應未來和可用性的功能
6.3.1遞迴假物件
6.3.2預設忽略參數
6.3.3大範圍偽造
6.3.4假物件的非嚴格行為
6.3.5非嚴格模擬物件
6.4隔離框架設計反模式
6.4.1概念混淆
6.4.2錄製與重播
6.4.3黏性行為
6.4.4語法過於複雜
6.5小結
PARTIII測試程式碼
Chapter7測試階層和組織
7.1執行自動化測試的自動化建置
7.1.1建置腳本結構
7.1.2觸發建置和整合
7.2依據速度和種類對應的測試分類
7.2.1分開整合測試和單元測試的人為因素
7.2.2綠色安全區域
7.3確保測試程式是版本庫管理的一部分
7.4將測試類別的位置與被測試程式相對應
7.4.1將測試對應到專案
7.4.2把測試對應到類別
7.4.3將測試對應到明確的工作單元入口
7.5注入橫切面關注點
7.6為應用程式建立測試API
7.6.1使用繼承類別繼承模式
7.6.2建立測試輔助類別和方法
7.6.3把你的API介紹給開發人員
7.7小結
Chapter8好的單元測試的支柱
8.1撰寫可信任的測試
8.1.1決定何時刪除或修改測試
8.1.2避免測試中帶著邏輯
8.1.3每次只測試一個關注點
8.1.4把單元測試和整合測試分開
8.1.5用程式碼審查確保程式碼覆蓋率
8.2撰寫可維護的測試
8.2.1測試私有或保護的方法
8.2.2去除重複的程式碼
8.2.3具可維護性的設計來使用Setup方法
8.2.4實作測試隔離
8.2.5避免對不同的關注點進行多次驗證
8.2.6物件比較
8.2.7避免過度指定
8.3撰寫可讀性高的測試
8.3.1單元測試的命名
8.3.2變數命名
8.3.3有意義的驗證
8.3.4驗證和操作分離
8.3.5setup和teardown
8.4小結
PARTIV設計與流程
Chapter9在組織中導入單元測試
9.1逐步成為導入變革的領頭羊
9.1.1準備好面對各種質疑
9.1.2說服組織內成員:支持者和反對者
9.1.3找到可能的切入點
9.2成功之道
9.2.1游擊式的進行(從下而上)
9.2.2說服高層(從上而下)
9.2.3引入外援
9.2.4讓進度可見
9.2.5設定具體目標
9.2.6應對阻礙
9.3失敗原因
9.3.1缺乏驅動力
9.3.2缺乏政策支援
9.3.3糟糕的實現和第一印象
9.3.4缺少團隊支持
9.4影響因素
9.5質疑和回答
9.5.1現有流程加入單元測試需增加多少時間
9.5.2單元測試是否會搶了QA飯碗
9.5.3證明單元測試確實有效的方式
9.5.4單元測試有用的證據
9.5.5QA部門還是能夠找到bug的原因
9.5.6我們有大量未經測試的程式碼,應該從哪裡開始
9.5.7我們使用了多種程式語言:單元測試是否可行
9.5.8軟硬體結合的開發
9.5.9確保測試中沒有bug的方式
9.5.10偵錯器已經證明我的程式沒問題,但還需要測試的原因
9.5.11測試驅動開發的必要性
9.6小結
Chapter10遺留程式碼
10.1從哪裡開始加入測試
10.2決定選擇策略
10.2.1先易後難策略的優缺點
10.2.2先難後易策略的優缺點
10.3在重構前撰寫整合測試
10.4針對遺留程式碼進行單元測試的重要工具
10.4.1使用不受限的隔離框架來輕鬆隔離依賴項
10.4.2使用JMockit測試Java遺留程式碼
10.4.3重構Java程式碼時使用Vise
10.4.4重構前使用驗收測試
10.4.5閱讀MichaelFeathers關於遺留程式碼的書
10.4.6使用NDepend來分析產品程式碼
10.4.7使用ReSharper瀏覽和重構產品程式碼
10.4.8使用Simian和TeamCity發現重複的程式碼(和bug)
10.5小結
Chapter11設計與可測試性
11.1為什麼在設計的時候要關心可測試性
11.2可測試性的設計目標
11.2.1預設情況下將方法設定為虛擬方法
11.2.2使用介面導向的設計
11.2.3預設情況下將類別設計成可繼承的
11.2.4避免在包含邏輯的方法裡面初始化具體類別
11.2.5避免直接呼叫靜態方法
11.2.6避免在建構式和靜態建構式中包含邏輯程式碼
11.2.7把單例邏輯和單例持有者分開
11.3可測試性設計的利弊
11.3.1工作量
11.3.2複雜度
11.3.3洩漏敏感的智慧財產權
11.3.4有時無法進行
11.4可測試性設計的替代方案
11.4.1設計爭論與動態型別語言
11.5難以測試設計的範例
11.6小結
11.7更多資源
AppendixA工具和框架
A.1隔離框架
A.1.1Moq
A.1.2RhinoMocks
A.1.3TypemockIsolator
A.1.4JustMock
A.1.5MicrosoftFakes(Moles)
A.1.6NSubstitute
A.1.7FakeItEasy
A.1.8Foq
A.1.9Isolator++
A.2測試框架
A.2.1MightyMoose(又叫:ContinousTests)持續執行器
A.2.2NCrunch持續執行器
A.2.3TypemockIsolator測試執行器
A.2.4CodeRush測試執行器
A.2.5ReSharper測試執行器
A.2.6TestDriven.NET執行器
A.2.7NUnitGUI測試執行器
A.2.8MSTest執行器
A.2.9Pex
A.3測試API
A.3.1MSTestAPI:微軟的單元測試框架
A.3.2MSTestforMetroApps(WindowsStore)
A.3.3NUnitAPI
A.3.4xUnit.net
A.3.5FluentAssertion驗證API
A.3.6Shouldly輔助API
A.3.7SharpTestsEx輔助API
A.3.8AutoFixture輔助API
A.4控制反轉容器
A.4.1Autofac
A.4.2Ninject
A.4.3CastleWindsor
A.4.4MicrosoftUnity
A.4.5StructureMap
A.4.6微軟的託管可擴充框架(MEF)
A.5資料庫測試
A.5.1為資料庫進行整合測試
A.5.2使用TransactionScope還原(rollback)資料修改
A.6Web測試
A.6.1vonna
A.6.2TeamSystemwebtest
A.6.3Watir
A.6.4SeleniumWebDriver
A.6.5Coypu
A.6.6Capybara
A.6.7JavaScript測試
A.7UI測試(桌面)
A.8執行緒相關的測試
A.8.1MicrosoftCHESS
A.8.2Osherove.ThreadTester
A.9驗收測試
A.9.1FitNesse
A.9.2SpecFlow
A.9.3Cucumber
A.9.4TickSpec
A.10BDD風格的API框架

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.