由機械工程出版社出版,集合國際頂級測試精英的智慧和經驗,其眾多的案例,讓讀者全方位感受測試專家們對測試命題如何進行思考、定位、抉擇以及取捨。是本讓你終生受益的書。
主要介紹各種優美的測試方法、測試工具、測試案例,以及傑出的測試人員和結構良好的測試群體。各種從業人員通過了解本書提供的不同場景並借鑑以往成功的經驗可以提高測試能力和水平。
基本介紹
- 書名:測試之美
- 作者:Tim Riley / Adam Goucher
- 原版名稱:Beautiful Testing: Leading Professionals Reveal How They Improve
- 譯者:張奭、鮑臣禮
- ISBN:9787111302391
- 定價:59.00元
- 出版社:機械工程出版社
版權資訊,內容簡介,原書讚譽,目錄,撰稿人簡介,
版權資訊
書名: 測試之美(業內測試專家揭示如何改進軟體)
又名: Beautiful Testing: Leading Professionals Reveal How They Improve
譯者: 張奭
作者: Tim Riley / Adam Goucher
定價: 59.00元
出版社: 機械工業出版社
內容簡介
就像離不開堅實的架構和優雅的代碼一樣,成功的軟體同樣離不開嚴謹的測試。但是測試並非是例行公事的過程,而是對測試方法堅持不懈的探索,也是對優秀見解的發展。
《測試之美》囊括了27位傑出測試者和開發者的23篇文章,講述了漂亮的測試工具、完美的測試流程、頗具審美情趣的測試訣竅以及凸顯創造力之美的測試理念。通過這些私人的珍聞軼事,您將會學到他們是如何用美麗的方法來測試各式各樣產品的——這些寶貴的經驗可以用到您自己的項目上。
以下是您可以在書中找到的一些例子:
微軟的Alan Page擁有大規模自動化測試的豐富經驗,他分享了一些如何讓自動化測試更美麗的秘密
Scott Barber闡釋了為什麼性能測試需要成為一個協作性的過程,而非測量速度的簡單練習
Karen N. Johnson 描述了在測試醫療軟體時,她的職業經歷是如何與她的私人生活交匯的
Rex Black揭示了在25年的時間裡讓利益相關者滿意是一件美麗的事情
數學家John D. Cook將一種基於複雜性和完整性的經典美運用到隨機數發生器的測試中
原書讚譽
“來自這些測試技術領袖的每一條真知灼見、每一則實用建議或者每一個優雅甚至富有挑戰性的想法,被展現得如此清晰而富有激情。這本包羅萬象、動人心魄並且富有生趣的收藏集,應該擺放在每一位專業測試人員的書架上。”
——Ken Doran,史丹福大學質量保證主管,矽谷軟體質量協會主席
目錄
前言
第一部分 美麗的測試者
第1章 這對你有好處嗎
第2章 測試之美讓利益相關者滿意
我們為誰而測試?
什麼令人滿意?
什麼美是外在美?
什麼美是內在美?
結論
第3章 創建開源的QA社區
交流
志願者
協調
活動
結論
第4章 協作是性能測試之美的基石
設定舞台
100%?!?失敗
這不是記憶體泄漏(memory leak)
處理不了負荷?修改用戶界面吧
這不可能是網路的原因
總結
第二部分 過程之美
第5章 用模糊測試讓辦公軟體更可靠
用戶的期望
什麼是模糊測試?
為什麼要模糊測試?
模糊測試
將來的考慮
第6章 漏洞管理和測試用例的有效性
漏洞管理
管理缺陷的第一步是定義缺陷
測試用例的有效性
OpenSolaris桌麵團隊的案例研究
結論
致謝
參考文獻
第7章 漂亮的XMPP測試
簡介
XMPP 101
XMPP協定測試
簡單請求-回響協定的單元測試
多級協定的單元測試
會話初始化測試
自動化的互動性測試
未雕之玉:XML有效性測試
結論
參考
第8章 大規模測試自動化之美
在我們開始前
什麼是大規模測試自動化
第一步
自動化測試和測試用例的管理
自動化測試實驗室
測試分配
失敗分析
報告
把所有的東西放在一起
第9章 美比醜好
穩定性的價值
確保正確性
結論
第10章 測試隨機數發生器
什麼使得隨機數發生器的測試這么微妙?
均勻隨機數發生器
非均勻隨機數發生器
逐級的測試
結論
第11章 以變化為中心的測試
如何建立由文檔驅動、以變化為中心的測試框架?
複雜代碼開發模式中以變化為中心的測試
我們學到了什麼?
結論
第12章 軟體以用為本
與工作的關係
從內部開始
增加不同的思考角度
探索性測試、隨機測試和腳本測試
多用戶測試
科學實驗室
模擬真實套用
在監控世界進行測試
結語
第13章 軟體開發是創新過程
高效的敏捷開發
練習,排練,演出
隱含的價值
兩個批判工具
軟體測試運動
敏捷測試之美
QA不是魔鬼
美是內在
參考
第14章 測試驅動開發:駕馭美之新標準
比例與平衡之美
敏捷:新的比例與平衡
測試驅動開發
實例與測試
易讀的實例
持久化需求組件
易測的設計
工具支持
團隊協作
體驗TDD之美
參考文獻
第15章 測試之美,商業成功的基石
整體團隊方案
自動化測試
測試驅動開發
實現價值
成功的故事
公布腳本
第16章 玻璃洋蔥中的Socialtext
不在於事而在於人
測試者站對舞台,錄入美麗
跟我來,最好的在前方
自動測試並不自動
走進Socialtext
平衡早餐策略
回歸(測試)和流程改進
拼圖中的最後一塊
感謝
第17章 魅力測試之高效測試
SLIME
腳本
尋找開發人員的標註
Oracle和測試數據生成
思維導圖
效能提升
第三部分 美麗的工具
第18章 通過植入缺陷來發現缺陷:變異測試之美
評估測試集的質量
監督看管者
AspectJ的實驗
等價變異
側重於影響
Javalanche框架
其他
致謝
參考文獻
第19章 參照測試之美
參照測試的構造
參照測試的擴展性
構建社區
第20章 Clam Anti-virus:用開源工具測試開源
Clam Anti-Virus項目
測試方法
總結
致謝
第21章 用Windmill測試網頁應用程式
簡介
概述
編寫測試
項目本身
比較
結論
參考文獻
第22章 測試一百萬個網頁
故事的開始…
工具的整合與改進
問題的本質
總結
致謝
第23章 在多機場景中測試網路服務
eBox中對高級測試工具的需求
改進eBox質量保證過程的ANSTE的開發
eBox如何利用ANSTE
其他項目如何可以受益於ANSTE
附錄 撰稿人簡介
撰稿人簡介
Jennitta Andrea是一位全面的實踐者(分析人員、測試者、開發者、經理),從2000年開始指導過十幾種不同類型的敏捷項目。當然,通過對團隊和流程的敏銳觀察,Jennitta為會議和軟體期刊撰寫了許多經驗豐富的論文,並交付實踐的模擬教程和內部培訓,包括敏捷需求、適應進程、自動化示例以及項目回顧等。作為一名在敏捷需求和自動化示例上面的思想領袖,Jennitta現在進行的工作已經獲得了國際上的認可。在敏捷社區,她非常活躍,作為第三期敏捷聯盟董事會董事,作為敏捷聯盟功能測試工具項目的董事引進自動化功能性測試工具的最新技術,是基於IEEE軟體諮詢委員會的成員,同時也是多個大會委員會的成員。2007年成立了Andrea集團,Jennitta依舊作為實踐者和指導者積極地投入敏捷項目中,與此同時,她還繼續從事寫作和教學,為理論和實踐搭起了一座橋樑。
Scott Barber是PerfTestPlus的首席技術官,是軟體測試協會的執行總裁,是性能和可靠性研究會的奠基人之一,還是微軟出版社出版的《Web應用程式性能測試指南》一書的合著者之一。在軟體性能測試方面,他被公認為思想領袖,也是國際的主旨發言人。作為一名軟體測試培訓師,Barber先生是AST認證的線上指導者,他曾在100多家教育雜誌上發表軟體測試方面的文章。他是ACM/IEEE/美國頂級智商俱樂部以及上下文驅動軟體測試學校的成員。Barber先生是敏捷軟體開發的簽署人。
Rex Black擁有25年軟體和系統工程方面的工作經驗,是RBCS的總裁,是軟體、硬體和系統測試方面的領袖。在過去的15年裡,RBCS完成的服務有:諮詢、外包和對軟硬體測試的培訓。通過僱傭業界最有經驗和被認可的顧問團隊,RBCS進行產品測試,建立和改善測試團隊,並為全世界幾百家客戶僱傭測試人員。從財富20強企業到新創企業,RBCS通過改善產品開發、減少技術支持、提高公司信譽等為客戶節省了時間和金錢。作為RBCS的領袖,Rex是當今軟體測試領域最高產的作家。他的第一本暢銷書《Managing the Testing Process》(Wiley)在全世界賣出了35 000多本,並在日本、中國和印度發行,現已發行到第3版。他的其他5本測試有關的書籍分別為:《Advanced Software Testing:Volume I》,《Advanced Software Testing: Volume II》 (Rocky Nook),《Critical Testing Processes》(Addison-Wesley Professional),《Foundations of Software Testing》(Cengage)和《Pragmatic Software Testing》(Wiley),都分別銷售幾萬本書,包括希伯來文、印度文、中文、日文以及俄羅斯文版。他撰寫過三十幾篇文章,發表過幾百篇論文並在研討會、峰會或其他大會上發表過五十幾個主題演講和其他演講。Rex還擔任國際軟體測試資格委員會和美國軟體測試資格認證委員會的總裁。
Emily Chen是OpenSolaris的一名軟體工程師。她現在負責Mozilla產品(如在OpenS olaris的F irefox和Thunderbird)的質量保證。她對開源社區充滿激情,是OpenSolaris社區的核心撰稿人。她在2006-2007年間是谷歌代碼之夏項目的導師。2008年她在北京成功組織了第一屆GNOME Asia峰會,並成立了北京GNOME用戶團體。她畢業於北京理工大學,獲得了計算機科學系的碩士學位。在閒暇時間,她喜歡滑雪、遠足和游泳。
Adam Christian是做自動化測試和AJAX UI開發的JavaScript開發人員。他是Windmill 測試框架、Mozmill和其他多種開源項目的共同創始人。他生長在西北部,是一名狂熱的徒步旅行愛好者、滑雪愛好者和帆船運動愛好者。他曾在華盛頓州立大學學習計算機科學與商業。他目前任職於Slide公司。
Isaac Clerencia是eBox 科技公司的軟體開發人員。從2001年起,他就參與到了幾個開放的軟體項目,其中包括Debian和韋洛之戰。2004年他與其他夥伴一起成立了Wrap Networks。Wrap Networks是從eBox科技分離出去的以開源項目為主導的軟體公司。他其他方面的興趣是人工智慧和自然語言處理。
John D. Cook是一位套用數學家。從德克薩斯大學獲得博士學位後,他在Vanderbilt大學教授數學。後來,他離開學術界,作為一名軟體開發人員和諮詢師進入企業工作。他目前在M.D.Anderson 癌症中心任研究統計員一職。他的職業生涯融合了大量的研究、軟體開發、諮詢和管理。他研究領域的套用範圍很廣,從尋找油田到尋求癌症治療的方法。他現在和他的妻子以及四個女兒住在休斯敦。
Lisa Crispin是一位敏捷測試教練和從業者。她和Janet Gregory合作編寫了《Agile Testing:A Practical Guide for Testers and Agile Teams》。她在Ultimate軟體公司擔任敏捷軟體開發的主管。Lisa的專長是向測試者和敏捷團隊展示測試者是如何增加其價值的,以及企業面對考驗時如何發展。她的使命是將敏捷測試中的歡樂帶到軟體測試世界中並將測試的樂趣帶入到敏捷開發世界中。Lisa在2000年第一次加入敏捷團隊,在這么多年裡,愉快地獲得了程式設計師、分析師、測試者和QA主管的工作經驗。2003年—2009年,她在ePlan Services公司的Scrum/XP團隊中擔任測試者職位。她經常在北美和歐洲一些會議中對敏捷測試做指導或舉辦講習班。Lisa定期向刊物上發表關於敏捷測試的文章,如:《Better Software》雜誌、《IEEE Software》和《Methods and Tools》雜誌等。她還與Tip House合作了《Testing Extreme Programming》 (Addison-Wesley) 一書。
Adam Goucher擁有十年以上的軟體專業測試經驗。那段時期,他在新創的公司、大型跨國企業,以及在二者之間的企業中都工作過。他能適應傳統和敏捷測試環境。作為一名大小思想交流中的信徒,他經常在多倫多地區的技術學院教授測試技巧。在業餘時間裡,他既能自己玩曲棍球,又能指導別人,並能迅速地將所學的經驗教訓運用到測試中去。他也是軟體測試協會的一名活躍的成員。
Matthew Heusser是Socialtext的一名技術員工(QA組長),將他成年生活都用在了開發、測試和管理軟體項目上了。除了在Socialtext工作,Matthew 還是《Software Test and Performance》雜誌的特邀編輯和加爾文大學計算機科學系的兼職講師。他是Great Lakes軟體卓越會議和技術債務會議的主要組織者。Matthew的部落格(創造性的混沌)創意十足,在開發人員和開發經理部落格中一直排名前100位,在軟體自動化測試中排名前10位。同樣重要的是,Matthew擁有整個完美的人生工作經驗。從一名學員到官員,在民航巡邏隊中拿到駕照之前,Matthew就在塞納斯公司駕駛172輕型飛機單飛表演。他目前和家人住在密西根的Allegan,並作為為人所知的足球教練。
Karen N. Johnson是一位伊利諾斯州芝加哥的獨立軟體測試顧問。她把軟體測試當做智力挑戰,並且傾向於以內容為導向的測試。她教授並且諮詢軟體測試的多種課題,並時常在軟體測試會議上發表講話。她已經在《Better Software》和《Software Test and Performance》雜誌上以及網上發表了文章。她也是WREST(關於正規軟體測試的工作室)的共建人。Karen同時也是Tech Target網站上的重要軟體測試專家。
Kamran Khan貢獻了一系列的開源辦公軟體工程,包括AbiWord(一個文字處理程式)、Gnumeric(一個表單處理程式)、libwpd和libwpg(WordPerfect庫),還有libgoffice和libgsf(通用Office庫)。他有過5年的辦公軟體測試經驗,主要精力集中在尋找那些影響可靠性和穩定性的缺陷上。
Tomasz Kojm是Clam AntiVirus(一個反病毒解決方案的公開資源)的最初作者。ClamAV 在 GNU 一般大眾許可下是可以免費獲得的。在2009年,在超過兩百萬的計算機系統(主要是郵件網關)上已經安裝了它。從2002年開始,Tomasz和他的團隊一直在研究和部署反病毒測試技術,目的是為了使軟體能滿足關鍵任務的可靠性和可利用性的要求。
Michelle Levesque是Google廣告UI的技術負責人。她通過Google 在搜尋結果的網頁上製作漂亮實用的廣告。同時她也撰寫和指導內部教育碟片,教授Python課程,引導可讀性隊伍,幫助整理 Google 資源回收筒(裝滿提升測試的月傳單)里的大量海報,面試有潛力的廚師長和女按摩師。
Chris McMahon是一位專門的敏捷測試師和使用網路的工作者。他積累了相當多的專業經驗(不僅僅是指從遠距離工作到社會網路、從COBOL到Ruby的一系列測試)。他曾三次大學輟學,做過專業音樂家、圖書管理員、侍者,這些經歷使得Chris成為一個軟體測試家的時間比別人稍微晚了些,但是他獨特而又豐富的工作背景賦予了他一種工作上的成熟性(很少人具有這種成熟性)。他住在Colorado 西南部的郊區,同時也在許多雜誌和郵件列表上投稿,他甚至是一本關於軟體測試書上的主人公。
Murali Nandigama是一位專業質量顧問並且在各種機構(包括TCS Sun Oracle和Mozilla)里有超過15年的工作經驗。Murali是權威的軟體質量分析師、六西格瑪領導人、IEEE的首席成員。在先進軟體測試方法論領域,他的幾個軟體專利獲得嘉獎。並且他在國際期刊上發表了文章,這些文章也在許多會議上得到使用。Murali在印度海德拉巴德大學獲得了博士學位。
Brian Nitz自從1988年就是一位軟體工程師。他致力於研究軟體生命周期的各個方面(從設計和開發到QA和支持)。他的成就包括:開發基於數據流的可視化編譯器,支持放射學工作站、QA、性能、服務生產率工具,以及在一家大型銀行成功部署7000多個Linux桌面。他與妻子、兩個孩子住在愛爾蘭,在那裡他喜歡旅遊、航行和攝影。
Neal Norwitz是Google的軟體開發者,也是Python的用戶。他研究Google和Python測試的許多方面,包括引導Google上的測試群,設定和維持Python的許多測試基礎設施。當他了解到自己的代碼存在很多問題時,他就開始深深著迷於測試。
Alan Page在1993年開始他的測試者職業生涯。他在1995年加入微軟,現在是微軟卓越測試團隊的總監,他監督測試人員的技術訓練項目和關於提高測試人員水平、測試本身和測試工具的其他活動。Alan在部落格上寫了關於測試的文章,並且是《微軟的軟體測試之道》的主要作者。
Tim Riley是Mozilla瀏覽器的質量保證負責人。他開始測試軟體已經18年了,測試的東西包羅萬象,包括太空飛行器的模擬器、地面控制系統、高級安全作業系統、語言平台、應用程式伺服器、主控服務和開源網路應用程式。他成功創辦了公司的軟體測試團隊,從起步到大部門一步步形成,由原來的3個人到後來的120個人,並橫跨6個國家。他擁有一個測試執行框架的軟體專利,該框架把測試套件和可用的測試系統相匹配。他很樂意做Independence的Canine Companions的管理員,並且也樂意成為現場和工作棚里的聲效工程師。
Martin Schröder在德國Würzburg大學學習了計算機科學課程,並且2009年在此大學獲得了碩士學位。在校期間,他在2006年就開始在以社區為導向的Mozilla Calendar 項目里做志願者。自從2007年中期開始,他已經開始協調QA志願者團隊。圍繞公開資源軟體項目(包括開發、質量保證、社區建設)的工作是他的興趣所在。
David Schuler是德國薩爾州大學軟體工程師主席的研究助手。他的研究興趣包括變異測試和動態項目分析,主要關注檢測同等變異體的項目運行技術。為了完成此研究,他開發了Javalanche變異測試框架,它允許有效地測試變異和評估變異影響。
Clint Talbert從事軟體工程師的職業已經超過10年了,主要是測試和開發已有的公司和剛起步的公司。他的成就包括從事對等網路資料庫的複製引擎的工作,設計一個能使應用程式得到時區數據的合理方式,召集全世界的人們從事測試項目。最近,他引導Mozilla Test Development的團隊集中精力於Gecko計算機平台的質量保證,這一平台是Firefox 和其他應用程式的基層。同時他是一位雄心壯志的科幻小說作家。當不從事測試或寫作工作時,他喜歡在所有地方(從奧斯丁、德克薩斯到加利福利亞的大洋海灘)攀岩和衝浪。
Remko Troncon是XMPP Standards Foundation理事會的一位成員,也是幾個XMPP協定擴展的合著者、前任Psi的主要開發者、Swift Jabber/ XMPP項目的開發者、《XMPP: The Definitive Guide》(O'Reilly) 書的合著者。他在Katholieke Universiteit Leuven大學獲得工程學(計算機科學)博士學位。
Linda Wilinson是一位有超過25年軟體測試經歷的QA經理。她在非盈利機構、銀行、保險公司、電信公司、零售公司、州和聯邦政府、旅遊和航空領域工作。
Jeffrey Yasskin是Google的軟體開發者,也是Python的管理者。他從事Unladen Swallow項目,此項目欲嘗試通過編譯常見功能到機器代碼中和利用過去30年裡的虛擬機研究來大幅度提高Python的性能。當他注意到此項目是如何減少了能改變安全係數的知識時候,他開始從事測試工作。
Andreas Zeller是德國Saarland大學裡軟體工程專業的教授。他的研究主要關於程式設計師的生產力——具體來說,是關於發現和修改代碼和開發流程。他以GNU DDD(數據顯示調試器)和Delta Debugging而聞名於世。GNU DDD是Linux和UNIX上的可視化調試器,Delta Debugging是一項自動為電腦程式分析出失敗原因的技術。他還從事一些公司(Microsoft、IBM、SAP)的軟體知識庫的挖掘工作。他最近主要從事評估和提高測試套件(尤其是變異測試)的質量。