商品描述
編輯推薦
《Java開發超級工具集》:
所有真正的手藝人都需要最好的工具來完成最佳工作,程序員也不例外。《Java開發超級工具集》介紹了30種開源工具,這些工具被設計用於改進任何規模的團隊或組織中的Java開發人員的開發實踐。書中每章包括多個小節,每章介紹了一種特定工具(無論該工具是用於構建系統、版本控制還是用於開發過程的其他方面),因此,讀者相當於在一《Java開發超級工具集》中獲得了30本簡短參考書。無論選擇何種開發方法(敏捷開發、RUP、XP、SCRUM或是其他方法),《Java開發超級工具集》中的實用技術和工具都能幫助用戶優化開發流程並將其自動化。《Java開發超級工具集》討論了Java開發的關鍵問題領域和最佳實踐,重點介紹了開源工具,這些工具能夠提高開發周期中每個領域的生產效率,它們包括:構建工具,如Ant和Mayen2。
版本控制工具,如CVS和Subversion。質量度量工具,如CheckStyle、PMD、FindBugs和Jupiter文檔工具,這些工具可以減少用於編寫和維護文檔的時間,同時又能生成良好文檔。單元測試工具,如JUnit4、TestNG和開源測試覆蓋工具Cobertura。自動化集成、負載和性能測試工具;自動化Web服務、Swing界面和Web界面測試工具。問題管理工具,如Bugzilla和Trac。持續集成工具,如Continuum、CruiseControl、LuntBuild和Hudson。這些工具可以改進開發實踐並使開發過程更加輕松,《Java開發超級工具集》是首席開發人員和軟件架構師的必讀讀物,它可以使其職業生活井然有序。
所有真正的手藝人都需要最好的工具來完成最佳工作,程序員也不例外。《Java開發超級工具集》介紹了30種開源工具,這些工具被設計用於改進任何規模的團隊或組織中的Java開發人員的開發實踐。書中每章包括多個小節,每章介紹了一種特定工具(無論該工具是用於構建系統、版本控制還是用於開發過程的其他方面),因此,讀者相當於在一《Java開發超級工具集》中獲得了30本簡短參考書。無論選擇何種開發方法(敏捷開發、RUP、XP、SCRUM或是其他方法),《Java開發超級工具集》中的實用技術和工具都能幫助用戶優化開發流程並將其自動化。《Java開發超級工具集》討論了Java開發的關鍵問題領域和最佳實踐,重點介紹了開源工具,這些工具能夠提高開發周期中每個領域的生產效率,它們包括:構建工具,如Ant和Mayen2。
版本控制工具,如CVS和Subversion。質量度量工具,如CheckStyle、PMD、FindBugs和Jupiter文檔工具,這些工具可以減少用於編寫和維護文檔的時間,同時又能生成良好文檔。單元測試工具,如JUnit4、TestNG和開源測試覆蓋工具Cobertura。自動化集成、負載和性能測試工具;自動化Web服務、Swing界面和Web界面測試工具。問題管理工具,如Bugzilla和Trac。持續集成工具,如Continuum、CruiseControl、LuntBuild和Hudson。這些工具可以改進開發實踐並使開發過程更加輕松,《Java開發超級工具集》是首席開發人員和軟件架構師的必讀讀物,它可以使其職業生活井然有序。
媒體推薦
這是一本相當實用的Java技術圖書,旨在幫助讀者提高自己和團隊的生產力。這些工具的用法並不復雜,但很多開發人員因為不了解它們背后的動機和理念,對這些工具始終停留在“觀望”階段,想用卻一直不知道應該怎么用才算用對、用好。本書語言精練、內容豐富,不僅提供了這些工具的”全景圖“,告訴讀者如何把這些工具組織在一起發揮出最大的作用,還給讀者留下了一定的選擇空間,讓他們能在同類產品中根據自己的喜好和項目的特點選擇適合自己的工具,而沒有將作者主觀的偏好強加於讀者。願這本書的出版能給廣大Java程序員和項目經理帶來生產力的飛躍。
——Rujia
——Rujia
作者簡介
作者:(美國)斯馬特(John Ferguson Smart) 譯者:張文波 等
John Ferguson Smart,是Wakaleo咨詢公司(www.wakaleo.com/)的首席咨詢顧問,該公司提供企業Java和敏捷開發方面的咨詢、培訓和指導服務。
John Ferguson Smart,是Wakaleo咨詢公司(www.wakaleo.com/)的首席咨詢顧問,該公司提供企業Java和敏捷開發方面的咨詢、培訓和指導服務。
目錄
第一部分 構建工具
第1章 使用Ant設置項目
1.1 構建過程中的Ant
1.2 安裝Ant
1.3 Ant概述
1.4 在Ant中編譯Java代碼
1.5 使用屬性自定義構建腳本
1.6 在Ant中運行單元測試
1.7 用Javadoc生成文檔
1.8 將應用程序打包
1.9 部署應用程序
1.10 引導構建腳本
1.11 用Maven任務在Ant中使用Maven依賴
1.12 在Eclipse中使用Ant
1.13 在NetBeans中使用Ant
1.14 用XMLTask操作XML
1.15 小結
第2章 使用Maven 2設置項目
2.1 Maven和開發構建過程
2.2 Maven和Ant
2.3 安裝Maven
2.4 聲明式構建和Maven項目對象模型
2.5 理解Maven 2的生命周期
2.6 Maven目錄結構
2.7 根據環境配置Maven
2.8 Maven 2中的依賴管理
2.9 用MvnRepository查找依賴
2.10 項目繼承和聚合(Aggregation)
2.11 使用原型(Archetype)創建項目模板
2.12 編譯代碼
2.13 測試代碼
2.14 打包和部署應用程序
2.15 使用Cargo部署應用程序
2.16 在Eclipse中使用Maven
2.17 在NetBeans中使用Maven
2.18 使用插件定制構建過程
2.19 用Archiva設置企業存儲庫
2.20 使用Artifactory設置企業存儲庫
2.21 在Maven中使用Ant
2.22 高級原型
2.23 使用組件(Assembly)
第二部分 版本控制工具
第3章 使用CVS設置版本控制
3.1 CVS概述
3.2 設置CVS倉庫
3.3 在CVS中創建新項目
3.4 檢出項目
3.5 處理文件--更新和提交
3.6 解決倉庫鎖定問題
3.7 使用關鍵字替換
3.8 處理二進制文件
3.9 CVS標記
3.10 在CVS中創建分支
3.11 從分支中合並更改
3.12 查看更改歷史
3.13 還原更改
3.14 在Windows中使用CVS
第4章 用Subversion設置版本控制
4.1 Subversion概述
4.2 安裝Subversion
4.3 Subversion倉庫類型
4.4 設置Subversion倉庫
4.5 設置新的Subversion項目
4.6 檢出工作副本
4.7 將現有文件導入到Subversion
4.8 理解Subversion倉庫的URL
4.9 使用文件
4.10 查看當前狀態:Status命令
4.11 解決沖突
4.12 使用標記、分支和合並
4.13 回滾到以前的修訂版本
4.14 對二進制文件使用文件鎖定
4.15 打破和竊取鎖定
4.16 用svn:needs-lock屬性使鎖定文件成為只讀
4.17 使用屬性
4.18 Subversion中的更改歷史記錄:日志和Blaming
4.19 用svnserve設置Subversion服務器
4.20 設置安全的svnserve服務器
4.21 設置支持WebDAV/DeltaV的Subversion服務器
4.22 設置安全的WebDAV/DeltaV服務器
4.23 用鈎子腳本定制Subversion
4.24 將Subversion安裝為Windows服務
4.25 備份和還原Subversion倉庫
4.26 在Eclipse中使用Subversion
4.27 在NetBeans中使用Subversion
4.28 在Windows中使用Subversion
4.29 缺陷跟蹤和變更控制
4.30 在Ant中使用Subversion
4.31 小結
第三部分 持續集成
第5章 用Continuum設置持續集成服務器
5.1 Continuum概述
5.2 安裝Continuum服務器
5.3 手工啟動和停止服務器
5.4 檢查服務器狀態
5.5 以Verbose模式運行Continuum服務器
5.6 添加項目組
5.7 添加Maven項目
5.8 添加Ant項目
5.9 添加外殼腳本項目
5.10 管理項目構建
5.11 管理用戶
5.12 設置通知方法(Notifier)
5.13 配置和制訂構建計划
5.14 調試構建
5.15 配置Continuum郵件服務器
5.16 配置Continuum網站端口
5.17 用Continuum自動生成Maven網站
5.18 配置手工構建任務
5.19 小結
第6章 用CruiseControl設置持續集成服務器
6.1 CruiseControl概述
6.2 安裝CruiseControl
6.3 配置Ant項目
6.4 用Publisher(發布器)通知開發人員
6.5 在CruiseControl中設置Maven 2項目
6.6 CruiseControl操作面板
6.7 第三方工具
6.8 小結
第7章 LuntBuild--基於Web的持續集成服務器
7.1 LuntBuild概述
7.2 安裝LuntBuild
7.3 配置LuntBuild服務器
7.4 添加項目
7.5 為版本編號使用項目變量
7.6 構建結果診斷
7.7 與Eclipse一起使用LuntBuild
7.8 在Luntbuild中使用Cobertura報告測試覆蓋
7.9 將Luntbuild與Maven集成
7.10 小結
第8章 使用Hudson進行持續集成
8.1 Hudson概述
8.2 安裝Hudson
8.3 管理Hudson的主目錄
8.4 安裝升級
8.5 配置Hudson
8.6 添加新構建任務
8.7 組織任務
8.8 監控構建
8.9 查看和提升特定構建
8.10 管理用戶
8.11 認證與安全
8.12 查看更改
8.13 Hudson插件
8.14 記錄測試結果
8.15 記錄代碼度量
8.16 報告代碼覆蓋
第9章 用Openfire設置即時消息平台
9.1 開發項目中的即時消息軟件
9.2 安裝Openfire
9.3 在Openfire上設置用戶賬戶
9.4 認證外部數據庫中的用戶
9.5 針對POP3服務器認證用戶
9.6 用群聊天召開虛擬團隊會議
9.7 用Openfire插件擴展功能
9.8 與Continuum一起使用Openfire
9.9 與CruiseControl一起使用Openfire
9.10 與Luntbuild一起使用Openfire
9.11 使用Smack API從Java應用程序中發送Jabber消息
9.12 用Smack API檢測用戶是否在線
9.13 使用Smack API接收消息
第四部分 單元測試
第10章 用JUnit測試代碼
10.1 JUnit 3.8和JUnit 4
10.2 用JUnit 4進行單元測試
10.3 設置和優化單元測試用例
10.4 用Timeout進行簡單的性能測試
10.5 輕松地檢查異常
10.6 使用帶參數的測試
10.7 使用assertThat和Hamcrest庫
10.8 JUnit 4的理論機制
10.9 與Maven 2一起使用JUnit 4
10.10 與Ant一起使用JUnit 4
10.11 在Ant中有選擇地運行JUnit 4測試
10.12 集成測試
10.13 在Eclipse中使用JUnit 4
第11章 用TestNG進行下一代測試
11.1 TestNG概述
11.2 用TestNG創建簡單單元測試
11.3 定義TestNG測試套件
11.4 Eclipse的TestNG插件
11.5 在Ant中使用TestNG
11.6 與Maven 2一起使用TestNG
11.7 管理測試生命周期
11.8 使用測試組
11.9 管理依賴
11.10 並行測試
11.11 測試參數和數據驅動的測試
11.12 檢查異常
11.13 處理部分失敗
11.14 重新運行失敗的測試
第12章 用Cobertura 最大化測試覆蓋
12.1 測試覆蓋
12.2 從Ant中運行Cobertura
12.3 檢查TestNG測試的代碼覆蓋
12.4 理解Cobertura報告
12.5 實施高水平代碼覆蓋
12.6 在Maven中生成Cobertura報告
12.7 將覆蓋測試集成到Maven構建過程中
12.8 Eclipse中的代碼覆蓋
12.9 小結
第五部分 集成、功能、負載和性能測試
第13章 用StrutsTestCase測試Struts應用程序
13.1 概述
13.2 測試Struts應用程序
13.3 StrutsTestCase概述
13.4 使用StrutsTestCase 進行模擬測試
13.5 測試Struts錯誤處理
13.6 定制測試環境
13.7 一級(First-level)性能測試
13.8 小結
第14章 用DbUnit進行數據庫集成測試
14.1 引言
14.2 概述
14.3 DbUnit的結構
14.4 示例應用程序
14.5 准備數據庫
14.6 驗證數據庫
14.7 替換值
14.8 其他數據集格式
14.9 處理自定義數據類型
14.10 其他應用
第15章 用JUnitPerf進行性能測試
15.1 JUnitPerf概述
15.2 用TimedTest測量性能
15.3 用LoadTest模擬負載
15.4 對非線程安全的測試進行負載測試
15.5 在Ant中分離性能測試和單元測試
15.6 在Maven中分離性能測試和單元測試
第16章 用JMeter進行負載和性能測試
16.1 概述
16.2 安裝JMeter
16.3 測試簡單的web應用程序
16.4 組織測試用例
16.5 記錄和顯示測試結果
16.6 使用JMeter代理服務器記錄測試用例
16.7 使用變量進行測試
16.8 在多台計算機上進行測試
第17章 用SoapUI測試Web服務
17.1 概述
17.1 SoapUI概述
17.2 安裝SoapUI
17.3 安裝本地web服務
17.4 用SoapUI測試web服務
17.5 用SoapUI進行負載測試
17.6 從命令行運行SoapUI
17.7 從Ant中運行SoapUI
17.8 從Maven中運行SoapUI
17.9 持續測試
17.10 小結
第18章 用Sun JDK工具監視和分析Java應用程序的性能
18.1 Sun JDK性能分析和監視工具
18.2 用jConsole連接並監視Java應用程序
18.3 用jConsole監視遠程Tomcat應用程序
18.4 用JDK工具檢測和識別內存泄露
18.5 用堆轉儲、jmap和jhat診斷內存泄露
18.6 檢測死鎖
第19章 在Eclipse中分析Java應用程序的性能
19.1 在集成開發環境中分析應用程序的性能
19.2 Eclipse測試和性能工具平台
19.3 安裝TPTP
19.4 TPTP和Java 6
19.5 使用TPTP進行基本性能分析
19.6 用基本內存分析結果分析內存使用
19.7 分析執行時間
19.8 顯示代碼覆蓋統計
19.9 使用過濾器優化結果
19.10 分析web應用程序的性能
19.11 小結
第20章 測試用戶界面
20.1 概述
20.2 用Selenium測試web應用程序
20.3 用FEST測試Swing圖形用戶界面
20.4 小結
第六部分 質量度量工具
第21章 用Checkstyle檢測和實施編碼標准
21.1 用Checkstyle實施編碼標准
21.2 在Eclipse中使用Checkstyle
21.3 在Eclipse中定制Checkstyle規則
21.4 使用XML配置文件定制Checkstyle規則
21.5 定制Checkstyle:可以舍棄和使用的常見規則
21.6 用Checkstyle定義源代碼文件頭規則
21.7 禁用Checkstyle測試
21.8 與Ant一起使用Checkstyle
21.9 與Maven一起使用Checkstyle
第22章 用PMD預先檢測錯誤
22.1 PMD和靜態代碼分析
22.2 在Eclipse中使用PMD
22.3 在Eclipse中配置PMD規則
22.4 PMD規則集
22.5 編寫自己的PMD規則集
22.6 在Eclipse中生成PMD報告
22.7 禁用PMD規則
22.8 用CPD檢測剪切和粘貼
22.9 在Ant中使用PMD
22.10 在Maven中使用PMD
第23章 用FindBugs預先檢測錯誤
23.1 FindBugs:專業的程序錯誤檢測工具
23.2 在Eclipse中使用FindBugs
23.3 用FindBugs過濾器有選擇地禁用規則
23.4 使用FindBugs注釋
23.5 在Ant中使用FindBugs
23.6 在Maven中使用FindBugs
23.7 小結
第24章 檢查結果--用Jupiter進行半自動化代碼評審
24.1 Jupiter概述--用於Eclipse的代碼評審工具
24.2 在Eclipse中安裝Jupiter
24.3 理解Jupiter的代碼評審流程
24.4 進行個人代碼審查
24.5 配置
24.6 設置默認配置值
24.7 單獨評審
24.8 團隊評審
24.9 返工階段
24.10 Jupiter的后台處理
24.11 小結
第25章 用Mylyn突出工作重點
25.1 Mylyn概述
25.2 安裝Mylyn
25.3 跟蹤任務和問題
25.4 與任務倉庫進行交互
25.5 用上下文管理將工作重點集中在任務上
25.6 使用Eclipse更改集
25.7 與其他開發人員共享上下文
25.8 小結
第26章 監視構建統計信息
26.1 概述
26.2 QALab
26.3 用StatSCM度量源代碼管理
26.4 在Ant中用StatSVN提供統計信息
第七部分 問題管理工具
第27章 Bugzilla
27.1 Bugzilla概述
27.2 安裝Bugzilla
27.3 設置Bugzilla環境
27.4 管理用戶賬戶
27.5 使用用戶組來限制訪問
27.6 配置產品
27.7 用里程碑跟蹤進度
27.8 用分類管理產品組
27.9 搜索程序錯誤
27.10 創建新程序錯誤
27.11 Bugzilla程序錯誤的生命周期
27.12 安排通知(Whining)
27.13 在Bugzilla中定制字段
27.14 小結
第28章 Trac-輕量級項目管理
28.1 Trac概述
28.2 安裝Trac
28.3 設置Trac項目
28.4 在獨立服務器上運行Trac
28.5 將Tracd設置為Windows服務
28.6 在Apache服務器上安裝Trac
28.7 管理Trac網站
28.8 管理用戶賬戶
28.9 剪裁Trac網站:使用Wiki功能
28.10 使用Trac Ticket管理系統
28.11 從Subversion中更新Trac問題
28.12 定制Trac Ticket的字段
28.13 設置電子郵件通知
28.14 使用Trac查詢和報告
28.15 用Trac路線圖(Roadmap)和時間線(Timeline)管理進度
28.16 瀏覽源代碼庫
28.17 使用RSS和ICalendar
28.18 使用Python定制wiki頁面
28.19 小結
第八部分 技術文檔工具
第29章 用Maven 2項目網站進行團隊溝通
29.1 作為溝通工具的Maven 2項目網站
29.2 設置Maven網站項目
29.3 將報告集成到網站中
29.4 創建專用Maven網站項目
29.5 定義網站框架
29.6 Maven網站生成架構
29.7 使用代碼片斷(Snippet)
29.8 定制網站外觀
29.9 發布網站
第30章 自動生成技術文檔
30.1 概述
30.2 用SchemaSpy直觀查看數據庫結構
30.3 用Doxygen生成源代碼文檔
30.4 用UmlGraph在Javadoc中嵌入UML圖表
30.5 小結
參考資料
第1章 使用Ant設置項目
1.1 構建過程中的Ant
1.2 安裝Ant
1.3 Ant概述
1.4 在Ant中編譯Java代碼
1.5 使用屬性自定義構建腳本
1.6 在Ant中運行單元測試
1.7 用Javadoc生成文檔
1.8 將應用程序打包
1.9 部署應用程序
1.10 引導構建腳本
1.11 用Maven任務在Ant中使用Maven依賴
1.12 在Eclipse中使用Ant
1.13 在NetBeans中使用Ant
1.14 用XMLTask操作XML
1.15 小結
第2章 使用Maven 2設置項目
2.1 Maven和開發構建過程
2.2 Maven和Ant
2.3 安裝Maven
2.4 聲明式構建和Maven項目對象模型
2.5 理解Maven 2的生命周期
2.6 Maven目錄結構
2.7 根據環境配置Maven
2.8 Maven 2中的依賴管理
2.9 用MvnRepository查找依賴
2.10 項目繼承和聚合(Aggregation)
2.11 使用原型(Archetype)創建項目模板
2.12 編譯代碼
2.13 測試代碼
2.14 打包和部署應用程序
2.15 使用Cargo部署應用程序
2.16 在Eclipse中使用Maven
2.17 在NetBeans中使用Maven
2.18 使用插件定制構建過程
2.19 用Archiva設置企業存儲庫
2.20 使用Artifactory設置企業存儲庫
2.21 在Maven中使用Ant
2.22 高級原型
2.23 使用組件(Assembly)
第二部分 版本控制工具
第3章 使用CVS設置版本控制
3.1 CVS概述
3.2 設置CVS倉庫
3.3 在CVS中創建新項目
3.4 檢出項目
3.5 處理文件--更新和提交
3.6 解決倉庫鎖定問題
3.7 使用關鍵字替換
3.8 處理二進制文件
3.9 CVS標記
3.10 在CVS中創建分支
3.11 從分支中合並更改
3.12 查看更改歷史
3.13 還原更改
3.14 在Windows中使用CVS
第4章 用Subversion設置版本控制
4.1 Subversion概述
4.2 安裝Subversion
4.3 Subversion倉庫類型
4.4 設置Subversion倉庫
4.5 設置新的Subversion項目
4.6 檢出工作副本
4.7 將現有文件導入到Subversion
4.8 理解Subversion倉庫的URL
4.9 使用文件
4.10 查看當前狀態:Status命令
4.11 解決沖突
4.12 使用標記、分支和合並
4.13 回滾到以前的修訂版本
4.14 對二進制文件使用文件鎖定
4.15 打破和竊取鎖定
4.16 用svn:needs-lock屬性使鎖定文件成為只讀
4.17 使用屬性
4.18 Subversion中的更改歷史記錄:日志和Blaming
4.19 用svnserve設置Subversion服務器
4.20 設置安全的svnserve服務器
4.21 設置支持WebDAV/DeltaV的Subversion服務器
4.22 設置安全的WebDAV/DeltaV服務器
4.23 用鈎子腳本定制Subversion
4.24 將Subversion安裝為Windows服務
4.25 備份和還原Subversion倉庫
4.26 在Eclipse中使用Subversion
4.27 在NetBeans中使用Subversion
4.28 在Windows中使用Subversion
4.29 缺陷跟蹤和變更控制
4.30 在Ant中使用Subversion
4.31 小結
第三部分 持續集成
第5章 用Continuum設置持續集成服務器
5.1 Continuum概述
5.2 安裝Continuum服務器
5.3 手工啟動和停止服務器
5.4 檢查服務器狀態
5.5 以Verbose模式運行Continuum服務器
5.6 添加項目組
5.7 添加Maven項目
5.8 添加Ant項目
5.9 添加外殼腳本項目
5.10 管理項目構建
5.11 管理用戶
5.12 設置通知方法(Notifier)
5.13 配置和制訂構建計划
5.14 調試構建
5.15 配置Continuum郵件服務器
5.16 配置Continuum網站端口
5.17 用Continuum自動生成Maven網站
5.18 配置手工構建任務
5.19 小結
第6章 用CruiseControl設置持續集成服務器
6.1 CruiseControl概述
6.2 安裝CruiseControl
6.3 配置Ant項目
6.4 用Publisher(發布器)通知開發人員
6.5 在CruiseControl中設置Maven 2項目
6.6 CruiseControl操作面板
6.7 第三方工具
6.8 小結
第7章 LuntBuild--基於Web的持續集成服務器
7.1 LuntBuild概述
7.2 安裝LuntBuild
7.3 配置LuntBuild服務器
7.4 添加項目
7.5 為版本編號使用項目變量
7.6 構建結果診斷
7.7 與Eclipse一起使用LuntBuild
7.8 在Luntbuild中使用Cobertura報告測試覆蓋
7.9 將Luntbuild與Maven集成
7.10 小結
第8章 使用Hudson進行持續集成
8.1 Hudson概述
8.2 安裝Hudson
8.3 管理Hudson的主目錄
8.4 安裝升級
8.5 配置Hudson
8.6 添加新構建任務
8.7 組織任務
8.8 監控構建
8.9 查看和提升特定構建
8.10 管理用戶
8.11 認證與安全
8.12 查看更改
8.13 Hudson插件
8.14 記錄測試結果
8.15 記錄代碼度量
8.16 報告代碼覆蓋
第9章 用Openfire設置即時消息平台
9.1 開發項目中的即時消息軟件
9.2 安裝Openfire
9.3 在Openfire上設置用戶賬戶
9.4 認證外部數據庫中的用戶
9.5 針對POP3服務器認證用戶
9.6 用群聊天召開虛擬團隊會議
9.7 用Openfire插件擴展功能
9.8 與Continuum一起使用Openfire
9.9 與CruiseControl一起使用Openfire
9.10 與Luntbuild一起使用Openfire
9.11 使用Smack API從Java應用程序中發送Jabber消息
9.12 用Smack API檢測用戶是否在線
9.13 使用Smack API接收消息
第四部分 單元測試
第10章 用JUnit測試代碼
10.1 JUnit 3.8和JUnit 4
10.2 用JUnit 4進行單元測試
10.3 設置和優化單元測試用例
10.4 用Timeout進行簡單的性能測試
10.5 輕松地檢查異常
10.6 使用帶參數的測試
10.7 使用assertThat和Hamcrest庫
10.8 JUnit 4的理論機制
10.9 與Maven 2一起使用JUnit 4
10.10 與Ant一起使用JUnit 4
10.11 在Ant中有選擇地運行JUnit 4測試
10.12 集成測試
10.13 在Eclipse中使用JUnit 4
第11章 用TestNG進行下一代測試
11.1 TestNG概述
11.2 用TestNG創建簡單單元測試
11.3 定義TestNG測試套件
11.4 Eclipse的TestNG插件
11.5 在Ant中使用TestNG
11.6 與Maven 2一起使用TestNG
11.7 管理測試生命周期
11.8 使用測試組
11.9 管理依賴
11.10 並行測試
11.11 測試參數和數據驅動的測試
11.12 檢查異常
11.13 處理部分失敗
11.14 重新運行失敗的測試
第12章 用Cobertura 最大化測試覆蓋
12.1 測試覆蓋
12.2 從Ant中運行Cobertura
12.3 檢查TestNG測試的代碼覆蓋
12.4 理解Cobertura報告
12.5 實施高水平代碼覆蓋
12.6 在Maven中生成Cobertura報告
12.7 將覆蓋測試集成到Maven構建過程中
12.8 Eclipse中的代碼覆蓋
12.9 小結
第五部分 集成、功能、負載和性能測試
第13章 用StrutsTestCase測試Struts應用程序
13.1 概述
13.2 測試Struts應用程序
13.3 StrutsTestCase概述
13.4 使用StrutsTestCase 進行模擬測試
13.5 測試Struts錯誤處理
13.6 定制測試環境
13.7 一級(First-level)性能測試
13.8 小結
第14章 用DbUnit進行數據庫集成測試
14.1 引言
14.2 概述
14.3 DbUnit的結構
14.4 示例應用程序
14.5 准備數據庫
14.6 驗證數據庫
14.7 替換值
14.8 其他數據集格式
14.9 處理自定義數據類型
14.10 其他應用
第15章 用JUnitPerf進行性能測試
15.1 JUnitPerf概述
15.2 用TimedTest測量性能
15.3 用LoadTest模擬負載
15.4 對非線程安全的測試進行負載測試
15.5 在Ant中分離性能測試和單元測試
15.6 在Maven中分離性能測試和單元測試
第16章 用JMeter進行負載和性能測試
16.1 概述
16.2 安裝JMeter
16.3 測試簡單的web應用程序
16.4 組織測試用例
16.5 記錄和顯示測試結果
16.6 使用JMeter代理服務器記錄測試用例
16.7 使用變量進行測試
16.8 在多台計算機上進行測試
第17章 用SoapUI測試Web服務
17.1 概述
17.1 SoapUI概述
17.2 安裝SoapUI
17.3 安裝本地web服務
17.4 用SoapUI測試web服務
17.5 用SoapUI進行負載測試
17.6 從命令行運行SoapUI
17.7 從Ant中運行SoapUI
17.8 從Maven中運行SoapUI
17.9 持續測試
17.10 小結
第18章 用Sun JDK工具監視和分析Java應用程序的性能
18.1 Sun JDK性能分析和監視工具
18.2 用jConsole連接並監視Java應用程序
18.3 用jConsole監視遠程Tomcat應用程序
18.4 用JDK工具檢測和識別內存泄露
18.5 用堆轉儲、jmap和jhat診斷內存泄露
18.6 檢測死鎖
第19章 在Eclipse中分析Java應用程序的性能
19.1 在集成開發環境中分析應用程序的性能
19.2 Eclipse測試和性能工具平台
19.3 安裝TPTP
19.4 TPTP和Java 6
19.5 使用TPTP進行基本性能分析
19.6 用基本內存分析結果分析內存使用
19.7 分析執行時間
19.8 顯示代碼覆蓋統計
19.9 使用過濾器優化結果
19.10 分析web應用程序的性能
19.11 小結
第20章 測試用戶界面
20.1 概述
20.2 用Selenium測試web應用程序
20.3 用FEST測試Swing圖形用戶界面
20.4 小結
第六部分 質量度量工具
第21章 用Checkstyle檢測和實施編碼標准
21.1 用Checkstyle實施編碼標准
21.2 在Eclipse中使用Checkstyle
21.3 在Eclipse中定制Checkstyle規則
21.4 使用XML配置文件定制Checkstyle規則
21.5 定制Checkstyle:可以舍棄和使用的常見規則
21.6 用Checkstyle定義源代碼文件頭規則
21.7 禁用Checkstyle測試
21.8 與Ant一起使用Checkstyle
21.9 與Maven一起使用Checkstyle
第22章 用PMD預先檢測錯誤
22.1 PMD和靜態代碼分析
22.2 在Eclipse中使用PMD
22.3 在Eclipse中配置PMD規則
22.4 PMD規則集
22.5 編寫自己的PMD規則集
22.6 在Eclipse中生成PMD報告
22.7 禁用PMD規則
22.8 用CPD檢測剪切和粘貼
22.9 在Ant中使用PMD
22.10 在Maven中使用PMD
第23章 用FindBugs預先檢測錯誤
23.1 FindBugs:專業的程序錯誤檢測工具
23.2 在Eclipse中使用FindBugs
23.3 用FindBugs過濾器有選擇地禁用規則
23.4 使用FindBugs注釋
23.5 在Ant中使用FindBugs
23.6 在Maven中使用FindBugs
23.7 小結
第24章 檢查結果--用Jupiter進行半自動化代碼評審
24.1 Jupiter概述--用於Eclipse的代碼評審工具
24.2 在Eclipse中安裝Jupiter
24.3 理解Jupiter的代碼評審流程
24.4 進行個人代碼審查
24.5 配置
24.6 設置默認配置值
24.7 單獨評審
24.8 團隊評審
24.9 返工階段
24.10 Jupiter的后台處理
24.11 小結
第25章 用Mylyn突出工作重點
25.1 Mylyn概述
25.2 安裝Mylyn
25.3 跟蹤任務和問題
25.4 與任務倉庫進行交互
25.5 用上下文管理將工作重點集中在任務上
25.6 使用Eclipse更改集
25.7 與其他開發人員共享上下文
25.8 小結
第26章 監視構建統計信息
26.1 概述
26.2 QALab
26.3 用StatSCM度量源代碼管理
26.4 在Ant中用StatSVN提供統計信息
第七部分 問題管理工具
第27章 Bugzilla
27.1 Bugzilla概述
27.2 安裝Bugzilla
27.3 設置Bugzilla環境
27.4 管理用戶賬戶
27.5 使用用戶組來限制訪問
27.6 配置產品
27.7 用里程碑跟蹤進度
27.8 用分類管理產品組
27.9 搜索程序錯誤
27.10 創建新程序錯誤
27.11 Bugzilla程序錯誤的生命周期
27.12 安排通知(Whining)
27.13 在Bugzilla中定制字段
27.14 小結
第28章 Trac-輕量級項目管理
28.1 Trac概述
28.2 安裝Trac
28.3 設置Trac項目
28.4 在獨立服務器上運行Trac
28.5 將Tracd設置為Windows服務
28.6 在Apache服務器上安裝Trac
28.7 管理Trac網站
28.8 管理用戶賬戶
28.9 剪裁Trac網站:使用Wiki功能
28.10 使用Trac Ticket管理系統
28.11 從Subversion中更新Trac問題
28.12 定制Trac Ticket的字段
28.13 設置電子郵件通知
28.14 使用Trac查詢和報告
28.15 用Trac路線圖(Roadmap)和時間線(Timeline)管理進度
28.16 瀏覽源代碼庫
28.17 使用RSS和ICalendar
28.18 使用Python定制wiki頁面
28.19 小結
第八部分 技術文檔工具
第29章 用Maven 2項目網站進行團隊溝通
29.1 作為溝通工具的Maven 2項目網站
29.2 設置Maven網站項目
29.3 將報告集成到網站中
29.4 創建專用Maven網站項目
29.5 定義網站框架
29.6 Maven網站生成架構
29.7 使用代碼片斷(Snippet)
29.8 定制網站外觀
29.9 發布網站
第30章 自動生成技術文檔
30.1 概述
30.2 用SchemaSpy直觀查看數據庫結構
30.3 用Doxygen生成源代碼文檔
30.4 用UmlGraph在Javadoc中嵌入UML圖表
30.5 小結
參考資料
序言
所有真正的藝人都需要最好的工具來完成最佳工作,程序員也不例外。本書介紹了30種開源工具,這些工具被設計用於改進任何規模的團隊或組織中的Java開發人員的開發實踐。
書中每章包括多個小節,每章介紹了一種特定工具(無論該工具是用於構建系統、版本控制還是用於開發過程的其他方面),因此,讀者相當於在一本書中獲得了30本簡短參考書。
無論選擇何種開發方法(敏捷開發、RUP、XP、SCRUM或是其他方法),本書中的實用技術和工具都能幫助用戶優化開發流程並將其自動化。本書討論了Java開發的關鍵問題領域和最佳實踐,重點介紹了開源工具,這些工具能夠提高開發周期中每個領域的生產效率,它們包括:
·構建工具,如Ant和Maven 2。
·版本控制工具,如CVS和Subversion。
·質量度量工具,如CheckStyle、PMD、FindBugs和Jupiter。
·文檔工具,這些工具可以減少用於編寫和維護文檔的時間,同時又能生成良好文檔。
·單元測試工具,如JUnit 4、TestNG和開源測試覆蓋工具Cobertura。
·自動化集成、負載和性能測試工具;自動化web服務、Swing界面和web界面測試工具。
·問題管理工具,如Bugzilla和Trac。
·持續集成工具,如Continuum、CruiseControl、LuntBuild和Hudson。
這些工具可以改進開發實踐並使開發過程更加輕松,本書是首席開發人員和軟件架構師的必讀讀物,它可以使其職業生活井然有序。
John Ferguson Smart是Wakaleo咨詢公司(www.wakaleo.com/)的首席咨詢顧問,該公司提供企業Java和敏捷開發方面的咨詢、培訓和指導服務。
書中每章包括多個小節,每章介紹了一種特定工具(無論該工具是用於構建系統、版本控制還是用於開發過程的其他方面),因此,讀者相當於在一本書中獲得了30本簡短參考書。
無論選擇何種開發方法(敏捷開發、RUP、XP、SCRUM或是其他方法),本書中的實用技術和工具都能幫助用戶優化開發流程並將其自動化。本書討論了Java開發的關鍵問題領域和最佳實踐,重點介紹了開源工具,這些工具能夠提高開發周期中每個領域的生產效率,它們包括:
·構建工具,如Ant和Maven 2。
·版本控制工具,如CVS和Subversion。
·質量度量工具,如CheckStyle、PMD、FindBugs和Jupiter。
·文檔工具,這些工具可以減少用於編寫和維護文檔的時間,同時又能生成良好文檔。
·單元測試工具,如JUnit 4、TestNG和開源測試覆蓋工具Cobertura。
·自動化集成、負載和性能測試工具;自動化web服務、Swing界面和web界面測試工具。
·問題管理工具,如Bugzilla和Trac。
·持續集成工具,如Continuum、CruiseControl、LuntBuild和Hudson。
這些工具可以改進開發實踐並使開發過程更加輕松,本書是首席開發人員和軟件架構師的必讀讀物,它可以使其職業生活井然有序。
John Ferguson Smart是Wakaleo咨詢公司(www.wakaleo.com/)的首席咨詢顧問,該公司提供企業Java和敏捷開發方面的咨詢、培訓和指導服務。