內容簡介
哪怕是測試一個簡單的系統,也可能會是一個曠日持久的任務。在經費和進度緊張的情況下,測試者需要使用實用的技術,親自實踐的經驗和正確的策略來有效而高效地進行軟體測試。
《軟體測試實踐:成為一個高效能的測試專家》將會把這些內容交到你的手中。通過一系列表述完好,清晰透徹而實用的章節,你將掌握對軟體測試至關重要的技能。
*如何分析系統的質量風險,並根據風險的級別來恰當地安排你的測試工作。
*不同的測試策略,以及每次如何選擇正確的測試策略,包括選擇處理回歸測試的高效策略。
*如何基於系統的預期行為來設計(黑盒)測試,包括邊界值(boundaryvalue)、等價性劃分(equivalencepartitioning)、決策表(decisiontable)、用況(usecase)、狀態轉換圖表(statediagramandtable)、所有對值表(all-pairstable)、正交表(orthogonalarrays),以及域分析(domainanalysis)。
*如何基於一個系統的內部結構來設計(白盒)測試,包括代碼覆蓋等級、數據流覆蓋和基本路徑覆蓋。
*如何規劃和執行集成測試。
*如何使用你的直覺、經驗和知識去探測和攻擊系統。
*如何讓你的辛勤工作服務於項目的需要。
*因為測試是一個切身實踐體驗的活動,《軟體測試實踐:成為一個高效能的測試專家》包括11個完整章節,以真實而原汁原味的練習來展示所有主要的測試技術,以及具體的解決方案。
如果你從來沒有讀過一本關於測試設計的書,如果你已經讀過其他的測試設計的書卻發現它們很難付諸實施,如果你已經讀過某本測試設計的書卻發現它在事情變得真正有意思的時候就嘎然而止,那么這《軟體測試實踐:成為一個高效能的測試專家》就是為你寫的。讀完《軟體測試實踐:成為一個高效能的測試專家》後,你學到的關於測試的具體技巧會比多數測試人員在其整個職業生涯中學到的還要多,你將會胸有成竹地把這些知識運用到你下一個測試項目中去。
作者簡介
RexBlack擁有長達1/4個世紀的軟體與系統工程的豐富經驗,他現任RexBlack諮詢公司(RBCS)的總裁與首席諮詢師,RBCS是軟體、硬體和系統測試領域的領先者。在過去十多年間,RBCS為全球範圍內的許多客戶提供了與測試和質量保證相關的諮詢、外包、評測和培訓服務。RBCS的100多個客戶分布在全球六大洲的20個國家,這些客戶包括Adobe(India)、ASBBank、BankOne、Cisco、Comverse、Dell、美國國防部、Hitachi、NDS以及Schlumberger。
Rex已經出版了4本相關著作,是當今在測試和質量保證領域著作最多的作者。他的第一本書《管理測試過程》(ManagingtheTestingProcess)非常流行,現在已經出了第2版,並已在全世界銷售了超過25000本,其中包括在日本、中國和印度發行的版本。他的另外一本關於測試管理的書,《關鍵測試過程》(CriticalTestingProcess),以及本書的早期版本,當時題為《有效且高效的軟體測試》(EffectiveandEfficientSoftwareTesting),都已經銷售了數千本,並出版了希伯來語、印度語、日語,以及俄語的版本
Rex還是國際軟體測試認證委員會(ISTQB和美國軟體測試認證委員會(ASTQB)的主席。他是ISTQB現在使用的基礎課程大綱(2005版),以及將要出版的高級課程大綱(2007版)的主要作者,並同IsabelEvans、DorothyGraham和ErikvanVeenendaal一起編寫了ISTQB考試使用的權威教材——《軟體測試基礎》(FoundationsofSoftwareTesting)。
除了上述著作之外,Rex還發表了超過25篇期刊論文;並在會議和研討會上發布了數百篇論文;他還在世界各地的學術會議和活動中發表過十多次主題演講。
Rex除了環遊世界進行工作和旅遊之外,其他時間居住在美國德克薩斯州的Bulverde小鎮,和他一起居住的還有:他的妻子LaurelBecker;兩個女兒EmmaGrace和CharlotteCatherine;還有他的兩條狗Cosmo和Hank。
目錄
第一部分目標、策略和戰術
第1章實用意味著什麼2
1.1你想有什麼樣的效果2
1.2什麼是高效性的正確級別3
1.2.1避免冗餘3
1.2.2控制費用3
1.2.3軟體測試不是(但是經常被誤認為是)什麼4
1.3測試者認知的5個階段5
1.4測試的其他基本觀點6
1.5將測試作為質量風險管理的一種形式6
1.6測試團隊到底是乾什麼的7
第2章三角形測試練習9
2.1練習:三角形測試9
2.2你的三角形測試解答9
2.3作者的三角形測試解答10
第3章測試與項目的協調13
3.1為什麼要進行測試13
3.2測試的視角13
3.3在上下文環境中測試14
3.4常見的測試階段和目標14
3.5貫穿組織的測試15
3.6V模型16
3.7演化式和增量式模型18
3.8螺旋模型18
3.9遺憾的常用模型:編碼和修正19
3.10測試維護性發布20
3.11系統集成20
3.12硬體開發和軟體開發22
3.13測試過程22
第4章理解測試策略、戰術和設計24
4.1讓任務、策略和戰術保持協調24
4.2分析的測試策略25
4.3基於模型的測試策略25
4.4系統的測試策略26
4.5面向過程的測試策略26
4.6動態測試策略27
4.7哲學的測試策略28
4.8回歸28
4.8.1回歸策略1:重複所有測試29
4.8.2回歸策略2:重複一些測試30
4.9其他3種回歸策略31
4.10戰術:測試技術類別31
4.11策略與戰術方面的考慮33
4.12測試系統34
4.13測試設計的經典原則35
4.14測試開發的階段36
4.15測試策略、戰術和設計的提要37
第二部分基於風險的測試
第5章理解系統質量的風險40
5.1測試風險分類40
5.1.1功能41
5.1.2性能和可靠性41
5.1.3壓力、容量和規模43
5.1.4狀態43
5.2事務44
5.2.1安裝和卸載45
5.2.2操作45
5.2.3維護和可維護性46
5.3回歸46
5.3.1可用性和用戶界面47
5.3.2數據質量47
5.3.3錯誤和災難處理以及恢復48
5.3.4日期和時間處理49
5.3.5本地化50
5.3.6配置和兼容性51
5.3.7聯網的、Internet上的和分散式的51
5.3.8符合標準和法規51
5.3.9安全52
5.3.10計時和協同52
5.3.11文檔53
5.4你能想到其他質量風險嗎53
第6章協調測試和質量風險54
6.1為系統質量風險劃分優先權54
6.2測試、客戶使用和系統配置55
6.3質量風險分析的方法56
6.4非正式的質量風險分析57
6.5風險分析的小技巧60
6.6風險分析的挑戰61
第7章質量風險分析練習63
7.1我的解答63
7.2關於我的解答的評論66
7.3在邁向質量風險的途中我遇見了一件有趣的事67
7.4額外練習69
7.5模板69
7.6我的解答72
7.7對我的解答的評論73
7.8額外範例:“灰和藍”質量風險分析74
第三部分靜態測試
第8章複審和其他靜態測試78
8.1測試需求和設計78
8.2複審的開銷和收益78
8.3複審的類型79
8.4為驗證和確認而複審79
8.5將複審作為一種改進過程、改進系統、節約開銷的手段80
8.6關於靜態測試三個問題的答案82
8.7複審作為一種取得共識和理解的手段82
8.8複審過程、角色和責任83
8.9來自複審的交付品和基本章程84
8.10常見的需求和風險缺陷85
8.11複審(和測試)文檔86
8.12其他靜態測試87
第9章複審練習88
9.1複審88
9.2你的解答88
9.3我的解答90
9.4對我的解答的評論93
9.5額外練習:複審三角形需求首頁93
9.6你所找到的需求缺陷94
9.7我的解答:需求缺陷97
9.8對我的解答的評論98
第四部分行為測試
第10章等價類和邊界值100
10.1等價性劃分100
10.2邊界值分析101
10.2.1整數102
10.2.2實數103
10.2.3字元和字元串104
10.2.4日期107
10.2.5時間108
10.2.6貨幣109
10.2.7功能之外的類和邊界110
第11章等價類和邊界值練習111
11.1功能性邊界和類111
11.2我的解答和評論112
11.3非功能的邊界和類116
11.3.1Omninet市場需求文檔(v0.3)116
11.3.2Omninet系統需求文檔(v0.2)117
第12章用況、實況數據和決策表118
12.1用況和場景測試118
12.2名詞與動詞、形容詞與副詞120
12.3實況數據和客戶測試120
12.4決策表121
第13章決策表練習123
13.1決策表測試123
13.2我的解答和評論124
13.3決策表和邊界值126
13.4我的解答和評論127
13.5為測試建立一個決策表131
13.6我的解答和評論(業務規則是互斥的)132
第14章狀態轉換圖136
14.1使用狀態轉換圖描述具有狀態的系統136
14.2狀態表137
14.3列印伺服器狀態轉換圖138
第15章狀態轉換圖練習140
15.1自助服務機狀態140
15.2我的解答和評論140
15.3ATM狀態模型146
15.4我的解答和評論(ATM狀態模型)147
15.5“灰和藍”狀態轉換圖148
15.6我的解答和評論(狀態轉換圖)149
第16章域測試151
16.1組合的爆炸式劇增151
16.2使用飛行里程計畫的域例子152
16.3可能的域測試值153
16.4一個航空例子154
16.5當域規則變化時155
16.6域分析總結155
16.7複雜的域測試例子156
16.8複雜域的一個通用規則158
第17章域測試練習161
17.1我的解答和評論161
第18章正交表和所有對值164
18.1組合的爆炸式劇增164
18.2正交表和所有對值表165
18.3兩個正交表166
18.4選擇一個正交表167
18.5將正交表運用到一個複雜的真實世界例子中167
18.6所有對值表178
18.7配置測試上的其他觀點179
第19章正交表練習181
19.1我的解答和評論182
第20章反應測試185
20.1反應測試的基本事實185
20.2錯誤猜測、攻擊和缺陷歸類186
20.3缺陷圍獵187
20.4探索式測試187
20.5清單188
20.6其他反應測試的靈感來源189
20.7優點和缺點190
20.8探索式測試的一個案例研究191
第五部分結構測試
第21章控制流測試196
21.1代碼覆蓋196
21.2McCabe圈複雜度198
第22章控制流測試練習200
22.1我的解答和評論201
22.1.1理解潛在的測試用況的數量201
22.1.2為語句、分支、條件和循環的全覆蓋創建一套測試用況集201
22.1.3計算McCabe複雜性,寫出基本路徑,並創建基本測試202
第23章數據流測試205
第24章數據流測試練習207
24.1我的解答和評論208
第25章集成測試214
25.1驅動和樁214
25.2集成技術215
25.3主幹集成217
25.4集成的McCabe基本路徑218
25.5增強的十六進制轉換器程式220
25.6調用流222
第26章集成基本測試練習225
26.1我的解答和評論225
第六部分附錄
附錄AOmninet市場需求文檔230
A.1範圍230
A.1.1術語、縮寫和簡稱230
A.1.2適用文檔231
A.2發布時間要求231
A.3需求描述231
A.3.1通用的技術需求231
A.3.2管理232
附錄BOmninet系統需求文檔235
B.1系統功能需求235
B.2系統可靠性需求237
B.3可用性需求238
B.4系統高效性需求239
B.5系統維護性需求240
B.6可移植性系統需求240
B.7設計模型241
B.7.1Omninet系統架構241
B.7.2付費處理決策表241
B.7.3自助服務機模組流242
B.7.4自助服務機狀態轉換圖242
B.7.5自助服務機狀態轉換表243
B.7.6自助服務機作業系統/
瀏覽器/連線速度配置的正交表243
附錄C書目和其他推薦閱讀材料245
……