軟件測(cè)試基礎(chǔ)

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

前言

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

內(nèi)容概要

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

作者簡(jiǎn)介

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

書籍目錄

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

章節(jié)摘錄

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

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

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

編輯推薦

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

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


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


用戶評(píng)論 (總計(jì)5條)

 
 

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

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

京ICP備13047387號(hào)-7