幫助中心 | 我的帳號 | 關於我們

軟體測試(一個軟體工藝師的方法原書第5版)/電腦科學叢書

  • 作者:(美)保羅·C.喬根森//拜倫·德弗里斯|責編:曲熠|譯者:王軼辰//王軼昆
  • 出版社:機械工業
  • ISBN:9787111752639
  • 出版日期:2024/06/01
  • 裝幀:平裝
  • 頁數:404
人民幣:RMB 129 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書是經典的軟體測試教材,綜合闡述了軟體測試的基礎知識和方法,既涉及基於模型的開發,又介紹了測試驅動的開發,做到了理論與實踐的完美結合,反映了軟體標準和開發的新進展。作者擁有豐富的軟體開發和測試領域的教學和研發經驗,他在書中借助精心挑選的實例,把軟體測試理論與實踐緊密結合,講解循序漸進、層次分明,便於讀者理解。

作者介紹
(美)保羅·C.喬根森//拜倫·德弗里斯|責編:曲熠|譯者:王軼辰//王軼昆

目錄
譯者序
前言
作者簡介
第一部分  數學背景
  第1章  測試概覽
    1.1  基本定義
    1.2  測試用例
    1.3  測試的Venn圖
    1.4  確定測試用例
      1.4.1  基於規範的測試
      1.4.2  基於代碼的測試
      1.4.3  基於規範和基於代碼之爭
    1.5  錯誤的分類
    1.6  測試級別
    1.7  習題
    1.8  參考文獻
  第2章  案例
    2.1  偽代碼和Java的結構元素
    2.2  三角形問題
      2.2.1  問題描述
      2.2.2  問題分析
      2.2.3  Java實現
    2.3  NextDate程序
      2.3.1  問題描述
      2.3.2  問題分析
      2.3.3  Java實現
    2.4  「美食家」在線購物系統
      2.4.1  問題描述
      2.4.2  問題分析
    2.5  車庫門控制系統
    2.6  習題中的案例
      2.6.1  四邊形程序
      2.6.2  NextWeek程序
      2.6.3  雨刷控制器
    2.7  習題
    2.8  參考文獻
  第3章  軟體測試的離散數學基礎
    3.1  集合論
      3.1.1  集合中的元素
      3.1.2  集合的定義
      3.1.3  空集
      3.1.4  Venn圖
      3.1.5  集合運算
      3.1.6  集合關係
      3.1.7  集合劃分
      3.1.8  集合恆等式
    3.2  函數
      3.2.1  定義域和值域
      3.2.2  函數類型
      3.2.3  函數組合

    3.3  關係
      3.3.1  集合間關係
      3.3.2  單集合關係
    3.4  命題邏輯
      3.4.1  邏輯運算符
      3.4.2  邏輯表達式
      3.4.3  邏輯等價
      3.4.4  概率論
    3.5  習題
    3.6  參考文獻
  第4章  軟體測試的圖論基礎
    4.1  圖
      4.1.1  節點的度
      4.1.2  關聯矩陣
      4.1.3  鄰接矩陣
      4.1.4  路徑
      4.1.5  連通性
      4.1.6  壓縮圖
      4.1.7  環數
    4.2  有向圖
      4.2.1  入度和出度
      4.2.2  節點類型
      4.2.3  有向圖的鄰接矩陣
      4.2.4  路徑和半路徑
      4.2.5  可達矩陣
      4.2.6  n-連通
      4.2.7  強連通分量
    4.3  測試中的圖
      4.3.1  程序圖
      4.3.2  有限狀態機
      4.3.3  Petri網
      4.3.4  事件驅動的Petri網
      4.3.5  狀態圖
    4.4  習題
    4.5  參考文獻
第二部分  單元測試
  第5章  邊界值測試
    5.1  常規邊界值測試
      5.1.1  通用邊界值分析
      5.1.2  邊界值分析的局限性
    5.2  魯棒邊界值測試
    5.3  最壞情況邊界值測試
    5.4  特殊值測試
    5.5  案例
      5.5.1  三角形問題的測試用例
      5.5.2  NextDate程序的測試用例
    5.6  隨機測試
    5.7  邊界值測試指南
    5.8  習題
  第6章  等價類測試

    6.1  等價類
    6.2  傳統等價類測試
    6.3  改進的等價類測試
      6.3.1  弱等價類測試
      6.3.2  強等價類測試
      6.3.3  弱魯棒等價類測試
      6.3.4  強魯棒等價類測試
    6.4  三角形問題的等價類測試用例
    6.5  NextDate函數的等價類測試用例
    6.6  completeOrder方法的等價類測試用例
    6.7  邊緣測試
    6.8  關於無效等價類
    6.9  等價類方法的使用指南
    6.10  習題
    6.11  參考文獻
  第7章  基於決策表的測試
    7.1  決策表
    7.2  決策表技術
    7.3  三角形問題的測試用例
    7.4  NextDate函數的測試用例
      7.4.1  第一輪測試
      7.4.2  第二輪測試
      7.4.3  第三輪測試
    7.5  因果圖
    7.6  基於決策表測試的指南
    7.7  習題
    7.8  參考文獻
  第8章  基於代碼的測試
    8.1  程序流程圖
    8.2  DD路徑
    8.3  代碼覆蓋
      8.3.1  基於程序流程圖的覆蓋
      8.3.2  Miller的覆蓋
      8.3.3  剖析組合條件
      8.3.4  案例
    8.4  基本路徑測試
      8.4.1  McCabe的基本路徑法
      8.4.2  McCabe基本路徑測試的觀察
      8.4.3  基本複雜度
    8.5  基於代碼測試的指南
    8.6  習題
    8.7  參考文獻
  第9章  面向對象軟體測試
    9.1  單元測試框架
      9.1.1  通用的單元測試框架
      9.1.2  JUnit
    9.2  模擬對象和自動對象模擬
    9.3  數據流測試
      9.3.1  定義-使用測試的定義
      9.3.2  定義-使用測試度量

      9.3.3  定義-使用測試的例子
    9.4  面向對象的複雜度度量
      9.4.1  類中方法權重
      9.4.2  繼承樹深度
      9.4.3  子類個數
      9.4.4  類間耦合度
      9.4.5  類的響應
      9.4.6  內聚性缺失
    9.5  面向對象軟體測試中的問題
      9.5.1  組合和封裝的含義
      9.5.2  繼承的含義
      9.5.3  多態的含義
    9.6  基於切片的測試技術
      9.6.1  案例
      9.6.2  類型和技術
      9.6.3  切片拼接
      9.6.4  程序切片工具
    9.7  習題
    9.8  參考文獻
  第10章  回顧單元測試
    10.1  測試方法的鐘擺
    10.2  橫擺
      10.2.1  基於程序流程圖的測試
      10.2.2  基本路徑測試
      10.2.3  數據流測試
      10.2.4  基於切片的測試
      10.2.5  邊界值測試
      10.2.6  等價類測試
      10.2.7  決策表測試
    10.3  保險費問題的案例
    10.4  基於規範的測試
      10.4.1  基於代碼的測試
    10.5  指南
    10.6  習題
    10.7  參考文獻
第三部分  超越單元測試
  第11章  基於生命周期的測試
    11.1  傳統的瀑布測試
      11.1.1  瀑布測試
      11.1.2  瀑布模型的利和弊
    11.2  在迭代生命周期中實施測試
      11.2.1  瀑布模型的細分
      11.2.2  基於需求規格說明的生命周期模型
    11.3  敏捷測試
      11.3.1  用戶故事
      11.3.2  極限編程
      11.3.3  Scrum編程
      11.3.4  測試驅動開發
      11.3.5  敏捷的模型驅動開發
      11.3.6  模型驅動的敏捷開發

    11.4  遺留問題
      11.4.1  基於需求還是基於代碼
      11.4.2  配置管理
      11.4.3  粒度
    11.5  TDD的優劣之處和開放性問題
    11.6  回顧MDD和TDD
    11.7  參考文獻
  第12章  集成測試
    12.1  基於分解的集成
      12.1.1  自頂向下的集成
      12.1.2  自底向上的集成
      12.1.3  三明治集成
      12.1.4  利弊分析
    12.2  基於調用關係圖的集成
      12.2.1  成對集成
      12.2.2  鄰域集成
      12.2.3  利弊分析
    12.3  基於路徑的集成
      12.3.1  新擴展的概念
      12.3.2  MM路徑的複雜度
      12.3.3  利弊分析
    12.4  案例:integrationNextDate程序的過程集成
      12.4.1  基於分解的集成
      12.4.2  基於調用圖的集成
      12.4.3  基於MM路徑的集成
      12.4.4  分析和建議
    12.5  案例:integrationNextDate程序的O-O集成
    12.6  基於模型的集成測試
      12.6.1  消息通信機制
      12.6.2  成對集成
      12.6.3  有限狀態機/消息路徑集成
      12.6.4  場景1:創建正常賬戶
    12.7  習題
    12.8  參考文獻
  第13章  系統測試
    13.1  線索
      13.1.1  線索可能性
      13.1.2  線索定義
    13.2  在單處理器應用中識別線索
      13.2.1  用戶故事/使用用例
      13.2.2  需要多少使用用例
      13.2.3  有限狀態機中的線索
      13.2.4  原子系統功能
    13.3  識別系統的系統中的線索
      13.3.1  對話
      13.3.2  FSM之間的通信
      13.3.3  作為ASF序列的對話
    13.4  系統級測試用例
      13.4.1  一個企業級測試執行系統
      13.4.2  從使用用例到測試用例

      13.4.3  從有限狀態機路徑到測試用例
      13.4.4  從對話場景到測試用例
      13.4.5  有限狀態機和測試用例之間的聯繫
    13.5  系統測試的覆蓋度量
      13.5.1  基於使用用例的測試覆蓋
      13.5.2  基於模型的測試覆蓋
    13.6  長測試用例和短測試用例
      13.6.1  系統測試的補充方法
      13.6.2  操作剖面
    13.7  非功能系統測試
      13.7.1  壓力測試策略
      13.7.2  數學方法
    13.8  習題
    13.9  參考文獻
  第14章  基於模型的測試
    14.1  基於模型的測試概述
    14.2  適合的模型
      14.2.1  Peterson格
      14.2.2  主流模型的表達能力
      14.2.3  建模的注意事項
      14.2.4  做出合適的選擇
    14.3  支持基於模型測試的商業工具
      14.3.1  TestOptimal
      14.3.2  Conformiq
      14.3.3  國際GmbH驗證系統
    14.4  習題
    14.5  參考文獻
  第15章  軟體複雜度
    15.1  單元級複雜度
      15.1.1  環複雜度
      15.1.2  計算複雜度
    15.2  集成級複雜度
      15.2.1  集成級的環複雜度
      15.2.2  消息交互複雜度
    15.3  軟體複雜度案例
    15.4  面向對象的複雜度
      15.4.1  類中方法權重
      15.4.2  繼承樹深度
      15.4.3  子類個數
      15.4.4  類間耦合度
      15.4.5  類的響應
      15.4.6  內聚性缺失
    15.5  系統級複雜度
      15.5.1  源代碼的環複雜度
      15.5.2  規範模型的複雜度
      15.5.3  使用用例的複雜度
      15.5.4  UML的複雜度
    15.6  習題
    15.7  參考文獻
  第16章  測試系統的系統

    16.1  SoS的特點
    16.2  SoS的示例
      16.2.1  車庫門控制系統有監管的SoS
      16.2.2  空中交通管理系統公認的SoS
      16.2.3  「美食家」在線購物系統
    16.3  SoS的軟體工程
      16.3.1  背景需求
      16.3.2  使用UML術語的需求規格說明
      16.3.3  測試
    16.4  SoS的通信原語
      16.4.1  將ESML指令用於Petri網
      16.4.2  泳道Petri網的新指令
    16.5  SoS的指令效果
      16.5.1  有監管的和公認的SoS
      16.5.2  協作的和事實上的SoS
    16.6  習題
    16.7  參考文獻
  第17章  特徵交互測試
    17.1  定義特徵交互問題
    17.2  特徵交互的類型
      17.2.1  輸入衝突
      17.2.2  輸出衝突
      17.2.3  資源衝突
    17.3  交互的分類
      17.3.1  單處理器靜態交互
      17.3.2  多處理器靜態交互
      17.3.3  單處理器動態交互
      17.3.4  多處理器動態交互
    17.4  交互、組合和確定性
    17.5  習題
    17.6  參考文獻
  第18章  案例研究:測試事件驅動的系統
    18.1  車庫門控制系統的問題描述
    18.2  行為驅動開發建模
    18.3  擴展的有限狀態機建模
      18.3.1  從BDD場景派生有限狀態機
      18.3.2  有限狀態機的自頂向下開發
    18.4  使用泳道事件驅動Petri網建模
      18.4.1  正常關閉車庫門
      18.4.2  突然停止關閉車庫門
      18.4.3  光束打斷正在關閉的車庫門
      18.4.4  開門的交互
    18.5  從泳道事件驅動的Petri網派生測試用例
    18.6  失效模式事件分析
    18.7  習題
    18.8  參考文獻
  第19章  結對測試法
    19.1  結對測試技術
      19.1.1  程序輸入
      19.1.2  獨立變數

      19.1.3  輸入順序
      19.1.4  僅因為輸入對造成的失效
    19.2  細看NIST研究
    19.3  適合結對測試技術的應用
    19.4  關於結對測試的建議
    19.5  習題
    19.6  參考文獻
  第20章  軟體的技術評審
    20.1  軟體評審的經濟性
    20.2  評審的類型
      20.2.1  走查
      20.2.2  技術評審
      20.2.3  審核
      20.2.4  評審類型的對比
    20.3  評審中的角色
      20.3.1  製作者
      20.3.2  評審組長
      20.3.3  記錄員
      20.3.4  評審員
      20.3.5  角色的交叉
    20.4  評審包的內容
      20.4.1  工作產品的需求
      20.4.2  固定版本的工作產品
      20.4.3  標準和檢查單
      20.4.4  評審記錄表
      20.4.5  評審報告表
      20.4.6  錯誤嚴重等級
      20.4.7  評審報告大綱
    20.5  一種工業級評審過程
      20.5.1  組織計劃
      20.5.2  介紹評審員
      20.5.3  準備
      20.5.4  評審會議
      20.5.5  準備報告
      20.5.6  問題處理
    20.6  有效的評審文化
      20.6.1  評審會議規範
      20.6.2  參與會議的管理層
      20.6.3  兩個關於評審的故事
    20.7  評審的案例
    20.8  參考文獻
  第21章  結語:卓越的軟體測試
    21.1  工藝師
    21.2  軟體測試的最佳實踐
    21.3  十大優秀測試項目
      21.3.1  認真的技術評審
      21.3.2  測試級別的定義和識別
      21.3.3  所有級別的基於模型的測試
      21.3.4  系統測試擴展
      21.3.5  用於指導回歸測試的關聯矩陣

      21.3.6  單元級測試中使用xUnit和模擬對象
      21.3.7  基於規範和基於代碼的單元級測試的智能結合
      21.3.8  在所有測試級中使用合適的工具
      21.3.9  維護階段的探索性測試
      21.3.10  測試驅動開發
    21.4  不同項目的最佳實踐
      21.4.1  任務關鍵型項目
      21.4.2  時間關鍵型項目
      21.4.3  對繼承代碼的糾正性維護
    21.5  一個極端的例子
    21.6  參考文獻
附錄A  完整的技術審查包
附錄B  「美食家」在線購物系統

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032