編輯推薦
本書的特色在於將大量的技術賦予瞭實際的應用場景,讓讀者能夠更加清晰地把握如何將測試技術應用於具體實踐的同時,為測試團隊實施相關技術方案帶來信心。本書的技術內容和流程方法傾注瞭作者多年的從業經驗,讀者可以基於該書的內容為模闆,迅速展開閤理、規範和有序的測試工作。書中所講述的測試技術都是作者精心選取的主流技術,體現瞭作者豐富的行業經驗和對新技術發展方嚮敏銳的洞察力,初級以及zi深的讀者均可受益於本書的精彩內容。
·結閤案例介紹基於傳統和經驗的軟件測試設計方法
·介紹性能測試、嵌入式測試、大數據測試、雲計算測試技術
·介紹Junit4、LoadRunner、Bugzilla、UiAutomator、Selenium&Webdriver;、Monkey和星雲測試工具的使用
·講解軟件測試與質量文檔、軟件測試管理的知識,以及軟件測試工程師的職業規劃
內容簡介
本書是作者總結十幾年的軟件測試的實踐經驗寫成的,希望通過來自一綫的實踐知識和技能,幫助讀者打開一扇通往軟件測試之路的大門,尋找到解決測試問題的技術、技巧和方法,體驗到測試工作中“逮”Bug猶如“尋寶”的樂趣。全書分為“設計”“工具”和“管理”3篇,共14章,每章的內容雖有一定的聯係,但也可各自獨立,讀者可以根據自己的需求,按照書的內容順序閱讀,也可以根據自己的興趣選取相關章節閱讀。
本書可供軟件測試初學者、測試從業人員閱讀,也可作為大專院校計算機軟件專業學生的參考書,還可作為培訓學校的教材。
作者簡介
顧翔,畢業於北京工業大學,畢業後即從事軟件開發,2002年開始從事軟件測試工作,曾經在各大知名的互聯網公司、嵌入式軟件公司、通信公司和網絡管理軟件公司等擔任軟件測試工程師、軟件測試經理等職務,積纍瞭豐富的軟件測試知識和實踐經驗。現專職從事軟件開發與測試、大數據及雲計算相關的培訓工作,是中關村智聯軟件服務業質量創新聯盟成員,被北京軟件和信息服務業協會、北京課通天下、上海宇榖培訓公司、上海知言網絡科技有限公司和中睿信息技術有限公司聘為高級zi深講師。2014年,接受51測試網的專訪:《51Testing專訪顧翔—解讀開發轉測試的趣味人生》,並且在51testing發布瞭一係列個人專刊,如《測試專刊-顧翔與你一起漫談測試》和《測試專刊-白雲群中話計算》等。
目錄
第1篇 軟件測試設計技術
第1章 軟件測試的基本知識 3
1.1 軟件測試的基本理論 4
1.1.1 軟件測試的定義 4
1.1.2 軟件測試術語 5
1.1.3 軟件工程模型 9
1.1.4 軟件測試模型 10
1.1.5 軟件測試方法 12
1.1.6 軟件測試步驟 13
1.1.7 軟件缺陷管理 14
1.1.8 測試用例 16
1.1.9 軟件測試類型 19
1.1.10 軟件測試麯綫 28
1.1.11 軟件的殺蟲劑現象 29
1.2 軟件測試的七項基本原則 29
1.2.1 原則1:軟件測試顯示
存在缺陷 30
1.2.2 原則2:窮盡軟件測試
是不可行的 30
1.2.3 原則3:軟件測試盡早
介入 30
1.2.4 原則4:缺陷集群性 30
1.2.5 原則5:殺蟲劑悖論 31
1.2.6 原則6:軟件測試活動
依賴於軟件測試背景 31
1.2.7 原則7:不存在缺陷
(即有用係統)的謬論 31
1.3 驗證與確認的區彆 31
1.4 本章總結 33
1.4.1 介紹內容 33
1.4.2 案例 34
第2章 傳統的軟件測試的設計方法 36
2.1 運用等價類/邊界值設計測
試用例 37
2.1.1 等價類 37
2.1.2 邊界值 38
2.1.3 基於輸齣的等價類/
邊界值劃分 39
2.1.4 測試用例的設計 39
2.1.5 案例 41
2.2 運用決策錶設計測試用例 41
2.2.1 四邊形類型判斷係統 41
2.2.2 用戶登錄係統 43
2.2.3 飛機票定價係統 45
2.3 運用狀態轉換圖設計測試用例 48
2.3.1 從狀態轉換圖到狀態
轉換樹 49
2.3.2 從狀態轉換圖到狀態
轉換錶 51
2.3.3 業務流程狀態轉化法 52
2.4 運用決策樹設計測試用例 53
2.4.1 文本編輯軟件 53
2.4.2 機票購買係統 54
2.5 運用正交法設計測試用例 55
2.5.1 正交法 56
2.5.2 瀏覽器組閤軟件測試 56
2.6 軟件白盒測試 58
2.6.1 語句覆蓋測試 59
2.6.2 分支覆蓋測試 61
2.6.3 條件覆蓋測試 63
2.6.4 判定/條件覆蓋測試 65
2.6.5 MC/DC(修訂的條件/分支
軟件測試)覆蓋測試 66
2.6.6 路徑覆蓋測試 67
2.6.7 控製流測試 68
2.6.8 單元測試中的基於代碼的
功能測試 69
2.6.9 總結 70
2.7 測試用例設計的若乾錯誤觀點 70
2.7.1 能發現到目前為止沒有
發現的缺陷的用例是
好的用例 70
2.7.2 測試用例應該詳細記錄
所有的詳細操作信息 70
2.7.3 測試用例設計齣來後是
不用維護的 71
2.7.4 測試用例不應該包含
實際的數據 71
2.8 本章總結 71
2.8.1 介紹內容 71
2.8.2 案例 72
第3章 探索式軟件測試設計方法 74
3.1 探索式軟件測試中用到的
一些方法 75
3.1.1 錶單輸入的測試探索 75
3.1.2 模糊查詢輸入框輸入
數據的測試探索 77
3.1.3 對文件的探索 78
3.1.4 登錄界麵的測試探索 79
3.1.5 根據機器的聲音探索 79
3.1.6 通過查看Log日誌
探索 80
3.1.7 在開頭/結尾處進行
探索 80
3.1.8 多次執行同樣操作
進行探索 80
3.1.9 通過復製/粘貼進行
探索 81
3.1.10 通過測試結果進行
探索 82
3.1.11 利用反嚮操作進行
探索 83
3.1.12 利用名詞和動詞進行
探索 83
3.1.13 運用提問進行探索 84
3.1.14 函數級彆的黑盒測試
探索 85
3.1.15 運用不懂技術和業務的
人員進行探索 85
3.1.16 並發操作的測試探索 85
3.1.17 頁麵刷新功能的測試
探索 87
3.1.18 不常用功能的測試
探索 87
3.1.19 URL欄的測試探索 87
3.1.20 突發事故的測試探索 88
3.1.21 界麵鏈接的測試探索 88
3.1.22 需要多步操作來完成
一個事務的測試探索 89
3.1.23 老功能的測試探索 89
3.1.24 重災區的測試探索 90
3.1.25 強迫癥測試法的測試
探索 90
3.1.26 升級的測試探索 91
3.1.27 總結 91
3.2 基於場景的測試 92
3.3 本章總結 94
3.3.1 介紹內容 94
3.3.2 案例 95
第4章 基於風險的軟件測試 97
4.1 基於風險的軟件測試方法 98
4.2 軟件測試風險級彆確認與
調整 101
4.2.1 確定風險級彆 101
4.2.2 調整風險級彆 103
4.3 本章總結 105
4.3.1 介紹內容 105
4.3.2 案例 105
第5章 專項軟件測試設計 106
5.1 性能測試 107
5.1.1 性能測試的定義 107
5.1.2 由於性能測試沒做
到位發生的缺陷 107
5.1.3 性能指標 107
5.1.4 性能計數器 110
5.1.5 性能測試類型 118
5.1.6 性能測試可以發現的
問題 119
5.1.7 性能調優 119
5.1.8 性能測試角色 121
5.1.9 性能測試工具 122
5.1.10 性能測試流程 123
5.2 嵌入式軟件的基本測試方法 125
5.2.1 嵌入式軟件測試
流程 125
5.2.2 單元測試和集成
測試 127
5.2.3 插樁技術 127
5.2.4 嵌入式軟件測試
工具 127
5.3 本章總結 129
5.3.1 介紹內容 129
5.3.2 案例 129
第6章 雲計算、大數據的軟件測試
方法 131
6.1 如何對大數據軟件産品進行
軟件測試 132
6.1.1 前言 132
6.1.2 新産品的軟件測試 132
6.1.3 老産品的升級測試 132
6.2 雲計算軟件測試應注意的
問題 133
6.2.1 雲計算中增加瞭供應商
角色,給雲計算測試帶
來復雜性 133
6.2.2 雲計算中使用虛擬技術,
給性能測試帶來的影響 134
6.2.3 增加按照使用量收費的
軟件測試方法 134
6.2.4 安全性測試 135
6.2.5 定位問題 135
6.2.6 法律法規問題 136
6.2.7 遷移性軟件測試 136
6.2.8 功能測試 137
6.2.9 自動化測試 138
6.3 雲計算的優缺點 138
6.3.1 優點 138
6.3.2 缺點 140
6.4 文檔、環境、數據在雲軟件
測試中的管理 141
6.4.1 文檔管理 141
6.4.2 雲計算軟件測試環境
管理 142
6.4.3 雲計算軟件測試數據
管理 143
6.4.4 變更管理與版本
控製 143
6.5 本章總結 144
6.5.1 介紹內容 144
6.5.2 案例 144
參考文獻 145
第2篇 軟件測試工具
第7章 軟件測試工具總覽 149
7.1 軟件測試工具介紹 150
7.1.1 普通軟件測試工具推薦 150
7.1.2 APP軟件測試工具 150
7.1.3 軟件測試工具介紹 151
7.1.4 軟件測試工具的類型 153
7.2 關於自動化測試工具 154
7.2.1 自動化測試工具本身
也是軟件,也要重視
工具本身的質量 154
7.2.2 自動化測試工具要隨用
戶的需求變化而變化 155
7.2.3 不是所有的功能都可以
作自動化測試 155
7.2.4 探索式軟件測試也可由
自動化測試來實現 155
7.2.5 是否需要采用自動化測試,
需要考慮測試的效率 155
7.2.6 自動化測試可以覆蓋軟
件測試中的每個階段 156
7.2.7 軟件測試自動化是敏捷
開發強有力的工具 156
7.2.8 不要盲目選用現有的自
動化測試工具 156
7.2.9 各種類型的自動化測試
工具的比較 157
7.3 本章總結 158
第8章 單元測試工具 160
8.1 單元測試工具JUnit 4如何
在Eclipse中使用 161
8.1.1 JUnit 4環境的配置 161
8.1.2 JUnt4測試用例的運行
和調試 164
8.1.3 對代碼的詳細介紹 166
8.1.4 對JUnit 4的高級操作 167
8.1.5 介紹一下斷言 171
8.1.6 案例分析 173
8.2 本章總結 175
8.2.1 介紹內容 175
8.2.2 案例 175
第9章 性能測試工具 176
9.1 LoadRunner工具介紹 177
9.1.1 LoadRunner簡介 177
9.1.2 LoadRunner性能測試
工具架構 177
9.1.3 LoadRunner基本功能
使用技巧 178
9.1.4 用LoadRunner實現APP
壓力測試 207
9.1.5 案例 209
9.2 本章總結 214
9.2.1 介紹內容 214
9.2.2 案例 214
第10章 缺陷管理工具 215
10.1 Bugzilla使用指南 216
10.1.1 什麼是Bugzilla 216
10.1.2 為什麼使用Bugzilla 216
10.1.3 新建一個Bugzilla
賬號 216
10.1.4 産品和結構 217
10.1.5 Bug報告狀態分類和Bug
處理意見 217
10.1.6 指定處理人 218
10.1.7 超鏈接 218
10.1.8 概述 218
10.1.9 硬件平颱和操作係統 218
10.1.10 版本 218
10.1.11 Bug報告優先級 218
10.1.12 Bug狀態 218
10.1.13 報告人 219
10.1.14 郵件抄送列錶 219
10.1.15 從屬關係 219
10.1.16 附加描述 219
10.1.17 Bug查找 219
10.1.18 Bug列錶 220
10.1.19 用戶屬性設置 220
10.2 案例 220
10.3 本章總結 225
10.3.1 介紹內容 225
10.3.2 案例 226
第11章 APP軟件測試工具 227
11.1 UiAutomator工具介紹 228
11.1.1 使用UiAutomator
工具的優點 229
11.1.2 下載和配置 229
11.1.3 開發測試代碼 232
11.1.4 UiAutomator API
詳解 245
11.1.5 案例分析 258
11.2 Selenium和WebDriver工具
入門介紹 264
11.2.1 環境安裝 265
11.2.2 WebDriver對瀏覽器的
支持 268
11.2.3 操作指南 269
11.2.4 案例分析 272
11.3 Monkey工具介紹 293
11.3.1 Monkey的特徵 293
11.3.2 基本語法 293
11.3.3 檢查安卓設備中有
什麼包 293
11.3.4 Monkey的參數列錶 294
11.3.5 利用Monkey進行
穩定性測試 297
11.3.6 Monkey腳本 298
11.4 精準測試工具——星雲
測試平颱 298
11.4.1 精準測試理念 298
11.4.2 星雲測試工具客戶端
下載與配置 299
11.4.3 項目編譯 300
11.4.4 執行測試 305
11.5 本章總結 311
11.5.1 介紹內容 311
11.5.2 案例 312
參考文獻 313
第3篇 軟件測試管理
第12章 軟件測試與質量文檔 317
12.1 研發過程管理工作規範 318
12.2 飛天e-購網軟件測試報告 360
12.3 BBS軟件測試報告 375
12.4 數字電視機頂盒中間件集成
測試計劃書 378
12.5 BBS主測試計劃 383
12.6 BBS級彆測試計劃 392
12.7 軟件缺陷管理流程 398
12.8 本章總結 409
第13章 軟件測試管理 410
13.1 軟件測試團隊組成結構分析 411
13.1.1 方案一 411
13.1.2 方案二 412
13.2 軟件測試過程 413
13.3 軟件測試的獨立性 417
13.4 從微軟裁員首裁軟件測試
工程師談起 419
13.5 軟件測試的本質 421
純軟件
測試方法
介紹 421
13.5.2 純軟件測試方法在
Sprint中的運用 422
13.5.3 純軟件測試方法與軟件質量的關係 423
13.6 對敏捷開發的一些思考 424
13.6.1 簡介 424
13.6.2 敏捷開發的優點 424
13.6.3 敏捷開發的缺點 426
13.6.4 總結 427
13.7 精益創業與探索式軟件
測試 427
13.8 本章總結 428
13.8.1 介紹內容 428
13.8.2 案例 429
第14章 軟件測試工程師的職業
素質 430
14.1 如何成為一名優秀的軟件
測試工程師 431
14.1.1 起碼有3年以上的
軟件開發經驗 431
14.1.2 具有逆嚮思維的
能力 432
14.1.3 具有敏銳的洞察力和
鍥而不捨的精神 432
14.1.4 具有發散性思維的
能力 432
14.1.5 擅於同軟件開發工程
師溝通 432
14.1.6 擅於同領導溝通 433
14.1.7 掌握一些自動化軟件
測試工具和腳本 433
14.1.8 擅於學習 434
14.1.9 提高自己的錶達
能力 434
14.1.10 瞭解業務知識 434
14.1.11 培養對軟件測試的
興趣 434
14.1.12 追求完美 434
14.2 如何成為一名優秀的軟件
質量保證工程師 435
14.2.1 具有軟件開發,軟件
測試和實施經驗 435
14.2.2 具有一定的統計學
基礎 435
14.2.3 強大的溝通能力 436
14.2.4 專業的管理和質量
知識 436
14.3 軟件測試好書推薦 436
14.3.1 《軟件測試的藝術》 436
14.3.2 《贏在測試2-中國軟件
測試專傢訪談錄》 437
14.3.3 《探索式軟件測試》 437
14.3.4 《探索式測試實踐
之路》
軟件測試技術實戰 設計、工具及管理 下載 mobi epub pdf txt 電子書