




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件測試方法和技術第2章軟件測試的基本概念第2章軟件測試的基本概念2.1軟件缺陷2.2軟件測試的分類2.3靜態測試與動態測試2.4主動測試與被動測試2.5黑盒測試與白盒測試2.6軟件測試級別2.7軟件測試計劃與用例2.8專業測試人員的責任和要求缺陷是質量的對立面2.1軟件缺陷2.1.1軟件質量的內涵2.1.2軟件缺陷的定義2.1.3軟件缺陷的產生2.1.4軟件缺陷的構成2.1.5修復軟件缺陷的代價軟件質量的內涵軟件質量:軟件產品滿足規定的和隱含的與需求能力有關的全部特征和特性。包括:軟件產品滿足使用要求的程度軟件各種屬性的組合程度用戶對軟件產品的綜合反映程度軟件在使用過程中滿足用戶要求的程度
軟件質量模型從測量的角度看,影響軟件質量的因素可以分為兩大類:可直接測量(如每個功能點的錯誤);間接度量(如可用性、可維護性)1、McCall模型McCall軟件質量模型產品轉換產品修改產品運行正確性可靠性效率完整性可用性可移植性重復性互用性可維護性可測試性靈活性ISO9126軟件質量三層模型軟件產品質量屬性根據ISO9126,軟件產品質量可以歸納為以下屬性:(1)功能性(functionlity):在指定條件下,軟件產品滿足明確和隱含要求功能的能力匹配性:軟件為指定的任務和用戶目標提供一組合適功能的能力精確性:軟件提供所需精確度的正確或相符結果及效果的能力互用性:軟件產品與一個或更多規定系統進行交互的能力安全性:軟件產品保護信息和數據的能力(2)可靠性(reliability):在指定條件使用時,軟件產品維持規定的性能級別的能力成熟性:軟件產品為避免由軟件中錯誤而導致失效的能力容錯能力:在軟件失效或者違反規定的接口的情況下,軟件產品維持規定的性能級別的能力可恢復性:在發生故障的情況下,軟件重建規定的性能級別并恢復受直接影響的數據的能力軟件產品質量屬性(3)可用性(usability):在指定條件使用時,軟件產品被理解、學習、使用和吸引用戶的能力可理解性:完成特定任務的功能明顯性和適用性可學習性:軟件產品使用戶能學習它的應用的能力可操作性:軟件產品使用戶能操作和控制它的能力*吸引性:軟件產品吸引用戶的能力軟件產品質量屬性(4)效率(efficiency):在規定條件下,相對于所用資源數量,軟件產品提供適當性能的能力時間表現:在規定條件下,軟件產品執行其功能時,提供適當的響應和處理時間以及吞吐量的能力資源表現:在規定條件下,軟件產品執行其功能時,使用合適的數量和類型的資源的能力軟件產品質量屬性(5)可維護性(maintainability):軟件產品可被修改的能力,包括修正、改進或軟件適應環境、需求和功能規格說明中的變化可分析性:軟件診斷缺陷或失效原因以及判定修改部分的能力可變化性:軟件產品使指定的修改可以被實現的能力穩定性:軟件產品避免由于軟件修改而造成意外結果的能力可測試性:軟件產品使已修改軟件能被確認的能力軟件產品質量屬性(6)可移植性(portability):軟件產品從一種環境遷移到另外一種環境的能力適應性:軟件產品無需采用手段就可能適應不同的指定環境的能力易安裝性:軟件產品在指定環境中被安裝的能力一致性:軟件在公共環境中分享資源與其它獨立軟件共存的能力可替換性:在環境、目的相同的情況下替代另一個指定軟件的能力軟件產品質量屬性14根據ISO/IECTR9126(2003)或ISO/IEC25000(2010)系列標準,軟件質量可以分為:內部質量、外部質量、使用質量,三者關系如圖:軟件質量模型內部和外部質量模型使用質量模型16使用質量有效性生產率安全滿意度軟件質量的度量
17軟件質量的度量主要是根據軟件生存周期中對軟件質量的要求所進行的一項活動。它主要分為三方面:外部度量、內部度量和使用度量。外部度量—測試和使用軟件產品過程中進行內部度量—軟件設計和編碼過程中進行使用質量的度量—在用戶使用過程中完成的2.1.2軟件缺陷的定義IEEE(1983)729軟件缺陷一個標準的定義:從產品內部看,軟件缺陷是軟件產品開發或維護過程中所存在的錯誤、毛病等各種問題;從外部看,軟件缺陷是系統所需要實現的某種功能的失效或違背。軟件缺陷的現象功能、特性沒有實現或部分實現設計不合理,存在缺陷實際結果和預期結果不一致運行出錯,包括運行中斷、系統崩潰、界面混亂數據結果不正確、精度不夠用戶不能接受的其他問題,如存取時間過長、界面不美觀軟件缺陷的產生技術問題算法錯誤,語法錯誤,計算和精度問題,接口參數傳遞不匹配團隊工作溝通不充分,誤解軟件本身文檔錯誤、用戶使用場合(userscenario),時間上不協調、或不一致性所帶來的問題系統的自我恢復或數據的異地備份、災難性恢復等問題軟件缺陷構成需求41%初步設計12%設計24%代碼23%缺陷成本2.2軟件測試的分類(1)按照是否運行程序劃分為:靜態測試、動態測試(2)按照測試的方法劃分為:主動測試、被動測試(3)按照測試用例設計方法劃分為:白盒測試、黑盒測試、灰盒測試(4)按照開發階段劃分為:單元測試、集成測試、系統測試、驗收測試、α測試、β測試(5)按照測試中是否使用工具劃分手工測試、自動化測試(6)按照實施測試的組織劃分為:開發方測試、用戶測試、第三方測試2.3靜態測試和動態測試狹義的測試:(早期)將測試局限于對程序進行動態測試。廣義的測試:(現在)將需求和設計的評審納入測試范疇。靜態測試包括對軟件產品的需求和設計規格說明書的評審、對程序代碼的復審等。動態測試是通過真正運行程序發現錯誤,通過觀察代碼運行過程,來獲取系統信息,對系統行為進行驗證。靜態測試和動態測試產品評審靜態分析驗證和確認靜態測試2.3.1
產品評審目的:通過軟件評審,可以更早地發現需求工程、軟件設計等各個方面的問題,大大減少大量的后期返工,將質量成本從昂貴的后期返工轉化為前期的缺陷發現。定義:評審是對軟件元素或者項目狀態的一種評估手段,以確定其是否與計劃的結果保持一致,并使其得到改進。檢驗工作產品是否正確地滿足了以往工作產品中建立的規范。2.3.2
靜態分析兩種手段:人工檢測:人工檢測偏重于編碼風格、質量的檢驗,對設計、代碼進行分析,有效地發現邏輯設計和編碼錯誤。計算機輔助靜態分析:利用靜態分析工具對被測程序進行特性分析,從程序中提取一些信息,以便檢查程序邏輯的各種缺陷和可疑的程序構造。2.3.3驗證和確認(V&V)Verification:是否正確地構造了軟件?即是否正確地做事,驗證開發過程是否遵守已定義好的內容。驗證產品滿足規格設計說明書的一致性Validation:是否構造了正是用戶所需要的軟件?即是否正在做正確的事。驗證產品所實現的功能是否滿足用戶的需求2.4
主動測試和被動測試主動測試方法:測試人員主動向被測試對象發送請求、或借助數據、事件驅動被測試對象的行為,從而驗證被測試對象的反應或輸出結果被動測試方法:測試人員不干預產品的運行,而是被動地監控產品在實際環境中運行,通過一定的被動機制來獲得系統運行的數據,包括輸入、輸出數據。2.5白盒測試和黑盒測試功能測試數據驅動測試結構測試邏輯驅動測試
客戶需求事件驅動輸入輸出白盒測試黑盒測試被測軟件系統白盒測試和黑盒測試2.6軟件測試級別調試組件功能
健壯性
效率組件之間的接口系統功能
安全性
健壯性
效率
功能及用戶界面
安全性
效率
用戶的可接受性組件測試集成測試系統測試實現(編碼)驗收測試單元測試單元測試單元測試:針對程序系統中的最小單元---模塊或組件進行測試,一般和編碼同步進行。主要采用白盒測試方法,從程序的內部結構出發設計測試用例,檢查程序模塊或組件的已實現的功能與定義的功能是否一致、以及編碼中是否存在錯誤。通常要編寫驅動模塊和樁模塊。單元測試一般由編程人員和測試人員共同完成,而以開發人員為主。單元測試包括代碼評審,代碼評審可以發現程序50%~70%代碼的缺陷。集成測試集成測試:也稱組裝測試、聯合測試,在單元測試的基礎上,將模塊按照設計要求組裝起來同時進行測試,主要目標是發現與接口有關的模塊之間問題。兩種集成方式:一次性集成方式和增殖式集成方式。系統測試系統功能測試:一般須在完成集成測試后進行,而且是針對應用系統進行測試。功能測試是基于產品功能說明書,是在已知產品所應具有的功能,從用戶角度來進行功能驗證,以確認每個功能是否都能正常使用系統非功能性測試:是將軟件放在整個計算機環境下,包括軟硬件平臺、某些支持軟件、數據和人員等,在實際運行環境下進行一系列的測試,包括:負載測試災難恢復性測試可靠性測試性能測試安全測試……驗收測試&安裝測試驗收測試:目的是向未來的用戶表明系統能夠像預定要求那樣工作,驗證軟件的功能和性能如同用戶所合理期待的那樣安裝測試:指按照軟件產品安裝手冊或相應的文檔,在一個和用戶使用該產品完全一樣的環境中或相當于用戶使用環境中,進行一步一步的安裝操作性的測試α、β測試α測試:指軟件開發公司組織內部人員開始使用新產品(稱為α版本),在實際運行環境和真實應用過程中發現測試階段所沒有發現的缺陷。經過α測試調整的軟件產品稱為β版本。β測試:指公司外部的典型用戶試用,并要求用戶報告異常情況、提出批評意見,然后再對β版本進行修正和完善,最終得到正式發布的版本。(常見的試用版本)2.7軟件測試計劃和測試用例軟件測試工作范疇分兩個層次:軟件測試工作的組織與管理:制定測試策略、測試計劃,確認所采用的測試方法與規范,控制測試進度,管理測試資源。測試工作的實施:編制符合標準的測試文檔,搭建測試環境,開發測試腳本、與開發組織協作實現各階段的測試活動測試工作流程測試計劃內容目標和范圍項目估算風險計劃進度安排資源配置跟蹤和控制機制P30測試用例測試用例是測試人員在測試過程中的重要參考依據測試用例將有助于節約測試時間,提高測試效率。良好的測試用例不斷地被重復使用,使得測試過程事半功倍測試用例是一個知識積累的過程P302.8專業測試人員的責任與要求QA/測試經理:人員管理,資源調配、測試方法改進等;實驗室管理人員:設置、配置和維護實驗室的測試環境內審員:審查流程,建立測試模板,跟蹤缺陷測試報告的質量等;測試組長:負責項目的管理、測試計劃、測試用例、任務安排等;測試設計人員/資深測試工程師:產品設計規格說明書的審查、測試用例的設計、技術難題的解決、培訓和指導、實際測試任務的執行;一般(初級)測試工程師:執行測試用例和相關的測試任務。對測試人員的要求技術,編程能力責任感、耐力
溝通能力、理解能力
分析問題能力(批判性思維)
項目管理能力
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲企業股份合作投資合同
- 草籽草坪種植與景觀設計一體化合同
- 跨境電商平臺進口采購合同多語言翻譯及品牌推廣協議
- 商鋪租賃合同含裝修標準及配套設施要求
- 2025醫院護士工作心得體會(20篇)
- 情境試題網絡營銷
- 建筑行業試題集設計
- 全新快遞合作合同書
- 水仙花贊寫物作文13篇
- 全面統籌公路工程考試試題及答案內容
- 地理視角解讀電影《哪吒》-開學第一課-高中地理
- DBJ04-T 312-2024 濕陷性黃土場地勘察及地基處理技術標準
- 煤礦不安全行為
- 交互式數據分析-深度研究
- 各類休克的特點及急救課件
- GB/T 39733-2024再生鋼鐵原料
- 安慶師范大學《曲式分析(Ⅰ)》2023-2024學年第一學期期末試卷
- 宿舍樓施工組織設計
- 自建房蓋房子免責協議書范文
- PAS 2050:2011-商品和服務在生命周期內的溫室氣體排放評價規范(中文)
- 手術分級目錄(2023年修訂)
評論
0/150
提交評論