中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊

包郵 測試驅動開發的藝術

出版社:人民郵電出版社出版時間:2010-11-01
所屬叢書: 圖靈程序設計叢書
開本: 16開 頁數: 334頁
中 圖 價:¥38.4(6.5折) 定價  ¥59.0 登錄后可看到會員價
暫時缺貨 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

測試驅動開發的藝術 版權信息

測試驅動開發的藝術 本書特色

在傳統的軟件開發中,開發人員對于代碼是否正確心中無底。一切依賴于后期的測試環節。極限編程反其道而行之。主張采用測試驅動開發(TDD)的方法。即通過測試定義所要開發的功能的接口。然后實現功能的開發過程。TDD通過不斷地測試推動代碼的開發。既簡化了代碼。又保證了軟件質量。 本書采用“手把手”的教學方式,通過大量實例來解釋TDD,還專門用幾章的篇幅來講解如何為難于測試的技術編寫單元測試。全書內容循序漸進,先側重基礎內容。討論測試驅動開發和驗收,然后進入動手實踐部分,逐一講解如何對各種技術應用TDD,*后介紹基于驗收測試驅動的測試先行的方式構建完整的系統。 本書面向各個層次的Java程序員。面對變化的世界,請張開雙臂,擁抱極限編程,擁抱TDD。

測試驅動開發的藝術 內容簡介

本書介紹了一種更快更好的軟件開發方法——測試驅動開發。全書共分三部分:**部分講述了TDD和ATDD的相關知識、基本概念、方法,為測試驅動開發打下基礎;第二部分將測試驅動開發用于具體的實踐,重點講解了TDD的各種技術;第三部分著重介紹了驗收測試驅動開發,包括Fit框架、實現驗收測試的方法等,*后講解了引入TDD的各種技巧。 本書濃縮了作者多年的開發經驗,適合各類Java開發人員學習參考。

測試驅動開發的藝術 目錄

目 錄 **部分 TDD入門 第1章 綜述 2 1.1 挑戰:用正確的方法解決正確的問題 3 1.1.1 糟糕的代碼質量 3 1.1.2 不能滿足客戶需求 4 1.2 解決方案:測試驅動 4 1.2.1 高質量的TDD 5 1.2.2 用ATDD滿足客戶需求 6 1.2.3 這對我有什么好處 7 1.3 正確地做事:TDD 9 1.3.1 測試-編碼-重構 9 1.3.2 增量式開發 12 1.3.3 重構以保持代碼的健康 16 1.3.4 保證軟件正常運行 18 1.4 做正確的事:ATDD 20 1.4.1 名字的含義 20 1.4.2 緊密協作 21 1.4.3 把測試作為溝通的共同語言 22 1.5 TDD工具 23 1.5.1 使用xUnit做單元測試 23 1.5.2 支持ATDD的測試框架 23 1.5.3 持續集成及構建 24 1.5.4 代碼覆蓋率 25 1.6 小結 26 第2章 TDD入門 28 2.1 從需求到測試 29 2.1.1 分解需求 29 2.1.2 什么是好的測試 30 2.1.3 依照測試的列表工作 30 2.1.4 意圖編程 30 2.2 選擇**個測試 31 2.2.1 創建測試列表 31 2.2.2 寫**個失敗的測試 32 2.2.3 通過**個測試 34 2.2.4 再加一個測試 36 2.3 廣度優先,深度優先 38 2.3.1 繼續使用偽實現 39 2.3.2 清除掉偽實現 39 2.4 別忘了重構 41 2.4.1 測試代碼中的可重構之處 42 2.4.2 移除多余的測試 43 2.5 添加錯誤處理 44 2.5.1 驗證異常 44 2.5.2 把方法重構得更短些 45 2.5.3 保持方法平衡 46 2.5.4 驗證異常中的詳細信息 47 2.6 無窮盡的測試 48 2.6.1 性能測試 48 2.6.2 有些失望的結局 49 2.7 小結 50 第3章 小步重構 51 3.1 探尋解決方案 51 3.1.1 用Spike開發原型 52 3.1.2 寫測試學知識 52 3.1.3 學習API的Spike樣例 52 3.2 以受控的方式修改設計 54 3.3 進一步延伸新設計 61 3.3.1 保持兼容 62 3.3.2 替換實現 66 3.4 小結 68 第4章 TDD的概念與模式 69 4.1 如何編寫及通過測試 70 4.1.1 測試選擇技巧 70 4.1.2 實現技巧 72 4.1.3 測試驅動的基本準則 73 4.2 重要的測試概念 74 4.2.1 夾具是測試的上下文 74 4.2.2 用測試替身替換依賴 76 4.2.3 基于狀態及基于交互的的測試 76 4.3 近處觀察測試替身 78 4.3.1 測試替身的例子 78 4.3.2 偽實現、測試樁和模擬對象 79 4.3.3 模擬對象實戰 80 4.4 提高設計的可測試性的準則 81 4.4.1 盡量使用組合而非繼承 82 4.4.2 避免使用static關鍵字以及Singleton模式 83 4.4.3 隔離依賴 84 4.4.4 注入依賴 86 4.5 單元測試模式 88 4.5.1 斷言模式 89 4.5.2 夾具模式 92 4.5.3 測試模式 95 4.6 在遺留代碼基礎上工作 101 4.6.1 測試驅動遺留開發 101 4.6.2 分析變化 102 4.6.3 準備好變化 103 4.6.4 測試驅動變更 103 4.7 小結 104 第二部分 針對特定技術應用TDD 第5章 測試驅動Web組件 106 5.1 在60秒內介紹Web應用中的MVC 107 5.2 控制器 107 5.2.1 測試驅動Java Servlets 108 5.2.2 測試驅動Spring控制器 117 5.3 用測試先行的方法構建視圖 120 5.3.1 用JspTest測試驅動JSP 121 5.3.2 測試驅動Velocity模板 125 5.4 在基于控件的Web框架基礎上TDD 129 5.4.1 剖析典型框架 130 5.4.2 用測試先行的方法開發Wicket頁面 130 5.5 小結 135 第6章 測試驅動數據訪問 137 6.1 探索問題領域 137 6.1.1 跨越邊界的數據訪問 138 6.1.2 用DAO模式分層 138 6.2 用單元測試驅動數據訪問 139 6.2.1 JDBC API的缺點 140 6.2.2 用Spring的JdbcTemplate簡化開發 144 6.2.3 用Hibernate輕松地做TDD 149 6.3 編碼前寫集成測試 155 6.3.1 什么是集成測試 155 6.3.2 選擇數據庫 157 6.4 集成測試實戰 159 6.4.1 **個Hibernate集成測試 159 6.4.2 創建數據庫模式 162 6.4.3 實現產品代碼 164 6.4.4 用事務夾具保持數據清潔 165 6.5 為集成測試填充數據 166 6.5.1 用Hibernate填充對象 167 6.5.2 用DbUnit填充數據 168 6.6 使用單元測試還是集成測試 172 6.6.1 在TDD周期中使用集成測試 172 6.6.2 兩全其美 173 6.7 文件系統訪問 173 6.7.1 項目中實際遇到的一個問題 174 6.7.2 提高文件訪問可測試性的實踐 174 6.8 小結 175 第7章 測試驅動不可預測功能 177 7.1 測試驅動時間相關功能 177 7.1.1 例子:日志和時間戳 177 7.1.2 抽象出系統時間 179 7.1.3 用虛設的系統時間測試日志輸出 181 7.2 測試驅動多線程代碼 184 7.2.1 該測什么 184 7.2.2 線程安全 185 7.2.3 阻塞操作 189 7.2.4 啟動及中止線程 191 7.2.5 異步執行 193 7.2.6 線程同步 195 7.3 標準同步對象 196 7.3.1 信號量 196 7.3.2 latche 196 7.3.3 barrier 196 7.3.4 futures 197 7.4 小結 197 第8章 測試驅動Swing代碼 198 8.1 Swing UI中該測試什么 198 8.1.1 內部基礎設施及實用程序 199 8.1.2 渲染及布局 199 8.1.3 交互 199 8.2 可測試UI代碼的模式 200 8.2.1 經典MVP 201 8.2.2 Supervising Controller 201 8.2.3 Passive View 203 8.3 測試視圖控件的工具 205 8.3.1 為什么要用工具 205 8.3.2 TDD友好的工具 206 8.4 測試驅動視圖組件 210 8.4.1 著手設計 211 8.4.2 添加及操作標準控件 212 8.4.3 繪圖 216 8.4.4 給點添加行為 224 8.5 小結 227 第三部分 基于ATDD構建產品 第9章 解析驗收測試驅動開發 230 9.1 用戶故事介紹 231 9.1.1 故事的格式 231 9.1.2 講故事的力量 231 9.1.3 用戶故事的例子 232 9.2 驗收測試 232 9.2.1 故事的樣例測試 232 9.2.2 驗收測試的特征 233 9.2.3 實現驗收測試 236 9.3 理解過程 237 9.3.1 ATDD周期 237 9.3.2 迭代內的ATDD 242 9.4 作為團隊活動的ATDD 245 9.4.1 客戶角色定義 245 9.4.2 客戶與誰一起寫測試 246 9.4.3 需要多少測試人員 247 9.5 ATDD的好處 247 9.5.1 “完成”的定義 247 9.5.2 協作 248 9.5.3 信任及承諾 249 9.5.4 通過例子驗收 249 9.5.5 彌合差距 249 9.6 我們究竟要測試什么 250 9.6.1 應該針對UI測試嗎 250 9.6.2 可以使用部分系統的偽實現嗎 251 9.6.3 應該直接測試領域邏輯嗎 251 9.7 工具概覽 252 9.7.1 基于表格的框架 252 9.7.2 基于文本的框架 253 9.7.3 基于腳本語言的框架 254 9.7.4 自制工具 254 9.8 小結 254 第10章 用Fit創建驗收測試 256 10.1 Fit是什么 256 10.1.1 用Fit進行ATDD 257 10.1.2 包含夾具表的測試文檔 259 10.1.3 夾具:表格和類的結合 260 10.2 三個內建夾具 261 10.2.1 ColumnFixture 261 10.2.2 RowFixture 263 10.2.3 ActionFixture 266 10.2.4 擴展內建夾具 268 10.3 FitLibrary對內建夾具的擴展 269 10.3.1 DoFixture 269 10.3.2 SetUpFixture 272 10.3.3 還有更多功能 273 10.4 執行Fit測試 273 10.4.1 單個測試文檔 274 10.4.2 把所有測試放在一個目錄結構中 274 10.4.3 把測試整合進自動化測試中 275 10.5 小結 276 第11章 執行驗收測試的策略 277 11.1 驗收測試該檢測什么 277 11.1.1 抓住問題本質 278 11.1.2 避免波動頻繁界面 278 11.1.3 在技術障礙*小的地方越過 279 11.2 實現方式 279 11.2.1 端到端 280 11.2.2 繞過UI進行測試 281 11.2.3 直接測試內部邏輯 284 11.2.4 替換無關組件 285 11.2.5 測試后門 286 11.3 技術相關考慮 287 11.3.1 庫 287 11.3.2 無界面的分布式系統 288 11.3.3 控制臺應用 289 11.3.4 GUI應用 290 11.3.5 Web應用 293 11.4 常見問題的處理技巧 295 11.4.1 加快測試執行速度 296 11.4.2 減少測試的復雜度 299 11.4.3 管理測試數據 300 11.5 小結 301 第12章 TDD應用 302 12.1 成功采用TDD的必要條件 302 12.1.1 理解本質 302 12.1.2 緊迫感 303 12.1.3 成就感 303 12.1.4 表現誠實 304 12.1.5 變革的時機 304 12.2 讓其他人參與進來 305 12.2.1 引導變革的角色和能力 305 12.2.2 改變需要時間 307 12.3 如何應對阻力 307 12.3.1 識別阻力 307 12.3.2 應對阻力的三種常見方法 309 12.3.3 應對阻力的技巧 310 12.3.4 挑選戰場 312 12.4 如何推進變革 313 12.4.1 造勢 313 12.4.2 降低門檻 314 12.4.3 培訓 315 12.4.4 共享及感染 316 12.4.5 指導和督促 317 12.4.6 通過分配角色讓人們參與進來 318 12.4.7 打破穩定狀態 319 12.4.8 遲后的獎勵 319 12.5 小結 319 附錄A JUnit 4簡明教程 321 附錄B JUnit 3.8簡明教程 323 附錄C EasyMock簡明教程 325 附錄D 通過Ant運行測試 327 相關資源 331
展開全部

測試驅動開發的藝術 節選

  本書介紹了一種更快更好的軟件開發方法——測試驅動開發。全書共分三部分:**部分講述了TDD和ATDD的相關知識、基本概念、方法,為測試驅動開發打下基礎;第二部分將測試驅動開發用于具體的實踐,重點講解了TDD的各種技術;第三部分著重介紹了驗收測試驅動開發,包括Fit框架、實現驗收測試的方法等,*后講解了引入TDD的各種技巧。   本書濃縮了作者多年的開發經驗,適合各類Java開發人員學習參考。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 酶联免疫分析仪-多管旋涡混合仪|混合器-莱普特科学仪器(北京)有限公司 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 成都热收缩包装机_袖口式膜包机_高速塑封机价格_全自动封切机器_大型套膜机厂家 | 春腾云财 - 为企业提供专业财税咨询、代理记账服务 | 空调风机,低噪声离心式通风机,不锈钢防爆风机,前倾皮带传动风机,后倾空调风机-山东捷风风机有限公司 | UV固化机_UVLED光固化机_UV干燥机生产厂家-上海冠顶公司专业生产UV固化机设备 | ?水马注水围挡_塑料注水围挡_防撞桶-常州瑞轩水马注水围挡有限公司 | 自动钻孔机-全自动数控钻孔机生产厂家-多米(广东)智能装备有限公司 | 奶茶加盟,奶茶加盟店连锁品牌-甜啦啦官网 | 无刷电机_直流无刷电机_行星减速机-佛山市藤尺机电设备有限公司 无菌检查集菌仪,微生物限度仪器-苏州长留仪器百科 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 深圳离婚律师咨询「在线免费」华荣深圳婚姻律师事务所专办离婚纠纷案件 | 煤棒机_增碳剂颗粒机_活性炭颗粒机_木炭粉成型机-巩义市老城振华机械厂 | 合景一建-无尘车间设计施工_食品医药洁净车间工程装修总承包公司 | 山东彩钢板房,山东彩钢活动房,临沂彩钢房-临沂市贵通钢结构工程有限公司 | 电缆接头-防爆电缆接头-格兰头-金属电缆接头-防爆填料函 | 精密线材测试仪-电线电缆检测仪-苏州欣硕电子科技有限公司 | 众品地板网-地板品牌招商_地板装修设计_地板门户的首选网络媒体。 | 窖井盖锯圆机_锯圆机金刚石锯片-无锡茂达金刚石有限公司 | 螺杆真空泵_耐腐蚀螺杆真空泵_水环真空泵_真空机组_烟台真空泵-烟台斯凯威真空 | 智能案卷柜_卷宗柜_钥匙柜_文件流转柜_装备柜_浙江福源智能科技有限公司 | 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 室内室外厚型|超薄型|非膨胀型钢结构防火涂料_隧道专用防火涂料厂家|电话|价格|批发|施工 | 车载加油机品牌_ 柴油加油机厂家 | 太原装修公司_山西整装家装设计_太原室内装潢软装_肖邦家居 | 冷水机-冰水机-冷冻机-冷风机-本森智能装备(深圳)有限公司 | 螺钉式热电偶_便携式温度传感器_压簧式热电偶|无锡联泰仪表有限公司|首页 | 冰晶石|碱性嫩黄闪蒸干燥机-有机垃圾烘干设备-草酸钙盘式干燥机-常州市宝康干燥 | 微波消解仪器_智能微波消解仪报价_高压微波消解仪厂家_那艾 | 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | 实战IT培训机构_IT培训班选大学生IT技术培训中心_中公优就业 | 小威小说网 - 新小威小说网 - 小威小说网小说搜索引擎 | 干式变压器厂_干式变压器厂家_scb11/scb13/scb10/scb14/scb18干式变压器生产厂家-山东科锐变压器有限公司 | FAG轴承,苏州FAG轴承,德国FAG轴承-恩梯必传动设备(苏州)有限公司 | 建筑资质代办-建筑企业资质代办机构-建筑资质代办公司 | 坏男孩影院-提供最新电影_动漫_综艺_电视剧_迅雷免费电影最新观看 | 超声波清洗机_大型超声波清洗机_工业超声波清洗设备-洁盟清洗设备 | 新疆系统集成_新疆系统集成公司_系统集成项目-新疆利成科技 | 无缝钢管-聊城无缝钢管-小口径无缝钢管-大口径无缝钢管 - 聊城宽达钢管有限公司 | 青岛空压机,青岛空压机维修/保养,青岛空压机销售/出租公司,青岛空压机厂家电话 | 上海平衡机-单面卧式动平衡机-万向节动平衡机-圈带动平衡机厂家-上海申岢动平衡机制造有限公司 |