




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第2講 軟件缺陷12軟件缺陷軟件缺陷的概念什么是缺陷缺陷既指程序中存在的錯誤,例如語法錯誤、拼寫錯誤或者是一個不正確的程序語句缺陷也指可能出現在設計中,甚至在需求、規格說明或其他的文檔中的種種錯誤22軟件缺陷軟件缺陷的概念(續)軟件缺陷(Defect或Bug)是軟件開發過程中的副產品“缺陷會導致軟件產品在某種程度上不能滿足用戶的需要軟件缺陷是對軟件產品預期屬性的偏離現象。包括檢測缺陷和殘留缺陷檢測缺陷是指軟件在進入用戶使用之前被檢測出的缺陷殘留缺陷是指軟件發布后存在的缺陷,包括在用戶安裝前未被檢測出的缺陷以及檢測出但未被修復的缺陷用戶使用軟件時,因殘留缺陷引起的軟件失效癥狀稱軟件故障32軟件缺
2、陷錯誤軟件失效(Software Failure)軟件錯誤(Software Error)軟件故障(Software Fault)42軟件缺陷缺陷帶來的系統風險列舉如果某部分產生了錯誤會導致的結果?未被驗證的數據交換如果被接受如果文件的完整性被破壞系統是否能被安全恢復(完全恢復成備份時的狀態)是否能暫停系統的運行進行維護工作時,系統性能是否會下降到不能接受的水平系統的安全性是否有保證系統的操作流程是否符合用戶的組織策略和長遠規劃系統是否可靠,穩定系統是否易于使用系統是否便于維護是否易于與其它系統相連52軟件缺陷軟件缺陷產生的原因導致軟件產生缺陷的九類原因需求的不完善定義客戶開發者通信失敗對軟件
3、需求的故意偏離邏輯設計錯誤編碼錯誤不符合文檔編制與編碼規定測試過程不足規程錯誤文檔編制錯誤62軟件缺陷判斷軟件缺陷的規則軟件未達到產品規格說明書(需求)標明的功能軟件出現了規格說明書指明不會出現的錯誤軟件功能超出規格說明書指明的范圍軟件未達到規格說明書雖未指出但應達到的目標(隱含需求)軟件測試員認為軟件難以理解、不易使用、運行速度緩慢,或者最終用戶認為不好需要注意的是,測試人員報告Bug時,應當保證Bug是可以重現的對于有時不可重現的Bug,應當反復測試,直到最終確定Bug的發生場景為止72軟件缺陷很難找出缺陷的原因看不到,看到但是抓不到典型的缺陷類型需求解釋有錯誤用戶定義錯了需求需求記錄錯誤
4、設計說明有誤編碼說明有誤程序代碼有誤數據輸入有誤測試錯誤問題修改不正確正確的結果是由于其它的缺陷產生的82軟件缺陷軟件缺陷跟蹤管理缺陷跟蹤管理是測試工作的一個重要部分測試的目的是為了盡早發現軟件系統中的缺陷對缺陷進行跟蹤管理,確保每個被發現的缺陷都能夠及時得到處理是測試工作的一項重要內容92軟件缺陷軟件缺陷跟蹤管理(續)缺陷跟蹤管理的目標缺陷能夠引起軟件運行時產生的一種不希望或不可接受的外部行為結果,軟件測試過程簡單說就是圍繞缺陷進行的,對缺陷的跟蹤管理一般而言需要達到以下的目標:確保每個被發現的缺陷都能夠被解決收集缺陷數據并根據缺陷趨勢曲線識別測試過程的階段收集缺陷數據并進行數據分析,作為組
5、織的過程財富在一個運行良好的組織中,缺陷數據的收集和分析是很重要的,從缺陷數據中可以得到很多與軟件質量相關的數據102軟件缺陷軟件缺陷跟蹤管理(續)缺陷管理的基本流程對缺陷進行管理需要:對缺陷進行描述對缺陷進行分類通過對缺陷進行分類,可以迅速找出哪一類缺陷的問題最大然后集中精力預防和排除這一類缺陷而這正是缺陷管理的關鍵,一旦這幾類缺陷得到控制,再進一步找到新的容易引起問題的幾類缺陷上112軟件缺陷缺陷的描述可追蹤信息缺陷ID(唯一的缺陷ID,可以根據該ID追蹤缺陷)缺陷基本信息缺陷標題描述缺陷的標題缺陷的嚴重程度描述缺陷的嚴重程度,一般分為“致命”、“嚴重”、“一般”、“建議”四種缺陷的緊急程
6、度描述缺陷的緊急程度,從14,1是優先級最高的等級,4是優先級最低的等級缺陷提交人缺陷提交人的名字(郵件地址)缺陷提交時間缺陷提交的時間缺陷所屬項目/模塊缺陷所屬的項目和模塊,最好能較精確的定位至模塊122軟件缺陷缺陷的描述(續)缺陷基本信息(續)缺陷指定解決人缺陷指定的解決人,在缺陷“提交”狀態為空,在缺陷“分發”狀態下由項目經理指定相關開發人員修改缺陷指定解決時間項目經理指定的開發人員修改此缺陷的deadline缺陷處理人最終處理缺陷的處理人缺陷處理結果描述對處理結果的描述,如果對代碼進行了修改,要求在此處體現出修改缺陷處理時間缺陷處理的時間缺陷驗證人對被處理缺陷驗證的驗證人缺陷驗證結果描
7、述對驗證結果的描述(通過、不通過)缺陷驗證時間對缺陷驗證的時間132軟件缺陷缺陷的描述(續)缺陷的詳細描述對缺陷的詳細描述對缺陷描述的詳細程度直接影響開發人員對缺陷的修改,描述應該盡可能詳細測試環境說明對測試環境的描述必要的附件對于某些文字很難表達清楚的缺陷,使用圖片等附件是必要的從統計的角度出發,還可以添加上“缺陷引入階段”、“缺陷修正工作量”等項目142軟件缺陷缺陷的分類軟件缺陷分類標準(用于同行評審和軟件測試)缺陷屬性屬性名稱描述缺陷標識標記某個缺陷的一組符號。每個缺陷必須有一個唯一的標識缺陷類型根據缺陷的自然屬性劃分的缺陷種類缺陷嚴重程度因缺陷引起的故障對軟件產品的影響程度缺陷優先級缺
8、陷必須被修復的緊急程度缺陷狀態缺陷通過一個跟蹤修復過程的進展情況缺陷起源缺陷引起的故障或事件第一次被檢測到的階段缺陷來源引起缺陷的起因缺陷根源發生錯誤的根本因素152軟件缺陷缺陷的分類(續)缺陷類型缺陷類型編號與描述10 F-Function 影響了重要的特性、用戶界面、產品接口、硬件結構接口和全局數據結構并且設計文檔需要正式的變更。如邏輯, 指針,循環,遞歸,功能等缺陷20 A-Assignment 需要修改少量代碼,如初始化或控制塊。如聲明、重復命名,范圍、限定等缺陷30 I-Interface 與其他組件、模塊或設備驅動程序、調用參數、控制塊或參數列表相互影響的缺陷40 C-Checki
9、ng 提示的錯誤信息,不適當的數據驗證等缺陷162軟件缺陷缺陷的分類(續)50 B-Build/package/merge因配置庫、變更管理或版本控制引起的錯誤60 D-Documentation影響發布和維護,包括注釋70 G-Algorithm算法錯誤80 U-User Interface人機交互特性:屏幕格式, 確認用戶輸入,功能有效性,頁面排版等方面的缺陷90 P-Performance不滿足系統可測量的屬性值,如:執行時間、事務處理速率等100 N-Norms不符合各種標準的要求,如編碼標準、設計符號等172軟件缺陷缺陷的分類(續)缺陷嚴重程度軟件測試錯誤的嚴重程度1 Critica
10、l不能執行正常工作功能或重要功能。或者危及人身安全2 Major嚴重地影響系統要求或基本功能的實現,且沒有辦法更正3 Minor嚴重地影響系統要求或基本功能的實現,但存在合理的更正辦法4 Cosmetic使操作者不方便或遇到麻煩,但它不影響執行工作功能或重要功能5 Other其它錯誤同行評審錯誤的嚴重程度Major主要的,較大的缺陷Minor次要的,小的缺陷182軟件缺陷缺陷的分類(續)缺陷優先級Resolve Immediately缺陷必須被立即解決Normal Queue缺陷需要正常排隊等待修復或列入軟件發布清單Not Urgent缺陷可以在方便時被糾正192軟件缺陷缺陷的分類(續)缺陷狀
11、態Submitted已提交的缺陷Open確認“提交的缺陷”,等待處理Rejected拒絕“提交的缺陷”,不需要修復或不是缺陷Resolved缺陷被修復Closed確認被修復的缺陷,將其關閉202軟件缺陷缺陷的分類(續)缺陷起源Requirement在需求階段發現的缺陷Architecture在構架階段發現的缺陷Design在設計階段發現的缺陷Code在編碼階段發現的缺陷Test在測試階段發現的缺陷212軟件缺陷缺陷的分類(續)缺陷來源Requirement由于需求的問題引起的缺陷Architecture由于構架的問題引起的缺陷Design由于設計的問題引起的缺陷Code由于編碼的問題引起的缺陷
12、Test由于測試的問題引起的缺陷Integration由于集成的問題引起的缺陷222軟件缺陷缺陷的分類(續)缺陷根源目標錯誤的范圍,誤解了目標,超越能力的目標等過程,工具和方法無效的需求收集過程,過時的風險管理過程,不適用的項目管理方法,沒有估算規程,無效的變更控制過程等人項目團隊職責交叉,缺乏培訓。沒有經驗的項目團隊,缺乏士氣和動機不純等缺乏組織和通訊缺乏用戶參與,職責不明確,管理失敗等其它:硬件如:處理器缺陷導致算術精度丟失,內存溢出等軟件如:OS錯誤導致無法釋放資源,工具軟件錯誤,編譯器錯誤等環境如:組織機構調整,預算改變,罷工,噪音,中斷,工作環境232軟件缺陷缺陷的分類(續)缺陷分類
13、適用范圍242軟件缺陷缺陷管理流程了解缺陷必須首先收集缺陷數據,然后才能了解這些缺陷,并且找出如何預防它們,同時也能領會到如何更好地發現,修復甚至預防仍在引入的缺陷可以按照以下步驟收集關于缺陷的數據為測試和同行評審中發現的每一個缺陷做一個記錄對每個缺陷要記錄足夠詳細的信息,以便以后能更好地了解這個缺陷分析這些數據以找出哪些缺陷類型引起大部分的問題設計出發現和修復這些缺陷的方法(缺陷排除)252軟件缺陷缺陷管理流程(續)262軟件缺陷缺陷的一般管理流程272軟件缺陷缺陷管理流程中的各種角色測試人員進行測試的人員,缺陷的發現者項目經理對整個項目負責,對產品質量負責的人員開發人員執行開發任務的人員,
14、完成實際的設計和編碼工作評審委員會對缺陷進行最終確認,在項目成員對缺陷達不成一致意見時,行使仲裁權力282軟件缺陷缺陷所處的狀態初始化:缺陷的初始狀態待分配:缺陷等待分配給相關開發人員處理待修正:缺陷等待開發人員修正待驗證:開發人員已完成修正,等待測試人員驗證待評審:開發人員拒絕修改缺陷,需要評審委員會評審關閉:缺陷已被處理完成292軟件缺陷軟件缺陷流程管理的要點為了保證錯誤的正確性,需要:有豐富測試經驗的測試人員驗證和確認發現的錯誤是否是真正的錯誤測試步驟是否準確、簡潔、可以重復軟件錯誤的確認并不總是輕而易舉的事情由于對軟件設計具體要求的不了解,對測試報告的個別軟件錯誤,可能無法確認是否屬于
15、真正的軟件錯誤,本地化服務商需要與軟件供應商交流并確認302軟件缺陷軟件缺陷流程管理的要點(續)每次對錯誤的處理都要保留處理信息包括處理者姓名,時間,處理方法,處理步驟,錯誤狀態,處理注釋等對錯誤的拒絕不能由程序員單方面決定,應該由項目經理,測試經理和設計經理共同決定對錯誤延期處理不能由本地戶服務商決定,應該由軟件供應商決定錯誤修復后必須由報告錯誤的測試人員驗證后,確認已經修復,才能關閉錯誤312軟件缺陷缺陷數據統計缺陷數據統計是缺陷跟蹤管理的目標之一一般而言,生成的缺陷數據統計圖表包括缺陷趨勢圖、缺陷分布圖、缺陷及時處理情況統計表等按照缺陷嚴重程度及工作類型分布可以統計整個項目生命周期中所有
16、同行評審的缺陷分布,也可以統計某一階段所有同行評審的缺陷分布322軟件缺陷332軟件缺陷缺陷數據統計(續)按照缺陷類型分布按照缺陷類型統計分布圖,可是某一次評審的缺陷統計,也可以是某一類型工件評審的缺陷統計,可以是某一階段所有同行評審的缺陷統計,也可以是整個項目周期內所有同行評審的缺陷統計建議以某一類型工件和某一階段來進行統計分布342軟件缺陷352軟件缺陷缺陷率分析多個項目的缺陷率缺陷趨勢圖362軟件缺陷372軟件缺陷缺陷跟蹤系統特別適用于大型軟件測試項目集中管理測試缺陷的要求這些測試項目一般測試周期長,測試范圍廣,存在較多軟件缺陷便于添加、修改、排序、查找、存儲和跟蹤軟件測試錯誤對于大型軟
17、件的測試,報告的錯誤可能成百上千個便于跟蹤和監控錯誤的處理過程和方法方便地檢查處理方法是否正確確定處理者的姓名和處理時間,作為工作質量的統計和考核的參考便于集中管理,提高效率軟件開發商、服務商和軟件供應商共享同一個錯誤跟蹤系統數據庫,各自負責處理己方需要處理的軟件錯誤對于需要對方提供更多信息的錯誤,可以通過改變錯誤的當前信息(狀態、處理者、處理建議等),使對方盡快處理安全性高,通過權限設置,不同權限的用戶能執行不同的操作,保證只有適當的人員才能執行正確的處理保證處理順序的正確性,根據當前錯誤狀態,決定當前錯誤處理方法便于項目結束后的存檔382軟件缺陷軟件缺陷報告軟件問題或缺陷報告是軟件測試過程
18、中最重要的文檔它記錄了缺陷發生的環境,如各種資源的配置情況,缺陷的再現步驟以及缺陷性質的說明更重要的是它還記錄著缺陷的處理過程和狀態缺陷的處理進程從一定角度反映了測試的進程和被測軟件的質量狀況以及改善過程392軟件缺陷軟件缺陷報告(續)在軟件測試過程中,每發現一個軟件錯誤都要記錄該錯誤的特征和復現步驟等信息以便分析、處理和管理測試發現的軟件錯誤通常要采用軟件缺陷數據庫將每一個發現的錯誤輸入到軟件缺陷數據庫中軟件缺陷數據庫的每一條記錄稱為一個軟件缺陷報告準確、完整、簡潔、一致的缺陷報告是體現軟件開發、測試與管理的專業性、高質量的主要評價指標每個軟件問題報告只書寫一個缺陷或錯誤 這樣可以每次只處理
19、一個確定的錯誤,定位明確,提高效率,也便于修復錯誤后方便的進行驗證402軟件缺陷軟件缺陷報告(續)報告缺陷的基本原則盡快報告缺陷;有效描述缺陷;缺陷的生命周期缺陷從開始提出到最后解決,并通過復查的過程在這個過程中缺陷報告的狀態不斷發生著變化,記錄著缺陷的處理進程412軟件缺陷軟件缺陷報告(續)缺陷報告的讀者對象直接讀者是軟件開發人員和質量管理人員,來自市場和技術支持等部門的人也可能需要查看缺陷情況讀者最希望獲得的信息包括:易于搜索軟件缺陷報告中的缺陷報告的軟件缺陷進行了必要的隔離,報告的缺陷信息更具體、準確軟件開發人員希望獲得缺陷的本質特征和復現步驟市場和技術支持等部門希望獲得缺陷類型分布以及
20、對市場和用戶的影響程度422軟件缺陷軟件缺陷報告(續)有效描述缺陷短小:只解釋事實和演示、描述缺陷必需的細節單一:每一個報告中針對一個缺陷步驟清晰:要清楚地描述出缺陷的發生場景,包括前置條件和操作的詳細步驟再現:按照預定步驟可以重現相同狀況在報告缺陷時只描述事實,不做評價,也不要有人身攻擊必要的時候可以添加注釋(remarks)可以上載屏幕抓圖和其他附件432軟件缺陷軟件缺陷報告(續)為書寫更好的缺陷報告,需要遵守“5C”準則Correct(準確)每個組成部分的描述準確,不會引起誤解Clear(清晰)每個組成部分的描述清晰,易于理解Concise(簡潔)只包含必不可少的信息,不包括任何多余的內
21、容Complete(完整)包含復現該缺陷的完整步驟和其他本質信息Consistent(一致)按照一致的格式書寫全部缺陷報告442軟件缺陷軟件缺陷報告(續)缺陷報告的組織結構缺陷的標題與簡單描述缺陷的基本信息,包括: 測試軟件名稱、版本號、缺陷或錯誤類型、可重復性、測試平臺、平臺語言、缺陷或錯誤范圍、嚴重程度及優先級要求填寫完整、準確復現缺陷的操作步驟描述該缺陷或錯誤出現的操作順序,要求完整、簡潔、準確。對命令、系統變量、選項要用大寫字母,對控件名稱等加雙引號缺陷的實際結果描述、期望的正確結果描述注釋文字和截取的缺陷圖像對缺陷或錯誤的附加描述,一般包括缺陷或錯誤現象的圖像,包括其他建議或注釋文字
22、452軟件缺陷錯誤概要:在Solaris、Windows98和Mac上運行Note,一些數據在設置成某種格式時會出現顯示異常。 錯誤描述: 重建步驟:1)我在Windows98下打開Note程序,編輯一個已存在的文件,該文件有多行,且包括多種字體格式; 2)我選擇文件打印,工作正常; 3)我新建并打印一個包含圖形的文件,工作正常; 4)我新建一個新文件; 5)接著我輸入一連串隨機文本; 6)高亮選中幾行文本,選擇右鍵彈出菜單中Font選項,并選擇Arial字體; 7)文本顯示變得異常; 8)我試著運行了三次,每一次都出現同樣問題; 9)我在Solaris上運行了6次,沒有看到任何問題; 10)我在Mac上運行了6次,沒有看到任何問題; 隔離:1)我嘗試選擇其他字體形式,但只有Arial有這個問題出現。然而,該問題可能仍然在我沒有測試的其他字體下出現。 冗長混亂的錯誤報告462軟件缺陷錯誤概要:Note程序在使用Arial字體時出問題 錯誤描述: 重建步驟:1)打開Note程序; 2)鍵入一些文本; 3)選擇Arial字體; 4)文本顯示異常。 含糊不清的錯誤報告 472軟件缺陷錯誤概要:Windows98下Note在新建文件中選擇設置Arial字體時出現亂碼。 錯誤描述: 重建步驟:1)打開Note創建一個新文件;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環境數據分析與環境健康影響評估-洞察闡釋
- 物流運輸與配送管理協議
- 農業合作社菜園大棚承包合作與分紅協議
- 2025合同范本機械設備采購合同樣本
- 小學三年級英語上冊期末試卷(有答案)
- 桐鄉項目資料
- 地鐵庫管考試題庫及答案
- lr考試試題及答案
- 超能力視力測試題及答案
- 加州駕考筆試題目及答案
- 遼寧省2024年高中歷史1月學生學業水平考試試題含解析
- 2012年重慶物理高考題及答案解析
- 江蘇自然資源廳事業單位筆試真題2024
- 茶樓股東合作協議范本
- HG+20231-2014化學工業建設項目試車規范
- HG-T 2006-2022 熱固性和熱塑性粉末涂料
- 急性胰腺炎護理查房課件
- 肺腺癌:CT征象與病理
- 華盛頓英語介紹課件
- 血標本凝血的應急預案
- MOOC 影視鑒賞-揚州大學 中國大學慕課答案
評論
0/150
提交評論