




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ByRobotJiang 1 Chapter18軟體測試策略 SoftwareTestingStrategies 四種主要的軟體測試步驟 除錯的藝術 ByRobotJiang 2 獨立測試群 Independenttestgroup ITG 軟體測試的策略是由專案經理 軟體工程師和測試專家所發展的 步驟是 開始於 小部分 然後逐漸推進到 大部分 主要的四個步驟 單元測試 整合測試 驗證測試 系統測試 這是本書的順序 某些人因為專案的大小規模不同 而認為順序是 單元 整合 系統 檢驗 獨立測試群 ITG 只有在軟體架構完成後 才開始進入計畫 ByRobotJiang 3 單元測試 整合測試 驗證測試 系統測試 為客戶訂製的軟體開發之後 必須實施一系列的 接受度測試 測試 由客戶在發展者端執行的測試 測試 在發展者無法控制的環境中 讓多個用戶來進行的測試 Debug可視為一種藝術 在除錯過程中有許多有用的資源 其中最有價值的是 其它軟體工程人員的意見 軟體測試步驟 ByRobotJiang 4 測試策略 TestingStrategy 單元測試 unittest 整合測試 integrationtest 驗證測試 validationtest 系統測試 systemtest ByRobotJiang 5 測試策略 TestingStrategy Fig18 1 ByRobotJiang 6 測試策略 TestingStrategy Fig18 2 ByRobotJiang 7 四種測試策略 單元測試 集中在個別模組中 大量使用白箱測試技術 整合測試 黑箱技術為主 也可能有限量的白箱測試 驗證測試 測試滿足所有功能 行為 只用黑箱測試 最後是系統工程 超出軟工範圍 的系統測試 ByRobotJiang 8 測試的完成 何時結束測試 其中的一個答案是 永不會結束 只是把負擔由發展者轉移到客戶身上 或是耗盡可用的時間 資源 就算完成 可用統計方法來估計 ByRobotJiang 9 測試的完成 錯誤密度曲線fig18 3 ByRobotJiang 10 策略問題 在測試開始前 以定量的方式 確定產品需求 明確敘述測試目標 了解軟體的使用者與發展每個使用者類別的設定檔 描述使用者的usecase 發展強調 快速週期測試 的測試計劃 可快速回應 以便控制品質 建立可自我測試的穩定軟體 以antibugging技術來設計 在測試前使用正式技術複審 FTR 作為過濾器 執行FTR來評估測試策略與TestCase本身 為測試過程發展持續的改進方法 antibugging 當錯誤發生時 能使錯誤條件被觸發 錯誤處理路徑被建立 因為重新開始或結束 You75 例如Basic中的onerror Goto或resume ByRobotJiang 11 單元測試 UnitTesting 1 待測模組 moduletobetested 測試實例 testcases 結果 results softwareengineer ByRobotJiang 12 單元測試的主要項目 模組介面 確定資訊適告的流入 流出單元 區域資料結構 確定所存的資料在演算法執行的所有步驟 都保持完整性 邊界條件測試 以確定在邊界處都正常 確定所有的獨立路徑都至少被執行一次以上 所有的錯誤處理路徑 均被測試 ByRobotJiang 13 單元測試 UnitTesting 2 interface localdatastructures boundaryconditions independentpaths errorhandlingpaths moduletobetested testcases ByRobotJiang 14 單元測試的週邊環境 UnitTestEnvironment 待測的模組 Module 假模組 虛擬模組 stub stub 驅動模組 driver 輸出結果的總報告 interface localdatastructures boundaryconditions independentpaths errorhandlingpaths testcases 未完成的子模組 就先用Stub來暫用 輸入各種測試案例 ByRobotJiang 15 整合測試的策略 IntegrationTestingStrategies 可能的方法 用 BigBang 方法 非增量整合法 常造成混亂 而不易除錯 用增量整合法 incrementalintegration 是 BigBang 的反面 有很多增量整合法 1 由上而下的整合 2 由下而上的整合 3 三明治測試 4 回歸測試 5 煙霧測試 ByRobotJiang 16 TopDownIntegration topmoduleistestedwith stubs stubsarereplacedoneat atime depthfirst asnewmodulesareintegrated somesubsetoftestsisre run A B C D E F G 由A B C D ByRobotJiang 17 Bottom UpIntegration driversarereplacedoneata time depthfirst workermodulesaregroupedinto buildsandintegrated A B C D E F G Cluster 或稱為build 由cluster B A 最大優點是可以消除複雜的stub ByRobotJiang 18 三明治測試 SandwichTesting Topmodulesaretestedwithstubs Workermodulesaregroupedinto buildsandintegrated A B C D E F G cluster 由cluster B 而且由A B 就像挖工洞時 由兩邊一齊動工 ByRobotJiang 19 回歸測試 Regressiontesting 回歸測試是某些測試子集合的再執行 用來確定 所作的新改變 未被延伸到意外的作用 回歸測試是減少 副作用 的重要策略 主要包含有三種不同的TestCase 1 所有功能的代表樣本 2 集中在可能被改變影響的功能的額外測試 3 集中在被改變的軟體文件的測試 ByRobotJiang 20 煙霧測試 Smoketesting 是為複雜 著重時間的專案而設計 可讓軟體團隊常常去評估其專案 已被轉成程式碼的軟體元件被整合為 根基 build 一系列設計來揭露錯誤的測試 使根基能持續執行其功能 根基與其他根基整合 而且整個產品 每日 作煙霧測試 整合方法可由下而下 或由下至上 可被視為是周而複始的整合策略 軟體被每日重建與運用 ByRobotJiang 21 整合測試的綜合 由上而下的缺點是 需要stub 以及伴隨而來的測試困難 優點是 可較早測試主控功能 由下而上的缺點是 要最後一個模組加入後實體的程式才存在 優點是 易測試 而且不需stubs 所以有三明治測試 兼具以上兩者的妥協方案 重要模組要儘可能早測試 而回歸測試應集中在重要的模組功能 ByRobotJiang 22 高階測試 HighOrder Testing 驗證測試 validationtest 系統測試 systemtest 測試 客戶在發展者端測試 測試 客戶在發展者無法掌控的環境中測試 其他特別測試 ByRobotJiang 23 驗證測試 Vaildationtesting 整合測試的終點是 軟體完整組裝成套件 發現並修正錯誤 如此便可開始最後的測試 驗證測試 是經由一系列驗證需求的黑箱測試來完成的 應先定義將用於驗證與需求保持一致的測試案例 組態複查 configurationreview 確定所有元件均被發展 測試 ByRobotJiang 24 系統測試 Systemtesting 本書 將軟體定位為系統元件的一個元素 所以軟體發展好後 最後要作系統整合與確認測試 實際上本測試是一系列不同的測試 目的是要確保每個元件已被整合並執行所分配的功能 ByRobotJiang 25 其他特別測試 回復測試 系統必須能從錯誤中回復並在預設的時間內重新開始 所以本測試是以各種方式強迫系統發生錯誤 來看系統回復是否正確 安全性測試 為了驗證系統 可防備不適當的侵入 若有足夠的時間 資源 系統難免會被入侵 但好的系統設計在於使入侵所花的代價比得到的代價高 壓力測試 在早期 黑 白箱是作正常功能的評估 而此測試是在作非正常情況下的檢驗 也就是以不正常的數量 頻率 容量來測試 即 試圖破壞程式 績效 Performance 測試 在整合所有元件後 才可確定實際績效 特別是重視績效的即時系統 ByRobotJiang 26 除錯過程 Debugging ADiagnosticProcess 除錯不是測試 但它始終是測試的結果 主要的結果有二 1 發現錯誤原因 然後更正 2 無法發現原因 就再設計一個TestCase來證實懷疑 再反覆修正錯誤 ByRobotJiang 27 除錯過程 DebuggingProcess 測試案例 testcases 結果 除錯 Debugging 可疑原因 找出原因 更正 回歸測試 額外的新測試 ByRobotJiang 28 除錯的努力 DebuggingEffort 花時間來診斷症狀並決定可能的原因 發現原因 花時間來更正錯誤 並實施回歸測試 ByRobotJiang 29 除錯為何困難 參考症狀 原因的錯誤特徵 Symptoms Causes 症狀 symptom 原因 cause 症狀 原因 可能相距很遠 當另一錯誤被更正後 有些症狀可能消失 但本來的原因仍未被發現 症狀也許實際上由非錯誤的原因所造成 例如round off 誤差 症狀可能是不易追蹤的人為因素造成 症狀也許是時序上的問題 而不單是程序問題 重新精確的產生輸入條件也許很困難 如順序 症狀可能是間斷 常見於軟 硬的結合上 症狀可能由於工作分散在不同處理器 ByRobotJiang 30 除錯的方法 DebuggingTechniques 暴力法 bruteforce testing 回溯法 backtracking 歸納法 induction 演譯 推論 deduction 除錯的最後準則 當所有其它方法失敗時 請求他人的幫助吧
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中学教师资格证《教育知识与能力》能力提升试题B卷-附答案
- 药品管理制度相关试题(附答案)
- 中外建筑艺术漫谈知到智慧树答案
- 导尿相关知识考核试题及答案
- 新版《药品召回管理办法》培训试题及答案
- 中西医结合内科学知到智慧树答案
- 口腔护士四手操作流程试题(附答案)
- 2025年车辆挂名权抵押担保服务协议
- 2025年度汽车烤漆行业市场调研与咨询合同
- 2025年度城市污水处理设备采购安装及运营合同
- 中小学教师岗位安全工作指南培训
- DB14T 1596-2024玉米间作花生机械化栽培技术规程
- 2025-2030坚果炒货市场发展分析及行业投资战略研究报告
- 厨房安全知识培训
- 刑事撤案申请书
- 小学数学作业与核心素养的培养
- 2023年山东临沂中考英语试题及答案
- 2024年考研英语一阅读理解80篇试题及答案
- 金属非金属地下矿山紧急避险系统建设规范培训
- 企业环境与可持续发展制度
- 税务助理招聘笔试题与参考答案(某大型国企)2024年
评论
0/150
提交评论