軟件測試基礎(chǔ)

出版時間:2010年10月  出版社:機(jī)械工業(yè)出版社  作者:(美)Paul Ammann,Jeff Offutt  頁數(shù):250  譯者:郁蓮 等  
Tag標(biāo)簽:無  

前言

兩位給軟件工程和計算機(jī)科學(xué)專業(yè)的學(xué)生教授了15年軟件測試課程的老師,歷時7年,融合大量課堂經(jīng)驗,終于磨礪出這本《軟件測試基礎(chǔ)》。我同樣從事了多年軟件測試技術(shù)教學(xué),看到這本書時,不禁感慨這是一本不可多得的教科書和參考書。關(guān)于測試的書很多,但是大部分書涉及的主題范圍都很窄并且講述不詳細(xì),或圍繞一個典型的軟件開發(fā)周期的各個階段展開,這樣的方法使原本的測試主題變得難懂,而本書正是依靠其獨特之處成為教科書或參考書的上佳選擇。經(jīng)過大量的課堂檢驗,本書對于軟件測試采用了可謂獨具匠心的理解。它將軟件測試定義為把許多定義良好的、通用的測試標(biāo)準(zhǔn)應(yīng)用到軟件結(jié)構(gòu)或模型的過程,同時是生產(chǎn)高質(zhì)量軟件的一個不可或缺的實踐工程活動。本書用一種新穎而簡單的結(jié)構(gòu)把測試覆蓋標(biāo)準(zhǔn)中復(fù)雜、晦澀的觀點組織起來。從技術(shù)側(cè)面說,軟件測試是基于滿足覆蓋標(biāo)準(zhǔn)的。本書的觀點是,真正不同的覆蓋標(biāo)準(zhǔn)很少,各種覆蓋標(biāo)準(zhǔn)很容易歸為以下4類:圖形、邏輯表達(dá)式、輸入空間和語法結(jié)構(gòu)。這不僅簡化了測試,而且也易于將每個分類直接地理論化處理。傳統(tǒng)的方法將開發(fā)過程中各個階段的測試區(qū)別對待,而該方法與之形成鮮明對比。本書的寫作風(fēng)格直接,從基礎(chǔ)講解概念,把所需的背景知識保持在最低,通篇包含了大量的實例,它把測試當(dāng)作了客觀的、可測量的和重復(fù)的量化活動的集合,同時也在必要的地方提出理論概念以支持測試工程師的后續(xù)實踐活動。本書采用模塊化設(shè)計,彼此間相互關(guān)聯(lián),合理搭配,可以用于多種課程。書中的大部分內(nèi)容僅需要基礎(chǔ)的離散數(shù)學(xué)和編程知識就可以了。 本書在理論和實踐應(yīng)用之間保持了巧妙的平衡,重點講解如何管理測試過程和測試者基于基礎(chǔ)理論的具體測試技術(shù),并且特別注重設(shè)計和創(chuàng)建設(shè)計測試用例的基本技術(shù)問題,旨在綜合軟件開發(fā)的整個過程,覆蓋盡可能多的技術(shù)。本書同時也可以使不同的角色從中受益。對于學(xué)生,本書使其可以學(xué)到軟件測試背后的基本原理,學(xué)到如何應(yīng)用這些原理來更快、更好地生產(chǎn)軟件;對于教師,大量的練習(xí)、啟發(fā)式的問題、課堂上的幻燈片和給出的課外活動使得教師很容易教授這些材料;企業(yè)的測試者,將發(fā)現(xiàn)本書收集了幫助提高他們測試水平的技術(shù)。致謝譯者近幾年來一直在北京大學(xué)軟件與微電子學(xué)院從事軟件測試技術(shù)的研究與授課。在翻譯本書的過程中,學(xué)院對我的工作給予了極大的支持與重視。我的碩士研究生張、李磊、張堅、伍曉東、趙文博、曹宇奇等同學(xué)參與了本書的部分翻譯與整理工作,付出了很多努力,在此表示感謝。

內(nèi)容概要

本書經(jīng)過了大量的課堂檢驗,是深受學(xué)生和行業(yè)專業(yè)人員歡迎的軟件工程指南。本書所展示的軟件測試程概念和技術(shù)廣泛地覆蓋了各種語言及其平臺。與其他軟件工程書籍相比,本書內(nèi)容更加全面,并具有很大的實踐價值。    本書適合作為國內(nèi)高等院校計算機(jī)及相關(guān)專業(yè)本科生的軟件工程課程教材,也可供軟件工程領(lǐng)域的技術(shù)人員參考。

作者簡介

作者:(美國)阿曼(Paul Ammann) (美國)奧法特(Jeff Offutt) 譯者:郁蓮 等Paul Ammann 在美國維吉尼亞大學(xué)獲得計算機(jī)科學(xué)博士學(xué)位,現(xiàn)為喬治·梅森大學(xué)軟件工程副教授。他于2007年獲得Volgenau信息技術(shù)與工程學(xué)院的杰出教學(xué)獎。Jeff Offutt在喬治亞理工學(xué)院獲得計算機(jī)博士學(xué)位,現(xiàn)為喬治·梅森大學(xué)軟件工程教授。他是《Journal of Software Testing,Verification and Reliability》的主編,是IEEE軟件測試、驗證和確認(rèn)國際會議指導(dǎo)委員會主席,還是許多期刊的編委。他于2003年獲得喬治·梅森大學(xué)Volgenau信息技術(shù)與工程學(xué)院的優(yōu)秀教師獎。

書籍目錄

出版者的話譯者序前言第一部分  概覽 第1章  概述   1.1  測試工程師的工作     1.1.1  基于軟件活動的測試級別     1.1.2  基于測試過程成熟度的Beizer的測試級別     1.1.3  測試活動的自動化   1.2  軟件測試的局限性和術(shù)語   1.3  測試覆蓋標(biāo)準(zhǔn)     1.3.1  不可行性與包含     1.3.2  好的覆蓋標(biāo)準(zhǔn)的特征   1.4  以往的軟件測試術(shù)語   1.5  參考文獻(xiàn)注釋第二部分  覆蓋標(biāo)準(zhǔn) 第2章  圖覆蓋   2.1  概述   2.2  圖覆蓋標(biāo)準(zhǔn)     2.2.1  結(jié)構(gòu)化覆蓋標(biāo)準(zhǔn)     2.2.2  數(shù)據(jù)流標(biāo)準(zhǔn)     2.2.3  圖覆蓋標(biāo)準(zhǔn)中的包含關(guān)系   2.3  源代碼的圖覆蓋     2.3.1  源代碼的結(jié)構(gòu)化圖覆蓋     2.3.2  源代碼的數(shù)據(jù)流圖覆蓋   2.4  設(shè)計元素的圖覆蓋     2.4.1  設(shè)計元素的結(jié)構(gòu)化圖覆蓋     2.4.2  設(shè)計元素的數(shù)據(jù)流覆蓋   2.5  規(guī)格說明的圖覆蓋     2.5.1  順序約束測試     2.5.2  軟件狀態(tài)行為測試   2.6  用例的圖覆蓋   2.7  用代數(shù)方法表示圖     2.7.1  把圖簡化成路徑表達(dá)式     2.7.2  路徑表達(dá)式的應(yīng)用     2.7.3  得到測試輸入     2.7.4  在流圖中計算路徑數(shù)并確定最大路徑長度     2.7.5  到達(dá)所有邊的路徑的最小值     2.7.6  互補(bǔ)運(yùn)算分析   2.8  參考文獻(xiàn)注釋 第3章  邏輯覆蓋   3.1  概覽:邏輯謂詞和子句   3.2  邏輯表達(dá)式覆蓋標(biāo)準(zhǔn)     3.2.1  有效的子句覆蓋     3.2.2  無效子句覆蓋     3.2.3  不可行性和包含     3.2.4  使子句決定謂詞     3.2.5  尋找滿足的取值   3.3  程序的結(jié)構(gòu)化邏輯覆蓋   3.4  基于規(guī)約的邏輯覆蓋   3.5  有限狀態(tài)機(jī)的邏輯覆蓋   3.6  析取范式標(biāo)準(zhǔn)   3.7  參考文獻(xiàn)注釋 第4章  輸入空間劃分   4.1  輸入域建?!?   4.1.1  基于接口的輸入域建?!?   4.1.2  基于功能的輸入域建?!?   4.1.3  識別特性     4.1.4  選擇塊和值     4.1.5  使用一種以上的輸入域模型     4.1.6  檢查輸入域模型   4.2  組合策略標(biāo)準(zhǔn)   4.3  劃分中的約束   4.4  參考文獻(xiàn)注釋 第5章  基于句法的測試   5.1  基于句法的覆蓋標(biāo)準(zhǔn)     5.1.1  BNF覆蓋標(biāo)準(zhǔn)     5.1.2  變異測試   5.2  基于程序的語法     5.2.1  編程語言的BNF語法     5.2.2  基于程序的變異   5.3  集成與面向?qū)ο鬁y試     5.3.1  BNF集成測試     5.3.2  集成變異   5.4  基于規(guī)范的語法     5.4.1  BNF語法     5.4.2  基于規(guī)范的變異   5.5  輸入空間語法     5.5.1  BNF語法     5.5.2  輸入語法的變異   5.6  參考文獻(xiàn)注釋第三部分  在實踐中運(yùn)用的標(biāo)準(zhǔn) 第6章  實際的考慮   6.1  回歸測試   6.2  集成和測試     6.2.1  樁和驅(qū)動程序     6.2.2  類的集成測試順序   6.3  測試過程     6.3.1  需求分析和規(guī)格說明書     6.3.2  系統(tǒng)和軟件設(shè)計     6.3.3  中級設(shè)計     6.3.4  詳細(xì)設(shè)計     6.3.5  實現(xiàn)     6.3.6  集成     6.3.7  系統(tǒng)部署     6.3.8  操作和維護(hù)     6.3.9  總結(jié)   6.4  測試計劃   6.5  識別正確的輸出     6.5.1  輸出的直接驗證     6.5.2  冗余計算     6.5.3  一致性檢查     6.5.4  數(shù)據(jù)冗余   6.6  參考文獻(xiàn)注釋 第7章  技術(shù)的工程標(biāo)準(zhǔn)   7.1  測試面向?qū)ο筌浖?   7.1.1  面向?qū)ο筌浖y試特有的問題     7.1.2  面向?qū)ο蟮腻e誤類型   7.2  測試Web應(yīng)用和Web服務(wù)     7.2.1  測試靜態(tài)超文本W(wǎng)eb站點     7.2.2  測試動態(tài)Web應(yīng)用     7.2.3  測試Web服務(wù)   7.3  測試圖形用戶界面   7.4  實時軟件和嵌入式軟件   7.5  參考文獻(xiàn)注釋 第8章  創(chuàng)建測試工具   8.1  圖和邏輯表達(dá)式標(biāo)準(zhǔn)的插樁     8.1.1  節(jié)點覆蓋和邊覆蓋     8.1.2  數(shù)據(jù)流覆蓋     8.1.3  邏輯覆蓋   8.2  構(gòu)造變異測試工具     8.2.1  解釋方法     8.2.2  分離編譯的方法     8.2.3  基于模式的方法     8.2.4  使用Java反射機(jī)制     8.2.5  實現(xiàn)一個現(xiàn)代的變異系統(tǒng)   8.3  參考文獻(xiàn)注釋 第9章  軟件測試中的挑戰(zhàn)   9.1  測試緊急性屬性:安全性和保密性   9.2  軟件的可測試性   9.3  測試標(biāo)準(zhǔn)和軟件測試的未來   9.4  參考文獻(xiàn)注釋參考文獻(xiàn)

章節(jié)摘錄

插圖:本書的作者給軟件工程和計算機(jī)科學(xué)專業(yè)的學(xué)生講授軟件測試已經(jīng)超過15年r。征此別間,我們得出了一個很不期望看到的結(jié)論:沒有人寫出一本我們想要的書。所以,如果我們想要,就必須自己寫。以前的測試類書籍把軟件測試當(dāng)作一個相對簡單的學(xué)科,認(rèn)為這個學(xué)科依賴于過程,而不是從技術(shù)的角度去理解軟件是如何構(gòu)成的;有的書把測試作為一個需要詳細(xì)理解大量軟件開發(fā)技術(shù)的復(fù)雜的、割裂的學(xué)科;還有的書把測試當(dāng)作一個只有數(shù)學(xué)家和計算機(jī)理論科學(xué)家才能掌握的純理論學(xué)科。大多數(shù)關(guān)于測試的書籍圍繞著一個典型的軟件開發(fā)周期的各個階段展開,這種方法會使原本普通的測試主題變得難懂。最后,大多數(shù)測試類書籍是作為參考書而寫的,而不是教科書。所以,只有先前有過專門軟件測試知識的教師才能輕松使用。而本書對于那些不是測試專家的教師也是易于使用的。本書在許多重要方面不同于其他的軟件測試類書籍。許多書講解如何管理測試過程,當(dāng)然這很重要,但告訴測試者基于基礎(chǔ)理論的具體測試技術(shù)同樣重要。本書在理論和實踐應(yīng)用之間保持了很好的平衡。這是軟件公司必須有的重要信息,但是本書特別注重設(shè)計和創(chuàng)建測試用例的基本技術(shù)問題。目前市面上其他的測試類書籍主要關(guān)注技術(shù)或活動,比如系統(tǒng)測試或單元測試,而本書旨在綜合軟件開發(fā)的整個過程,涵蓋盡可能多的技術(shù)。如前所述,本書的目的是支持多種軟件測試課程。我們在喬治·梅森大學(xué)軟件工程碩士研究生的軟件測試課上做了第一個嘗試,每學(xué)期有30多個計算機(jī)科學(xué)和軟件工程專業(yè)的學(xué)生選修這門課程。我們還組織了軟件測試的博士研討會,舉辦了特定方向的短期企業(yè)培訓(xùn),還為許多本科課程進(jìn)行了講座。雖然有關(guān)軟件測試的本科課程不多,但我們相信不久的將來會有很多。許多關(guān)于測試的書并不是用在課堂上的,我們特地寫了這本書來支持課堂教學(xué),因此征本書網(wǎng)站上本書目錄的后面看到我們的測試課程的提綱就不足為奇了。本書采用了許多精心打造的實例來幫助學(xué)生和老師學(xué)習(xí)略顯復(fù)雜的概念。教輔資源包括高質(zhì)量的PPT、演講提示、習(xí)題解答和相關(guān)軟件。我們的思想是:我們不僅僅是在寫一本書,同時也在為社區(qū)提供課程。我們的目標(biāo)之一是,所寫的內(nèi)容作為研究文獻(xiàn)有學(xué)術(shù)性,對于非研究人員也是易于使用的。雖然本書的論述與出自研究論文的資料有些不同,但其本質(zhì)思想是忠實于文獻(xiàn)的。為了使文章更為通順,我們刪除了論述中的引用。對于那些喜歡追根溯源的研究者,每章最后都有一個參考文獻(xiàn)注釋,它對概念的來源進(jìn)行了總結(jié)。

媒體關(guān)注與評論

“關(guān)于測試的書很多,但是大部分書涉及的主題范圍都很窄并且講述不詳細(xì)。而Ammann和Offutt的這本書中所展示的概念和技術(shù)廣泛地覆蓋了業(yè)界和學(xué)術(shù)界使用的各種語言及平臺,是一本全面、實用的測試書?!?  ——Roger Alexander,華盛頓州立大學(xué)

編輯推薦

《軟件測試基礎(chǔ)》采用創(chuàng)新方法來講述軟件測試,定義測試為將幾個通用的測試準(zhǔn)則應(yīng)用于軟件結(jié)構(gòu)或軟件模型的過程。書中融入了最新的測試技術(shù),包括現(xiàn)代軟件方法(如面向?qū)ο螅?、Web應(yīng)用程序和嵌入式軟件。另外,《軟件測試基礎(chǔ)》包含了大量的實例。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    軟件測試基礎(chǔ) PDF格式下載


用戶評論 (總計5條)

 
 

  •   內(nèi)容不錯,不過與平常的測試教材不同,很多算法的東西。收到的時候封皮有刮痕。
  •   書不錯,無論是印刷還是其他,快遞比想象中的快,就是感覺郵費(fèi)稍貴
  •   老師說是教材,買的,然后發(fā)現(xiàn)老師講課基本上用PPT,用這本書用的不多。
  •   經(jīng)典書籍,活動期間先買來收藏了,很喜歡
  •   一般吧,沒有想象的好
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7