第六章 物件導向軟體測試.

Slides:



Advertisements
Similar presentations
1 教師敘薪 Q & A 教師敘薪 Q & A 新竹縣立新湖國中 陳淑芬 新竹縣立自強國中 楊美娟
Advertisements

103 學年度縣內介聘申請說明會 南郭國小 教務主任張妙芬.  重要作業日程 : 1 、 5/1( 四 ) 前超額學校 ( 含移撥超額 ) 備文函報縣府教 育處輔導介聘教師名單 2 、 5/7( 三 ) 超額教師積分審查( 9 : : 00 、 13 : : 00 )。 3.
大學甄選申請入學 〃備審資料 〃面試. 確認你的追求對象 學校環境概況 系別特質 有無交換學生 未來出路 性質相似的科系要清楚之間的差別 ex: 社會福利學系,社會工作學系, 社會學系.
“ 软件工程 ” 考试安排 考试方式 每人从给出的题目中选择一题,独立撰写论文一篇。 论文要求 1. 论文既要结合软件工程的理论知识,又要结合自身 的实践体会,特别要联系课设自己的实际工作(请 说明自己在课程设计中所承担的主要工作及自己的 认识、体会、总结)。论文应具有自己的分析、观 点,并有实例分析。
人文行動考察 羅東聖母醫院 老人醫療大樓 吳采凌 黃玨宸 劉映姍 陳嫚萱.
焦點 1 陸域生態系. 臺灣的陸域生態系 臺灣四面環海 黑潮通過  高溫, 雨量充沛 熱帶, 亞熱帶氣候.
資源問題與環境保育 第 6 章. 學完本章我能 ……  知道中國土地資源的問題與保育  了解中國水資源的問題與保育  知道中國森林資源的問題與保育  能分析自然環境和人文環境如何影響人類 的生活型態  說舉出全球面臨與關心的課題.
[ Java 程序设计 教程 ] 阎菲 陈利 向郑涛 陈宇峰 中国水利水电出版社.  Java 语言是对软件开发技术有深 远影响、应用前景广泛、具有丰富 的类库、继承了 C++ 传统(摈弃了 某些不足)广泛使用的网络编程语 言。 Java 语言的特性使它可以最大 限度地利用网络。  本章介绍面向对象的基本概念:对.
第八章 劳动关系管理 第一节 劳动关系管理 第二节 劳动合同管理 第三节 劳动争议管理 第四节 劳动关系中的不平等与歧视问 题.
景美樣品房工程變更 / 追加請款 / 說明 102/08/09 樣品房停工 102/10/10 樣品房完工 102/09/26 向工務部提出 追加工程估價單 102/10/25 經工務部審核 轉送採發部門 102/09/03 工地會議 確認後續施工方式 102/11/ /11/ /12/09.
統計之迷思問題 保險 4B 張君翌. 迷思問題及教學者之對策 常見迷思概念教學者之對策 解題的過程重於答案 例 : 全班有 50 位同學,英文不及格的有 15 人,數學不及格的有 19 人,英文與 數學都及格的有 21 人。請問英文與數 學都不及格的有幾人? 老師常使用畫圖來解決這樣的問題,英文和.
社團法人台南市癲癇之友協會 講師:王乃央老師
寓言 何謂寓言? 寓言中的主角選擇 以動物為主角,形象分析—以成語及諺語中來歸納動物形象 以人為主角,形象分析
軟體工程第六版 第十三章 測試策略.
第七章 外營力作用 第一節 風化 第二節 崩壞 第三節 侵蝕與堆積.
物理治療師之僱傭關係 九十二年四月十二日.
勿讓權利睡著- 談車禍之損害賠償與消滅時效.
二、開港前的經濟發展 (一)土地開墾和農業發展 1.漢人移民的遷徙與拓墾 (1)遷徙 A.居住區 a.泉州人最多:沿海
設計新銳能量輔導 實習期中感想 實習生:賴美廷 部落格:TO13004.
研(修)定學校災害防救計畫 李佳昕.
日本的〈地獄劇〉 與 中國的〈目連戲〉.
授課教師:羅雅柔 博士 學員:吳沛臻/邱美如/張維庭/黃茹巧
國小教師檢定經驗分享 分享者:胡瑋婷 現職:國語日報語文中心寫作班教師 閱讀寫作營教材編輯及任課講師 榮獲「教育部教育實習績優獎」全國第三名.
民主政治的運作
教育與學習科技學系 103學年度課程說明 103年9月2日.
國有不動產撥、借用法令與實務 財政部國有財產局 接收保管組撥用科 蔡芳宜.
公務人員 育嬰留職停薪權益.
第3章 需求分析(续) 学习目标 什么是需求建模? 需求分析建模方法 掌握实体—关系图(E—R图); 掌握状态转换图;
大學教、職員之法義務規範與法律效果 台南地檢署林仲斌.
第三課 政府的組織、功能與權限 一、內閣制 壹、民主國家的政府體制 二、總統制 三、混合制 四、小結 一、前言 貳、我國的中央政府體制
明代開國謀臣 劉伯溫 組員:吳政儒 林天財 王鈴秀 陳冠呈 施典均 李孟儒.
中央與地方教育權限 第八組 王湘婷 邱淑婷 全 彥 洪英博
99年成語200題庫(21-40).
中國宦官 鄭永富 鄭雅之 莊尉慈.
第八章 信息系统开发概述.
盧世欽 律師 鼎禾律師聯合事務所 民國 一○四 年 九 月 十八 日
簡報大綱 壹、親師溝通 貳、學生不當行為的處理 參、學生輔導 肆、個案研討分析.
福山國小 100學年度 新生家長始業輔導.
貨物稅稅務法令介紹 竹東稽徵所.
九年一貫課程綱要微調 健康與體育領域召集人 「課綱微調轉化」研習
公私立大學特色介紹 (以第二類組為主) 報告人:吳婉綺.
主題: 測驗在評鑑中的角色 指導教授:丁文生老師 報告者:黃馨慧 資料來源: 王振世譯(2005)。評鑑模式:教育及 人力服務的評鑑觀點。
五-4 台灣的生活禮俗 組員:603 15號 黃醴萬 6號 吳家熙 5號 楊証傑 11號 李偉新.
危險情人的特徵 危險情人的特徵.
運用網路資源趣味化 「每日飲食指南份量」教學
機關團體所得稅申報實務 中區國稅局苗栗縣分局第一課林天琴.
臺北市立松山家商 103學年度第1學期 學校日 教學說明 簡報
幼兒環境學習規畫 期末報告 指導老師:蔡其蓁 老師
雕塑你我他.
財政部臺灣省北區國稅局中壢稽徵所 各類所得扣繳暨免扣繳法令.
「103年寒假教育優先區中小學生營隊」 校外補助計畫申請說明會.
Ebooking 突发问题解决方案.
水土保持法中「連續處罰」及「限期改正」制度之法律研究
國有公用財產管理及被占用處理暨活化運用法規與實務(含座談) 104年度教育部暨部屬機關學校總務人員研習會-不動產管理班
提升國民小學教師健康教育專業能力三年計畫
暴力、草莽、土野、情色、權慾 —華西街的成人童話
馬公高中100學年101大學博覽會 專題演講 演講主題 如何選填適合自己的大學科系
实验6 面向对象分析与设计实验.
性騷擾防治宣導.
小学生交通安全主题班会课件 安全 security 上派学区中心校校园安全管理办公室.
創業環境分析與 風險評估 赫斯提亞負責人:謝馥仲先生 主講 演講時間 : 2008/05/01.
葉脈標本的創意製作.
穿出自我… 高一家政.
C++语言程序设计 第一章 绪论 成都信息工程学院计算机系.
聚合型第一種:隱沒帶、島弧 例子:臺灣東方的琉球海溝、南美洲智利海溝. 聚合型第一種:隱沒帶、島弧 例子:臺灣東方的琉球海溝、南美洲智利海溝.
勞工保險年金制度 簡報人:吳宏翔.
財政四 徐瑜鴻 財政四 林博硯 財政四 陳玄恩 財政四 王張皓鈞 財政四 李定瑜
品格:熱 性格的培養6親熱就,48頁。 (一)什麼是熱.
第十章 : 系統建置與運轉 1. 前言 讓系統順利運轉之三類工作 : a) 轉換設計文件成為軟體 : 程式撰寫、軟體測試 、系統安裝
Presentation transcript:

第六章 物件導向軟體測試

大綱 物件導向軟體測試概論 單元測試 整合測試 系統測試 驗收測試 測試案例設計 結論

物件導向軟體測試概論 簡述。 物件導向測試模型。 物件導向分析測試。 物件導向設計測試。 物件導向程式設計測試。

簡述1 物件導向軟體測試其主要目的跟傳統的軟體測試大致上是相同的,使用最少的資源來找出存在軟體內的錯誤。 物件導向軟體跟之前傳統軟體內部的內容、策略以及在方法上大大不為相同。 物件導向技術有獨特的特性,比如多型、繼承、封裝使物件導向產生錯誤的可能性比傳統軟體測試還要大。

簡述2 物件導向技術正逐漸的被廣泛使用,成為解決軟體危機的新技術。 物件導向的結構不是傳統的功能模組結構,作為一個整體,原有整合測試所要求的逐步將開發的模組搭建一起進行測試方法。

物件導向測試模型1 物件導向將開發分成 使用開發階段的測試及程式設計完成後的單元測試、整合測試、系統測試成為一個整體。 物件導向分析 (OOA)。 物件導向設計 (OOD)。 物件導向程式設計 (OOP)。 使用開發階段的測試及程式設計完成後的單元測試、整合測試、系統測試成為一個整體。

物件導向測試模型2

物件導向測試模型3 軟體發展過程中不斷測試的模型,使開發階段成為一個整體。 物件導向分析測試與物件導向設計測試對分析結果與設計結果的測試。 物件導向程式設計測試對程式設計風格實現進行測試。

物件導向測試模型4 物件導向程式設計測試對程式的程式碼進行測試。 物件導向單元測試是對程式內部類別成員函數的測試。 物件導向單元測試是進行物件導向整合測試的基礎。

物件導向測試模型5 物件導向整合測試主要針對系統內的相互服務進行測試。 物件導向整合測試要參考物件導向設計的結果。 Ex:類別間的訊息傳遞。 函數間的相互作用。 物件導向整合測試要參考物件導向設計的結果。 物件導向整合測試要參考物件導向設計測試的結果。

物件導向測試模型6 物件導向系統測試在物件導向整合測試的最後階段測試。 物件導向系統測試以使用者需求為測試標準,且要參考物件導向分析測試及物件導向設計測試的結果。

物件導向分析測試1 傳統系統分析是功能分解的過程,是把系統可以看成分解的功能性集合。 物件導向分析測試把資訊塑膜中的概念,與物件導向程式設計的概念結合一起的分析方法。 物件導向分析測試直接映射問題空間,將問題空間的實例直接抽象化為物件。

物件導向分析測試2 物件導向分析測試階段類別選定與實現、類別層次結構的組織和實現提供平台。 物件導向分析測試的重點在於,完整性以及冗長性。

物件導向分析測試3 電腦設備管理系統的物件導向分析結果圖

物件導向分析測試4 對物件導向分析測試分成了五種方面 確認物件的認定。 確認類別的結構。 主題名稱的確認。 確認屬性及關聯。 確認操作方法及訊息。

確認物件的認定1 認定的物件對問題空間中的結構、其他系統、設備、事件、人員實際案例的抽象。 如下: 認定的物件是否全面,問題空間中涉及到實例是否都反映在認定的抽象物件。 認定的物件是否具有多種屬性。 認定同一物件的實例是否有共同的屬性。

確認物件的認定2 認定同一物件的實例是否也要提供相同 的服務。 系統沒有必要始終保持物件代表的 實例資訊。 認定的對象名聲應該盡量準確。

確認類別的結構1 結構內有多種物件的組織方式。 用來反映問題空間中的複雜實例及 複雜關係。 可以分成兩種結構,如下。

確認類別的結構2 對繼承結構的測試: 位於上層的物件是否在空間中含有不同下層 物件的特殊可能性。 在下層的物件是否能夠抽象出比上層物件 的可能性 所有認定物件能否向上層抽象出有意義 的物件 上層物件特性是否完全表現下層共同性 下層是否有高層特性基礎

確認類別的結構3 對組裝結構的測試: 整體物件與個別物件是否符合現實關係。 整體物件與個別物件考慮出有實際應用。 整體物件是否遺漏反映在有用的個別物件。

主題名稱的確認1 物件及類別結構更上層的抽象,提供分析結果的可見性: 主題反應物件及結構使否有相同的屬性。 並且確認是否應該使用相同的服務。 主題間的訊息聯繫代表主題所反映的物件以及結構所有的關聯。

確認屬性及關聯1 屬性描述物件及結構來反映案例的特性。 定義的屬性相對應的物件及分類結構是否都適用。 定義的屬性問題空間是否於案例關係密切。 定義的屬性是否能不依賴其他屬性。 每個物件屬性是否定義完整。 要注意一對多及多對多的案例關聯。

確認操作方法及訊息1 定義每種物件與結構在問題空間要求行為 物件與類別是否都定義相對應的服務。 物件與類別所需要的服務。 定義出訊息關聯。 沿著訊息關聯執行緒是否合理。 定義的操作方法是否重複。

物件導向設計測試1 傳統的系統分析是面向作業的設計方法,把系統分解成功能的集合。 物件導向設計採用造型的觀點,以物件導向分析為基礎建構出類別庫。 物件導向設計測試是物件導向測試分析的更進步及更高層的抽象。 物件導向設計測試透過系統不斷重組,實現功能的擴增及重覆使用。

物件導向設計測試2 對物件導向設計測試,可以分成三構面來考量。 確認類別名稱合理性。 確認類別層次結構適合性。 確認類別庫的支援。

確認類別名稱合理性1 物件導向設計測試認定的類別可以是物件導向分析測試中的物件。 是否涵蓋物件導向測試分析的物件。 是否能實現物件導向測試分析的屬性。 是否能實現物件導向測試分析的服務。 能否盡少依賴其他類別。

確認類別層次結構適合性1 物件導向設計測試的類別層次結構基於物件導向分析測試產生分類結構。 可以發揮物件導向的繼承特性。 確認設計階段能夠實現物件導向分析測試需求結構。

確認類別層次結構適合性2 用以下方法驗證適合性。 能否實現物件導向分析測試的實例關聯。 能否實現物件導向分析測試的訊息關聯。 子類別能否具有父類別沒有的新特性。

確認類別庫的支援1 軟體發展若採用螺旋式的遞增模式。 因為物件導向分析測試及物件導向設計測試。 不斷評估類別庫是否支援新功能。

確認類別庫的支援2 由這兩方面評估: 一致性: 演化的性質在模型內要包含分析、設計及 程式設計。 類別、屬性、操作、訊息要正確且一致性。 正確性: 分析模型所使用的符號是否具有正確性。 類別間關聯是否反映真實世界的物件關聯。

物件導向程式設計測試1 物件導向的程式特性:繼承、封裝、多型 封裝是對資料的隱藏,降低資料被任意修改及讀寫的可能性。 繼承是重要一種特性,使程式碼的重用率變高,但錯誤率也會提高。 多型讓物件導向程式對外呈現出強大的處理能力。

物件導向程式設計測試2 物件導向程式把功能的實現分佈在類別中 能夠正確的實現功能的類別 物件導向程式的測試要依循傳統的方法

物件導向程式設計測試3 測試各類別的方法是否實現物件導向程式設計測試。 資料成員封裝性測試 類別功能的正確性測試 檢查資料成員是否滿足資料封裝的要求。 是否會影響類別對外的介面,外界是否必須變更。 有時強制類型轉換會破壞資料的封裝特性。 類別功能的正確性測試 確認類別成員函數的正確性。 實現要求的功能基礎。 需要進行物件導向的整合測試。

單元測試1 單元測試在物件導向程式設計完成後 即可進行。 物件導向單元測試一個操作功能只能作為一個類別的部分。 類別中有多各種功能就要進行多個操作測試。 在非物件導向內單元為模組,物件導向內 單元為類別。

單元測試2 每個類別均含有資料及方法或服務。 父類別定義的某些操作被許多子類別 繼承。 類別的測試可以使用多種方法。 故障測試。 隨機測試。 分割測試。

單元測試3 設計測試案例輸入時會有兩種假設: 函數對某類別輸入正確時,代表同類別其他輸入也能正確。 需要選擇字串為輸入時,無須計較字串的 長度。 注意物件導向程式的特性,進行測試分析及設計測試案例。

單元測試4 子類別繼承或超載父類別成員所需考慮的兩種問題。 多型的類型 繼承的成員函數是否都不需要測試? 對父類別的測試是否都能照搬到子類別? 多型的類型 參數多型 包含多型 超載多型

整合測試1 物件導向軟體無法編譯不完全的程式上進行類別的整合測試。 物件導向採用編譯後程式用黑箱測試的整合測試策略。 使用兩種測試策略: 基於執行緒的測試 (Thread-Based-Testing)。 基於使用者測試 (Use-Based-Testing)。

基於執行緒的測試1 合作對應一個事件類別及合組裝起來。 回應系統的一個事件請求來組裝類別集合。 每個執行緒分別進行組裝及測試。

基於使用者測試1 按照分層來組裝系統。 可以進行獨立類別測試。 獨立類別測試後,下層稱之從屬類別。 從屬類別用獨立類別進行測試。 從屬類別的順序測試值到整個系統被建構。

整合測試2 物件導向的系統組裝必須進行類別間合作。 可用隨機應用及分割測試來完成。 無法檢測出類別相互作用才會產生的錯誤。 整合測試關注系統的結構及內部的相互作用。 物件導向整合測試可分成: 靜態測試。 動態測試。

整合測試3 靜態測試 針對程式的結構進行,檢測程式結構是否符合設計要求。 目前測試軟體能提供 (可逆性工程)的功能,透過原程式得到類別關係圖及函數功能的呼叫圖。 可逆性工程檢測程式結構和實現上是否會有缺陷。 檢測物件導向程式設計是否達到設計的要求。

整合測試4 動態測試 使用功能呼叫結構圖、類別關係圖及實體 關係圖。 最佳化測試來減少測試工作量,進行測試能夠達到一定覆蓋標準。 達到對所有執行緒有一定的覆蓋率。

系統測試1 開發軟體必須經過規範的系統測試。 滿足使用者的需要。 是否存在會被誘發的錯誤性存在。 盡量搭建與使用者實際使用環境相同的測試平台。 保證系統的完整性。 應具有臨時沒有系統設備元件的各種模擬手段。

系統測試2 參考物件導向測試分析,對應出相關的物件、屬性及服務。 檢測軟體是否能夠完全重現問題空間。 具體測試內容包含: 功能測試(functions tests): 測試是否能夠滿足開發要求。 測試是否能夠提供設計所描述的功能。 測試是否使用者的需求能夠得到滿足。

系統測試3 強度測試 (Stress tests): 測試系統在特殊條件下的最高實際上限度。 驗證系統在面臨同時許多要求的時候,是否 可以在繼續運作。 要求軟體進行大量重複、輸入大量資料、大 數值的資料…等。

系統測試4 效能測試 (Performance tests): 測試軟體在執行時的執行效能。 通常與強度測試結合進行測試。 事先被測軟體提出效能指標。

系統測試5 安全測試 (Security tests): 驗證安裝系統內的保護機構能確實的對系統 進行保護。 對於一些非法存取的使用者,驗證訪問機制 的工作。 設計一些測試專用的案例。

系統測試6 修復測試 (Recovery tests): 測試系統的可靠性及可修復性。 採用人工的干擾使軟體出錯,中斷使用。 驗證系統失敗後的恢復能力,並參考效能測 試的相關測試指標。

系統測試7 可用性測試 (Availability tests): 測試使用者是否能夠滿意的使用。 測試使用者再使用時會不會出現一些少見且 在之前並未被發現的錯誤。

系統測試8 安裝 / 移除測試 (Install / Uninstall test): 需要對被測試的軟體結合需求分析仔細的測 試分析,建立測試案例。

驗收測試1 驗收測試介紹。 驗收測試的測試技術。 驗收測試結論。

驗收測試介紹1 是一個流程,以獲得確認企業,最好是使用者這方面的對象進行測試,通過審判或審查,該修改或增補符合雙方協定的要求。 使用者或客戶會制定一些驗收標準,來驗收產品。

驗收測試介紹2 驗收測試是以使用者為主的測試。 使用使用者介面輸入資料,並且分析測試後的輸出結果,使用一般生產中的實際資料進行測試。 驗收測試對整個測試計畫進行一種”走查(Walkthrough)“。

驗收測試的測試技術1 使用者驗收測試包括在企業驗收測試,即測試完成之前,可以移動到用戶端由用戶驗收。 合約和規範驗收測試合約驗收測試,指系統要驗收之前,此系統要已被測試採納,以確保它符合政府法律和安全標準。

驗收測試測試技術2 業務驗收測試(業務準備測試) 這是指做了檢查制度,以確保過程、 程序與系統的使用和保養。 這項目包括後備設施、程序、損壞恢 復,最終用戶教育訓練、維修程序和 安全程序。

驗收測試結論1 驗收測試階段,我們的目標是提供信 心,並且交付系統,以滿足業務需求 和用戶。 驗收階段也可作為最後的品質觀察, 凡是之前階段沒有發現的質量缺陷, 都有可能在此階段發現。

測試案例設計1 物件導向軟體測試著重於適當的操作序列,來實現對類別的說明。 黑箱測試也可用來作物件導向軟體測試。 白箱測試也可用來作物件導向的軟體類別的操作定義。 物件導向的度量中所講的五種特性,區域性、封裝性、資訊隱藏、繼承性、物件的抽象會對案例設計帶來額外的麻煩及困難

測試案例設計2 故障測試。 腳本測試。 物件導向類別的隨機測試。 類別層次分割測試。 由行為模式導出的測試。

故障測試1 具有較高的發現可能故障的能力。 系統必須滿足使用者的需求。 故障測試關鍵取決於如何理解可能的錯誤。 故障測試可以用整合測試進而去發現可能性的故障。 可以用來確認不同類型的物件行為是否有正確性的屬性值。

腳本測試1 以腳本基礎的測試主要關鍵在於使用者 的需求。 可以在一個單元測試情況下檢查多 重系統。 腳本測試會來得比案例測試更為實際,且更為複雜一點。

物件導向類別的隨機測試1 一個類別有多種功能,這些功能序列則會有多種排列方式。 不同變化的操作序列稱之為隨機產生。 這些操作每一項均可用來計算。 儘管這個操作序列是最小測試序列,這個序列能可發生其他的行為。

類別層次分割測試1 減少完全相同的方式檢查類別測試案例 的數目。 分割測試又可分成三種: 狀態的分割: 類別操作是否改變類別的情況來區分。 屬性的分割: 類別操作是否用到的屬性來區分。 類型的分割: 完成的功能性區分。

由行為模式導出的測試1 行為模式大致上又可分成: 狀態轉換圖導出類別動態行為的 測試序列。 類別與合作的類別動態行為測試序列。 狀態。 活動。 順序。 合作圖。 狀態轉換圖導出類別動態行為的 測試序列。 類別與合作的類別動態行為測試序列。

由行為模式導出的測試2 設計的測試案例應當是完成所有狀態 轉換。 操作序列可能會導致類別所有允許的狀態進行轉換。 保證類別所有行為可以被充分檢查。

結論 傳統軟體測試的方法很多還是可以應用在物件導向軟體的測試,本章分別從軟體測試的各個階段,介紹其與傳統軟體測試不同之處。