軟體工程 期末複習
- 一、 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 靜态圖
1.2.1 類圖
- 組成:類名、屬性、操作
軟體工程 期末複習一、 UML二、 軟體測試 -
關聯與依賴
關聯關系有多重性(注意⚠️),靜态
依賴是動态的,無多重性
-
聚合與組合
聚合:部分可以獨立存在
組合:部分不能獨立存在
- 泛化=繼承
1.2.2 對象圖
- 由對象和鍊組成
-
表示法
–标準表示法:stu:Student
–匿名表示法::Student
–省略類名的表示法:stu
- 對象中隻有對象名和屬性
1.2.3 包圖
- 可以包含各種進階的元素,允許嵌套
-
命名
–簡單包名:Vision
–路徑包名:Sensor::Vision
- 同一個包内同種元素必須不同名
- 高内聚,低耦合
- 循環依賴需要引入第三個包,重構
1.3 行為圖
1.3.1 狀态圖
- 添加多個事件之間的狀态轉移
- 有兩種行為:事件和活動
- 子狀态不同,外部呈現的狀态是相同的
- 可以沒有起點和終點(患者監護系統)
1.3.2 活動圖
- 組成:動作和活動節點、開始和終止、控制流、判斷節點、合并節點和泳道
- 動作為原子操作
- 必須有且僅有一個開始,通常至少有一個終止
- 泳道為活動分區
- 指向同一個合并節點不意味着要互相等待或資料同步
1.4 互動圖
1.4.1 順序圖
- 按時間順序顯示對象互動
- 組成:對象、生命線、激活和消息
- 激活:又稱控制焦點,表示執行一個動作經曆的時間段
- 虛線傳回
- 布局:使用者–使用者界面–控制流(邏輯層)–資料庫
- 擅長表現互動順序
1.4.2 協作圖
- 組成:對象、消息、鍊
- 鍊用于傳輸或實作消息的傳遞
- 适用于展現系統中的對象結構
1.5 實作圖
1.5.1 元件圖
- 組成:元件、接口、關系
- 接口: 供給接口 和 需求接口
1.5.2 部署圖
- 組成:節點、關系
- 節點:處理器 和 裝置(<>)
二、 軟體測試
軟體測試是按照規定的軟體規程發現軟體缺陷的過程
分類1 功能/性能/相容性/易用性/非功能性
分類2 靜态/動态
2.1 靜态測試
2.1.1 走查
2.1.2 審查
2.1.3 評審
2.2 動态測試
2.2.1 黑盒測試
- 基于需求
-
分類:
–等價類劃分法 分有效與無效 設計測試用例
–邊界值分析法
–錯誤推測法 逆向思維
–因果圖分析法
–場景分析法
-
優點:
應用面廣
不需要知道内部邏輯
可以借助自動化工具提高效率
-
缺點:
測試技能與業務熟悉度結合不緊密
缺陷定位不夠準确
2.2.2 白盒測試
- 基于代碼
- 測定依據是《詳細設計說明書》
- 覆寫技術:語句覆寫、條件覆寫、分支覆寫群組合覆寫
- 基本路徑測試法:把程式流程圖映射成流圖
軟體工程 期末複習一、 UML二、 軟體測試 -
優點:
深入,能從内部發現問題
對黑盒測試最有力的補充
-
缺點:
難查出遺漏的路徑
工作量大
要了解代碼
2.2.3 灰盒測試
黑盒和白盒綜合政策
2.3 測試計劃
- 熟悉項目情況
- 确定和排序測試需求
- 定義測試政策
- 估計測試工作量
- 配置測試資源
2.4測試步驟
2.4.1 代碼審查
依據:源代碼
2.4.2 單元測試
對軟體基本組成單元進行的測試
依據:詳細設計
–子產品接口測試
–子產品局部資料結構測試
–子產品邊界條件測試
–子產品獨立執行路徑測試
–子產品内部錯誤處理測試
2.4.3 內建測試
組裝成子系統或系統
依據:概要設計(總體設計)
層次:
–子產品内內建
–子系統内內建
–子系統間內建
測試技術:
–正向測試 等價類/狀态轉換
–逆向測試 錯誤猜測法/故障測試/邊界值/特殊值/狀态轉換測試
–高覆寫測試 功能覆寫/接口覆寫
–非漸增式測試方法
–漸增式測試方法
–大爆炸內建 自頂向下內建/自底向上內建/三明治內建
2.4.4 系統測試
将內建好的軟體系統,結合多方面進行綜合測試
依據:系統需求
測試方法:
–功能測試
–性能測試
–協定一緻性測試
–壓力測試
–容量測試
–安全性測試
–恢複測試
–備份測試
–GUI測試
–相容性測試
–可用性測試
–安裝測試
–文檔測試
–線上幫助測試
–資料轉換測試
一般使用黑盒測試方法
2.4.5 回歸測試
檢查系統變更後是否引入新錯誤或舊錯誤重複出現