軟件測試概念與實踐 [Software Testing: Concepts and Operations]

軟件測試概念與實踐 [Software Testing: Concepts and Operations] 下載 mobi epub pdf 電子書 2024


簡體網頁||繁體網頁
[美] Ali Mili,Fairouz Tchier 著,顔炯 譯



點擊這裡下載
    

想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

發表於2024-11-22

類似圖書 點擊查看全場最低價


圖書介紹

齣版社: 清華大學齣版社
ISBN:9787302441496
版次:1
商品編碼:11973515
包裝:平裝
外文名稱:Software Testing: Concepts and Operations
開本:16開
齣版時間:2016-08-01
用紙:膠版紙
頁數:272
字數:397000


相關圖書





圖書描述

産品特色

編輯推薦

適讀人群 :計算機相關人士

  軟件測試概念與實踐

  軟件測試入門指南

  Amazo* 5星暢銷書

內容簡介

  本書探討瞭軟件測試麵臨的主要問題,軟件測試概念、原則和演化過程,涵蓋瞭軟件質量工程和測試概念、測試數據生成、測試部署、測試輸齣分析,以及軟件測試管理。

  本書特色

  ◆ 本書沒有將軟件測試當作一項孤立的技術,而是將其視為完整的軟件驗證和確認原則的組成部分。

  ◆ 根據邊際效用遞減規律,建議在同一個數學模型基礎上開展程序測試和程序正確性驗證工作,從而能夠協調應用兩種技術。

  ◆ 定義瞭軟件缺陷概念和相對正確性概念,指齣相對正確性是如何描述單調缺陷去除的。

  ◆ 將軟件測試活動描述為一種麵嚮目標的活動,研究瞭如何根據選擇的測試目標指導測試活動。

  ◆ 涵蓋瞭軟件測試生命周期全過程,包括測試數據生成、測試預言設計、測試驅動設計,以及測試輸齣分析。

  對軟件質量和軟件工程專業學生而言,《軟件測試概念與實踐》一書是非常有用的,因為本書為學生提供瞭職業生涯的基礎知識,而且這些基礎知識在各種原則不斷演化的條件下也不會過時。


內頁插圖

目錄

第Ⅰ部分 軟件測試介紹

第1章 軟件工程:一種與眾不同的原則 3

1.1 年輕而動蕩的原則 3

1.2 壓力下的行業 6

1.3 規模龐大的復雜産品 7

1.4 昂貴的産品 10

1.5 缺乏重用實踐 12

1.6 容易齣錯的設計 13

1.7 矛盾的經濟學 14

1.7.1 勞動力密集的産業 15

1.7.2 缺少自動化 15

1.7.3 質量控製手段有限 16

1.7.4 不平衡的生命周期成本 16

1.7.5 不平衡的維護成本 17

1.8 本章小結 19

1.9 參考書目注釋 19

第2章 軟件質量屬性 21

2.1 功能屬性 22

2.1.1 布爾屬性 22

2.1.2 統計屬性 23

2.2 操作屬性 25

2.3 可用性屬性 27

2.4 業務屬性 28

2.5 結構屬性 30

2.6 本章小結 32

2.7 練習 32

2.8 參考書目注釋 33

第3章 軟件測試生命周期 35

3.1 軟件工程生命周期 35

3.2 軟件測試生命周期 41

3.3 軟件測試的V模型 48

3.4 本章小結 51

3.5 參考書目注釋 51

第Ⅱ部分 軟件測試基礎

第4章 軟件規約 55

4.1 堅實可靠規約的原則 57

4.2 關係數學 58

4.2.1 集閤與關係 58

4.2.2 關係操作 59

4.2.3 關係的屬性 61

4.3 簡單的輸入輸齣程序 63

4.3.1 錶達規約 63

4.3.2 對規約排序 67

4.3.3 規約生成 69

4.3.4 規約確認 75

4.4 可靠性和安全性 83

4.5 基於狀態的係統 86

4.5.1 關係模型 86

4.5.2 公理錶達 89

4.5.3 規約確認 98

4.6 本章小結 101

4.7 練習 101

4.8 問題 106

4.9 參考書目注釋 109

第5章 程序正確性和驗證 111

5.1 正確性的定義 113

5.2 正確性:命題 117

5.2.1 正確性和精化 118

5.2.2 集閤論的特徵 120

5.2.3 解釋 121

5.3 驗證 124

5.3.1 公式樣例 126

5.3.2 推理係統 128

5.3.3 用於解釋的示例 133

5.4 本章小結 138

5.5 練習 139

5.6 問題 141

5.7 參考書目注釋 141


第6章 失效、錯誤和缺陷 143

6.1 失效、錯誤和缺陷 143

6.2 缺陷和相對正確性 146

6.2.1 缺陷,一個含糊的概念 146

6.2.2 相對正確性 148

6.3 視情況而定的缺陷和確定性缺陷 151

6.3.1 視情況而定的缺陷 151

6.3.2 單調的缺陷去除 155

6.3.3 一個單調缺陷去除的框架 161

6.3.4 確定性缺陷 162

6.4 缺陷管理 164

6.4.1 多道防綫 164

6.4.2 混閤確認 166

6.5 本章小結 171

6.6 練習 172

6.7 問題 174

6.8 參考書目注釋 174

第7章 軟件測試分類 175

7.1 聯閤測試存在的問題 175

7.2 分類方案 176

7.2.1 主要屬性 178

7.2.2 次要屬性 183

7.3 測試分類 190

7.3.1 單元級測試 190

7.3.2 係統級測試 192

7.4 練習 194

7.5 參考書目注釋 195

第Ⅲ部分 測試數據生成

第8章 測試生成概念 199

8.1 測試生成和目標屬性 199

8.2 測試輸齣 203

8.3 測試生成需求 206

8.4 測試生成準則 211

8.5 基於經驗的充分性評價 216

8.6 本章小結 222

8.7 練習 223

8.8 參考書目注釋 225

8.9 附錄:變異程序 226

第9章 功能準則 229

9.1 域劃分 229

9.2 使用錶格錶達式生成測試數據 237

9.3 基於狀態的係統的測試生成 244

9.4 隨機測試數據生成 255

9.5 將測試數據選擇比喻為一次旅行 260

9.6 本章小結 263

9.7 練習 264

9.8 參考書目注釋 267

第10章 結構化準則 269

10.1 路徑和路徑條件 270

10.1.1 執行路徑 270

10.1.2 路徑函數 273

10.1.3 路徑條件 279

10.2 控製流覆蓋 281

10.2.1 語句覆蓋 281

10.2.2 分支覆蓋 284

10.2.3 條件覆蓋 286

10.2.4 路徑覆蓋 289

10.3 數據流覆蓋 296

10.3.1 定義和使用 296

10.3.2 測試生成準則 300

10.3.3 測試準則的層次結構 304

10.4 基於缺陷的測試生成 305

10.4.1 感知缺陷 306

10.4.2 為感知缺陷選擇輸入數據 311

10.4.3 針對錯誤傳播選擇輸入數據 313

10.5 本章小結 314

10.6 練習 315

10.7 參考書目注釋 319

第Ⅳ部分 測試部署與分析

第11章 測試預言設計 323

11.1 測試預言設計的睏境 323

11.2 從規約到預言 327

11.3 基於狀態的軟件産品的測試預言 332

11.3.1 從公理到測試預言 333

11.3.2 從規則到預言 335

11.4 本章小結 342

11.5 練習 343

第12章 測試驅動設計 347

12.1 選擇一種規約 347

12.2 選擇一種過程 350

12.3 選擇一種規約模型 352

12.3.1 隨機測試生成 353

12.3.2 預先生成的測試數據 360

12.3.3 缺陷和缺陷檢測 365

12.4 使用符號執行進行測試 370

12.5 本章小結 376

12.6 練習 376

12.7 參考書目注釋 383

第13章 分析測試輸齣 385

13.1 邏輯解釋 386

13.1.1 具體測試 386

13.1.2 符號測試 388

13.1.3 具體-符號測試 389

13.2 隨機解釋:缺陷密度 391

13.3 隨機解釋:失效概率 395

13.3.1 缺陷與缺陷並不相同 395

13.3.2 定義/量化可靠性 398

13.3.3 軟件可靠性建模 400

13.3.4 認證測試 405

13.3.5 可靠性估計和可靠性增長 406

13.3.6 可靠性標準 411

13.3.7 作為經濟函數的可靠性 412

13.4 本章小結 422

13.5 練習 423

13.6 問題 425

13.7 參考書目注釋 426

第Ⅴ部分 軟件測試管理

第14章 軟件測試的度量 429

14.1 缺陷傾嚮性 431

14.1.1 圈復雜度 431

14.1.2 規模 433

14.2 缺陷可檢測性 434

14.3 錯誤可檢測性 439

14.4 錯誤可掩蓋性 442

14.5 避免失效 445

14.6 容錯 447

14.7 解釋示例 449

14.7.1 圈復雜度 450

14.7.2 規模 450

14.7.3 狀態冗餘 450

14.7.4 函數冗餘 451

14.7.5 非內射性 452

14.7.6 不確定性 452

14.7.7 小結 453

14.8 本章小結 454

14.9 練習 455

14.10 參考書目注釋 456

第15章 軟件測試工具 457

15.1 分類方案 457

15.2 腳本工具 459

15.2.1 CppTest 459

15.2.2 SilkTest 460

15.3 錄製-迴放工具 462

15.3.1 TestComplete 462

15.3.2 Selenium IDE 463

15.4 性能測試工具 465

15.4.1 LoadRunner 465

15.4.2 Grinder 466

15.4.3 QF-Test 467

15.4.4 Appvance PerformanceCloud 468

15.4.5 JMeter 469

15.5 預言設計工具 471

15.5.1 JUnit 471

15.5.2 TestNG 472

15.6 異常檢測 473

15.6.1 Rational Purify 473

15.6.2 Astree 474

15.7 協同工具 475

15.8 本章小結 476

第16章 測試産品綫 477

16.1 PLE:流水綫重用模型 477

16.2 測試問題 482

16.3 測試方法 485

16.4 解釋 486

16.4.1 領域分析 486

16.4.2 領域建模 490

16.4.3 參考架構 494

16.4.4 領域實現 496

16.4.5 在領域工程階段進行測試 503

16.4.6 在應用程序工程階段進行測試 508

16.5 本章小結 511

16.6 練習 512

16.7 問題 513

16.8 引用的參考書目 513

參考文獻 515


前言/序言

  前 言

  軟件工程是唯一一種産品測試成為主要技術,同時産品測試還得到瞭開發機構關注,並成為一項具有重要成本因素的工程原則。這種現狀的産生來源於以下幾點原因:

  ● 軟件測試獲得瞭極大關注的首要原因是軟件産品的規模和復雜性,其導緻軟件産品設計成為一種高風險且容易齣錯的工作。

  ● 第二個原因是軟件産品缺少一種標準開發過程,這就意味著産品質量無法通過過程控製進行保障,因此隻能通過産品控製來保證産品質量。

  ● 第三個原因是缺少能夠通過靜態産品分析來保證産品質量並能適應産品規模變化的實用方法,因此隻能通過動態方法來保證産品質量。

  ● 其他原因還包括:缺少一種通用的重用規則,缺少適用於不同産品規模且能夠保證産品正確性的開發方法,以及在産品開發、維護、演化過程中無處不在的規約變更,等等。

  本書的主題是研究軟件測試;與當前其他同一主題的眾多書籍相比,本書在以下幾個方麵具有突齣的特點:

  ● 將軟件測試視為軟件質量保障的有機組成部分。我們將軟件測試作為軟件質量保障總體策略中的一個組成部分,而軟件質量保障總體策略還包含瞭多項其他技術。邊際效用遞減規律(The law of diminishing returns)支持使用多種不同的互補性技術,而且需要將不同技術應用於能夠得到最大投入迴報的場閤。這樣,軟件測試纔能在一個包含瞭其他方法、更為廣泛的語境下得到更深入的研究,而不僅僅是作為一個孤立的技術集進行研究。

  ● 將軟件測試視為靜態分析的一種補充技術。在軟件工程發展早期,針對有效性、可伸縮性、易用性等方麵內容,人們對軟件測試和靜態程序分析的優勢進行瞭豐富多彩的討論。我們的立場是:某種技術在某些場閤下能夠發揮最大的效能,而在其他場閤下可能就沒有那麼有效瞭;另一種常見的情況是,當我們感覺某種技術很難應用的時候,實際上往往不是因為技術本身存在問題,而是因為基於錯誤的規約類型使用瞭這項技術。為瞭保證産品正確性,不應該執著於選擇某一種規約。實際上,我們應該將一種復雜的規約分解為不同的組成部分,然後將不同的組成部分映射到最為閤適的技術。本書的第6章討論瞭這個問題。

  ● 將軟件測試視為一個係統化的逐步完成的過程。早期的軟件測試被視為一種證明程序缺陷存在的方法,而不是一種證明程序缺陷不存在的方法。實際上,這種看法是不恰當的,因為測試可以用於多種目的,這一點我們將在第7章討論。無論這種看法是否閤適,它都帶來瞭兩種後果:第一,人們認為軟件測試的唯一目的是暴露缺陷、診斷程序和去除缺陷;第二,結果是,人們認為測試僅僅是生成測試數據的過程,特彆是生成那些能夠最大可能地暴露程序缺陷的測試數據。與這些看法不同的是,我們認為測試是一個多步驟的過程,包括識彆與分析測試目標、測試數據生成、測試預言設計、測試驅動程序設計、測試部署、測試輸齣分析。我們將用不同的章節分彆講解這些內容。

  ● 將軟件測試視為一個形式化或可形式化的過程。對被測試的軟件産品或軟件産品規約而言,測試所需的分析工作量比較小,因此測試往往被視為一項可以隨意執行的工作,並且無須考慮形式化問題。但是,我們卻認為測試應該與靜態程序分析一樣嚴格。為有效地進行測試,測試人員必須具備軟件規約、程序正確性、相對正確性(relative correctness)、缺陷的含義、缺陷去除等知識。這些內容將在第6章詳細討論。

  ● 將軟件測試視為一個麵嚮目標的活動。我們認為,軟件測試不僅是查找和去除缺陷,還可能具有更廣泛的目標,包括諸如估計缺陷密度、估計可靠性、可靠性認證(certification)等。這些內容將在第7章詳細討論。

  本書的內容來自軟件測試及質量保障課程的講義,因此主要用於課堂使用。當然,本書也可以滿足軟件工程師的實際工作需要和軟件工程研究人員的研究需求。本書分為五個主要部分,每個部分包括瞭3~4章內容,全書共計16章。

  ● 第Ⅰ部分在軟件工程的語境下比較寬泛地介紹軟件測試,並且將探討軟件測試希望達到或確定的質量目標,還會探討軟件測試的生命周期。

  ● 第Ⅱ部分介紹軟件測試的數學基礎,包括軟件規約、程序正確性和程序驗證、軟件可依賴性概念以及軟件測試分類學。一般的軟件測試書籍很少像本書這樣討論規約、驗證、可依賴性等內容。本書這樣做是基於以下原因:

  首先,我們相信,在沒有深入理解軟件規約的前提下,是不可能研究軟件測試的,因為軟件規約規定瞭被測試程序的功能屬性,而這些功能屬性也是測試預言設計的基礎。

  其次,當我們在産品認證(product certification)或者驗收測試(acceptance testing)的語境下執行程序測試時,最受關注的是被測試的程序是否正確,而我們必須理解“正確”到底是指什麼。

  第三,如果打算協同使用動態程序測試和靜態程序分析,並且希望獲得比單獨用一種方法更為全麵的結論,那麼就必須在同一個數學模型下使用這些方法。

  第四,從一個程序中去除缺陷的行為是測試的核心任務,這個行為隻能通過定義相對正確性(relative correctness)的屬性來建立模型。相對正確性是指當程序中的缺陷被去除後,程序將更正確。因此,相對正確性隻能在理解瞭(絕對)正確性屬性的前提下進行定義。

  軟件測試技術分類學是指將軟件測試技術根據一組準則進行分類,特彆是軟件測試的目的:在指導軟件測試的過程中,識彆不同的軟件測試目的是很重要的,不同的軟件測試目的將影響測試生命周期的全部階段,包括測試數據生成、測試預言設計,乃至測試部署和測試輸齣分析。

  ● 第Ⅲ部分研究軟件測試過程中最為吸引研究人員和測試人員的步驟,這個步驟常常被視為軟件測試過程中唯一有意義的工作:測試數據生成。在這一部分中,我們將簡要討論測試數據生成的一些通用概念,然後研究測試數據生成的兩種通用準則,也就是功能準則(第9章)和結構化準則(第10章)。我們在討論測試數據生成時,不僅要考慮能夠直接從初始狀態 軟件測試概念與實踐 [Software Testing: Concepts and Operations] 下載 mobi epub pdf txt 電子書 格式


軟件測試概念與實踐 [Software Testing: Concepts and Operations] mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024

軟件測試概念與實踐 [Software Testing: Concepts and Operations] 下載 mobi pdf epub txt 電子書 格式 2024

軟件測試概念與實踐 [Software Testing: Concepts and Operations] 下載 mobi epub pdf 電子書
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

用戶評價

評分

書比較小,厚,內容還沒細看

評分

書比較小,厚,內容還沒細看

評分

good good very very good

評分

書比較小,厚,內容還沒細看

評分

書比較小,厚,內容還沒細看

評分

還沒看

評分

good good very very good

評分

good good very very good

評分

good good very very good

類似圖書 點擊查看全場最低價

軟件測試概念與實踐 [Software Testing: Concepts and Operations] mobi epub pdf txt 電子書 格式下載 2024


分享鏈接




相關圖書


本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

友情鏈接

© 2024 book.teaonline.club All Rights Reserved. 圖書大百科 版權所有