本書(shū)第2版繼續(xù)保持了第1版的特點(diǎn),對(duì)軟件測(cè)試技術(shù)介紹全面,實(shí)踐和理論并重,特色是實(shí)例多。本書(shū)著重介紹軟件測(cè)試及管理技術(shù)中最重要、最精華的部分,并注重它們的融會(huì)貫通。
隨著信息時(shí)代的到來(lái)、軟件產(chǎn)品的廣泛應(yīng)用,人們對(duì)軟件質(zhì)量的要求越來(lái)越高;同時(shí)由于軟件系統(tǒng)變得越來(lái)越復(fù)雜,如何提高軟件質(zhì)量是廣大計(jì)算機(jī)技術(shù)人員所關(guān)注的,這使得軟件開(kāi)發(fā)人員和軟件測(cè)試人員面臨著巨大挑戰(zhàn);谶@種情況,國(guó)內(nèi)許多高校的計(jì)算機(jī)、軟件工程和信息管理等相關(guān)專業(yè)紛紛開(kāi)設(shè)軟件測(cè)試課程以培養(yǎng)更多的軟件測(cè)試人才。目前,市場(chǎng)上的軟件測(cè)試教材良莠不齊,精品教材少,尤其對(duì)軟件測(cè)試技術(shù)介紹全面、深入的教材更少。為了適應(yīng)當(dāng)前教學(xué)和軟件測(cè)試技術(shù)人員的需要,編者查閱了大量國(guó)內(nèi)外有關(guān)軟件測(cè)試方面的著作和文獻(xiàn),并結(jié)合自己多年的從業(yè)和教學(xué)經(jīng)驗(yàn)編寫(xiě)了這本教材。
本書(shū)在更新修訂教材的同時(shí),第7章和10章增添了部分小節(jié),補(bǔ)充了一些新概念和技術(shù)內(nèi)容。新增加了第9章軟件質(zhì)量標(biāo)準(zhǔn)。質(zhì)量標(biāo)準(zhǔn)是質(zhì)量管理的依據(jù)和基礎(chǔ),產(chǎn)品質(zhì)量的優(yōu)劣是由一系列的標(biāo)準(zhǔn)來(lái)控制和監(jiān)督產(chǎn)品生產(chǎn)全過(guò)程來(lái)產(chǎn)生的,因此,質(zhì)量標(biāo)準(zhǔn)應(yīng)貫穿企業(yè)質(zhì)量管理的始終,是提高產(chǎn)品質(zhì)量的基礎(chǔ)。還新增加了軟件測(cè)試管理部分,在測(cè)試技術(shù)發(fā)展的同時(shí),測(cè)試過(guò)程的管理顯得尤為重要。一個(gè)成功的測(cè)試項(xiàng)目,離不開(kāi)對(duì)測(cè)試過(guò)程科學(xué)的組織和監(jiān)控,過(guò)程管理已成為測(cè)試成功的重要保證。
第1章緒論,主要介紹軟件和軟件危機(jī)、軟件開(kāi)發(fā)過(guò)程、軟件缺陷以及著名軟件缺陷案例,為學(xué)習(xí)本書(shū)的后續(xù)內(nèi)容打好基礎(chǔ)、做好準(zhǔn)備。第2章軟件測(cè)試基礎(chǔ),介紹軟件測(cè)試的定義、軟件測(cè)試的過(guò)程、軟件可靠性等。第3章黑盒測(cè)試,介紹黑盒測(cè)試的基本概念,包括等價(jià)類(lèi)劃分、邊界值分析法、因果圖法、決策表法和正交實(shí)驗(yàn)設(shè)計(jì)法等。第4章白盒測(cè)試,介紹白盒測(cè)試的基本概念,詳細(xì)闡述了語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋等白盒測(cè)試的方法,以及基于缺陷模式的軟件測(cè)試概述等內(nèi)容。第5章單元測(cè)試,主要講解了單元測(cè)試概述、對(duì)單元測(cè)試的誤解、單元測(cè)試的必要性、單元測(cè)試環(huán)境和方法、單元測(cè)試策略、單元測(cè)試用例設(shè)計(jì)和單元測(cè)試過(guò)程。第6章集成測(cè)試,介紹集成測(cè)試概念、集成測(cè)試策略、測(cè)試用例設(shè)計(jì)、測(cè)試過(guò)程和測(cè)試后的調(diào)試等。第7章系統(tǒng)測(cè)試,包括性能測(cè)試、安全性測(cè)試、可靠性測(cè)試、恢復(fù)性測(cè)試、備份測(cè)試、可用性測(cè)試、協(xié)議測(cè)試、文檔測(cè)試、GUI測(cè)試、網(wǎng)站測(cè)試、安裝性測(cè)試、配置測(cè)試、冒煙測(cè)試、測(cè)試和測(cè)試以及回歸測(cè)試等。第8章自動(dòng)化測(cè)試及工具,介紹自動(dòng)化測(cè)試概述、自動(dòng)化測(cè)試的實(shí)施、自動(dòng)化測(cè)試工具的選擇和比較。第9章軟件質(zhì)量標(biāo)準(zhǔn),介紹軟件質(zhì)量標(biāo)準(zhǔn)概述、軟件能力成熟度模型、CMM與CMMI的區(qū)別、ISO 9000軟件質(zhì)量標(biāo)準(zhǔn)等。第10章軟件測(cè)試行業(yè)綜述,介紹軟件測(cè)試行業(yè)的現(xiàn)狀和發(fā)展趨勢(shì),軟件測(cè)試技術(shù)發(fā)展方向,軟件測(cè)試管理、軟件測(cè)試人員職位和責(zé)任、對(duì)軟件測(cè)試工程師的要求。本書(shū)附錄內(nèi)容豐富,既有工具性的內(nèi)容,如軟件測(cè)試基本術(shù)語(yǔ)中英文詞匯、正交表和IEEE模板;也有非常實(shí)用性的內(nèi)容,如軟件測(cè)試工程師面試題、軟件測(cè)試工程師考試模擬試題及解析。
本書(shū)適合高校計(jì)算機(jī)專業(yè)、軟件工程或其他相關(guān)專業(yè)高年級(jí)本科生或研究生軟件測(cè)試課程的教材,同時(shí)還可以作為廣大軟件開(kāi)發(fā)人員、軟件測(cè)試人員和研究人員的參考書(shū)。
在本書(shū)的編寫(xiě)過(guò)程中,參閱了很多國(guó)內(nèi)外同行的著作和論文等文獻(xiàn)資料,在此對(duì)這些資料的作者表示衷心的感謝!
由于編者的水平有限、時(shí)間倉(cāng)促,書(shū)中難免存在疏漏和不足之處,希望讀者批評(píng)指正。
編者
2022年11月第1版前言
隨著信息時(shí)代的到來(lái),人們對(duì)軟件質(zhì)量的要求越來(lái)越高;同時(shí)由于軟件系統(tǒng)變得越來(lái)越復(fù)雜,如何提高軟件質(zhì)量是廣大計(jì)算機(jī)技術(shù)人員所關(guān)注的,這使得軟件開(kāi)發(fā)人員和軟件測(cè)試人員面臨著巨大挑戰(zhàn)。
基于這種情況,國(guó)內(nèi)許多高校的計(jì)算機(jī)、軟件工程和信息技術(shù)等相關(guān)專業(yè)紛紛開(kāi)設(shè)軟件測(cè)試課程以培養(yǎng)更多的軟件測(cè)試人才。目前,市場(chǎng)上的軟件測(cè)試教材良莠不齊,精品教材少,尤其是對(duì)軟件測(cè)試技術(shù)介紹全面、深入的教材更少。為了適應(yīng)當(dāng)前教學(xué)和軟件測(cè)試技術(shù)人員的需要,編者查閱了大量國(guó)內(nèi)外有關(guān)軟件測(cè)試方面的著作和文獻(xiàn),并結(jié)合自己多年的從業(yè)和教學(xué)經(jīng)驗(yàn)編寫(xiě)了這本教材。
本書(shū)的特點(diǎn)是測(cè)試技術(shù)介紹全面,不但闡述了所有基本的軟件測(cè)試技術(shù),并附有許多軟件測(cè)試實(shí)例,從而使讀者更好地理解和掌握軟件測(cè)試的基本理論,可以迅速地應(yīng)用到實(shí)際測(cè)試工作中去。
全書(shū)共分為9章。第1章緒論,主要介紹軟件和軟件危機(jī)、軟件開(kāi)發(fā)過(guò)程、軟件缺陷以及著名軟件缺陷案例,為學(xué)習(xí)本書(shū)的后續(xù)內(nèi)容打好基礎(chǔ),做好準(zhǔn)備。第2章軟件測(cè)試基礎(chǔ),介紹軟件測(cè)試的定義、軟件測(cè)試的過(guò)程,軟件測(cè)試的分類(lèi),軟件測(cè)試的必要性,軟件測(cè)試的原則等。第3章黑盒測(cè)試,介紹黑盒測(cè)試的基本概念,包括等價(jià)類(lèi)劃分、邊界值分析法、因果圖法、決策表法、正交實(shí)驗(yàn)設(shè)計(jì)法等。第4章白盒測(cè)試,介紹白盒測(cè)試的基本概念,詳細(xì)闡述了語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋等白盒測(cè)試的方法以及基于缺陷模式的測(cè)試技術(shù)等內(nèi)容。第5章單元測(cè)試,主要講解單元測(cè)試概述、對(duì)單元測(cè)試的誤解、單元測(cè)試的必要性、單元測(cè)試環(huán)境和方法、單元測(cè)試策略、單元測(cè)試用例設(shè)計(jì)和單元測(cè)試過(guò)程。第6章集成測(cè)試,介紹集成測(cè)試概念、集成測(cè)試策略、測(cè)試用例設(shè)計(jì)和測(cè)試過(guò)程等。第7章系統(tǒng)測(cè)試,本章從性能測(cè)試、可靠性測(cè)試、安全性測(cè)試、恢復(fù)測(cè)試、備份測(cè)試、可用性測(cè)試、協(xié)議測(cè)試、文檔測(cè)試、GUI測(cè)試、網(wǎng)站測(cè)試、測(cè)試和測(cè)試、回歸測(cè)試等方面介紹系統(tǒng)測(cè)試。第8章自動(dòng)化測(cè)試及工具,介紹自動(dòng)化測(cè)試概述、自動(dòng)化測(cè)試的實(shí)施、自動(dòng)化測(cè)試工具的選擇和比較。第9章軟件測(cè)試行業(yè)綜述,介紹了軟件測(cè)試行業(yè)的現(xiàn)狀和發(fā)展趨勢(shì),軟件測(cè)試技術(shù)的發(fā)展方向以及軟件測(cè)試人員職位和責(zé)任、對(duì)軟件測(cè)試工程師的要求。本書(shū)的附錄內(nèi)容豐富,既有工具性的內(nèi)容,如軟件測(cè)試基本術(shù)語(yǔ)中英文詞匯、正交表和IEEE模板;也有非常實(shí)用性的內(nèi)容,如軟件測(cè)試工程師面試題、軟件測(cè)試工程師考試模擬試題及解析。
在本書(shū)的編寫(xiě)過(guò)程中參閱了大量國(guó)內(nèi)外同行的著作及文獻(xiàn),汲取了軟件測(cè)試領(lǐng)域的最新知識(shí)。在此,對(duì)這些作者表示深深的感謝。同時(shí),由于編者的水平有限、時(shí)間倉(cāng)促,書(shū)中難免存在疏漏和不足之處,希望讀者批評(píng)指正。
編者
2014年3月
第1章緒論1
1.1軟件和軟件危機(jī)1
1.1.1計(jì)算機(jī)軟件1
1.1.2軟件危機(jī)2
1.2軟件開(kāi)發(fā)4
1.2.1軟件開(kāi)發(fā)過(guò)程5
1.2.2軟件開(kāi)發(fā)過(guò)程模型6
1.3軟件缺陷9
1.3.1軟件缺陷概述9
1.3.2軟件缺陷的嚴(yán)重性和優(yōu)先級(jí)11
1.3.3軟件缺陷分類(lèi)13
1.3.4預(yù)防和修復(fù)軟件缺陷15
1.3.5軟件缺陷案例17
習(xí)題21
第2章軟件測(cè)試基礎(chǔ)22
2.1軟件測(cè)試的含義22
2.1.1軟件測(cè)試的發(fā)展22
2.1.2軟件測(cè)試的基本原則23
2.1.3軟件測(cè)試與軟件開(kāi)發(fā)的關(guān)系25
2.2軟件測(cè)試模型26
2.3軟件測(cè)試過(guò)程30
2.4軟件測(cè)試基本理論33
2.4.1軟件測(cè)試用例設(shè)計(jì)33
2.4.2軟件測(cè)試方法36
2.4.3軟件測(cè)試的誤區(qū)38
2.5軟件可靠性41
習(xí)題44
第3章黑盒測(cè)試45
3.1黑盒測(cè)試概述45
3.2等價(jià)類(lèi)劃分法46
3.2.1劃分等價(jià)類(lèi)46
3.2.2設(shè)計(jì)測(cè)試用例47
3.2.3等價(jià)類(lèi)劃分法舉例47
3.3邊界值分析法52
3.3.1邊界值分析法的含義53
3.3.2邊界值分析法原理53
3.3.3邊界值分析法舉例55
3.4決策表法57
3.4.1決策表的含義57
3.4.2決策表法舉例58
3.5因果圖分析法62
3.5.1因果圖法的含義62
3.5.2因果圖法的原理62
3.5.3因果圖法舉例64
3.6正交實(shí)驗(yàn)設(shè)計(jì)法66
3.6.1正交實(shí)驗(yàn)設(shè)計(jì)法的含義66
3.6.2正交實(shí)驗(yàn)法舉例68
3.7黑盒測(cè)試方法比較73
習(xí)題74
第4章白盒測(cè)試76
4.1白盒測(cè)試概述76
4.1.1白盒測(cè)試含義76
4.1.2黑盒測(cè)試和白盒測(cè)試的比較77
4.1.3靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試79
4.1.4程序流程圖和控制流圖80
4.2邏輯覆蓋測(cè)試81
4.3白盒靜態(tài)測(cè)試86
4.3.1桌前檢查86
4.3.2代碼審查86
4.3.3代碼走查87
4.3.4代碼評(píng)審和同行評(píng)審87
4.3.5基于缺陷模式測(cè)試88
4.4其他白盒測(cè)試方法98
4.4.1程序插裝測(cè)試98
4.4.2程序變異測(cè)試99
4.4.3循環(huán)語(yǔ)句測(cè)試100
4.5白盒測(cè)試策略101
習(xí)題101
第5章單元測(cè)試103
5.1單元測(cè)試概述103
5.1.1單元測(cè)試的定義103
5.1.2單元測(cè)試的目標(biāo)104
5.1.3單元測(cè)試的任務(wù)104
5.2對(duì)單元測(cè)試的誤解105
5.3單元測(cè)試的必要性108
5.4單元測(cè)試環(huán)境和方法109
5.4.1驅(qū)動(dòng)模塊和樁模塊的定義109
5.4.2驅(qū)動(dòng)模塊和樁模塊的使用條件110
5.5單元測(cè)試策略111
5.6單元測(cè)試用例設(shè)計(jì)112
5.7單元測(cè)試過(guò)程和單元測(cè)試工具113
5.8面向?qū)ο蟮膯卧獪y(cè)試115
習(xí)題116
第6章集成測(cè)試117
6.1集成測(cè)試概述117
6.2集成測(cè)試方案119
6.2.1大爆炸式集成測(cè)試119
6.2.2漸增式集成120
6.2.3幾種集成測(cè)試比較123
6.2.4基于功能的集成測(cè)試124
6.2.5核心系統(tǒng)先行集成測(cè)試124
6.2.6客戶/服務(wù)器集成測(cè)試125
6.2.7高頻集成測(cè)試126
6.3集成測(cè)試用例設(shè)計(jì)127
6.4集成測(cè)試過(guò)程128
習(xí)題130
第7章系統(tǒng)測(cè)試132
7.1性能測(cè)試135
7.1.1性能測(cè)試概述135
7.1.2壓力測(cè)試140
7.1.3容量測(cè)試142
7.1.4負(fù)載測(cè)試145
7.2可靠性測(cè)試145
7.2.1可靠性測(cè)試方法145
7.2.2可靠性測(cè)試的數(shù)學(xué)模型146
7.3安全性測(cè)試148
7.3.1安全性測(cè)試概述148
7.3.2安全性測(cè)試的主要內(nèi)容149
7.3.3安全性測(cè)試方法150
7.4恢復(fù)測(cè)試153
7.4.1恢復(fù)測(cè)試的含義153
7.4.2恢復(fù)測(cè)試的主要內(nèi)容和步驟 154
7.4.3恢復(fù)測(cè)試中一些要注意的地方155
7.5備份測(cè)試156
7.6可用性測(cè)試156
7.6.1可用性測(cè)試概述156
7.6.2可用性測(cè)試的發(fā)展157
7.6.3可用性測(cè)試方法157
7.6.4可用性測(cè)試的必備要素159
7.6.5可用性測(cè)試時(shí)需要注意的問(wèn)題161
7.7協(xié)議測(cè)試161
7.8文檔測(cè)試163
7.8.1文檔測(cè)試的含義163
7.8.2文檔測(cè)試方法 166
7.9GUI軟件測(cè)試167
7.9.1GUI測(cè)試概述168
7.9.2GUI軟件測(cè)試方法169
7.9.3GUI測(cè)試的幾個(gè)要素171
7.9.4GUI測(cè)試主要內(nèi)容173
7.9.5GUI測(cè)試常見(jiàn)問(wèn)題175
7.10網(wǎng)站測(cè)試175
7.10.1網(wǎng)站測(cè)試的含義176
7.10.2網(wǎng)站測(cè)試的主要內(nèi)容176
7.11安裝性測(cè)試181
7.11.1安裝性測(cè)試的含義181
7.11.2安裝性測(cè)試的三個(gè)主要方面181
7.11.3安裝和卸載程序測(cè)試內(nèi)容182
7.12配置測(cè)試183
7.12.1配置測(cè)試的含義183
7.12.2配置測(cè)試方法183
7.13冒煙測(cè)試184
7.13.1冒煙測(cè)試概述184
7.13.2冒煙測(cè)試的應(yīng)用和內(nèi)容184
7.14測(cè)試和測(cè)試185
7.15回歸測(cè)試187
習(xí)題190
第8章自動(dòng)化測(cè)試及工具191
8.1自動(dòng)化測(cè)試概述191
8.1.1自動(dòng)化測(cè)試的含義191
8.1.2自動(dòng)化測(cè)試的優(yōu)點(diǎn)192
8.1.3自動(dòng)化測(cè)試的缺點(diǎn)193
8.1.4自動(dòng)化測(cè)試與手工測(cè)試的互補(bǔ)性194
8.2實(shí)施自動(dòng)化測(cè)試194
8.2.1自動(dòng)化測(cè)試的對(duì)象和范圍194
8.2.2自動(dòng)功能測(cè)試的腳本開(kāi)發(fā)195
8.3自動(dòng)化測(cè)試工具的選擇與比較197
8.3.1白盒測(cè)試工具197
8.3.2黑盒測(cè)試工具198
8.3.3測(cè)試管理工具199
8.3.4常用自動(dòng)化測(cè)試工具200
8.3.5自動(dòng)化測(cè)試工具QTP205
8.3.6自動(dòng)化測(cè)試工具AutoRunner209
習(xí)題213
第9章軟件質(zhì)量標(biāo)準(zhǔn)214
9.1軟件質(zhì)量214
9.2軟件質(zhì)量標(biāo)準(zhǔn)215
9.2.1國(guó)際標(biāo)準(zhǔn)215
9.2.2國(guó)家標(biāo)準(zhǔn)216
9.2.3行業(yè)標(biāo)準(zhǔn)217
9.2.4企業(yè)標(biāo)準(zhǔn)217
9.2.5其他標(biāo)準(zhǔn)217
9.3軟件能力成熟度模型CMM218
9.3.1CMM的含義218
9.3.2CMM的五個(gè)級(jí)別219
9.3.3國(guó)內(nèi)軟件企業(yè)參與實(shí)施CMM221
9.4能力成熟度整合模型CMMI221
9.4.1CMMI的含義221
9.4.2CMMI的基本內(nèi)容222
9.4.3CMM與CMMI的區(qū)別223
9.5ISO 9000軟件質(zhì)量標(biāo)準(zhǔn)224
9.5.1ISO 9000的主要內(nèi)容224
9.5.2ISO 9000和CMM/CMMI的關(guān)系225
9.6其他質(zhì)量標(biāo)準(zhǔn)225
9.6.1IEEE質(zhì)量標(biāo)準(zhǔn)226
9.6.2SPICE226
9.6.3ISO/IEC227
習(xí)題228
第10章軟件測(cè)試行業(yè)綜述229
10.1軟件測(cè)試的發(fā)展和現(xiàn)狀229
10.2軟件測(cè)試技術(shù)的發(fā)展方向232
10.3軟件測(cè)試管理234
10.4軟件測(cè)試外包240
10.5對(duì)軟件測(cè)試工程師的要求243
10.5.1軟件測(cè)試工作特點(diǎn)243
10.5.2軟件測(cè)試工程師246
10.6軟件測(cè)試工程師考試251
習(xí)題252
附錄A基本術(shù)語(yǔ)(中英文詞匯)253
附錄B正交表264
附錄CIEEE模板273
附錄D軟件測(cè)試工程師面試題及參考答案275
附錄E全國(guó)計(jì)算機(jī)等級(jí)考試四級(jí)軟件測(cè)試工程師練習(xí)題283
參考文獻(xiàn)288