軟件測試基礎教程 版權信息
- ISBN:9787111351887
- 條形碼:9787111351887 ; 978-7-111-35188-7
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>
軟件測試基礎教程 本書特色
Aditya P.Mathur的《軟件測試基礎教程》基于實例講述不同規(guī)模軟件項目中的測試生成、選擇、*小化和增強方面的*佳工程實踐。全書還覆蓋了基于數(shù)據(jù)流的測試充分性和基于變異的測試充分性,這些是可用的*有效的測試充分性準則。本書精選了由全世界數(shù)百位測試研究人員和實踐人員發(fā)明和總結的測試知識及技術,采用通俗易懂的表述方式,使讀者更容易理解和掌握。
測試生成、選擇、優(yōu)先排序和評估是測試過程中所有技術活動的基礎。在此基礎上合理部署各項組件,才能有效地測試不同類型的軟件應用,包括面向?qū)ο笙到y(tǒng)、Web服務、圖形用戶接口、嵌入式系統(tǒng)以及與安全、性能和可靠性有關的各種屬性。本書采用大量的實例和習題,循序漸進地介紹各種測試技術(包括有限狀態(tài)模型、組合設計和回歸測試的*小化等)。
軟件測試基礎教程 內(nèi)容簡介
本書全面介紹了軟件測試的相關理論、測試方法、測試生成技術等內(nèi)容。
全書分為三個部分:**部分是預備知識,介紹軟件測試技術的相關術語等基礎知識;第二部分介紹軟件測試的生成技術,不僅包括基本的等價類劃分、邊界值分析、因果圖、謂詞測試等技術,還涵蓋了從有窮狀態(tài)模型自動生成測試的技術、基于組合設計的測試生成技術,以及用于回歸測試中測試選擇、優(yōu)先級排序、*小化的一些基本技術;第三部分介紹軟件測試中既重要又廣泛適用的理論,即通過測試充分性的度量來加強測試,包括基于控制流、數(shù)據(jù)流的代碼覆蓋標準,以及*有效的基于程序變異的測試充分性度量標準。每章的結尾都有參考文獻注釋和練習題,幫助讀者深入體會軟件測試的過程,并熟練掌握測試生成的方法。
本書適合作為計算機、軟件工程及相關專業(yè)軟件測試課程的教材,也可作為軟件測試技術人員的參考書。
軟件測試基礎教程 目錄
出版者的話
譯者序
前言
**部分預備知識
第1章軟件測試的基本知識
11人、錯誤和測試
111錯誤、故障和失效
112測試自動化
113開發(fā)人員與測試人員是兩種角色
12軟件質(zhì)量
121軟件質(zhì)量特性
122軟件可靠性
13需求、運行結果和正確性
131輸入域與軟件正確性
132有效輸入與無效輸入
14正確性與可靠性
141正確性
142可靠性
143軟件使用與操作剖面
15測試與調(diào)試
151制訂測試計劃
152構造測試數(shù)據(jù)
153運行被測軟件
154指定被測軟件的行為
155評價被測軟件運行結果的正確性
156測試預言的構造
16測試度量
161組織級度量
162項目級度量
163過程級度量
164產(chǎn)品級度量:通用度量
165產(chǎn)品級度量:面向?qū)ο筌浖?
166進度跟蹤與趨勢
167靜態(tài)度量與動態(tài)度量
168可測試性
17軟件測試與硬件測試
18測試與驗證
19缺陷管理
110執(zhí)行歷史
111測試生成策略
112靜態(tài)測試
1121走查
1122審查
1123在靜態(tài)測試中使用靜態(tài)代碼分析工具
1124軟件復雜性與靜態(tài)測試
113基于模型的測試與模型檢測
114控制流圖
1141基本塊
1142流圖的定義與圖形表示
1143路徑
115決定者與后決定者
116程序依賴圖
1161數(shù)據(jù)依賴性
1162控制依賴性
117字符串、語言與正則表達式
118測試的類型
1181分類因子C1:測試生成的依據(jù)
1182分類因子C2:軟件生命周期階段
1183分類因子C3:目標導向的測試
1184分類因子C4:被測軟件制品
1185分類因子C5:測試過程模型
119飽和效應
1191信賴度與真實可靠性
1192飽和區(qū)間
1193信賴度的錯覺
1194降低偏差Δ
1195對測試過程的影響
小結
參考文獻注釋
練習
第二部分測試生成
第2章基于需求的測試生成
21引言
22測試用例選擇問題
23等價類劃分
231缺陷定位
232關系與等價類劃分
233變量的等價類
234一元化分與多元化分
235等價類劃分的完整過程
236基于等價類的測試用例設計
237GUI設計與等價類
24邊界值分析
25類別劃分法
26因果圖分析
261因果圖中的基本符號
262創(chuàng)建因果圖
263從因果圖生成判定表
264避免組合爆炸的啟發(fā)式方法
265從判定表生成測試用例
27基于謂詞的測試生成
271謂詞和布爾表達式
272謂詞測試中的故障模型
273謂詞約束
274謂詞測試準則
275生成BOR、BRO和BRE充分性測試用例
276因果圖與謂詞測試
277故障傳播
278謂詞測試實踐
小結
參考文獻注釋
練習
第3章基于有窮狀態(tài)模型的測試生成
31軟件設計與測試
32有窮狀態(tài)機
321用輸入序列激活FSM
322轉換函數(shù)和輸出函數(shù)的表格表示
323FSM 的特征
33符合性測試
331重置輸入
332測試的難題
34故障模型
341FSM的變體
342故障覆蓋率
35特征集
351k等價劃分的構造
352特征集的構造
353等價集
36W方法
361假設
362*大狀態(tài)數(shù)
363轉換覆蓋集的計算
364構造集合Z
365導出測試集
366采用W方法測試
367錯誤檢測過程
37部分W方法
371采用m=n的Wp方法測試
372采用m>n的Wp方法測試
38UIO串方法
381假設
382UIO串
383核心行為與非核心行為
384生成UIO串
385區(qū)分符號
386測試生成
387測試優(yōu)化
388故障檢測
39自動機理論與基于控制流的技術
391n路徑覆蓋
392自動機理論方法的比較
小結
參考文獻注釋
練習
第4章基于組合設計的測試生成技術
41組合設計
411測試配置和測試集
412輸入空間與配置空間建模
42組合測試設計過程
43故障模型
44拉丁方陣
45相互正交的拉丁方陣
46對偶設計:二值參數(shù)
47對偶設計:多值參數(shù)
48正交矩陣
49覆蓋矩陣與混合取值覆蓋矩陣
491覆蓋矩陣
492混合取值覆蓋矩陣
410強度大于2的矩陣
411生成覆蓋矩陣
小結
參考文獻注釋
練習
第5章回歸測試的選擇、*小化和優(yōu)先級排序
51什么是回歸測試
52回歸測試過程
521測試重確認、選擇、*小化和優(yōu)先級排序
522測試準備
523測試排序
524測試執(zhí)行
525輸出比較
53回歸測試選擇問題
54回歸測試選擇方法集
541全測試策略
542隨機選擇測試
543選擇遍歷修改測試用例
544測試*小化
545測試優(yōu)先級排序
55利用執(zhí)行軌跡進行回歸測試的選擇
551獲取執(zhí)行軌跡
552選擇回歸測試用例
553處理函數(shù)調(diào)用
554處理聲明中的變化
56利用動態(tài)切片進行回歸測試的選擇
561動態(tài)切片
562計算動態(tài)切片
563選擇測試用例
564潛在依賴
565計算相關切片
566語句的添加和刪除
567標識切片變量
568簡化的動態(tài)依賴圖
57測試選擇算法的可擴展性
58測試*小化
581集合覆蓋問題
582測試*小化過程
59測試優(yōu)先級排序
510回歸測試工具
小結
參考文獻注釋
練習
第三部分測試充分性評價與測試增強
第6章基于控制流和數(shù)據(jù)流的測試充分性評價
61測試充分性基礎
611什么是測試充分性
612測試充分性的度量
613通過度量充分性來增強測試
614無效性和測試充分性
615錯誤檢測和測試增強
616單次和多次執(zhí)行
62基于控制流的測試充分性準則
621語句覆蓋和塊覆蓋
622條件和判定
623判定覆蓋
624條件覆蓋
625條件/判定覆蓋
626多重條件覆蓋
627線性代碼序列和跳轉覆蓋
628改進的條件/判定覆蓋
629復合條件的MC/DC充分測試
6210MC/DC覆蓋的定義
6211*小MC/DC測試
6212錯誤檢測和MC/DC充分性
6213短路計算和無效性
6214測試集對需求的追蹤
63數(shù)據(jù)流概念
631定義和使用
632cuse和puse
633全局和局部的定義與使用
634數(shù)據(jù)流圖
635defclear路徑
636defuse對
637defuse鏈
638優(yōu)化
639數(shù)據(jù)上下文和有序的數(shù)據(jù)上下文
64基于數(shù)據(jù)流的測試充分性準則
641cuse覆蓋
642puse覆蓋
643alluse覆蓋
644kdr鏈覆蓋
645使用kdr鏈覆蓋
646無效的cuse和puse
647上下文覆蓋
65控制流與數(shù)據(jù)流
66包含關系
67結構性測試與功能性測試
68覆蓋度量的可量測性
小結
參考文獻注釋
練習
第7章基于程序變異的測試充分性評價
71導引
72變異和變體
721一階變體與高階變體
722變體的語法與語義
723強變異和弱變異
724為什么要變異
73用變異技術進行測試評價
731測試充分性評價的步驟
732測試充分性評價的替代過程
733被區(qū)分的變體與被殺掉的變體
734區(qū)分變體的條件
74變異算子
741算子類型
742變異算子的語言依賴性
75變異算子的設計
751評判變異算子優(yōu)良的準則
752指導準則
76變異測試的基本原則
761稱職程序員假設
762耦合效應
77等價變體
78通過變異進行錯誤檢測
79變體的類型
710C語言的變異算子
7101什么沒有被變異
7102線性化
7103執(zhí)行序列
7104執(zhí)行序列的影響
7105全局標識符集和局部標識符集
7106全局引用集與局部引用集
7107程序常量變異
7108運算符變異
7109語句變異
71010程序變量變異
711Java語言變異算子
7111傳統(tǒng)變異算子
7112繼承
7113多態(tài)與動態(tài)綁定
7114方法重載
7115Java特有的變異算子
712綜合比較:Fortran 77、C與Java變異算子
713變異測試工具
714低成本變異測試
7141劃分變異函數(shù)的優(yōu)先級
7142選擇使用部分變異算子
小結
參考文獻注釋
展開全部
軟件測試基礎教程 作者簡介
(美國)馬瑟(Aditya P.Mathur),普度大學計算機系主任、教授,印度BITS Pilani大學計算機系創(chuàng)始人之一。他是一位成果頗豐的學者,在國家期刊和會議上發(fā)表了100多篇論文。他的重要學術成果包括多語言計算機、軟件測試的飽和效應、軟件控制論、軟件可靠性估算的新技術等。