定 價(jià):79 元
叢書名:高等學(xué)校計(jì)算機(jī)專業(yè)系列教材
- 作者:宮云戰(zhàn)
- 出版時(shí)間:2021/11/1
- ISBN:9787111694786
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP311.5
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書根據(jù)前兩版進(jìn)行了升級,不僅系統(tǒng)地介紹了軟件測試的基本原理和一般方法,而且闡述近幾年出現(xiàn)的一些新的軟件測試方法以及人工智能在軟件測試中的應(yīng)用,基本上涵蓋了當(dāng)今軟件測試技術(shù)的全部內(nèi)容,軟件測試工具是結(jié)合軟件測試技術(shù)來撰寫的,并融合在每一章節(jié)中。其中,升級部分主要介紹了人工智能技術(shù)在軟件測試中的應(yīng)用,包括故障定位、測試用例的自動(dòng)生成、模糊測試、程序理解、軟件缺陷預(yù)測、軟件缺陷的自動(dòng)確認(rèn)和缺陷的自動(dòng)修復(fù)。
本書特色:
取材豐富。涵蓋了軟件測試領(lǐng)域國內(nèi)外主流教材的內(nèi)容。
形象生動(dòng)。在寫作方法上循序漸進(jìn),深入淺出,在概念的引入上盡力采用通俗化的語言和形象化的表達(dá)方式。
實(shí)用性強(qiáng)。精選了大量案例來講解方法論。
適應(yīng)面廣。既適合作為本科生的教材,也適合作為研究生的教材。
本書為教師配有電子課件,有需要的教師可登錄華章網(wǎng)站下載:www.hzbook.com。
4年前,我和趙瑞蓮教授分別寫過一本名為《軟件測試》的書。同4年前相比,軟件測試技術(shù)與軟件產(chǎn)業(yè)得到了快速發(fā)展,主要表現(xiàn)在:社會對其認(rèn)識更加深刻,需求增大;我國的軟件評測企業(yè)大幅度增加,目前已有近2000家,各個(gè)行業(yè)、各個(gè)省、發(fā)達(dá)地區(qū)的各個(gè)市都建立了軟件評測中心;軟件測試從業(yè)人員已達(dá)數(shù)十萬人,我國軟件測試產(chǎn)業(yè)產(chǎn)值已經(jīng)達(dá)到上百億元;國際上的IT巨頭,如IBM、微軟等,都在從事與軟件測試相關(guān)的工作,眾多的IT企業(yè)都在中國建立了以軟件測試外包為主導(dǎo)的軟件企業(yè);以軟件測試工具和軟件測試服務(wù)為核心的軟件測試產(chǎn)業(yè)每年都在以超過20%的速度遞增;軟件測試學(xué)術(shù)活動(dòng)異;钴S,新的測試方法和測試工具不斷出現(xiàn)。相比之下,原來書中有些內(nèi)容雖然理論性強(qiáng),但實(shí)用價(jià)值不大,而有些內(nèi)容則處于被淘汰階段。所有這些因素都促使我們認(rèn)為有必要重新撰寫一本有關(guān)軟件測試的書。
本書敘述軟件測試的一般原理和各種基本方法,包括基本的白盒測試、黑盒測試和集成測試方法,并結(jié)合近幾年軟件測試技術(shù)的發(fā)展,重點(diǎn)介紹了目前國際上一些比較流行的軟件測試方法與軟件測試工具,包括:
1)面向缺陷模式的軟件測試技術(shù):該技術(shù)以其缺陷檢測效率高、準(zhǔn)確、自動(dòng)化程度高、易學(xué)等特點(diǎn),在過去的幾年中得到迅速發(fā)展,目前大約有80多個(gè)與該技術(shù)相關(guān)的工具。在美國,以該工具為基礎(chǔ)的軟件測試服務(wù)取得了很大的成功,成為美國一種主流軟件測試技術(shù)。目前,隨著缺陷模式的不斷增加,該技術(shù)將有更廣闊的應(yīng)用前景。本書敘述了該技術(shù)的一般方法以及作者應(yīng)用該技術(shù)開發(fā)的一款軟件測試系統(tǒng)—缺陷測試系統(tǒng)(DTS)。
2)軟件評審:軟件評審比較經(jīng)濟(jì)且發(fā)現(xiàn)缺陷的效率高,是目前常用的提高軟件質(zhì)量的方法,已在許多大型軟件開發(fā)中得到了印證。本書詳細(xì)敘述了軟件評審的內(nèi)容及如何組織軟件評審。
3)隨著軟件開發(fā)規(guī)模的擴(kuò)大及復(fù)雜程度的增加,軟件缺陷將更難發(fā)現(xiàn)。為了盡可能多地找出程序中的故障,開發(fā)出高質(zhì)量的軟件產(chǎn)品,必須對測試工作進(jìn)行組織策劃和有效管理,并采取系統(tǒng)的方法建立起軟件測試管理體系,以確保軟件測試在軟件質(zhì)量保證中發(fā)揮應(yīng)有的關(guān)鍵作用。
4)軟件測試工具是提高軟件測試效率與質(zhì)量的重要手段,在過去的幾年中,在軟件開發(fā)過程的各個(gè)階段,產(chǎn)生了大量的軟件測試工具,一些新技術(shù)的使用,也使得軟件測試工具的自動(dòng)化程度得到了大幅度的提高。本書介紹了目前多種主流的軟件測試工具。
5)近幾年來,隨著IT的發(fā)展,與軟件系統(tǒng)交互的相關(guān)技術(shù)也越來越多,包括網(wǎng)絡(luò)、協(xié)議、安全性、界面等,所有這些方面都需要測試,而這些測試和基本的軟件測試是不同的。本書全面論述了軟件系統(tǒng)以及與此相關(guān)的系統(tǒng)測試。
趙瑞蓮教授編寫了本書的第1、2、8章,趙會群教授編寫了第6章,張威教授、萬琳副教授編寫了第3、5、7章,楊朝紅博士編寫了第4章,全書由宮云戰(zhàn)教授統(tǒng)稿、審查。
限于作者的水平,書中對某些問題的論述可能是膚淺的,也可能存在錯(cuò)誤,懇請讀者批評指正。
宮云戰(zhàn)
2008年5月4日于北京
教學(xué)建議
第3版說明
第2版說明
第1版序
第1版前言
第1章 軟件測試概述1
1.1 計(jì)算機(jī)系統(tǒng)的軟件可靠性問題1
1.2 軟件測試的概念3
1.2.1 軟件測試的定義3
1.2.2 測試用例4
1.2.3 軟件測試文檔5
1.2.4 軟件測試的基本原則5
1.2.5 軟件測試從業(yè)人員要求6
1.3 軟件測試過程7
1.4 軟件測試與軟件開發(fā)的關(guān)系10
1.4.1 軟件開發(fā)過程11
1.4.2 軟件測試在軟件開發(fā)中的作用12
1.4.3 軟件測試過程模型13
1.4.4 軟件測試環(huán)境的搭建15
1.5 軟件測試的發(fā)展歷程和現(xiàn)狀15
1.6 我國軟件測試產(chǎn)業(yè)現(xiàn)狀19
1.7 軟件測試工具19
習(xí)題23
第2章 軟件缺陷24
2.1 軟件缺陷概述24
2.1.1 軟件缺陷的定義24
2.1.2 軟件缺陷分析25
2.1.3 軟件缺陷的種類25
2.1.4 軟件缺陷的產(chǎn)生26
2.1.5 軟件缺陷數(shù)目估計(jì)27
2.1.6 軟件測試效率分析30
2.2 軟件缺陷管理32
2.2.1 缺陷管理的目標(biāo)32
2.2.2 缺陷報(bào)告33
2.2.3 軟件缺陷管理流程34
2.2.4 缺陷管理工具36
習(xí)題38
第3章 黑盒測試39
3.1 黑盒測試的基本概念39
3.2 等價(jià)類劃分法40
3.2.1 等價(jià)類劃分法的原理40
3.2.2 等價(jià)類劃分法的測試運(yùn)用42
3.3 邊界值分析法46
3.3.1 邊界值分析法的原理46
3.3.2 邊界值分析法的測試運(yùn)用47
3.4 因果圖法49
3.4.1 因果圖法的原理50
3.4.2 因果圖法的測試運(yùn)用 51
3.5 決策表法53
3.5.1 決策表法的原理53
3.5.2 決策表法的測試運(yùn)用54
3.6 黑盒測試方法的比較與選擇57
3.7 黑盒測試工具介紹58
3.7.1 黑盒測試工具概要 58
3.7.2 黑盒功能測試工具—QTP59
3.7.3 黑盒功能測試工具—Selenium62
3.7.4 其他常用功能測試工具65
習(xí)題67
第4章 白盒測試68
4.1 控制流測試68
4.1.1 基本概念68
4.1.2 控制流覆蓋準(zhǔn)則70
4.2 數(shù)據(jù)流測試76
4.2.1 基本概念76
4.2.2 數(shù)據(jù)流覆蓋準(zhǔn)則77
4.3 代碼審查78
4.3.1 代碼審查的意義78
4.3.2 代碼審查的內(nèi)容79
4.3.3 代碼審查的過程81
4.4 代碼走查82
4.4.1 代碼走查的意義82
4.4.2 代碼走查小組的組成82
4.4.3 代碼走查的過程83
4.5 程序變異測試83
4.5.1 程序強(qiáng)變異測試83
4.5.2 程序弱變異測試85
4.6 白盒測試工具86
4.6.1 Emma86
4.6.2 C++test92
4.6.3 JUnit96
4.6.4 Testbed97
4.7 單元測試工具CTS99
習(xí)題104
第5章 基于缺陷模式的軟件測試106
5.1 基于缺陷模式的軟件測試概述106
5.2 基于缺陷模式的軟件測試指標(biāo)分析107
5.3 缺陷模式108
5.3.1 缺陷模式概述108
5.3.2 故障模式108
5.3.3 安全漏洞模式127
5.3.4 疑問代碼模式144
5.3.5 規(guī)則模式150
5.4 軟件缺陷檢測系統(tǒng)150
5.4.1 DTS系統(tǒng)結(jié)構(gòu)150
5.4.2 DTS缺陷模式描述151
5.4.3 DTS的測試界面153
5.4.4 DTS測試應(yīng)用報(bào)告153
習(xí)題154
第6章 集成測試155
6.1 集成測試概述155
6.1.1 集成測試的概念155
6.1.2 集成測試與系統(tǒng)測試的區(qū)別156
6.1.3 集成測試與開發(fā)的關(guān)系157
6.1.4 集成測試的層次與原則157
6.2 集成測試策略158
6.2.1 非漸增式集成158
6.2.2 漸增式集成159
6.2.3 三明治集成162
6.3 集成測試用例設(shè)計(jì)162
6.4 集成測試過程164
6.5 面向?qū)ο蟮募蓽y試166
6.5.1 對象交互166
6.5.2 面向?qū)ο蠹蓽y試的常用方法167
6.5.3 分布式對象測試168
習(xí)題169
第7章 系統(tǒng)測試170
7.1 性能測試170
7.1.1 性能測試方法170
7.1.2 性能測試執(zhí)行171
7.1.3 性能測試案例分析172
7.2 壓力測試175
7.2.1 壓力測試方法176
7.2.2 壓力測試執(zhí)行177
7.3 容量測試177
7.3.1 容量測試方法178
7.3.2 容量測試執(zhí)行179
7.3.3 容量測試案例分析179
7.4 健壯性測試181
7.4.1 健壯性測試評價(jià)181
7.4.2 健壯性測試案例分析182
7.5 安全性測試182
7.5.1 安全性測試方法183
7.5.2 安全性測試案例分析188
7.6 可靠性測試190
7.6.1 可靠性測試的基本概念191
7.6.2 軟件的運(yùn)行剖面194
7.6.3 可靠性測試案例分析198
7.7 恢復(fù)性測試與備份測試200
7.8 協(xié)議一致性測試201
7.8.1 協(xié)議一致性測試的基本概念201
7.8.2 協(xié)議一致性測試方法202
7.9 兼容性測試206
7.10 安裝測試206
7.11 可用性測試207
7.11.1 可用性測試的概念207
7.11.2 可用性測試方法208
7.12 配置測試209
7.12.1 配置測試的概念209
7.12.2 配置測試方法209
7.13 文檔測試210
7.13.1 文檔測試的概念210
7.13.2 文檔測試方法211
7.14 GUI測試213