《優質代碼:軟體測試的原則、實踐與模式》是2015年1月人民郵電出版社出版的圖書,作者是[美] 史蒂芬·萬斯(Stephen Vance)。
基本介紹
- 書名:優質代碼:軟體測試的原則、實踐與模式
- 作者:[美] 史蒂芬·萬斯(Stephen Vance)
- 出版社:人民郵電出版社
- 出版時間:2015年1月
- 頁數:199 頁
- 定價:49 元
- 開本:16 開
- 裝幀:平裝
- ISBN:9787115375582
內容簡介,圖書目錄,作者簡介,
內容簡介
《優質代碼:軟體測試的原則、實踐與模式》講述如何對所有的軟體進行輕鬆的例行測試,書中為讀者提供一些工具——一些實現模式,這些工具幾乎可以測試任何代碼。
《優質代碼:軟體測試的原則、實踐與模式》分為三個部分:第一部分(第1~5章)討論了測試的一些原則和實踐,包括首次優質、代碼意圖、測試攻略和測試與設計之間的關係等;第二部分(第6~13章)討論了有關測試實踐方面的一些模式,包括測試構造器和getter/setter、處理字元串、封裝與覆寫、調整代碼可見性、測試單例模式、驗證錯誤條件,以及利用各種接縫和測試多執行緒等;第三部分(第14~15章)展示了兩個實例的編程過程,其中一個是用測試驅動開發方法編寫新的Java應用程式WebRetriever,另一個是為一個未寫測試的JavaScript開源項目jQuery Timepicker Addon添加測試代碼。
《優質代碼:軟體測試的原則、實踐與模式》適合對測試驅動開發有初步了解或實踐並想提升測試代碼編寫技能的程式設計師和自動化測試工程師閱讀,也適合想通過本書在GitHub上的微量提交的代碼來學習用測試驅動開發方法編寫Java新項目和用測試來馴服JavaScript遺留代碼的詳細過程的任何讀者閱讀。
圖書目錄
第一部分 測試的原則和實踐
第1章 工程、匠藝和首次優質
1.1工程與匠藝
1.2 匠藝在首次優質中的作用
1.3 支持軟體匠藝的實踐 測試
1.4 在代碼檢查器的約束下進行單元測試
1.5 針對覆蓋率的單元測試
第2章 代碼的意圖
2.1 意圖都被放到哪裡去了?
2.2 將意圖與實現分離
2.3 一個能引發思考的簡單例子
第3章 從哪裡開始
3.1 一種測試的方法
3.1.1 了解範圍
3.1.2 測試的概念框架
3.1.3 狀態和行為測試
3.1.4 測試還是不測試
3.2 攻略
3.2.1 測試"正常路徑"
3.2.2 測試替代路徑
3.2.3 測試錯誤路徑
3.2.4 測試數據的排列組合
3.2.5 對缺陷進行測試
第4章 設計和可測試性
4.1 關於設計范型
4.2 封裝和可觀察性
4.2.1 表示性的封裝
4.2.2 行為的封裝
4.2.3 測試的灰度
4.2.4 封裝、可觀察性和可測試性
4.3 耦合和可測性
第5章 測試的原則
5.1 把測試雕琢好
5.1.1 將輸入關聯到輸出
5.1.2 使用命名約定
5.2 避免在生產代碼內出現測試代碼
5.3 通過實現來驗證意圖
5.4 將耦合最小化
5.5 要最小的、新的和瞬態fixture
5.6 利用現有設施
5.7 要完整的驗證而不要部分的驗證
5.8 編寫小測試
5.9 分離關注點
5.10 使用唯一值
5.11 保持簡單:刪除代碼
5.12 不要測試框架
不要測試生成的代碼
5.13 有時測試框架
第二部分 測試與可測試性模式
第6章 基礎知識
6.1 bootstrapping構造器
6.2 測試簡單的getter和setter
6.3 共享常量
6.4 在局部重新定義
6.5 暫時替換
6.6 封裝和覆寫
6.7 調整可見性
6.8 通過注入的驗證
第7章 字元串處理
7.1 通過包含關係來驗證
7.2 通過模式來驗證
7.3 通過值來精確驗證
7.4 使用格式化的結果來精確驗證
第8章 封裝和覆寫變化
8.1 數據注入
8.2 封裝循環條件
8.3 錯誤注入
8.4 替換協作者
8.5 使用現有的操作類
第9章 調整可見性
9.1 用包來包裝測試
9.2 將其分解
9.3 更改訪問級別
9.4 僅用於測試的接口
9.5 命名那些尚未命名的
9.6 變為friend
9.7 通過反射來強制訪問
9.8 聲明範圍變更
第10章 間奏:重溫意圖
10.1 測試單例模式
10.2 單例的意圖
10.3 測試的策略
10.3.1 測試單例的性質
10.3.2 對類的目的進行測試
10.4 獨具慧眼的意圖
第11章 錯誤條件驗證
11.1 檢查返回值
11.2 驗證異常類型
11.3 驗證異常訊息
11.4 驗證異常有效載荷
11.5 驗證異常實例
11.6 有關異常設計的思考
第12章 利用現有接縫
12.1 直接調用
12.1.1 接口
12.1.2 實現
12.2 依賴注入
12.3 回調、觀察者、監聽者和通告者
12.4 註冊表
12.5 工廠
12.6 日誌記錄與最後一手的其他設施
第13章 並行性
13.1 執行緒和競態條件的簡介
13.1.1 一些歷史
13.1.2 競態條件
13.1.3 死鎖
13.2 一個用於重現競態條件的策略
13.3 直接測試執行緒的任務
13.4 通過常見鎖來進行同步
13.5 通過注入來同步
例子:通過日誌記錄來注入同步
13.6 使用監督控制
13.7 統計性的驗證
13.8 調試器API
第三部分 實例
第14章 測試驅動的Java
14.1 bootstrapping
14.2 首要功能
14.3 切斷網路連線
14.4 轉移到處理多個網站的情況
14.5 幽靈協定
14.5.1 死胡同
14.5.2spy手藝
14.6 執行選項
14.7 走向下游
14.8 回顧
第15章 遺留的JavaScript代碼
15.1 準備開始
15.2 DOM的統治
15.3 在牙膏與測試之上
15.4 向上擴展
15.5 軟體考古學
15.6 回顧
封底文字
作者簡介
Stephen Vance,從1992年開始,就已經成為專業的軟體開發者、諮詢師、經理、導師和講師,從1997年開始,實踐和講授代碼級別的自動化測試技術。他曾工作過的公司小到創業公司,大到財富100強企業,行業涉及廣泛。他的演講遍布美國和歐洲的軟體技術大會。