《軟件測試技術(shù)》介紹了學(xué)習(xí)軟件測試前需要的相關(guān)知識,軟件測試的基礎(chǔ)知識、基本概念,測試的原理、方法和測試過程等,重點講解了黑盒測試技術(shù)、白盒測試的各種方法和軟件缺陷的相關(guān)內(nèi)容,*后介紹了幾個常用的自動化測試工具。本書在理論講解時力求用通俗的語言來闡述原理,在黑盒測試和白盒測試中引入大量案例和相應(yīng)例題,講解步驟詳細(xì),從簡單到復(fù)雜,力求通過案例來闡述軟件測試各方法的應(yīng)用,能幫助初學(xué)者快速掌握軟件測試技術(shù)的相關(guān)知識。
本書可作為高職高專院校軟件技術(shù)專業(yè)、軟件與信息服務(wù)專業(yè)等計算機(jī)相關(guān)專業(yè)軟件測試技術(shù)課程的教材,也可作為應(yīng)用型本科軟件測試課程的學(xué)習(xí)用書和軟件測試從業(yè)人員的參考用書。
目前,軟件已經(jīng)深入到各行各業(yè),幾乎每個行業(yè)都在進(jìn)行信息技術(shù)的革新,軟件的需求越來越大;另一方面,計算機(jī)技術(shù)的飛速發(fā)展、軟件開發(fā)技術(shù)的不斷提升,使得軟件開發(fā)周期越來越短,但產(chǎn)品質(zhì)量要求卻越來越高。由此,軟件測試工作變得越來越重要,而我國軟件測試從業(yè)人員相對缺乏,軟件開發(fā)人員對測試知識了解太少,因此,編寫了《軟件測試技術(shù)》一書。
本教材編寫的特點是:
(1)通俗易懂。針對高職院校學(xué)生的特點,力求用簡單和通俗的語言來講解,適合軟件測試初學(xué)者。
(2)理論與實踐結(jié)合。在理論基礎(chǔ)上拓展實踐技能,貼近企業(yè)軟件測試人員實際工作。
(3)案例豐富。每一種測試方法都配套講解多個案例,從不同的角度,盡量把各種可能性講解到,案例設(shè)計從簡單到復(fù)雜,循序漸進(jìn), 同時配有對應(yīng)習(xí)題進(jìn)行鞏固和檢驗。
(4)知識點全面。從學(xué)習(xí)軟件測試需要的相關(guān)知識講起,隨后講解了軟件測試的基本內(nèi)容,接著講解了黑盒測試技術(shù)、白盒測試技術(shù)、軟件測試過程、軟件缺陷管理相關(guān)內(nèi)容,后講解了軟件自動化測試。
全書共分7章,第1章主要介紹了學(xué)習(xí)軟件測試前需要的相關(guān)知識;第2章主要介紹了軟件測試的基礎(chǔ)知識,包括軟件測試的目的、原則、分類和測試模型;第3章主要介紹了黑盒測試的方法,主要包括等價類劃分法、邊界值分析法、決策表法、因果圖法、正交試驗法、場景設(shè)計法和狀態(tài)遷移法,每一種方法都通過大量的案例來試驗;第4章主要介紹了白盒測試的方法,主要包括靜態(tài)白盒測試和動態(tài)白盒測試,動態(tài)白盒測試有邏輯覆蓋法、基本路徑法、循環(huán)語句測試和數(shù)據(jù)流測試,其中著重講解邏輯覆蓋法和基本路徑法,并輔以大量案例;第5章主要介紹了軟件測試的過程,包括單元測試、集成測試、系統(tǒng)測試和驗收測試以及它們的測試方法和過程;第6章主要介紹了軟件缺陷的概念、軟件缺陷報告的相關(guān)內(nèi)容、軟件缺陷的管理和軟件缺陷管理工具Bugzilla;第7章主要介紹了軟件自動化測試的相關(guān)概念、自動化測試的實施和軟件自動化測試工具,測試管理工具介紹了QC(Quality Center)和JIRA工具,功能自動化測試工具介紹了Quick Test Professional(QTP)和Selenium,性能自動化測試工具介紹了LoadRunner和JMeter。
本書由北京青年政治學(xué)院尹遜偉、齊愛琴任主編,北京青年政治學(xué)院秦勇、楊榮任副主編。尹遜偉負(fù)責(zé)全書總體框架設(shè)計,齊愛琴負(fù)責(zé)統(tǒng)稿工作,秦勇、楊榮負(fù)責(zé)校稿。第1章由楊榮編寫,第2章和第5章由齊愛琴編寫,第3章、第4章、第7章由尹遜偉編寫,第6章由秦勇編寫。本書在編寫過程中得到了部門領(lǐng)導(dǎo)和同事的大力支持,并得到了北京青年政治學(xué)院教務(wù)處教材項目的支持,在此一并表示感謝。
軟件測試領(lǐng)域發(fā)展日新月異,編者也在不斷的學(xué)習(xí)中,盡管編者付出了的努力,但書中難免會有不妥之處,敬請廣大讀者提出寶貴意見或建議。
編者
2020年12月
第1章軟件測試概述1
1.1軟件1
1.1.1軟件的定義1
1.1.2軟件生命周期2
1.1.3軟件工程2
1.1.4軟件開發(fā)模型4
1.1.5軟件質(zhì)量概述7
1.2軟件測試產(chǎn)生的背景9
1.2.1軟件測試的發(fā)展史9
1.2.2軟件缺陷9
1.3軟件測試11
1.3.1軟件測試的含義11
1.3.2軟件測試的現(xiàn)狀11
1.3.3測試用例11
1.4測試環(huán)境14
1.4.1測試環(huán)境的含義14
1.4.2測試環(huán)境的規(guī)劃14
1.4.3搭建測試環(huán)境15
1.5軟件測試人員的要求15
本章小結(jié)16
本章習(xí)題17
第2章軟件測試基礎(chǔ)18
2.1軟件測試的目的18
2.2軟件測試的原則19
2.3軟件測試的分類21
2.4常見的軟件測試模型25
2.4.1V模型25
2.4.2W模型26
2.4.3H模型26
2.4.4X模型27
本章小結(jié)28
本章習(xí)題29
第3章黑盒測試31
3.1等價類劃分法32
3.1.1等價類劃分法概述32
3.1.2等價類劃分法測試用例設(shè)計舉例34
3.2邊界值分析法38
3.2.1邊界值分析法概述38
3.2.2邊界值分析法測試用例設(shè)計舉例40
3.3決策表法44
3.3.1決策表法概述45
3.3.2決策表法測試用例設(shè)計舉例45
3.4因果圖法53
3.4.1因果圖法概述53
3.4.2因果圖法測試用例設(shè)計舉例55
3.5正交試驗法60
3.5.1正交試驗法概述61
3.5.2正交試驗法測試用例設(shè)計舉例63
3.6場景設(shè)計法69
3.6.1場景設(shè)計法概述69
3.6.2場景設(shè)計法設(shè)計測試用例舉例:ATM自動取款機(jī)測試用例設(shè)計71
3.7狀態(tài)遷移法73
3.7.1狀態(tài)遷移法概述73
3.7.2狀態(tài)遷移法設(shè)計測試用例舉例:手機(jī)MP3播放功能74
本章小結(jié)80
本章習(xí)題82
第4章白盒測試84
4.1白盒測試的基本概念84
4.2靜態(tài)白盒測試85
4.2.1代碼檢查概述85
4.2.2代碼檢查的方法85
4.2.3用于代碼檢查的錯誤列表86
4.3動態(tài)白盒測試89
4.3.1邏輯覆蓋法90
4.3.2邏輯覆蓋法舉例:三角形問題96
4.3.3基本路徑法101
4.3.4基本路徑法舉例104
4.3.5循環(huán)語句測試106
4.3.6數(shù)據(jù)流測試108
4.4黑盒測試與白盒測試的比較115
4.4.1白盒測試的優(yōu)缺點115
4.4.2黑盒測試的優(yōu)缺點115
4.4.3黑盒測試與白盒測試的比較115
本章小結(jié)116
本章習(xí)題118
第5章軟件測試過程120
5.1單元測試120
5.1.1單元測試的概念120
5.1.2單元測試環(huán)境122
5.1.3單元測試的方法124
5.1.4單元測試的過程125
5.2集成測試126
5.2.1集成測試的概念126
5.2.2集成測試的方法127
5.2.3集成測試的過程131
5.3系統(tǒng)測試133
5.3.1系統(tǒng)測試的概念133
5.3.2系統(tǒng)測試的內(nèi)容134
5.3.3傳統(tǒng)的軟件測試類型137
5.3.4系統(tǒng)測試過程139
5.4驗收測試141
5.4.1驗收測試的概念141
5.4.2驗收測試的策略142
5.4.3驗收測試的過程144
本章小結(jié)144
本章習(xí)題146
第6章軟件缺陷管理148
6.1軟件缺陷的相關(guān)概念148
6.1.1軟件缺陷的定義148
6.1.2軟件缺陷產(chǎn)生的原因149
6.2軟件缺陷報告150
6.2.1軟件缺陷報告的內(nèi)容150
6.2.2缺陷報告編寫的要求151
6.2.3缺陷報告編寫的技巧153
6.3軟件缺陷管理154
6.3.1缺陷管理的定義154
6.3.2缺陷管理的過程及方法154
6.3.3軟件缺陷管理155
6.4軟件缺陷跟蹤管理工具156
本章小結(jié)160
本章習(xí)題161
第7章自動化測試162
7.1自動化測試概述162
7.1.1自動化測試概念163
7.1.2自動化測試的應(yīng)用164
7.2自動化測試的實施165
7.2.1自動化測試基本流程165
7.2.2自動化測試方案的選擇166
7.2.3自動化測試腳本編寫方法167
7.3測試管理工具168
7.3.1QC(Quality Center)工具簡介169
7.3.2JIRA工具簡介173
7.4功能自動化測試工具176
7.4.1QTP(Quick Test Professional)工具簡介177
7.4.2Selenium工具簡介181
7.5性能自動化測試工具184
7.5.1LoadRunner工具簡介184
7.5.2Apache JMeter工具簡介188
本章小結(jié)192
本章習(xí)題193
參考文獻(xiàn)195