出版時(shí)間:2008 出版社:清華大學(xué)出版社 作者:Rex Black 頁數(shù):246 譯者:郭耀,李琦
Tag標(biāo)簽:無
前言
軟件測試是軟件開發(fā)過程中不可或缺的階段,自20世紀(jì)70年代開始,業(yè)界就公認(rèn),在一個(gè)典型的編程項(xiàng)目中,測試會占到一半乃至更多的時(shí)間和資源。30年來編程語言和軟件開發(fā)技術(shù)的發(fā)展日新月異,今天我們擁有了更成熟更豐富的手段來便利地構(gòu)造精妙復(fù)雜的軟件,但是測試依然扮演著同樣重要的角色。并且,隨著計(jì)算機(jī)軟件技術(shù)在各行各業(yè)的普及運(yùn)用,人們對軟件質(zhì)量的要求也越來越專業(yè)化和多樣化。軟件開發(fā)團(tuán)隊(duì)必須盡可能地在交付產(chǎn)品之前控制未來的質(zhì)量風(fēng)險(xiǎn),這就必然需要依賴于卓有成效的軟件測試。軟件測試遠(yuǎn)比人們所直觀想象的要復(fù)雜,哪怕是測試一個(gè)簡單的系統(tǒng),也會是一個(gè)潛在的曠日持久的任務(wù)。在經(jīng)費(fèi)和進(jìn)度緊張的情況下,測試者需要切合實(shí)用的技術(shù),親自實(shí)踐的經(jīng)驗(yàn)和正確的策略來有效而高效地進(jìn)行軟件測試。在現(xiàn)實(shí)生活中,有效而高效的軟件開發(fā)技能常常成為業(yè)界人員的熱門話題和追逐目標(biāo),有效而高效的軟件測試技能卻相對為人們所冷落。正如軟件測試泰斗Glenford Myers在其經(jīng)典著作《軟件測試藝術(shù)》中所言,“我們的學(xué)生每年畢業(yè)進(jìn)入業(yè)界,幾乎全無軟件測試方面的知識,甚至,我們幾乎從未指導(dǎo)過學(xué)生應(yīng)該如何來測試和調(diào)試他們寫下的課程程序?!盜BM的測試教育專家Gerald D. Everett在他的著作《軟件測試:貫穿整個(gè)生命周期的測試》中談到,在他對美國21所大學(xué)進(jìn)行的一個(gè)調(diào)查中發(fā)現(xiàn),其中18所大學(xué)均沒有開設(shè)任何軟件測試方面的課程。這說明軟件測試的培訓(xùn)與教育并無法滿足當(dāng)今IT產(chǎn)業(yè)的需求。這個(gè)現(xiàn)象在中國的軟件產(chǎn)業(yè)中也有所反映,盡管客戶對高質(zhì)量高可靠度軟件產(chǎn)品的需求日益增加,盡管軟件測試愈來愈為國內(nèi)業(yè)界重視,高效的軟件測試工程師依然是各開發(fā)團(tuán)隊(duì)爭相網(wǎng)羅的人才。另一方面,隨著敏捷開發(fā)方法等新一代軟件工程概念的風(fēng)靡,軟件編碼和測試過程多次迭代,測試人員更積極地參與到軟件生命周期的各個(gè)階段中,使得整個(gè)項(xiàng)目團(tuán)隊(duì)收取事半功倍的成效。編碼和測試人員越來越緊密地協(xié)同工作,優(yōu)秀的程序員必然需要了解測試的方法和概念,優(yōu)秀的測試人員所具備的技能也不再是僅僅是對現(xiàn)成的程序進(jìn)行直觀的功能測試,軟件測試的涵義和策略日益復(fù)雜,軟件質(zhì)量風(fēng)險(xiǎn)控制涉及到愈來愈多的方面。故而軟件企業(yè)對員工進(jìn)行測試概念、過程、技巧、工具等方面的培訓(xùn),能顯著地提高整個(gè)團(tuán)隊(duì)的工作效率。本書是一本測試技術(shù)的入門手冊。即使對軟件測試毫無所知的讀者,閱讀完本書后也會對軟件測試的概念和方法有一個(gè)較為扎實(shí)的知識基礎(chǔ),從而可以參與實(shí)際的軟件測試活動。作者Rex Black是一個(gè)有20余年軟件和系統(tǒng)工程經(jīng)驗(yàn)的資深專家,曾出版《管理測試過程》等著作。他也是國際軟件測試認(rèn)證委員會和美國軟件測試認(rèn)證委員會的主席。本書深入淺出地探討了測試專業(yè)人員須知的方法和概念。闡述了測試的基礎(chǔ)技術(shù),并且清晰地展示給你在經(jīng)費(fèi)和時(shí)間有限的情況下,如何選擇和運(yùn)用成功的策略來測試一個(gè)系統(tǒng)。本書將為讀者提供下列各方面的指導(dǎo):如何分析系統(tǒng)的質(zhì)量風(fēng)險(xiǎn),并且依據(jù)風(fēng)險(xiǎn)級別來分配測試工作的側(cè)重點(diǎn)。介紹多種不同的測試策略,以及如何每一次實(shí)踐中如何選擇最好的策略。如何依據(jù)系統(tǒng)的期望行為(黑盒)來設(shè)計(jì)測試。如何依據(jù)系統(tǒng)的內(nèi)部結(jié)構(gòu)(白盒)來設(shè)計(jì)測試。如何采用你的直覺、經(jīng)驗(yàn)、知識來更好地進(jìn)行測試。值得特別指出的是,本書把測試與風(fēng)險(xiǎn)分析結(jié)合起來,詳盡探討了通過測試來控制風(fēng)險(xiǎn)的方法。質(zhì)量風(fēng)險(xiǎn)概念成為指引測試活動的量標(biāo)。這種視角有助于測試人員站在軟件質(zhì)量保證的高度上來思考所從事的測試活動,在學(xué)術(shù)探討和實(shí)際應(yīng)用中均頗具價(jià)值,即使是新入門的測試人員,也能藉此為線索,領(lǐng)悟到軟件開發(fā)過程的精華理念。本書涉及的軟件測試實(shí)踐中大多數(shù)耳熟能詳?shù)慕?jīng)典概念和技術(shù),主要包括如下內(nèi)容。第一部分:測試的基本知識簡介。包括測試的目標(biāo)、策略、與技巧。本部分是全書的基礎(chǔ),后面介紹的內(nèi)容都圍繞這些基本目標(biāo)展開。第二部分:基于風(fēng)險(xiǎn)的測試介紹。通過理解系統(tǒng)質(zhì)量風(fēng)險(xiǎn),把測試與風(fēng)險(xiǎn)控制結(jié)合起來,是本書提供給讀者的一個(gè)新的視角。第三部分:靜態(tài)測試。本部分簡要介紹靜態(tài)測試的主要方法之一:復(fù)審的技術(shù)以及相關(guān)練習(xí)。第四部分:行為測試。本部分詳細(xì)介紹了多種主要的行為測試技術(shù),包括同等類與邊界值、決策表、狀態(tài)遷移圖、領(lǐng)域測試、正交數(shù)組等測試方法,每種測試技術(shù)均配備了練習(xí)與參考解答。第五部分:結(jié)構(gòu)測試。本部分涉及到的主要技術(shù)包括控制流測試、數(shù)據(jù)流測試、集成測試,每種測試技術(shù)均配備了練習(xí)與參考答案。本書的敘述簡明清晰,可操作性強(qiáng),并且提供了大量有價(jià)值的練習(xí)以供實(shí)踐。本書適合從事軟件測試與軟件開發(fā)的IT從業(yè)人員或者高等院校計(jì)算機(jī)專業(yè)的高年級本科生以及研究生閱讀。鑒于譯者的水平有限,書中錯(cuò)誤與疏漏在所難免,敬請讀者批評指正。
內(nèi)容概要
哪怕是測試一個(gè)簡單的系統(tǒng),也可能會是一個(gè)曠日持久的任務(wù)。在經(jīng)費(fèi)和進(jìn)度緊張的情況下,測試者需要使用實(shí)用的技術(shù),親自實(shí)踐的經(jīng)驗(yàn)和正確的策略來有效而高效地進(jìn)行軟件測試。 本書將會把這些內(nèi)容交到你的手中。通過一系列表述完好,清晰透徹而實(shí)用的章節(jié),你將掌握對軟件測試至關(guān)重要的技能?! ? 如何分析系統(tǒng)的質(zhì)量風(fēng)險(xiǎn),并根據(jù)風(fēng)險(xiǎn)的級別來恰當(dāng)?shù)匕才拍愕臏y試工作?! ? 不同的測試策略,以及每次如何選擇正確的測試策略,包括選擇處理回歸測試的高效策略?! ? 如何基于系統(tǒng)的預(yù)期行為來設(shè)計(jì)(黑盒)測試,包括邊界值(boundary value)、等價(jià)性劃分( equivalence partitioning)、決策表(decision table)、用況(use case)、狀態(tài)轉(zhuǎn)換圖表(state diagram and table)、所有對值表 (all-pairs table)、正交表(orthogonal arrays),以及域分析(domain analysis)?! ? 如何基于一個(gè)系統(tǒng)的內(nèi)部結(jié)構(gòu)來設(shè)計(jì)(白盒)測試,包括代碼覆蓋等級、數(shù)據(jù)流覆蓋和基本路徑覆蓋。 * 如何規(guī)劃和執(zhí)行集成測試?! ? 如何使用你的直覺、經(jīng)驗(yàn)和知識去探測和攻擊系統(tǒng)?! ? 如何讓你的辛勤工作服務(wù)于項(xiàng)目的需要。 * 因?yàn)闇y試是一個(gè)切身實(shí)踐體驗(yàn)的活動,本書包括11個(gè)完整章節(jié),以真實(shí)而原汁原味的練習(xí)來展示所有主要的測試技術(shù),以及具體的解決方案 ?! ∪绻銖膩頉]有讀過一本關(guān)于測試設(shè)計(jì)的書,如果你已經(jīng)讀過其他的測試設(shè)計(jì)的書卻發(fā)現(xiàn)它們很難付諸實(shí)施,如果你已經(jīng)讀過某本測試設(shè)計(jì)的書卻發(fā)現(xiàn)它在事情變得真正有意思的時(shí)候就嘎然而止,那么這本書就是為你寫的。讀完本書后,你學(xué)到的關(guān)于測試的具體技巧會比多數(shù)測試人員在其整個(gè)職業(yè)生涯中學(xué)到的還要多,你將會胸有成竹地把這些知識運(yùn)用到你下一個(gè)測試項(xiàng)目中去。
作者簡介
作者:(美國)布萊克 (Black.R.) 譯者:郭耀Rex Black ,擁有長達(dá)1/4個(gè)世紀(jì)的軟件與系統(tǒng)工程的豐富經(jīng)驗(yàn),他現(xiàn)任Rex Black 咨詢公司(RBCS)的總裁與首席咨詢師,RBCS是軟件、硬件和系統(tǒng)測試領(lǐng)域的領(lǐng)先者。在過去十多年間,RBCS為全球范圍內(nèi)的許多客戶提供了與測試和質(zhì)量保證相關(guān)的咨詢、外包、評測和培訓(xùn)服務(wù)。RBCS的100多個(gè)客戶分布在全球六大洲的20個(gè)國家,這些客戶包括Adobe(India)、ASB Bank、Bank One、Cisco、Comverse、Dell、美國國防部、Hitachi、NDS以及Schlumberger。Rex已經(jīng)出版了4本相關(guān)著作,是當(dāng)今在測試和質(zhì)量保證領(lǐng)域著作最多的作者。他的第一本書《管理測試過程》(Managing the Testing Process)非常流行,現(xiàn)在已經(jīng)出了第2版,并已在全世界銷售了超過25 000本,其中包括在日本、中國和印度發(fā)行的版本。他的另外一本關(guān)于測試管理的書,《關(guān)鍵測試過程》(Critical Testing Process),以及本書的早期版本,當(dāng)時(shí)題為《有效且高效的軟件測試》(Effective and Efficient Software Testing),都已經(jīng)銷售了數(shù)千本,并出版了希伯來語、印度語、日語,以及俄語的版本Rex還是國際軟件測試認(rèn)證委員會(ISTQB)(www.istqb.org)和美國軟件測試認(rèn)證委員會(ASTQB)(www.astqb.org)的主席。他是ISTQB現(xiàn)在使用的基礎(chǔ)課程大綱(2005版),以及將要出版的高級課程大綱(2007版)的主要作者,并同Isabel Evans、Dorothy Graham和Erik van Veenendaal一起編寫了ISTQB考試使用的權(quán)威教材——《軟件測試基礎(chǔ)》(Foundations of Software Testing)。除了上述著作之外,Rex還發(fā)表了超過25篇期刊論文;并在會議和研討會上發(fā)布了數(shù)百篇論文;他還在世界各地的學(xué)術(shù)會議和活動中發(fā)表過十多次主題演講。Rex除了環(huán)游世界進(jìn)行工作和旅游之外,其他時(shí)間居住在美國德克薩斯州的Bulverde小鎮(zhèn),和他一起居住的還有:他的妻子Laurel Becker;兩個(gè)女兒Emma Grace和Charlotte Catherine;還有他的兩條狗Cosmo 和 Hank。
書籍目錄
第一部分 目標(biāo)、策略和戰(zhàn)術(shù) 第1章 實(shí)用意味著什么 第2章 三角形測試練習(xí) 第3章 測試與項(xiàng)目的協(xié)調(diào) 第4章 理解測試策略、戰(zhàn)術(shù)和設(shè)計(jì) 第二部分 基于風(fēng)險(xiǎn)的測試 第5章 理解系統(tǒng)質(zhì)量的風(fēng)險(xiǎn) 第6章 協(xié)調(diào)測試和質(zhì)量風(fēng)險(xiǎn) 第7章 質(zhì)量風(fēng)險(xiǎn)分析練習(xí) 第三部分 靜 態(tài) 測 試 第8章 復(fù)審和其他靜態(tài)測試 第9章 復(fù)審練習(xí) 88第四部分 行 為 測 試 第10章 等價(jià)類和邊界值 第11章 等價(jià)類和邊界值練習(xí) 第12章 用況、實(shí)況數(shù)據(jù)和決策表 第13章 決策表練習(xí) 第14章 狀態(tài)轉(zhuǎn)換圖 第15章 狀態(tài)轉(zhuǎn)換圖練習(xí) 第16章 域測試 第17章 域測試練習(xí) 第18章 正交表和所有對值 第19章 正交表練習(xí) 第20章 反應(yīng)測試 第五部分 結(jié) 構(gòu) 測 試 第21章 控制流測試 第22章 控制流測試練習(xí) 第23章 數(shù)據(jù)流測試 第24章 數(shù)據(jù)流測試練習(xí) 第25章 集成測試 第26章 集成基本測試練習(xí) 第六部分 附錄 附錄A Omninet市場需求文檔 附錄B Omninet系統(tǒng)需求文檔 附錄C 書目和其他推薦閱讀材料
章節(jié)摘錄
插圖:第一部分 目標(biāo)、策略和戰(zhàn)術(shù)第1章 實(shí)用意味著什么關(guān)于實(shí)用測試,讓我們從探討一些明顯的問題開始,這些問題的答案卻并不那么明顯,并不那么普遍地為人接受。從一個(gè)實(shí)用的,或者實(shí)踐的觀點(diǎn)看,實(shí)用涉及在測試軟件時(shí)什么是有效且高效的。什么是有效的軟件測試?什么是高效的軟件測試?到底什么是軟件測試?什么是質(zhì)量?這些問題可能貌似不切實(shí)際而且很哲學(xué),但在我的經(jīng)驗(yàn)中,它們并非如此。你對這些問題的回答決定了你作為測試者期待去做些什么。其他人對于這些問題的回答則決定了他們期待作為測試者的你去做些什么。在一個(gè)公司組織中,在貫穿整個(gè)項(xiàng)目里,上下都對此有個(gè)相同的期望對成功來說是至關(guān)重要的。沒有這樣一個(gè)共識,不管你做什么,總有人會感到失望。有了共同的期望,就都會為著同一個(gè)目標(biāo)而努力,并支持他人的勤奮工作。 有效和高效意味著什么韋氏字典定義詞匯有效(effective)為“產(chǎn)生確定的、明確的或者所期待的結(jié)果;給人印象深刻的”。所以,作為一個(gè)有效的軟件測試者,你必須決定你的測試工作所期待的結(jié)果。類似地,韋氏字典定義高效(effcient)為“能夠產(chǎn)生所期待的效果;尤其是在生產(chǎn)過程中并不產(chǎn)生浪費(fèi)的?!彼裕鳛橐粋€(gè)高效的測試者,你必須合理地分配資源(時(shí)間和金錢)。
編輯推薦
《軟件測試實(shí)踐:成為一個(gè)高效能的測試專家》的敘述簡明清晰,可操作性強(qiáng),并且提供了大量有價(jià)值的練習(xí)以供實(shí)踐?!盾浖y試實(shí)踐:成為一個(gè)高效能的測試專家》適合從事軟件測試與軟件開發(fā)的IT從業(yè)人員或者高等院校計(jì)算機(jī)專業(yè)的高年級本科生以及研究生閱讀。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載