本書共分為12章,第1-4章講解軟件測試基礎(chǔ),包括軟件測試概念、流程、測試計劃,測試用例設(shè)計,測試策略,軟件測試總結(jié)和測試過程改進(jìn);第5~8章講解功能自動化測試相關(guān)知識,包括selenium Web自動化測試,自動化測試模型,unittest單元自動化測試框架,QTP自動化測試;第9-11章講解性能測試,包括性能測試概念,Load Runner 性能測試,Jmeter性能測試;第12章為手機(jī)App測試,包括App常規(guī)測試、adb、monkey,同時附錄中收錄了常見面試題。
男,49歲,研究生。現(xiàn)擔(dān)任長沙民政職業(yè)技術(shù)學(xué)院系主任,擁有多年一線計算機(jī)相關(guān)課程授課經(jīng)歷和高校管理經(jīng)歷,已出版過計算機(jī)方面的教材。
目 錄
第1部分 功能業(yè)務(wù)測試
第1章 軟件測試基礎(chǔ)2
1.1 軟件概述2
1.1.1 軟件的定義2
1.1.2 軟件工程3
1.1.3 軟件質(zhì)量4
1.2 軟件缺陷5
1.2.1 軟件缺陷的定義5
1.2.2 軟件缺陷產(chǎn)生的原因6
1.2.3 軟件缺陷的分類7
1.2.4 軟件缺陷的處理流程8
1.2.5 軟件缺陷管理軟件8
1.3 軟件測試概述9
1.3.1 軟件測試的定義9
1.3.2 軟件測試的流程10
1.4 軟件測試分類10
1.4.1 按照測試階段分類11
1.4.2 按照是否執(zhí)行代碼分類12
1.4.3 按照是否關(guān)聯(lián)代碼分類12
1.4.4 按照軟件質(zhì)量特性分類13
1.4.5 其他分類14
1.5 軟件測試原則14
1.6 軟件測試模型15
1.7 測試計劃17
1.7.1 測試計劃的概念17
1.7.2 制定測試計劃的好處18
1.7.3 測試計劃制定人員18
1.7.4 測試計劃的制定時間18
1.7.5 測試計劃的要素18
1.7.6 測試計劃模板18
1.7.7 測試計劃維護(hù)與評審19
1.7.8 軟件風(fēng)險19
本章小結(jié)21
第2章 測試用例設(shè)計22
2.1 測試用例介紹22
2.1.1 測試用例的概念23
2.1.2 測試用例的設(shè)計原則23
2.1.3 測試用例的設(shè)計方法23
2.2 測試用例的設(shè)計方法24
2.2.1 等價類劃分法24
2.2.2 邊界值法26
2.2.3 因果圖法28
2.2.4 判定表29
2.2.5 正交實驗設(shè)計法31
2.2.5 場景法34
2.2.6 測試用例設(shè)計方法選擇策略36
2.3 測試用例編寫36
本章小結(jié)37
課后習(xí)題37
第3章 測試策略38
3.1 兼容性測試38
3.1.1 兼容性測試概念38
3.1.2 兼容性測試與配置測試38
3.1.3 兼容性測試驗證點(diǎn)39
3.2 易用性測試39
3.2.1 易用性測試的基本概念39
3.2.2 易用性分類39
3.2.3 優(yōu)秀的UI應(yīng)具備的要素40
3.2.4 易用性測試與UI測試40
3.2.5 易用性測試驗證點(diǎn)41
3.3 Web測試41
3.3.1 功能測試41
3.3.2 性能測試43
3.3.3 界面測試44
3.3.4 兼容性測試45
3.3.5 安全性測試46
3.4 數(shù)據(jù)庫測試47
3.4.1 數(shù)據(jù)庫測試執(zhí)行者47
3.4.2 數(shù)據(jù)庫測試所需要的知識47
3.4.3 數(shù)據(jù)結(jié)構(gòu)的基本知識47
3.4.4 數(shù)據(jù)庫測試分類47
本章小結(jié)49
課后習(xí)題49
第4章 測試總結(jié)和測試過程改進(jìn)51
4.1 軟件測試總結(jié)51
4.1.1 軟件質(zhì)量評估51
4.2 測試總結(jié)報告55
4.2.1 測試總結(jié)55
4.2.2 測試總結(jié)案例分析57
4.3 測試的文檔60
4.3.1 文檔的審核60
4.3.2 測試文檔的管理和維護(hù)61
4.4 組織測試61
4.4.1 軟件測試團(tuán)隊61
4.4.2 激勵機(jī)制62
4.4.3 構(gòu)建學(xué)習(xí)型組織62
4.5 軟件測試過程改進(jìn)62
4.5.1 軟件測試與軟件質(zhì)量62
4.5.2 軟件測試過程等級62
4.5.3 軟件測試過程改進(jìn)63
4.5.4 軟件企業(yè)良好的軟件測試過程64
本章小結(jié)64
課后習(xí)題64
第2部分 自動化測試及相關(guān)部分
第5章 自動化測試66
5.1 自動化測試概述66
5.1.1 自動化測試簡介66
5.1.2 什么樣的項目適合做自動化測試66
5.1.3 自動化測試流程67
5.1.4 自動化測試及工具簡述67
5.2 Selenium工具介紹67
5.2.1 Selenium名字的來源68
5.2.2 Selenium IDE68
5.2.3 Selenium Remote Control68
5.2.4 WebDriver69
5.2.5 Selenium Gird69
5.3 Python WebDriver環(huán)境搭建69
5.3.1 準(zhǔn)備工具69
5.3.2 Python安裝配置69
5.3.3 Selenium安裝71
5.3.4 Selenium WebDriver簡介72
5.3.5 PyCharm安裝72
5.3.6 WebDriver配置76
5.4 瀏覽器操作API76
5.4.1 使瀏覽器最大化76
5.4.2 設(shè)置瀏覽器的寬和高77
5.4.3 控制瀏覽器前進(jìn)和后退77
5.4.4 頁面截圖77
5.4.5 獲取頁面標(biāo)題78
5.4.6 退出當(dāng)前頁78
5.4.7 刷新頁面78
5.5 Selenium元素的定位78
5.5.1 基本元素定位API使用79
5.5.2 元素定位API之XPath80
5.5.3 元素定位API之css_selector82
5.6 常用元素操作API85
5.7 鼠標(biāo)鍵盤事件86
5.8 等待操作87
5.9 處理常見自動化場景88
5.9.1 定位一組對象88
5.9.2 層級定位88
5.9.3 定位frame中的對象88
5.9.4 瀏覽器多窗口處理89
5.9.5 alert/confirm/prompt處理89
5.9.6 下拉框處理90
5.9.7 調(diào)用JavaScript91
本章小結(jié)91
課后習(xí)題91
第6章 自動化測試模型92
6.1 自動化測試框架簡介92
6.1.1 框架的概念92
6.1.2 自動化測試框架的定義92
6.2 自動化測試模型介紹93
6.2.1 線性測試93
6.2.2 模塊化與庫93
6.3 數(shù)據(jù)驅(qū)動95
6.4 關(guān)鍵字驅(qū)動96
6.4.1 計劃階段96
6.4.2 實現(xiàn)階段96
6.4.3 具體實現(xiàn)方法96
本章小結(jié)97
課后習(xí)題97
第7章 UnitTest單元自動化測試框架98
7.1 Python下UnitTest單元測試框架98
7.1.1 一個UnitTest自動化用例98
7.1.2 UnitTest中常用的assert語句100
7.2 生成HTMLTestRunner測試報告101
本章小結(jié)102
課后習(xí)題103
第8章 QTP自動化測試104
8.1 QTP概述104
8.1.1 QTP簡介104
8.1.2 QTP主要功能和特征104
8.1.3 QTP自動化測試流程104
8.1.4 QTP的工作原理——對象識別機(jī)制105
8.2 QTP使用106
8.2.1 界面概述106
8.2.2 腳本錄制107
8.2.3 腳本回放107
8.2.4 檢查點(diǎn)108
8.2.5 參數(shù)化109
本章小結(jié)111
課后習(xí)題111
第3部分 性能測試及相關(guān)部分
第9章 性能測試114
9.1 性能測試概述114
9.1.1 性能測試概念114
9.1.2 性能測試環(huán)境115
9.2 性能測試流程115
9.2.1 準(zhǔn)備工作116
9.2.2 編寫性能測試計劃116
9.2.3 設(shè)計性能測試方案117
9.2.4 測試腳本開發(fā)118
9.2.5 測試執(zhí)行與管理118
9.2.6 測試分析119
9.2.7 測試調(diào)優(yōu)與解決方案119
9.3 性能測試指標(biāo)分析和定義120
9.3.1 并發(fā)用戶數(shù)121
9.3.2 響應(yīng)時間121
9.3.3 吞吐量121
9.3.4 TPS122
9.3.5 資源使用率122
本章小結(jié)122
課后習(xí)題122
第10章 LoadRunner性能測試123
10.1 LoadRunner的構(gòu)成和測試過程123
10.1.1 LoadRunner由五大部件構(gòu)成123
10.1.2 LoadRunner測試過程124
10.1.3 LoadRunner環(huán)境搭建124
10.2 LoadRunner創(chuàng)建腳本129
10.2.1 性能測試事務(wù)130
10.2.2 LoadRunner常用函數(shù)131
10.2.3 LoadRunner日志記錄功能133
10.2.4 LoadRunner參數(shù)化135
10.3 LoadRunner場景控制137
10.3.1 LoadRunner場景類型138
10.3.2 基于目標(biāo)的場景138
10.3.3 手工場景140
10.3.4 多機(jī)聯(lián)合負(fù)載140
10.3.5 IP地址欺騙141
10.3.6 控制場景的運(yùn)行141
10.3.7 性能指標(biāo)監(jiān)視過程142
10.3.8 場景中添加計數(shù)器143
10.4 LoadRunner結(jié)果分析144
本章小結(jié)145
課后習(xí)題145
第11章 JMeter性能測試146
11.1 利用JMeter制作性能測試腳本146
11.1.1 JMeter介紹146
11.1.2 JMeter安裝147
11.1.3 JMeter主要測試組件148
11.1.4 JMeter元件作用域與執(zhí)行順序149
11.1.5 JMeter運(yùn)行原理149
11.2 JMeter腳本制作150
11.2.1 JMeter腳本制作150
11.2.2 Badboy介紹151
11.2.3 JMeter的HTTP代理方式錄制153
11.2.4 手工腳本制作156
11.3 JMeter腳本調(diào)試160
11.4 性能測試運(yùn)行方式164
11.5 收集性能測試結(jié)果166
11.5.1 利用JMeter插件收集性能測試結(jié)果167
本章小結(jié)170
課后習(xí)題170
第4部分 移動端測試
第12章 手機(jī)App測試172
12.1 手機(jī)App業(yè)務(wù)功能測試172
12.1.1 手機(jī)測試分類172
12.1.2 常用手機(jī)操作系統(tǒng)介紹173
12.1.3 手機(jī)App業(yè)務(wù)功能測試內(nèi)容174
12.2 adb命令的使用180
12.2.1 Android手機(jī)測試環(huán)境搭建180
12.2.2 adb命令的使用181
12.3 隨機(jī)自動化測試monkey的使用184
12.3.1 monkey簡介184
12.3.2 monkey 測試基本操作介紹184
12.3.3 monkey測試日志分析187
12.4 性能測試工具GT的使用188
12.4.1 GT工具簡介188
12.4.2 GT測試基本操作介紹188
12.4.3 GT插件的使用191
本章小結(jié)193
課后習(xí)題193
附錄A:面試題集194