天天看點

軟體工程 期末複習一、 UML二、 軟體測試

軟體工程 期末複習

  • 一、 UML
    • 1.1 用例圖
    • 1.2 靜态圖
      • 1.2.1 類圖
      • 1.2.2 對象圖
      • 1.2.3 包圖
    • 1.3 行為圖
      • 1.3.1 狀态圖
      • 1.3.2 活動圖
    • 1.4 互動圖
      • 1.4.1 順序圖
      • 1.4.2 協作圖
    • 1.5 實作圖
      • 1.5.1 元件圖
      • 1.5.2 部署圖
  • 二、 軟體測試
    • 2.1 靜态測試
      • 2.1.1 走查
      • 2.1.2 審查
      • 2.1.3 評審
    • 2.2 動态測試
      • 2.2.1 黑盒測試
      • 2.2.2 白盒測試
      • 2.2.3 灰盒測試
    • 2.3 測試計劃
    • 2.4測試步驟
      • 2.4.1 代碼審查
      • 2.4.2 單元測試
      • 2.4.3 內建測試
      • 2.4.4 系統測試
      • 2.4.5 回歸測試
      • 2.4.6 驗收測試

一、 UML

UML是一種标準的圖形化模組化語言,可以捕獲系統靜态結構和動态行為的資訊,獨立于過程。可以作為測試依據,類圖指導單元測試,協作圖和構件圖指導內建測試,用用例圖指導系統測試。

“4+1”視圖:用例視圖、邏輯視圖、實作視圖、過程視圖、部署視圖

1.1 用例圖

  1. 參與者:操作對象
  2. 用例:一系列動作序列

    必須是動賓短語

    是相對獨立的

    是一個單元

    由參與者啟動

    有可觀測的執行結果

  3. 用例的粒度:保證所有用例在同一個層級
  4. 用例之間的關系

    擴充關系(描述行為變化,擴充用例可能被執行,指向基用例)

    包含關系(避免重複操作,包含用例一定被執行,指向包含用例)

    泛化關系

1.2 靜态圖

1.2.1 類圖

  1. 組成:類名、屬性、操作
    軟體工程 期末複習一、 UML二、 軟體測試
  2. 關聯與依賴

    關聯關系有多重性(注意⚠️),靜态

    依賴是動态的,無多重性

  3. 聚合與組合

    聚合:部分可以獨立存在

    組合:部分不能獨立存在

  4. 泛化=繼承

1.2.2 對象圖

  1. 由對象和鍊組成
  2. 表示法

    –标準表示法:stu:Student

    –匿名表示法::Student

    –省略類名的表示法:stu

  3. 對象中隻有對象名和屬性

1.2.3 包圖

  1. 可以包含各種進階的元素,允許嵌套
  2. 命名

    –簡單包名:Vision

    –路徑包名:Sensor::Vision

  3. 同一個包内同種元素必須不同名
  4. 高内聚,低耦合
  5. 循環依賴需要引入第三個包,重構

1.3 行為圖

1.3.1 狀态圖

  1. 添加多個事件之間的狀态轉移
  2. 有兩種行為:事件和活動
  3. 子狀态不同,外部呈現的狀态是相同的
  4. 可以沒有起點和終點(患者監護系統)

1.3.2 活動圖

  1. 組成:動作和活動節點、開始和終止、控制流、判斷節點、合并節點和泳道
  2. 動作為原子操作
  3. 必須有且僅有一個開始,通常至少有一個終止
  4. 泳道為活動分區
  5. 指向同一個合并節點不意味着要互相等待或資料同步

1.4 互動圖

1.4.1 順序圖

  1. 按時間順序顯示對象互動
  2. 組成:對象、生命線、激活和消息
  3. 激活:又稱控制焦點,表示執行一個動作經曆的時間段
  4. 虛線傳回
  5. 布局:使用者–使用者界面–控制流(邏輯層)–資料庫
  6. 擅長表現互動順序

1.4.2 協作圖

  1. 組成:對象、消息、鍊
  2. 鍊用于傳輸或實作消息的傳遞
  3. 适用于展現系統中的對象結構

1.5 實作圖

1.5.1 元件圖

  1. 組成:元件、接口、關系
  2. 接口: 供給接口 和 需求接口

1.5.2 部署圖

  1. 組成:節點、關系
  2. 節點:處理器 和 裝置(<>)

二、 軟體測試

軟體測試是按照規定的軟體規程發現軟體缺陷的過程

分類1 功能/性能/相容性/易用性/非功能性

分類2 靜态/動态

軟體工程 期末複習一、 UML二、 軟體測試

2.1 靜态測試

2.1.1 走查

2.1.2 審查

2.1.3 評審

2.2 動态測試

2.2.1 黑盒測試

  1. 基于需求
  2. 分類:

    –等價類劃分法 分有效與無效 設計測試用例

    –邊界值分析法

    –錯誤推測法 逆向思維

    –因果圖分析法

    –場景分析法

  3. 優點:

    應用面廣

    不需要知道内部邏輯

    可以借助自動化工具提高效率

  4. 缺點:

    測試技能與業務熟悉度結合不緊密

    缺陷定位不夠準确

2.2.2 白盒測試

  1. 基于代碼
  2. 測定依據是《詳細設計說明書》
  3. 覆寫技術:語句覆寫、條件覆寫、分支覆寫群組合覆寫
  4. 基本路徑測試法:把程式流程圖映射成流圖
    軟體工程 期末複習一、 UML二、 軟體測試
  5. 優點:

    深入,能從内部發現問題

    對黑盒測試最有力的補充

  6. 缺點:

    難查出遺漏的路徑

    工作量大

    要了解代碼

2.2.3 灰盒測試

黑盒和白盒綜合政策

2.3 測試計劃

  1. 熟悉項目情況
  2. 确定和排序測試需求
  3. 定義測試政策
  4. 估計測試工作量
  5. 配置測試資源

2.4測試步驟

軟體工程 期末複習一、 UML二、 軟體測試

2.4.1 代碼審查

依據:源代碼

2.4.2 單元測試

對軟體基本組成單元進行的測試

依據:詳細設計

–子產品接口測試

–子產品局部資料結構測試

–子產品邊界條件測試

–子產品獨立執行路徑測試

–子產品内部錯誤處理測試

2.4.3 內建測試

組裝成子系統或系統

依據:概要設計(總體設計)

層次:

–子產品内內建

–子系統内內建

–子系統間內建

測試技術:

–正向測試 等價類/狀态轉換

–逆向測試 錯誤猜測法/故障測試/邊界值/特殊值/狀态轉換測試

–高覆寫測試 功能覆寫/接口覆寫

–非漸增式測試方法

–漸增式測試方法

–大爆炸內建 自頂向下內建/自底向上內建/三明治內建

2.4.4 系統測試

将內建好的軟體系統,結合多方面進行綜合測試

依據:系統需求

測試方法:

–功能測試

–性能測試

–協定一緻性測試

–壓力測試

–容量測試

–安全性測試

–恢複測試

–備份測試

–GUI測試

–相容性測試

–可用性測試

–安裝測試

–文檔測試

–線上幫助測試

–資料轉換測試

一般使用黑盒測試方法

2.4.5 回歸測試

檢查系統變更後是否引入新錯誤或舊錯誤重複出現

2.4.6 驗收測試

繼續閱讀