軟件測試 : 一個軟件工藝師的方法, 4/e (Software Testing: A Craftsman's Approach, 4/e)

保羅 C.喬根森 (Paul C.Jorgensen)

買這商品的人也買了...

商品描述

本書是經典的軟件測試教材,也可作為軟件測試者、開發者和工程師的參考書。

書中對基礎知識、方法提供了系統的綜合闡述,既涉及基於模型的開發,又介紹了測試驅動的開發,做到了理論與實踐的完美結合,反映了軟件標準和開發的新進展和變化。

作者簡介

paul c.jorgensen 博士在其職業生涯的前20年中,主要從事電話交換系統的開發、支持和測試工作。1986年以來,他一直在大學為研究生講授軟件工程課程,先是亞利桑那州立大學,然後在大峽谷州立大學。

目錄大綱

出版者的話
譯者序
前言

第一部分數學基礎

第1章測試概述2 
1.1基本概念2 
1.2測試用例3 
1.3利用維恩圖來理解軟件測試3 
1.4構造測試用例4 
1.4.1基於規格說明的測試5 
1.4.2基於代碼的測試5 
1.4.3兩種測試方法的對比6 
1.5故障的分類7 
1.6測試的層次8 
1.7習題8 
1.8參考文獻8 

第2章程序示例9 
2.1通用偽代碼9 
2.2三角形問題10 
2.2.1問題描述10 
2.2.2三角形問題的討論11 
2.2.3三角形問題的經典實現11 
2.2.4三角形問題的結構化實現14 
2.3 NextDate日期函數15 
2.3.1問題描述15 
2.3.2 NextDate函數的討論16 
2.3.3 NextDate函數的實現16
2.4佣金問題18 
2.4.1問題描述18 
2.4.2佣金問題的討論19 
2.4.3佣金問題的實現19 
2.5 SATM系統20 
2.5.1問題描述20 
2.5.2 SATM系統的討論21 
2.6貨幣兌換計算器22 
2.7雨刷控制器22 
2.8車庫門遙控開關22 
2.9習題23 
2.10參考文獻24 

第3章面向測試人員的離散數學25 
3.1集合論25 
3.1.1集合的成員關係25 
3.1.2集合的定義方法25 
3.1. 3空集26 
3.1.4集合的維恩圖26 
3.1.5集合運算27 
3.1.6集合關係28 
3.1.7集合劃分29 
3.1.8集合恆等29 
3.2函數30 
3.2.1定義域與值域30 
3.2.2函數類型30 
3.2.3函數複合31 
3.3關係32 
3.3.1集合之間的關係32 
3.3.2單個集合上的關係33 
3.4命題邏輯34 
3.4.1邏輯運算符34
3.4.2邏輯表達式35 
3.4.3邏輯等價35 
3.5概率論36 
3.6習題37 
3.7參考文獻37 

第4章面向測試人員的圖論38 
4.1圖38 
4.1.1節點的度38 
4.1.2關聯矩陣39 
4.1.3鄰接矩陣39 
4.1.4路徑40 
4.1.5連通性40 
4.1.6壓縮圖41 
4.1.7圈數41 
4.2有向圖41 
4.2.1入度與出度42 
4.2.2節點類型42 
4.2.3有向圖的鄰接矩陣43 
4.2.4路徑與半路徑43 
4.2.5可達矩陣44 
4.2.6 n連通性44 
4.2.7強分圖44 
4.3軟件測試中常用的圖45 
4.3.1程序圖45 
4.3.2有限狀態機46 
4.3.3 Petri網47 
4.3.4事件驅動Petri網49 
4.3.5狀態圖50 
4.4習題52 
4.5參考文獻52 

第二部分單元測試

第5章邊界值測試54
5.1邊界值分析54 
5.1.1邊界值分析的拓展55 
5.1.2邊界值分析的局限性56 
5.2健壯性測試56 
5.3最壞情況測試57 
5.4特殊值測試57 
5.5示例58 
5.5.1三角形問題的測試用例58 
5.5.2 NextDate函數的測試用例59 
5.5.3佣金問題的測試用例60 
5.6隨機測試62 
5.7邊界值測試的原則63 
5.8習題65 

第6章等價類測試66 
6.1等價類66 
6.2傳統的等價類測試66 
6.3改進的等價類測試67 
6.3.1弱一般等價類測試68 
6.3.2強一般等價類測試68 
6.3.3弱健壯等價類測試68 
6.3.4強健壯等價類測試69 
6.4三角形問題的等價類測試用例69 
6.5 NextDate函數的等價類測試用例71 
6.6佣金問題的等價類測試用例73 
6.7邊緣測試75 
6.8原則與註意事項75 
6.9習題76 
6.10參考文獻76 

第7章基於決策表的測試77
7.1決策表77 
7.2決策表使用技巧77 
7.3三角形問題的測試用例80 
7.4 Next Date函數的測試用例81 
7.4.1第一輪嘗試81 
7.4.2第二輪嘗試82 
7.4.3第三輪嘗試83 
7.5佣金問題的測試用例85 
7.6因果關係圖85 
7.7原則與註意事項86 
7.8習題87 
7.9參考文獻87 

第8章路徑測試88 
8.1程序圖88 
8.2 DD路徑90 
8.3測試覆蓋指標92 
8.3.1基於程序圖的覆蓋度量方法92 
8.3.2 EF Miller的覆蓋度量方法92 
8.3.3複合條件下的閉合路徑95 
8.3.4示例96 
8.3.5測試覆蓋分析器99 
8.4基路徑測試99 
8.4.1 McCabe的基路徑方法100 
8.4.2 McCabe基路徑方法的考慮102 
8.4.3 McCabe方法的基本複雜度103 
8.5原則與註意事項105 
8.6習題105 
8.7參考文獻106 

第9章數據流測試107
9.1定義/使用測試107 
9.1.1舉例108 
9.1.2 stocks的定義使用路徑110 
9.1.3 locks的定義使用路徑110 
9.1.4 totalLocks的定義使用路徑113 
9.1.5 sales的定義使用路徑113 
9.1.6 commission的定義使用路徑115 
9.1.7定義使用路徑的測試覆蓋指標115 
9.1.8面向對象編碼的定義/使用測試116 
9.2基於程序切片的測試116 
9.2.1舉例118 
9.2.2風格與技術122 
9.2. 3切片拼接123 
9.3程序切片工具124 
9.4習題125 
9.5參考文獻125 

第10章單元測試回顧126 
10.1測試方法的搖擺126 
10.2測試方法搖擺問題探索128 
10.3用於評估測試方法的指標131 
10.4重新