本書介紹了國內外先進的軟件測試技術和測試理念: 包含軟件測試理
論、軟件質量、軟件測試過程、軟件測試方法、軟件測試管理、軟件測試
工具以及Web 項目測試和APP 項目測試等。全書覆蓋了基礎和高階的軟
件測試知識, 并結合目前市場需求的崗位技能, 提供了極具參考價值的測
試實例。本書是騰尚時代軟件職業(yè)培訓學校全體老師精心打造的一本軟件
測試領域專業(yè)書籍, 力求使更多的求職者和讀者更好地學習軟件測試的相
關知識, 并找到更理想的軟件測試工作崗位。
本書適合于從事軟件測試領域的技術人員及希望從事軟件測試的其他
專業(yè)人員閱讀, 也適合計算機、軟件、自動化等相關專業(yè)的學生與老師
參考。
本書作者在軟件測試領域有著深厚的造詣。結合多年的實踐提供了示范測試案例,高效指導讀者如何在實踐中分析、解決問題,干貨十足,值得推薦。
本書將軟件測試理論知識講解與實際測試項目有機融合,不僅授之以魚,而且授之以漁,*大限度地提升讀者軟件測試領域的能力。并且引入當前軟件測試中的流行熱點——移動互聯(lián)網APP軟件測試:對APP軟件的兼容性、功能性、擴展性等方面進行深入分析測試。
隨著互聯(lián)網的發(fā)展,軟件的規(guī)模和復雜性都大幅度提升,而用戶對軟件的要求也越來越多,除了軟件的基本功能之外,其軟件的性能,以及用戶對隱私和敏感數(shù)據的安全性等方面特別重視。
軟件測試是軟件整個研發(fā)過程中最重要的一個環(huán)節(jié),同時也是軟件質量保證最主要、最關鍵的重要手段之一,其理論知識和測試工具都在不斷的革新。隨著IT行業(yè)的不斷發(fā)展,軟件測試人才的需求也在不斷增加,現(xiàn)軟件測試工程師一職也已經成為了IT行業(yè)中一個熱門的職位,如功能測試、性能測試、自動化測試以及安全測試等。
本書由淺入深的介紹測試各領域的專業(yè)知識,起到快速入門,短期提升,全面掌握的閱讀目的。其中包含測試基礎理論的全面解說,測試管理的各類方式,測試領域當下最流行的測試工具使用,測試最常用的腳本語言的技能掌握,還有Web項目和APP項目的測試方法和測試思路的拓展。
本書不管是對于剛開始學習軟件測試的零基礎同學,還是想在測試道路上進階的初中級測試工程師,相信這本書都能給大家一個學習思路的引導,穩(wěn)步提升測試技能。
本書由騰尚時代信息科技有限公司創(chuàng)始團隊斛嘉乙、符永蔚、樊映川,提取十多年的測試領域研究成果,使用通俗易懂,易學實用為導向,使閱讀本書如同真實工作體驗,便于更快的理解測試該如何使用相應的專業(yè)技能。
限于作者的經驗和水平有限,書中難免有不足之處,懇請廣大讀者批評指正。如有疑問和建議可以發(fā)郵件,我的電子信箱8773465@qq.com。
符永蔚,男,現(xiàn)任深圳騰尚時代信息科技有限公司CEO、深圳尚睿達信息技術有限公司COO、深圳大瀚營銷首席營銷顧問、昆明騰尚時代職業(yè)培訓學校校長。
人力資源與社會保障局頒發(fā)企業(yè)培訓講師一級證書(高級);
人力資源與社會保障局頒發(fā)企業(yè)規(guī)劃師一級證書(高級);
人力資源與社會保障局頒發(fā)計算機技術二級證書;
國際信息部理財規(guī)劃師(高級)
國際信息部職業(yè)規(guī)劃書(高級)
國際信息部計算機證書(高級)
中華人民共和國高級教師資格證;
深圳人力資源與社會保障局頒發(fā)中級職稱;
江西人力資源與社會保障局頒發(fā)中級職稱;
3C+4D企業(yè)解決方案發(fā)起人;
深圳騰尚時代首席執(zhí)行官及高級講師;
大瀚營銷首席客邀講師。
目錄
第1章軟件測試理論14
1.1軟件概念14
1.1.1軟件發(fā)展史14
1.1.2軟件生命周期16
1.1.3軟件體系結構17
1.2軟件研發(fā)模型18
1.2.1瀑布模型18
1.2.2快速原型模型19
1.2.3螺旋模型19
1.2.4RUP流程20
1.2.5敏捷模型22
1.3軟件測試基本概念23
1.3.1軟件測試發(fā)展23
1.3.2軟件測試目的24
1.3.3軟件測試原則25
1.4軟件測試模型26
1.4.1V模型26
1.4.2W模型27
1.4.3H模型28
1.4.4X模型28
1.4.5敏捷測試29
1.5軟件缺陷29
1.5.1軟件為什么會引入缺陷29
1.5.2缺陷種類30
1.6測試用例31
1.6.1測試用例的重要性31
1.6.2測試用例寫作思路31
第2章軟件質量33
2.1質量33
2.1.1質量鐵三角33
2.1.2軟件質量34
2.2質量管理體系34
2.2.1ISO35
2.2.2CMM/CMMI36
2.2.36Sigma38
2.3軟件質量特性40
2.3.1功能性40
2.3.2可靠性41
2.3.3易用性41
2.3.4效率41
2.3.5可維護性41
2.3.6可移植性42
2.4軟件質量活動42
2.4.1SQA由來42
2.4.2SQA工作職責42
2.4.3軟件度量43
第3章軟件測試過程45
3.1測試階段劃分45
3.2單元測試45
3.2.1單元測試環(huán)境45
3.2.2單元測試策略46
3.2.3單元測試常見的錯誤47
3.2.4單元測試工具48
3.3集成測試48
3.3.1集成測試環(huán)境48
3.3.2集成測試策略48
3.3.3集成測試分析50
3.3.4集成測試工具50
3.4系統(tǒng)測試50
3.4.1系統(tǒng)測試環(huán)境51
3.4.2系統(tǒng)測試策略51
3.5驗收測試55
3.5.1UAT測試55
3.5.2α測試55
3.5.3β測試56
3.6回歸測試56
3.6.1回歸測試流程56
3.6.2回歸測試策略56
3.7軟件測試的流程57
3.7.1測試角色與職責57
3.7.2測試計劃與控制58
3.7.3測試分析與設計58
3.7.4測試實現(xiàn)與執(zhí)行59
3.7.5測試評估與報告60
3.7.6測試結束活動61
第4章軟件測試方法62
4.1測試方法劃分62
4.2白盒測試62
4.2.1白盒測試常用技術62
4.2.2基本路徑測試65
4.2.3白盒測試的優(yōu)缺點66
4.3黑盒測試66
4.3.1等價類劃分法67
4.3.2邊界值分析法70
4.3.3判定表分析法71
4.3.4因果圖分析法73
4.3.5正交試驗法75
4.3.6流程分析法77
4.3.7狀態(tài)遷移法79
4.3.8異常分析法80
4.3.9錯誤推測法80
4.3.10黑盒測試的優(yōu)缺點81
4.4灰盒測試81
4.5靜態(tài)測試81
4.5.1同行評審82
4.5.2階段評審83
4.5.3同行評審與階段評審的區(qū)別84
4.6動態(tài)測試85
第5章軟件測試的管理86
5.1配置管理86
5.1.1配置管理角色與職責86
5.1.2配置管理的流程87
5.1.3配置管理工具介紹88
5.2需求管理89
5.2.1什么是需求89
5.2.2需求的類型89
5.2.3需求工程90
5.2.4需求開發(fā)90
5.2.5需求管理92
5.3缺陷管理94
5.3.1軟件缺陷的狀態(tài)94
5.3.2缺陷管理的角色94
5.3.3缺陷管理基本流程95
5.3.4缺陷的等級劃分95
5.3.5缺陷報告的內容96
5.3.6缺陷分析97
5.4風險管理98
5.4.1風險管理的過程98
5.4.2項目中常見的風險98
5.5敏捷風險管理100
5.5.1敏捷項目的理解100
5.5.2敏捷項目需求的管理101
5.5.3敏捷項目時間的管理102
5.5.4敏捷項目成本的管理102
5.5.5敏捷項目質量的管理102
5.5.6敏捷項目溝通的管理104
5.5.7敏捷項目風險的管理105
第6章測試工具的介紹107
6.1配置管理工具-SVN107
6.1.1VisualSVN的安裝配置107
6.1.2VisualSVN服務端的使用111
6.1.3TortoiseSVN的安裝配置118
6.1.4TortoiseSVN客戶端的使用120
6.2缺陷管理工具126
6.3性能測試工具128
6.3.1性能測試概念128
6.3.2性能測試指標129
1.并發(fā)數(shù)129
2.響應時間129
3.吞吐量130
4.TPS130
5.點擊率130
6.資源利用率130
6.3.3性能測試流程130
6.3.4Loadrunner工具介紹131
6.3.5VuGen錄制腳本132
6.3.6Controller場景設計140
6.3.7Load Generator負載生成148
6.3.8Controller場景運行152
6.3.9Analysis結果分析152
6.4接口測試工具155
6.4.1接口測試155
6.4.2Postman156
6.4.3Jmeter158
6.5抓包工具170
第7章常用協(xié)議簡介173
7.1OSI參考模型173
7.2TCP/IP協(xié)議174
7.3HTTP協(xié)議178
7.4.1HTTP協(xié)議特點178
7.4.2HTTP連接方式178
7.4.3HTTP報文結構179
7.4.4HTTP請求180
7.4.5HTTP應答182
7.4.6HTTP通信機制183
7.4.7HTTP緩存機制184
7.4HTTPS協(xié)議186
7.4.1HTTPS的特點186
7.4.2工作原理186
7.4.3SSL協(xié)議187
7.4.4TLS協(xié)議188
第8章Web項目測試189
8.1Web基礎189
8.1.1Web的發(fā)展189
8.1.2Web的特點189
8.1.3Web工作原理190
8.1.4Web頁面加載過程191
8.2Web測試技術192
8.2.1Web功能測試193
8.2.2Web性能測試194
8.2.3Web安全測試195
8.2.4Web兼容測試197
8.2.5Web接口測試198
第9章APP項目測試199
9.1App發(fā)展199
9.2App測試流程199
9.3App測試方法200
9.3.1Android與IOS200
9.3.2UI測試200
9.3.3功能測試200
9.3.4性能測試202
9.3.5安全測試202
9.3.6兼容性測試203
9.3.7接口測試203
9.3.8用戶體驗測試203
9.4App測試工具204
9.4.1ADB204
9.4.2AAPT211
9.4.3Monkey212
9.4.4DDMS218
9.4.5Fiddler221
9.5App測試與Web測試的區(qū)別225
9.6H5頁面測試226