出版時間:2009-1 出版社:機械工業(yè) 作者:伯斯特//蘇雷曼|譯者:王海鵬 頁數(shù):324 譯者:王海鵬
Tag標簽:無
前言
軟件開發(fā)是一項風(fēng)險事業(yè)。測試則是緩解項目風(fēng)險最重要的手段之一。一般來說,我們應(yīng)該讓需求可測試,讓測試自動化,讓自動化測試變得容易?! ”緯髡卟捎玫氖菍嵱弥髁x的方式,這一點對于真實項目的開發(fā)者幫助特別大。沒有教條式的金科玉律,有的是更多實際可行的平衡和折衷。作者在我們面前展現(xiàn)了多姿多彩的Java企業(yè)級應(yīng)用開發(fā)的實景,介紹了他們以及TestNG用戶社區(qū)的實際開發(fā)經(jīng)驗和測試經(jīng)驗。在開發(fā)中,我們也許要和300萬行遺留代碼打交道,要和啟動緩慢的應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器打交道,要和各式各樣、不斷涌現(xiàn)的復(fù)用組件和庫打交道,我們的生活充滿了挑戰(zhàn)。在本書中,您會看到世界一流的開發(fā)者是如何應(yīng)對這些挑戰(zhàn)的?! ava的開發(fā)社區(qū)充滿了創(chuàng)新。這些創(chuàng)新者都有一個良好的愿望,讓好的思想和工具為盡可能多的人提供幫助。TestNG的作者也是一樣,所以本書既包含了理性的思考,也包含了善良的祝福:您可以更高效地完成項目,然后有更多的時間來鍛煉身體或陪伴家人(或玩魔獸世界)?! ±砟钜欢ㄒ冗M,工具一定要先進。將這些先進的理念和工具應(yīng)用于項目中,超過社會平均的生產(chǎn)效率,這就是創(chuàng)新的意義所在。 JUnit讓開發(fā)者編寫測試的概念深入人心,TestNG則將我們的視野擴展到所有的測試,不僅僅是單元測試,還有集成測試、系統(tǒng)測試、功能測試、驗收測試、壓力測試我相信,這本書將會給Java開發(fā)者帶來諸多幫助?! ”緯赏鹾yi負責(zé)翻譯,參加本書翻譯工作的人員還有:王海燕、李國安、周建鳴、范俊、張海洲、謝偉奇、林冀、錢立強、甘莉萍。在本書的翻譯過程中,我學(xué)到了很多,因此鄭重地向大家推薦它。如果這本書對于您改進軟件開發(fā)實踐有所幫助,我將十分高興。
內(nèi)容概要
本書介紹了Java測試的新技術(shù),主要內(nèi)容包括:基本概念、測試設(shè)計模式、企業(yè)級測試、Java EE測試、集成和擴展TestNG等。本書通過針對有效測試Java應(yīng)用程序以及圍繞可測試性來設(shè)計應(yīng)用程序和組件展示了這些有效的測試技術(shù),并給出了每種測試方法的優(yōu)點和不足,展示了解決常見問題的不同選擇。 本書注重實際應(yīng)用,適合對測試感興趣的Java開發(fā)者參考閱讀。
作者簡介
Cedric Beust是Google的高級軟件工程師,也是Java開發(fā)社區(qū)的一名積極成員,廣泛參與了最新Java版本的開發(fā)。他是TestNG項目的發(fā)起人和主要貢獻者。
書籍目錄
序前言 致謝 第1章 起步 1.1 超越JUnit 3 1.2 JUnit 4 1.3 針對可測試性而設(shè)計 1.4 TestNG 1.5 本章小結(jié)第2章 測試設(shè)計模式 2.1 針對失敗而測試 2.2 工廠 2.3 數(shù)據(jù)驅(qū)動測試 2.4 異步測試 2.5 測試多線程代碼 2.6 性能測試 2.7 模擬和樁 2.8 依賴的測試 2.9 繼承和annotation范圍 2.10 測試分組 2.11 代碼覆蓋率 2.12 本章小結(jié)第3章 企業(yè)級測試 3.1 典型企業(yè)級場景 3.2 一個具體例子 3.3 測試實現(xiàn) 3.4 探索競爭消費者模式 3.5 重構(gòu)的作用 3.6 本章小結(jié)第4章 Java EE測試 4.1 容器內(nèi)測試與容器外測試的對比 4.2 容器內(nèi)測試 4.3 Java命名和目錄接口(JNDI) 4.4 Java數(shù)據(jù)庫連接(JDBC) 4.5 Java事務(wù)API(JTA) 4.6 Java消息服務(wù)(JMS) 4.7 Java持久API(JPA) 4.8 Enterprise JavaBeans 3.0(EJB3) 4.9 Java API for XML Web Services(JAX-WS) 4.10 Servlets 4.11 XML 4.12 本章小結(jié)第5章 集成 5.1 Spring 5.2 Guice 5.3 DbUnit 5.4 HtmlUnit 5.5 Selenium 5.6 Swing UI測試 5.7 針對畫圖代碼的測試 5.8 持續(xù)集成 5.9 本章小結(jié)第6章 擴展TestNG 6.1 TestNG API 6.2 BeanShell 6.3 方法選擇器 6.4 Annotation轉(zhuǎn)換器 6.5 報告 6.6 編寫自定義Annotation 6.7 本章小結(jié)第7章 閑言碎語 7.1 動機 7.2 TestNG哲學(xué) 7.3 關(guān)注和提供異常 7.4 有狀態(tài)的測試 7.5 測試驅(qū)動開發(fā)的缺點 7.6 測試私有方法 7.7 測試與封裝 7.8 調(diào)試器的威力 7.9 記日志的最佳實踐 7.10 時間的價值 7.11 本章小結(jié)附錄A IDE集成附錄B TestNG JavaDoc附錄C testng.xml附錄D 從JUnit遷移
章節(jié)摘錄
第1章 起步 1.1 超越JUnit 3 像大多數(shù)Java開發(fā)者一樣,我們使用JUnit的歷史已經(jīng)很長了,我們當然相信它使我們的測試更可靠健壯。但是這些年來,我們也遇到了這個框架中的一些不足,至少我們認為是這樣的。
編輯推薦
TestNG創(chuàng)始人最新力作;介紹了大量新的測試模式和一些新工具;以實例展示測試模式。 企業(yè)級Java開發(fā)者必須實現(xiàn)更寬、更深的測試覆蓋率,除了單元測試之外,還需要實現(xiàn)功能測試、統(tǒng)驗收測試。本書介紹了突破性的Java測試技術(shù)和lTestNG,后者是一個強大的開放源代碼Java測試平臺?! edric Beust是TestNG的創(chuàng)始人,他和一流的JaVa開發(fā)者Hani Suleiman,向我們展示了一些強大的、靈活的測試模式,這些測試模式基本上可以適用于任何測試工具、框架或語言。他們展示了如何利用關(guān)鍵的Java平臺改進來促進有效的測試,如依賴注入和模擬對象。還全面地介紹了TestNG,展示了它如何克服以前框架的一些局限以及如何利用新的技術(shù),從而使得測試復(fù)雜的軟件系統(tǒng)變得更容易?! ”緯v求實用主義并關(guān)注結(jié)果,將幫助Java開發(fā)者為今天的關(guān)鍵任務(wù)環(huán)境創(chuàng)建更健壯的代碼?! ”緯饕獌?nèi)容包括: 展示了與測試有關(guān)的折衷考慮,這樣您就能在測試什么和怎么測試方面做出更好的決定?! 〗榻B了TestNG,說明了它的目標和功能,并展示了如何在真實的環(huán)境中應(yīng)用這些功能。 展示了如何集成TestNG和已有的代碼、開發(fā)框架以及軟件庫。 展示了如何測試關(guān)鍵代碼的特征,如封裝、共享狀態(tài)、范圍和線程安全?! ≌故玖巳绾螠y試應(yīng)用程序元素,包括Java EE APls、數(shù)據(jù)庫、Web頁面和XML文件?! ≌故玖烁呒壖夹g(shù):測試部分失敗、工廠、依賴關(guān)系測試、遠程調(diào)用、基于集群的測試服務(wù)器群等?! 〗榻B了在Eclipse和IDE中安裝TestNG插件?! “舜罅康拇a示例?! o論您使用TestNG,JUnit或其他測試框架,本書提供的測試設(shè)計模式都會告訴您如何改進您的測試,對如何讓代碼和設(shè)計變得更可測試提供具體的建議。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載
Java測試新技術(shù)TestNG和高級概念 PDF格式下載