軟體測試概念.

Slides:



Advertisements
Similar presentations
有教無類 因材施教 適性揚才 多元進路 優質銜接
Advertisements

Excel - 九十七年度教職員工資訊教育訓練 董建弘.
長庚大學資訊工程系 系主任兼所長 林仲志博士
美学概论 主讲教师 孙建章 沈阳电大文法系.
實驗六 路由器操作設定實驗 教師: 助教:.
臺北市立松山家商 103學年度第1學期 學校日 教學說明 簡報
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
Certified OpenStack Administrator
本章學習目標 ERP系統的定義 企業應用軟體系統發展歷程 現階段ERP系統應用狀況.
主題五 CPU Learning Lab.
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
JDK 安裝教學 (for Win7) Soochow University
電子商務基本概念 電子商務的定義 1-1 電子商務的特性 1-2 電子商務的演進 1-3.
Working with Databases (II) 靜宜大學資管系 楊子青
Controls.
SQL Stored Procedure SQL 預存程序.
R教學 安裝RStudio 羅琪老師.
ASP.NET基本設計與操作 建國科技大學 資管系 饒瑞佶 2007年.
安裝JDK 安裝Eclipse Eclipse 中文化
AIM-spice Miao-shan, Li.
連結資料庫管理系統.
指導教授 曾淑峰教授 成員 組長 葉桓伶 組員 謝桂蘭 江政祐 陳觀柏 徐志節 林東嶺
ASP.NET程式追蹤與偵錯.
第七章 資訊系統評估 授課老師:褚麗絹.
雲端計算.
Java 程式設計 講師:FrankLin.
指導老師:黃貞芬 老師 專題組員:B 黃育宇 B 魏志軒 B 平震宇
Chap3 Linked List 鏈結串列.
Chap 1 軟體品質管理與流程改善 簡介.
使用者經驗設計 User Experience Design
網路安全技術 OSI七層 學生:A 郭瀝婷 指導教授:梁明章.
Topic Introduction—RMI
PLC-GPPW軟體使用教學 授課教師:張祖烈
TB-054A  周天穎 編著 儒林圖書公司 發行.
分支宣告與程式設計 黃聰明 國立臺灣師範大學數學系
第三章 危害與操作性研究.
研究用資料庫 REDCap 台大醫院新竹分院 心臟內科 謝慕揚.
授課老師:楊維邦教授 組長:劉秋良 成員:李政均、郭瀚文、鄒震耀
網頁程式概論 建國科技大學資管系 饒瑞佶 2015/9 V1 2016/4 V2 2016/9 V3.
餐飲設施規劃流程.
Google協作平台+檔案分享(FileZilla+網路芳鄰)
緩衝區溢位攻擊 學生:A 羅以豪 教授:梁明章
Foundations of Computer Science Chapter 10 軟體工程
挑戰C++程式語言 ──第8章 進一步談字元與字串
第十三章 品質成本分析.
Controls.
Chapter 3 軟體組態管理 Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz.
VS.NET 2003 IDE.
第二章 軟體測試概論.
智慧型手機程式設計 建國科技大學資管系 饒瑞佶 2011年(992).
Chap 7 軟體品質管理與流程改善 簡介.
產品設計與流程選擇-服務業 等候線補充資料 20 Oct 2005 作業管理 第六章(等候線補充資料)
產業實務實習工作說明 Kay Chang ASD
電腦概論考題分析 佛學資訊組 碩一 張榮顯.
Text To Speech (TTS, 文字轉 語音)、讀簡訊 靜宜大學資管系 楊子青
陣列與結構.
SCM系統使用說明 1. 登入系統 2. 修改密碼 3. PO-回復 4. DN-回復 5. Forecast維護(暫不能用)
單元3-3-1 倍壓電路 單元總結.
Procedures and work instructions
一、簡介 電腦硬體設計:純硬體電路(hardware)及韌體電 路(firmware)兩種方式。
資料表示方法 資料儲存單位.
資料擷取與監控應用實務.
銘鴻電子FPGA影像編輯平台.
指導教師:張慶寶 老師 組長:劉明哲 組員:蔡維庭、葉聖鴻、康有成
一 可靠度問題.
Chapter 4 Multi-Threads (多執行緒).
指導老師:張慶寶 組員 : 蔡維庭 4970E028 劉明哲 4970E079 葉聖鴻 4991E020 康有成 4970E004
JUDGE GIRL 使用介紹 & 常見問題 TAs :
Chapter 16 動態規劃.
Presentation transcript:

軟體測試概念

軟體測試的目的 測試定義 測試目的 以一套系統方法執行與檢查軟體,以發現錯誤。 發現軟體錯誤並進而修改軟體,以提昇軟體品質,避免錯誤造成嚴重損失。 花費最小精力及時間設計能發現最多錯誤的測試。

軟體測試的目的 越早發現軟體問題,開發費用越低 軟體品質越高,軟體發行後的維護費用越低。 軟體開始規畫時即應考慮測試的規畫時程及人力。 測試花費,占整個軟體發展工作至少30%以上時間及成本。 需求分析與設計發生錯誤約占65%,程式撰寫約占35% 早期觀點:Analysis  Design  Building Testing 現在觀點:Analysis, Design, Building, Maintenance,全程Testing

軟體測試的應用 軟體測試的應用主要有以下兩種: 驗證(verification): 檢驗某個階段的產品發展是否符合其早先的規範,亦即正確地建造產品。 確認(validation): 檢驗某個開發完成的系統是否符合用戶的需求,亦即建造對的產品。

軟體測試基本步驟 準備測試軟體 制定測試方案 編寫測試計劃 設計測試案例 進行測試 測試記錄 資料收集與整理

軟體測試V模型

軟體測試V模型 啟始概念 維護階段 計劃 開始 產品逐 步淘汰 需求分析 再改進 評估與簽訂合約 細部需 求規格 驗收測試與交貨 可交付項目 的驗收測試 需求規格 已驗證的系統 結構設計 系統整合與測試 品 質 保 證 品 質 保 證 已測試軟體 設計規格 整合的軟體 細部軟體設計 整合軟體與測試 已測 試的 模組規格 軟體 已除錯的模組 模組 撰寫程式及單元測試 計劃管理

軟體錯誤分類 功能錯誤:程式功能與使用者的需求不一致 系統錯誤:系統資源分配錯誤 語法錯誤:打字錯誤、指令誤用 資料錯誤:資料型態錯誤 處理錯誤:算術運算錯誤、邏輯錯誤

軟體測試方法 靜態分析(Static Analysis) 動態測試 靜態分析 不直接執行受測軟體,以人工或自動化方法評估軟體是否滿足規範 分為審查與檢視方法。 規範技術複審、文件複審、資料庫複審、演算法分析審查。

靜態分析優點 降低專案整體成本。 超過一半的軟體錯誤發生在需求或設計規格錯誤,審查與檢視可以在程式撰寫前發現錯誤,早期發現問題,可降低除錯與重測成本。 Defect distribution Relative cost to fix Requirements 57% X Design 27% X*10 Coding 7% X*100 Others 9% X*1000

靜態分析優點 靜態分析比動態測試有效率(1/3) 動態測試 清楚發現錯誤所在及原因,不需經過繁複鑑定錯誤、分析原因、修改與重測,可迅速修正錯誤。 有效找出規格模糊、程式撰寫風格錯誤、不合規定程式、與無效程式段落等動態測試難以發現之問題。 審查與檢視透過小組討論可以有效交換成員觀念與想法,協助經驗傳承與訓練溝通。 動態測試 須從系統非預期的行為、或錯誤結果推斷錯誤程式碼。 必須花許多時間診斷。

動態測試 程式開發後進行,執行軟體程式碼。 功能測試、性能測試。 檢查軟體界面及內部機制正確性。 分三種方式: 黑箱測試 只管輸入與輸出,主要以產品的功能為指標的測試方法。 白箱測試 測試人員直接在軟體程式上進行測試,這類測試包含了語法、邏輯、路徑等測試。 灰箱測試 介於白箱與黑箱之間的測試。

軟體動態測試程序 需求 驗收測試 系統測試 系統測試 設計 整合測試 程式 撰寫 單元 測試 測試方向

軟體動態測試程序 測試階段 各階段由不同人員及方法執行,以避免盲點。 各階段的工作執行時機各不相同,應以時程安排、及人力考量作適度的調整。 單元測試、整合測試、系統測試、驗收測試 各階段由不同人員及方法執行,以避免盲點。 各階段的工作執行時機各不相同,應以時程安排、及人力考量作適度的調整。 為使問題簡單化,使測試時可集中工作焦點,因此將測試工作分成數個階段

單元測試 低階測試 獨立測試 細節容易被看清楚 通常由程式設計師自行測試 又稱為元件測試、模組測試、程式測試

整合測試 多個單元測試 可用來測試無法單一測試的群組 單元間的溝通 非功能性觀點 測試策略 Top-down Bottom-up Functional

系統測試 系統測試是最後的整合步驟 功能性 非功能性 與功能性測試一樣重要 通常由測試人員進行測試 以功能或需求為基底做測試 商業流程為基底做測試 非功能性 與功能性測試一樣重要 通常不被重視 但此測試是必須被執行的 通常由測試人員進行測試

驗收測試 確認所被實現的功能是否符合當初使用者所要求,解決使用者想解決的事。