第二章執(zhí)行系統(tǒng)測(cè)試課件_第1頁
第二章執(zhí)行系統(tǒng)測(cè)試課件_第2頁
第二章執(zhí)行系統(tǒng)測(cè)試課件_第3頁
第二章執(zhí)行系統(tǒng)測(cè)試課件_第4頁
第二章執(zhí)行系統(tǒng)測(cè)試課件_第5頁
已閱讀5頁,還剩105頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第二章:執(zhí)行系統(tǒng)測(cè)試2.1任務(wù)概述2.2快速熟悉被測(cè)系統(tǒng)2.3建立系統(tǒng)測(cè)試環(huán)境2.4報(bào)告測(cè)試結(jié)果2.5管理軟件錯(cuò)誤2.6測(cè)試報(bào)告2.7進(jìn)行有效溝通第二章:執(zhí)行系統(tǒng)測(cè)試學(xué)習(xí)目標(biāo):了解執(zhí)行測(cè)試基本步驟掌握快速了解系統(tǒng)的方法熟悉測(cè)試環(huán)境搭建熟悉軟件錯(cuò)誤分類掌握錯(cuò)誤報(bào)告編寫的技巧熟悉軟件錯(cuò)誤管理流程2.1任務(wù)概述工作場(chǎng)景測(cè)試組長(zhǎng):“這是我們這個(gè)產(chǎn)品的測(cè)試計(jì)劃,你負(fù)責(zé)模塊介紹和測(cè)試用例,你花時(shí)間研究一下,明天中午新版本提交,你負(fù)責(zé)模塊的測(cè)試就要開始了?!睖y(cè)試新手:領(lǐng)到測(cè)試用例和模塊的說明文檔,每當(dāng)有新版本提交時(shí),按照測(cè)試用例的指示開始測(cè)試,測(cè)試完之后把測(cè)試結(jié)果提交。初級(jí)測(cè)試工程師每天的工作基本上就是重復(fù)執(zhí)行一條條的測(cè)試用例,從剛來時(shí)的興奮很快變成了厭倦和麻木,難道測(cè)試就是這么枯燥乏味?在目前軟件開發(fā)企業(yè)中,作為一個(gè)測(cè)試新手,其主要的工作任務(wù)通常會(huì)面臨兩種情況:在較大型且規(guī)范的企業(yè)中,通常前期已經(jīng)編寫完測(cè)試計(jì)劃和測(cè)試設(shè)計(jì),需要初級(jí)測(cè)試工程師按照計(jì)劃和設(shè)計(jì)來執(zhí)行系統(tǒng)測(cè)試,看上去似乎是一個(gè)很容易的過程,但在執(zhí)行測(cè)試的過程中,如何報(bào)告軟件錯(cuò)誤、如何管理軟件錯(cuò)誤是一件并不容易的事。在一些小型的軟件企業(yè)中,各方面規(guī)范性比較欠缺,軟件測(cè)試也剛起步,初級(jí)測(cè)試工程師可能面對(duì)的是欠缺的項(xiàng)目文檔和測(cè)試設(shè)計(jì),需要直接執(zhí)行系統(tǒng)測(cè)試,此時(shí)一個(gè)重要的任務(wù)是如何快速地熟悉被測(cè)試系統(tǒng)。2.1任務(wù)概述系統(tǒng)測(cè)試是針對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試。系統(tǒng)測(cè)試的目的是驗(yàn)證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不相符合或與之矛盾的地方。系統(tǒng)測(cè)試是整個(gè)測(cè)試活動(dòng)的一個(gè)重要的階段。系統(tǒng)測(cè)試的對(duì)象不僅包括需要測(cè)試的產(chǎn)品系統(tǒng)的軟件,還要包含軟件所依賴的硬件、外設(shè)甚至包括某些數(shù)據(jù)、某些支持軟件及其接口等。2.1任務(wù)概述作為軟件測(cè)試人員,工作的基本目標(biāo)是去發(fā)現(xiàn)錯(cuò)誤,如果測(cè)試結(jié)果不能被很好地記錄,或者測(cè)試過程中發(fā)現(xiàn)的軟件錯(cuò)誤不能被很好地管理,測(cè)試工作將會(huì)變得一團(tuán)混亂。如果在測(cè)試的過程中,不能很好地把發(fā)現(xiàn)的軟件錯(cuò)誤記錄下來,并保持和編碼小組的及時(shí)溝通,使得錯(cuò)誤被及時(shí)處理,那么,去發(fā)現(xiàn)這些錯(cuò)誤、去執(zhí)行測(cè)試就沒有意義。2.1任務(wù)概述2.1執(zhí)行系統(tǒng)測(cè)試步驟

建立測(cè)試環(huán)境

執(zhí)行系統(tǒng)測(cè)試記錄測(cè)試結(jié)果

管理軟件錯(cuò)誤

報(bào)告測(cè)試結(jié)果測(cè)試執(zhí)行過程這并不是最后一個(gè)步驟,而是貫穿在執(zhí)行測(cè)試的整個(gè)過程中需要進(jìn)行的活動(dòng)。測(cè)試人員的主要任務(wù)包括:熟悉被測(cè)系統(tǒng)建立測(cè)試環(huán)境執(zhí)行測(cè)試用例記錄測(cè)試結(jié)果跟蹤錯(cuò)誤報(bào)告報(bào)告測(cè)試結(jié)果測(cè)試狀態(tài)報(bào)告測(cè)試結(jié)果報(bào)告2.1任務(wù)概述對(duì)軟件測(cè)試人員來說,進(jìn)行系統(tǒng)測(cè)試首先是能夠較好地理解被測(cè)系統(tǒng)。系統(tǒng)測(cè)試工作主要根據(jù)測(cè)試計(jì)劃、測(cè)試用例中的要求運(yùn)行測(cè)試,檢查結(jié)果。目前有些項(xiàng)目的軟件測(cè)試工作在編程結(jié)束后才開始,也沒有完善的項(xiàng)目文檔。針對(duì)這樣的軟件項(xiàng)目,沒有詳細(xì)的文檔可供參考,同時(shí)測(cè)試人員也沒有大量的時(shí)間進(jìn)行測(cè)試設(shè)計(jì)。此時(shí)進(jìn)行系統(tǒng)測(cè)試,測(cè)試人員沒有可供參考的現(xiàn)成資料。2.2快速熟悉被測(cè)系統(tǒng)2.2快速熟悉被測(cè)系統(tǒng)測(cè)試人員在開始任何測(cè)試前必須熟悉應(yīng)用程序,測(cè)試人員如何熟悉被測(cè)軟件?學(xué)習(xí)已有的測(cè)試指南閱讀已有的工程文檔請(qǐng)專業(yè)人員演示應(yīng)用程序輸入隨機(jī)數(shù)據(jù)和命令執(zhí)行所有操作選項(xiàng)嘗試程序的運(yùn)行狀態(tài)2.2快速熟悉被測(cè)系統(tǒng)首先,在不了解任何業(yè)務(wù)需求的情況下進(jìn)行隨機(jī)測(cè)試,通過隨機(jī)測(cè)試來了解業(yè)務(wù)流程。針對(duì)不明白或不清楚的地方進(jìn)行反查,在反復(fù)的過程中會(huì)更深刻地理解業(yè)務(wù)需求。測(cè)試人員要積極調(diào)用身邊的資源,與開發(fā)人員或客戶多交流、討論。2.2快速熟悉被測(cè)系統(tǒng)探索應(yīng)用程序以及熟悉應(yīng)用程序的功能是學(xué)習(xí)過程中的一個(gè)必要的步驟。探索的目的是通過對(duì)應(yīng)用程序功能的操作更多地了解應(yīng)用程序。是找到了解應(yīng)用程序并能澄清需求的人。在探索過程中,測(cè)試人員通過觀察程序的行為來觀察程序如何工作,感覺什么樣的輸入是好的,什么樣的輸入是不好的。熟悉被測(cè)軟件是一個(gè)動(dòng)態(tài)的過程,在閱讀文檔或使用軟件的過程中對(duì)不理解或疑難之處應(yīng)及時(shí)與開發(fā)人員溝通,聽取解釋說明。理解被測(cè)軟件需求時(shí),重點(diǎn)關(guān)注系統(tǒng)以下方面:系統(tǒng)的軟、硬件體系結(jié)構(gòu)系統(tǒng)要處理的業(yè)務(wù)主要包括哪些業(yè)務(wù)的處理流程如何業(yè)務(wù)處理中的數(shù)據(jù)要求業(yè)務(wù)處理中的相關(guān)規(guī)則系統(tǒng)功能之間的關(guān)聯(lián)2.2快速熟悉被測(cè)系統(tǒng)軟件運(yùn)行存在三種環(huán)境:開發(fā)環(huán)境、測(cè)試環(huán)境、用戶環(huán)境。開發(fā)環(huán)境往往與用戶環(huán)境有所差別。一個(gè)規(guī)劃良好的測(cè)試環(huán)境總很接近于用戶環(huán)境。測(cè)試環(huán)境在測(cè)試計(jì)劃和測(cè)試用例中事先定義和規(guī)劃。測(cè)試環(huán)境=用戶環(huán)境?2.3建立系統(tǒng)測(cè)試環(huán)境2.3建立系統(tǒng)測(cè)試環(huán)境測(cè)試環(huán)境:由測(cè)試人員為進(jìn)行軟件測(cè)試而搭建的,被測(cè)試軟件所運(yùn)行的軟件環(huán)境和硬件環(huán)境,是完成軟件測(cè)試工作所必需的計(jì)算機(jī)硬件、軟件、網(wǎng)絡(luò)設(shè)備、歷史數(shù)據(jù)的總稱。測(cè)試環(huán)境適合與否會(huì)嚴(yán)重影響測(cè)試結(jié)果的真實(shí)性和正確性2.3建立系統(tǒng)測(cè)試環(huán)境建立測(cè)試環(huán)境包括:硬件環(huán)境和軟件環(huán)境。硬件環(huán)境:測(cè)試必需的服務(wù)器、客戶端、網(wǎng)絡(luò)連接設(shè)備,以及打印機(jī)/掃描儀等輔助硬件設(shè)備所構(gòu)成的環(huán)境。軟件環(huán)境:被測(cè)軟件運(yùn)行時(shí)的操作系統(tǒng)、數(shù)據(jù)庫及其他應(yīng)用軟件構(gòu)成的環(huán)境。主測(cè)試環(huán)境:是測(cè)試軟件功能、安全可靠性、性能、易用性等大多數(shù)指標(biāo)的主要環(huán)境。輔測(cè)試環(huán)境測(cè)試環(huán)境如何規(guī)劃?分析用戶環(huán)境中哪些配置可能對(duì)軟件有所影響,在此基礎(chǔ)上建立測(cè)試環(huán)境。某軟件是一個(gè)運(yùn)行在Windows下的桌面應(yīng)用軟件,可以完成數(shù)據(jù)文件備份與恢復(fù)功能。該軟件支持Windows98及以上的各個(gè)Windows版本,可以將文件備份到CD刻錄機(jī)、DVD刻錄機(jī)、USB移動(dòng)硬盤。如何考慮測(cè)試環(huán)境?2.3建立系統(tǒng)測(cè)試環(huán)境軟件環(huán)境操作系統(tǒng):不同版本的Windows系統(tǒng),例如包括Windows98,Windows98SE,WindowsME,Windows2000Professional,Windows2000Server,WindowsXPHomeEdition,WindowsXPProfessional等。其中,WindowsXPHomeEdition、Windows2000Professional包括了英文和簡(jiǎn)體中文版本。硬件環(huán)境

多種CD、DVD刻錄機(jī)。如三種CD刻錄機(jī)(IDE接口內(nèi)置式,SCSI接口內(nèi)置式,USB接口外置式),帶有CD刻錄功能的DVD-Combo,DVD刻錄機(jī)Usb移動(dòng)硬盤2.3建立系統(tǒng)測(cè)試環(huán)境對(duì)于不同的軟件系統(tǒng),其測(cè)試環(huán)境存在差異對(duì)于“金山詞霸”這樣的軟件,大多數(shù)測(cè)試工作都可以在一臺(tái)單獨(dú)的計(jì)算機(jī)上完成對(duì)于一套電信系統(tǒng),為了執(zhí)行測(cè)試,可能需要搭建一個(gè)由多臺(tái)計(jì)算機(jī)以及其他網(wǎng)絡(luò)設(shè)備組成,采用集群和負(fù)載均衡技術(shù),并且接入互聯(lián)網(wǎng)的計(jì)算機(jī)網(wǎng)絡(luò)。2.3建立系統(tǒng)測(cè)試環(huán)境建立測(cè)試環(huán)境需要考慮:計(jì)算機(jī)平臺(tái)操作系統(tǒng)瀏覽器軟件支持平臺(tái)外圍設(shè)備網(wǎng)絡(luò)環(huán)境數(shù)據(jù)環(huán)境其他專用環(huán)境2.3建立系統(tǒng)測(cè)試環(huán)境計(jì)算機(jī)平臺(tái)計(jì)算機(jī)平臺(tái)可以考慮:CPU速度、內(nèi)容容量、硬盤、顯示卡等。一般在軟件需求中列出軟件對(duì)平臺(tái)的最低配置要求。在搭建測(cè)試平臺(tái)時(shí),一般需要考慮:最低配置常見配置理想配置操作系統(tǒng)軟件一般都聲明支持的操作系統(tǒng)。Windows平臺(tái)本身有多個(gè)版本,而每個(gè)版本都包括了幾個(gè)系列,以及不同語言。一般在某個(gè)版本中等級(jí)低的系列上能夠通過測(cè)試的軟件,能夠通過高級(jí)別系列的測(cè)試。測(cè)試人員需要了解不同版本操作系統(tǒng)之間的差異。Linux平臺(tái)有不同公司開發(fā)的更多的版本。測(cè)試時(shí)首先關(guān)注軟件所要求的Linux核心版本。其他可能的操作系統(tǒng):Unix、MacOS、嵌入式操作系統(tǒng)。瀏覽器基于Web的應(yīng)用系統(tǒng),需對(duì)各種流行的瀏覽器環(huán)境進(jìn)行測(cè)試。不同的操作系統(tǒng)下,瀏覽器有不同選擇。Windows平臺(tái)下常用:IE、FireFox、騰訊TT瀏覽器等Linux平臺(tái)下Opera、netscape

、Mozilla等軟件支持平臺(tái)典型的支持平臺(tái)主要包括:Java虛擬機(jī)、數(shù)據(jù)庫、應(yīng)用服務(wù)器、第三方控件、瀏覽器插件。一般需要測(cè)試沒有安裝軟件要求的第三方控件和瀏覽器插件,軟件的表現(xiàn)。用戶環(huán)境中某軟件與被測(cè)試系統(tǒng)不兼容;或該軟件與被測(cè)試系統(tǒng)軟件不兼容。外圍設(shè)備不同的軟件系統(tǒng)需要不同的外圍設(shè)備。在多種外圍設(shè)備上進(jìn)行測(cè)試,需要大量的時(shí)間和費(fèi)用。一般選擇設(shè)備的幾款主流型號(hào)進(jìn)行測(cè)試。網(wǎng)絡(luò)環(huán)境網(wǎng)絡(luò)訪問方式網(wǎng)絡(luò)速度防火墻搭建環(huán)境中注意事項(xiàng)所需要的計(jì)算機(jī)的數(shù)量及對(duì)每臺(tái)計(jì)算機(jī)的硬件配置要求包括中央處理器的速度、內(nèi)存和硬盤的容量、網(wǎng)卡所支持的速度、打印機(jī)的型號(hào)等。部署被測(cè)應(yīng)用的服務(wù)器所必需的操作系統(tǒng)、數(shù)據(jù)庫、中間件等軟件版本、補(bǔ)丁版本。用來保存各種測(cè)試工作中生成的文檔和數(shù)據(jù)的服務(wù)器所必需的操作系統(tǒng)、數(shù)據(jù)庫、中間件等軟件版本、補(bǔ)丁版本。用來執(zhí)行測(cè)試工作的計(jì)算機(jī)所必需的操作系統(tǒng)、數(shù)據(jù)庫、中間件等軟件版本、補(bǔ)丁版本。2.3建立系統(tǒng)測(cè)試環(huán)境搭建環(huán)境中注意事項(xiàng)測(cè)試中所需要使用的網(wǎng)絡(luò)環(huán)境。網(wǎng)絡(luò)環(huán)境中接入方式、網(wǎng)絡(luò)拓?fù)?、帶寬等?zhí)行測(cè)試工作所需要使用的文檔編寫工具、測(cè)試管理系統(tǒng)、性能測(cè)試工具、缺陷跟蹤管理系統(tǒng)等軟件的名稱、版本及相關(guān)補(bǔ)丁的版本。為了執(zhí)行測(cè)試,所需的初始基礎(chǔ)數(shù)據(jù),如一定量的數(shù)據(jù)庫記錄、登錄用戶等測(cè)試環(huán)境必須可恢復(fù),否則將導(dǎo)致原有的測(cè)試無法執(zhí)行,或者發(fā)現(xiàn)的缺陷無法重現(xiàn)。每次發(fā)布新的被測(cè)應(yīng)用版本時(shí),應(yīng)當(dāng)及時(shí)做好當(dāng)前版本的數(shù)據(jù)庫等備份2.3建立系統(tǒng)測(cè)試環(huán)境假如某個(gè)軟件需要測(cè)試兩種瀏覽器(IE和FireFox)、四種操作系統(tǒng)(Windows98、WindowsME、Windows2000、WindowsXP)、三種CPU(IntelPIII1G,IntelP42.8G,AMDAlthonXP2600+)、兩種內(nèi)存配置(256M、512M)、兩種網(wǎng)絡(luò)連接方式(撥號(hào)網(wǎng)絡(luò)、ADSL寬帶接入)。要測(cè)試多少種環(huán)境?2.3建立系統(tǒng)測(cè)試環(huán)境搭建測(cè)試環(huán)境,需考慮配置的優(yōu)先級(jí)使用的頻度或范圍失效的可能性能最大限度模擬真實(shí)環(huán)境2.3建立系統(tǒng)測(cè)試環(huán)境建立測(cè)試環(huán)境的步驟安裝應(yīng)用程序安裝和開發(fā)測(cè)試工具(如果需要)設(shè)置專用文件,包括將這些文件與測(cè)試所需的數(shù)據(jù)相對(duì)應(yīng)建立與應(yīng)用程序通信的實(shí)用程序配備適當(dāng)?shù)挠布约氨匾脑O(shè)備2.3建立系統(tǒng)測(cè)試環(huán)境運(yùn)行測(cè)試用例后測(cè)試人員必須記錄下測(cè)試結(jié)果:程序運(yùn)行結(jié)果與期望的結(jié)果一致,在相應(yīng)測(cè)試用例上記錄測(cè)試通過信息。程序運(yùn)行結(jié)果與期望的結(jié)果不一致,在相應(yīng)測(cè)試用例上記錄測(cè)試失敗等相應(yīng)信息,同時(shí)填寫錯(cuò)誤報(bào)告單。2.4

報(bào)告測(cè)試結(jié)果一旦測(cè)試人員遇到軟件存在的問題,應(yīng)馬上填寫錯(cuò)誤報(bào)告單。意義在于使錯(cuò)誤得到改正大多數(shù)情況下,當(dāng)有軟件錯(cuò)誤出現(xiàn)時(shí),應(yīng)盡可能詳細(xì)地填寫報(bào)告單。報(bào)告只描述一下你認(rèn)為需要經(jīng)過什么樣的步驟才會(huì)再次觸發(fā)錯(cuò)誤。若測(cè)試人員填寫了不明確或不完備的報(bào)告,往往造成錯(cuò)誤被輕易放過(程序員認(rèn)為錯(cuò)誤時(shí)不可重現(xiàn)的)。2.4

報(bào)告測(cè)試結(jié)果好的錯(cuò)誤報(bào)告應(yīng)該具有以下特征:書面的已編號(hào)的簡(jiǎn)單的、易于理解的可重現(xiàn)的具有合適的分類信息2.4

報(bào)告測(cè)試結(jié)果作為一份良好的軟件錯(cuò)誤報(bào)告,在報(bào)告中需要針對(duì)軟件錯(cuò)誤給出一些分類信息。這些分類信息有助于錯(cuò)誤的修復(fù)。錯(cuò)誤可以按照不同的方式進(jìn)行分類:按照錯(cuò)誤等級(jí)分類按照錯(cuò)誤處理優(yōu)先級(jí)分類按照錯(cuò)誤原因分類2.4.1

軟件錯(cuò)誤的分類按照錯(cuò)誤的嚴(yán)重程度、影響程度的不同,軟件錯(cuò)誤可以被分為不同的等級(jí),也可稱為“錯(cuò)誤嚴(yán)重程度”、“錯(cuò)誤嚴(yán)重等級(jí)”。所謂“嚴(yán)重性”指的是在測(cè)試條件下,一個(gè)錯(cuò)誤在系統(tǒng)中的絕對(duì)影響,忽略了在最終用戶條件下發(fā)生事情的可能性。主要包括以下五種:致命錯(cuò)誤:影響全局的死機(jī)、通信中斷、重要業(yè)務(wù)不能完成。例:由于程序所引起的死機(jī)或非法退出;死循環(huán);數(shù)據(jù)庫發(fā)生死鎖;功能錯(cuò)誤等。

軟件錯(cuò)誤等級(jí)嚴(yán)重錯(cuò)誤:規(guī)定的功能沒有實(shí)現(xiàn)或不完整或產(chǎn)生錯(cuò)誤結(jié)果;設(shè)計(jì)不合理造成性能低下,影響系統(tǒng)的運(yùn)營(yíng);使系統(tǒng)不穩(wěn)定、或破壞數(shù)據(jù)等。一般錯(cuò)誤:不影響主要功能使用,或者有替代的方式完成用戶需要的功能。例:操作界面錯(cuò)誤;打印內(nèi)容、格式錯(cuò)誤;簡(jiǎn)單的輸入限制未放在前臺(tái)進(jìn)行控制;刪除操作未給出提示;數(shù)據(jù)庫表中有過多的空字段等。輕微錯(cuò)誤:通常指界面拼寫錯(cuò)誤或用戶使用不方便等小問題或需要完善的問題。例:界面不規(guī)范;輔助說明描述不清楚;輸入輸出不規(guī)范;耗時(shí)比較長(zhǎng)的操縱未給用戶提示;提示窗口文字未采用行業(yè)術(shù)語;可輸入?yún)^(qū)域和只讀區(qū)域沒有明顯的區(qū)分標(biāo)志等。

改進(jìn)建議:改進(jìn)建議一般指軟件中值得改良的地方。以上5個(gè)分類,用數(shù)字1-5來表示由高到低的嚴(yán)重程度等級(jí)。

軟件錯(cuò)誤等級(jí)程序員在面對(duì)一系列錯(cuò)誤的時(shí)候,一般情況下,需要先修改錯(cuò)誤等級(jí)高的,但并不都如此。優(yōu)先級(jí)與嚴(yán)重程度有一定關(guān)系,但也不完全相同。有可能某個(gè)嚴(yán)重錯(cuò)誤的修復(fù)優(yōu)先級(jí)是低,也有可能某個(gè)輕微錯(cuò)誤的修復(fù)優(yōu)先級(jí)是高。

“優(yōu)先級(jí)”抓住了在嚴(yán)重程度中沒有考慮的重要程度因素。在實(shí)際操作中采用嚴(yán)重性和優(yōu)先級(jí)來處理,嚴(yán)重性等級(jí)由測(cè)試人員決定,而優(yōu)先級(jí)則由項(xiàng)目經(jīng)理設(shè)置。一般要避免讓程序員來設(shè)定錯(cuò)誤等級(jí),因?yàn)槌绦騿T更喜歡把所有錯(cuò)誤等級(jí)都設(shè)置得很低。錯(cuò)誤處理優(yōu)先級(jí)錯(cuò)誤處理優(yōu)先級(jí)別一般分為:立即解決:要求開發(fā)人員立即修復(fù)。此錯(cuò)誤阻止進(jìn)一步測(cè)試,需要立即修復(fù),否則會(huì)導(dǎo)致測(cè)試的停滯。高優(yōu)先級(jí):此錯(cuò)誤在產(chǎn)品發(fā)布前必須修復(fù),否則會(huì)影響軟件的發(fā)布和使用。正常排隊(duì):應(yīng)該修復(fù)。如果時(shí)間允許,應(yīng)該修復(fù)此錯(cuò)誤。低優(yōu)先級(jí):考慮修復(fù)。此錯(cuò)誤即使不修復(fù),也可以發(fā)布。錯(cuò)誤處理優(yōu)先級(jí)根據(jù)錯(cuò)誤發(fā)生的原因?qū)﹀e(cuò)誤進(jìn)行分類可以幫助軟件項(xiàng)目開發(fā)組總結(jié)開發(fā)過程的薄弱環(huán)節(jié),給今后的軟件項(xiàng)目開發(fā)提供經(jīng)驗(yàn)數(shù)據(jù)。軟件錯(cuò)誤產(chǎn)生的原因多種多樣,主要包括:需求分析不完善造成軟件不滿足用戶要求軟件設(shè)計(jì)錯(cuò)誤造成運(yùn)行錯(cuò)誤程序員編寫代碼過程中引入錯(cuò)誤錯(cuò)誤原因還可以按照錯(cuò)誤的發(fā)生位置進(jìn)行分類。如:程序由多個(gè)模塊組成,需要標(biāo)識(shí)出錯(cuò)誤所處的模塊,便于識(shí)別出經(jīng)常出問題的軟件模塊,確定責(zé)任人。通過錯(cuò)誤發(fā)生位置的統(tǒng)計(jì)可以幫助軟件項(xiàng)目組進(jìn)行軟件質(zhì)量分析,便于今后進(jìn)一步的質(zhì)量改進(jìn)。

錯(cuò)誤原因2.4.2錯(cuò)誤嚴(yán)重性與數(shù)量的關(guān)系從圖中可知,測(cè)試的早期很少能發(fā)現(xiàn)Bug。許多代碼路徑被少數(shù)幾個(gè)非常嚴(yán)重的Bug阻塞。測(cè)試中期,通常Bug數(shù)量會(huì)增加,Bug的嚴(yán)重性開始降低。通過解決阻塞更多Bug的那幾個(gè)嚴(yán)重Bug,軟件開始變得更穩(wěn)定。理想情況是,周期結(jié)束時(shí),Bug的數(shù)量和嚴(yán)重性都減少,說明產(chǎn)品的穩(wěn)定性得到了提高。2.4.2錯(cuò)誤嚴(yán)重性與數(shù)量的關(guān)系許多因素可以影響這張圖,它絕不是所有情況都適用,但大致代表了許多項(xiàng)目經(jīng)驗(yàn)。在測(cè)試早期,一般集中在驗(yàn)證方面(“讓它工作可能嗎?”)隨著軟件逐漸穩(wěn)定,又會(huì)開始檢測(cè)和尋找Bug(“我該做些什么才能打破這些?”)軟件錯(cuò)誤報(bào)告單所需的信息類型在很多公司里大同小異。對(duì)錯(cuò)誤的描述主要包含以下內(nèi)容:錯(cuò)誤報(bào)告基本信息錯(cuò)誤描述對(duì)錯(cuò)誤描述的詳細(xì)程度直接影響開發(fā)人員對(duì)錯(cuò)誤的修改,描述應(yīng)該盡可能詳細(xì)。

測(cè)試環(huán)境說明其它附件在發(fā)現(xiàn)缺陷的過程中,可以使用其他的輸入文件,在這里需要附上;或者為了說明錯(cuò)誤而使用的屏幕復(fù)制文件也可以附上。2.4.3

軟件錯(cuò)誤報(bào)告的內(nèi)容錯(cuò)誤報(bào)告基本信息主要包括:

錯(cuò)誤編號(hào)(每個(gè)軟件錯(cuò)誤都需要有一個(gè)唯一的編號(hào),獨(dú)一無二)軟件名稱和版本號(hào)(錯(cuò)誤所屬的)錯(cuò)誤的嚴(yán)重程度(用1-5或者公司規(guī)定的其他形式來表示)錯(cuò)誤概要(描述錯(cuò)誤的標(biāo)題)報(bào)告人發(fā)現(xiàn)錯(cuò)誤的時(shí)間承辦人(由項(xiàng)目經(jīng)理指定相關(guān)程序員修改錯(cuò)誤)錯(cuò)誤的優(yōu)先級(jí)(一般由項(xiàng)目經(jīng)理來指定)錯(cuò)誤狀態(tài)(描述錯(cuò)誤所處的處理狀態(tài))注釋2.4.3

軟件錯(cuò)誤報(bào)告的內(nèi)容錯(cuò)誤編號(hào):B1.1.1程序名:測(cè)試管理工具TMT版本標(biāo)識(shí):V1.0嚴(yán)重性:嚴(yán)重錯(cuò)誤概要:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx錯(cuò)誤描述:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx報(bào)告人:xxxx報(bào)告日期:2005-04-18承辦人:xxxx處理日期:2005-04-20優(yōu)先級(jí):1狀態(tài):開放注釋:錯(cuò)誤報(bào)告實(shí)例對(duì)每一項(xiàng)的詳細(xì)說明:

錯(cuò)誤編號(hào)

每個(gè)軟件錯(cuò)誤都需要有一個(gè)唯一的編號(hào),獨(dú)一無二,不存在有相同編號(hào)的兩份報(bào)告。程序名如果軟件產(chǎn)品包含了一個(gè)以上的程序,需要說明哪一個(gè)出了問題版本標(biāo)識(shí)版本號(hào),用來識(shí)別被測(cè)的代碼。能夠避免報(bào)告已經(jīng)改正的錯(cuò)誤而引起的混淆。版本號(hào)揭示出問題仍然存在于新版本中。2.4.3

軟件錯(cuò)誤報(bào)告的內(nèi)容對(duì)每一項(xiàng)的詳細(xì)說明:

嚴(yán)重性報(bào)告人員使用嚴(yán)重性來為問題嚴(yán)重程度評(píng)分。不同公司使用不同的評(píng)價(jià)等級(jí),反映出他們對(duì)質(zhì)量的重要程度有著不同的認(rèn)識(shí)。如果錯(cuò)誤的嚴(yán)重等級(jí)被評(píng)為輕微,它就往往得不到改正,如果存在太多,程序的質(zhì)量會(huì)遭到損害。如果輕微問題太多,可寫一份后續(xù)報(bào)告(評(píng)價(jià)為嚴(yán)重),以引起對(duì)其數(shù)量的關(guān)注。2.4.3

軟件錯(cuò)誤報(bào)告的內(nèi)容對(duì)每一項(xiàng)的詳細(xì)說明:

錯(cuò)誤概要寫出一兩行的錯(cuò)誤概要是一種技巧。概要可以幫助每個(gè)人很快地評(píng)審?fù)怀龅腻e(cuò)誤,并找到相應(yīng)的問題報(bào)告。若一份概要弱化了錯(cuò)誤的嚴(yán)重程度,管理人員就很可能將其延期處理。概要應(yīng)該只對(duì)問題進(jìn)行描述,不用說明出現(xiàn)問題的步驟。必須區(qū)分概要和描述,不要讓概要流于描述。即使問題是類似的,也不要對(duì)兩份不同的錯(cuò)誤報(bào)告做相同的概要。2.4.3

軟件錯(cuò)誤報(bào)告的內(nèi)容對(duì)每一項(xiàng)的詳細(xì)說明:

錯(cuò)誤描述

描述一下所有的步驟和現(xiàn)象,包括錯(cuò)誤信息。問題是什么?從一個(gè)清晰的啟始狀態(tài)出發(fā),一步一步地說明如何去做才能看到問題的發(fā)生。報(bào)告人報(bào)告人的名字必須填寫,如果程序員看不懂報(bào)告,他必須知道應(yīng)該找誰。日期是發(fā)現(xiàn)問題的日期,而不是填寫報(bào)告的日期或?qū)?bào)告輸入計(jì)算機(jī)的日期。發(fā)現(xiàn)問題的日期非常重要,有助于識(shí)別程序的版本,可以避免因有些程序員忘了改變代碼的版本號(hào)而產(chǎn)生的錯(cuò)誤。2.4.3

軟件錯(cuò)誤報(bào)告的內(nèi)容對(duì)每一項(xiàng)的詳細(xì)說明:

承辦人

負(fù)責(zé)處理該問題的小組或管理人員的名稱。項(xiàng)目經(jīng)理會(huì)將此報(bào)告交給某個(gè)程序員處理。注釋注釋字段是留給程序員和項(xiàng)目經(jīng)理填寫的。程序員在這里簡(jiǎn)短地說明為什么要推遲處理或說明是如何改正問題的。優(yōu)先級(jí)優(yōu)先級(jí)由項(xiàng)目經(jīng)理設(shè)置。項(xiàng)目經(jīng)理要求程序員依據(jù)優(yōu)先順序依次改正錯(cuò)誤。2.4.3

軟件錯(cuò)誤報(bào)告的內(nèi)容對(duì)每一項(xiàng)的詳細(xì)說明:

狀態(tài)所有的報(bào)告開始時(shí)都處于開放狀態(tài)。當(dāng)已確定完成了改正或者人們一致同意此份報(bào)告已不再是該版本的一個(gè)問題時(shí),將狀態(tài)改為關(guān)閉。在許多項(xiàng)目里,僅有一定權(quán)限的人才能將狀態(tài)改為關(guān)閉基本的錯(cuò)誤狀態(tài)有三種:開放、關(guān)閉和已修復(fù)。除了基本的三個(gè)狀態(tài)之外,還可以增加其他的狀態(tài)描述。2.4.3

軟件錯(cuò)誤報(bào)告的內(nèi)容報(bào)告軟件錯(cuò)誤的目的是為了保證修復(fù)錯(cuò)誤的人員可以重復(fù)報(bào)告的錯(cuò)誤,從而有利于分析錯(cuò)誤產(chǎn)生的原因,定位錯(cuò)誤,然后修正。測(cè)試人員可以親自示范,通常測(cè)試人員會(huì)通過軟件錯(cuò)誤報(bào)告單給出能導(dǎo)致程序出錯(cuò)的、詳盡的操作步驟程序員會(huì)根據(jù)收集到的信息查找錯(cuò)誤的原因報(bào)告軟件錯(cuò)誤的基本要求是準(zhǔn)確、簡(jiǎn)潔、完整、規(guī)范。2.4.4報(bào)告錯(cuò)誤的技巧測(cè)試人員能越高效地提交錯(cuò)誤報(bào)告,程序員就越有可能改正錯(cuò)誤,軟件錯(cuò)誤報(bào)告對(duì)程序員有直接的影響。如果錯(cuò)誤報(bào)告不清楚且很難理解,錯(cuò)誤就無法得到改正。測(cè)試人員應(yīng)該在要求的最短時(shí)間內(nèi)對(duì)問題進(jìn)行描述,使之最大可能地在將來得到改正。錯(cuò)誤報(bào)告說明如何讓問題重現(xiàn),對(duì)錯(cuò)誤進(jìn)行分析,以便用最少的步驟描述問題。如果報(bào)告中含有不必要的步驟,問題會(huì)比實(shí)際情況顯得缺乏概括性,還會(huì)迷惑和嚇到閱讀報(bào)告的人。程序員很有可能會(huì)延期處理看來冗長(zhǎng)而混亂的報(bào)告。2.4.4報(bào)告錯(cuò)誤的技巧編寫高效的報(bào)告,需要做到以下幾點(diǎn):

要重點(diǎn)說明讓問題重現(xiàn)的步驟和方法如果程序員不能親眼看到問題,他就會(huì)對(duì)問題報(bào)告置之不理。分析錯(cuò)誤,用最少的步驟描述如果報(bào)告中含有不必要的步驟,缺乏對(duì)實(shí)際情況的概括,會(huì)影響程序員對(duì)問題的分析和判斷,甚至誤導(dǎo)程序員的改錯(cuò)工作,造成程序員今后可能對(duì)測(cè)試報(bào)告的不信任。寫出的報(bào)告應(yīng)該完備、易讀而且沒有敵意所謂有敵意,是指測(cè)試人員在錯(cuò)誤報(bào)告中用了類似這樣的語句“有這樣的錯(cuò)誤實(shí)在太糟糕了,如果仔細(xì)地編寫,根本就不應(yīng)該寫出這樣的代碼”。2.4.4報(bào)告錯(cuò)誤的技巧編寫高效的報(bào)告,需要做到以下幾點(diǎn):

不要輕易猜測(cè)錯(cuò)誤的原因發(fā)現(xiàn)錯(cuò)誤之后,項(xiàng)目組需要分析錯(cuò)誤原因。一般情況下,這不是測(cè)試人員的責(zé)任。準(zhǔn)確地描述問題對(duì)測(cè)試人員來說已經(jīng)夠了,查找原因和修正錯(cuò)誤是程序員的事情。進(jìn)行演示和使用文件附件有些問題往往難以只用文字來表達(dá)。這時(shí),可以在報(bào)告中描述基本信息,然后找到程序員去演示。可以讓程序員站在計(jì)算機(jī)前,運(yùn)行他們的程序,指出程序的錯(cuò)誤,讓他們看著你重復(fù)發(fā)現(xiàn)錯(cuò)誤的整個(gè)過程。2.4.4報(bào)告錯(cuò)誤的技巧編寫高效的報(bào)告,需要做到以下幾點(diǎn):

立即記錄錯(cuò)誤當(dāng)一個(gè)錯(cuò)誤發(fā)生的時(shí)候,立刻停止正在進(jìn)行的任何操作。所有其他的操作,都有可能導(dǎo)致結(jié)果出現(xiàn)變化。當(dāng)測(cè)試人員在進(jìn)行系統(tǒng)測(cè)試時(shí),應(yīng)該在得到測(cè)試結(jié)果的同時(shí)或剛完成測(cè)試之后編寫錯(cuò)誤報(bào)告。在記錄錯(cuò)誤完畢之后,測(cè)試人員可以繼續(xù)做一些測(cè)試工作。測(cè)試人員在系統(tǒng)測(cè)試過程中發(fā)現(xiàn)編碼錯(cuò)誤時(shí),如果看到的是小失效,不要只是重現(xiàn)該失效并寫入報(bào)告,也許內(nèi)部錯(cuò)誤的實(shí)際影響非常嚴(yán)重。例如:緩沖區(qū)溢出,最初的表現(xiàn)是顯示出現(xiàn)一些異常,如果繼續(xù)使用軟件可能發(fā)生系統(tǒng)崩潰或數(shù)據(jù)損壞。如果測(cè)試人員只報(bào)告出現(xiàn)顯示亂碼,可能就遺漏了重要的錯(cuò)誤。2.4.4報(bào)告錯(cuò)誤的技巧編寫高效的報(bào)告,需要做到以下幾點(diǎn):

不要遺漏如果測(cè)試人員認(rèn)為出現(xiàn)的錯(cuò)誤真的是小錯(cuò)誤,作為測(cè)試人員仍然要報(bào)告而不能忽略它。一個(gè)程序小錯(cuò)誤較多,同樣會(huì)降低客戶對(duì)產(chǎn)品其他部分的信心。如拼寫錯(cuò)誤、小的屏幕格式問題、鼠標(biāo)遺跡、圖形比例不準(zhǔn)、在線幫助錯(cuò)誤、不起作用的快捷鍵、不正確的錯(cuò)誤信息。有時(shí)候,測(cè)試人員會(huì)在發(fā)現(xiàn)錯(cuò)誤之后馬上告訴程序員,程序員也開始了修復(fù)工作,在這種情況下,仍舊不要遺漏這個(gè)錯(cuò)誤的書面報(bào)告。2.4.4報(bào)告錯(cuò)誤的技巧報(bào)告錯(cuò)誤的意義在于使錯(cuò)誤得到改正,錯(cuò)誤報(bào)告中的常見問題:在報(bào)告中說“不好用”所報(bào)告內(nèi)容毫無意義在報(bào)告中用戶沒有提供足夠的信息在報(bào)告中提供了虛假信息所報(bào)告的問題是由于用戶的過失而產(chǎn)生的所報(bào)告的問題是由于其他程序的錯(cuò)誤而產(chǎn)生的所報(bào)告的問題是由于網(wǎng)絡(luò)錯(cuò)誤而產(chǎn)生的2.4.4報(bào)告錯(cuò)誤的技巧2.4.4報(bào)告錯(cuò)誤的技巧如何描述軟件錯(cuò)誤?在錯(cuò)誤報(bào)告中,核心的內(nèi)容是“錯(cuò)誤描述”。它是錯(cuò)誤報(bào)告中測(cè)試人員對(duì)問題的陳述,是錯(cuò)誤報(bào)告的基礎(chǔ)信息。優(yōu)秀的錯(cuò)誤描述主要由三個(gè)基本部分組成:“摘要”又叫主題或標(biāo)題,是關(guān)于錯(cuò)誤的一兩句話的描述,強(qiáng)調(diào)它對(duì)顧客或系統(tǒng)用戶的影響。“重建步驟”提供了如何重復(fù)這個(gè)失敗的精確描述?!案綦x”是指測(cè)試人員收集的結(jié)果和信息,以確認(rèn)錯(cuò)誤確實(shí)是一個(gè)問題,并標(biāo)識(shí)那些影響到錯(cuò)誤表現(xiàn)的要素。2.4.4報(bào)告錯(cuò)誤的技巧測(cè)試人員在報(bào)告錯(cuò)誤時(shí)需注意以下方面:

描述清楚、精確、簡(jiǎn)潔表意清楚對(duì)一份錯(cuò)誤報(bào)告是最基本的要求。至少語言要明確無歧義。如果做相同的事情有兩種方法,報(bào)告中需要說明用的是哪一種例如:選擇了‘載入’,可能意味著“用鼠標(biāo)單擊‘載入’按鈕”或“按下了‘Alt+L’組合鍵”,錯(cuò)誤報(bào)告中應(yīng)說明測(cè)試人員使用了哪種方法。在報(bào)告中盡量不要使用諸如“它”、“窗口”這些代詞。例如:“運(yùn)行了程序后,它彈出一個(gè)警告窗口,試著關(guān)掉它,它就崩潰了。”應(yīng)改為“運(yùn)行程序時(shí)彈出一個(gè)警告窗口,試著關(guān)閉警告窗口,整個(gè)程序崩潰了?!弊⒁鈭?bào)告書寫的簡(jiǎn)潔性。一個(gè)錯(cuò)誤一個(gè)報(bào)告,不要在一個(gè)報(bào)告中合并兩個(gè)錯(cuò)誤。2.4.4報(bào)告錯(cuò)誤的技巧測(cè)試人員在報(bào)告錯(cuò)誤時(shí)需注意以下方面:

內(nèi)容詳細(xì)信息寧多毋少。例如:錯(cuò)誤報(bào)告中說明“程序不好用。”錯(cuò)誤報(bào)告中需要寫明在什么環(huán)境下執(zhí)行什么操作,哪些步驟讓程序不好用。描述事實(shí)而不是推測(cè)在錯(cuò)誤報(bào)告中,要設(shè)法搞清什么是事實(shí)(如"我在計(jì)算機(jī)旁"和“xx出現(xiàn)了”)、什么是推測(cè)(如“我的問題可能是出在.....”)在錯(cuò)誤報(bào)告中應(yīng)盡量只描述看到的事實(shí),而省去測(cè)試人員的推測(cè),因?yàn)檫@可能誤導(dǎo)程序員對(duì)錯(cuò)誤的定位。

2.4.4報(bào)告錯(cuò)誤的技巧測(cè)試人員在報(bào)告錯(cuò)誤時(shí)需注意以下方面:報(bào)告錯(cuò)誤如何重現(xiàn)如果測(cè)試人員在錯(cuò)誤報(bào)告中給了程序員一長(zhǎng)串輸入和指令,而程序員執(zhí)行以后沒有出現(xiàn)錯(cuò)誤,這是因?yàn)閳?bào)告中沒有提供足夠的信息。測(cè)試人員在遇到錯(cuò)誤發(fā)生時(shí)最好不要不做思考就在錯(cuò)誤報(bào)告中填寫操作的每一步,要重復(fù)剛才的測(cè)試步驟確認(rèn)問題是否能夠重現(xiàn),即復(fù)現(xiàn)故障再寫錯(cuò)誤報(bào)告。2.4.4報(bào)告錯(cuò)誤的技巧測(cè)試人員在報(bào)告錯(cuò)誤時(shí)需注意以下方面:妥善處理間歇性錯(cuò)誤

大多數(shù)“間歇性錯(cuò)誤”并不是真正的“間歇”。有些錯(cuò)誤可能是內(nèi)存泄漏產(chǎn)生的,有些可能是其他的程序在不恰當(dāng)?shù)臅r(shí)候修改某個(gè)重要文件造成的。面對(duì)“間歇性錯(cuò)誤”,測(cè)試人員應(yīng)該如何處理呢?這時(shí)應(yīng)該如何書寫錯(cuò)誤報(bào)告呢?測(cè)試人員應(yīng)努力探測(cè)錯(cuò)誤產(chǎn)生的條件,如果能夠找到根源并使錯(cuò)誤重現(xiàn),則在錯(cuò)誤報(bào)告中說明錯(cuò)誤出現(xiàn)的環(huán)境或觸發(fā)條件;如果無法再次觸發(fā)一個(gè)錯(cuò)誤,嘗試了很多次仍然不成功,要承認(rèn)現(xiàn)實(shí)并填寫報(bào)告。2.4.4報(bào)告錯(cuò)誤的技巧測(cè)試人員在報(bào)告錯(cuò)誤時(shí)需注意以下方面:在遞交前檢查重新讀一遍書寫的錯(cuò)誤報(bào)告,檢查它是否清晰。如果報(bào)告中列出了一系列能導(dǎo)致程序出錯(cuò)的操作,那么照此再操作一遍,看看是不是有漏寫的步驟。要確認(rèn)步驟完整(沒有缺漏)、準(zhǔn)確(步驟準(zhǔn)確)、簡(jiǎn)短(沒有多余的步驟),保證快速準(zhǔn)確地重復(fù)錯(cuò)誤。2.4.4報(bào)告錯(cuò)誤的技巧其它需要注意的方面:

每一個(gè)步驟中,盡量只記錄一個(gè)操作,這樣將容易重復(fù)操作步驟。根據(jù)錯(cuò)誤類型,選擇圖像捕捉的方式。為了直觀的觀察錯(cuò)誤現(xiàn)象,通常可以附加提供錯(cuò)誤出現(xiàn)的界面。附加必要的特殊文檔。如果打開某個(gè)特殊的文檔而產(chǎn)生的錯(cuò)誤,則必須附加該文檔,以再現(xiàn)錯(cuò)誤。當(dāng)一個(gè)錯(cuò)誤發(fā)生的時(shí)候,測(cè)試人員應(yīng)立刻停止正在做的任何操作并記錄2.4.4報(bào)告錯(cuò)誤的技巧錯(cuò)誤報(bào)告分析(一)錯(cuò)誤

ID:B1.1.1程序名:文本編輯工具Note版本標(biāo)識(shí):V1.0嚴(yán)重性:一般錯(cuò)誤概要:在Solaris、Windows98和Mac上運(yùn)行Note,一些數(shù)據(jù)在設(shè)置成某種格式時(shí)會(huì)出現(xiàn)顯示異常。錯(cuò)誤描述:重建步驟:1)我在Windows98下打開Note程序,編輯一個(gè)已存在的文件,該文件有多行,且包括多種字體格式;

2)我選擇文件打印,工作正常;

3)我新建并打印一個(gè)包含圖形的文件,工作正常;

4)我新建一個(gè)新文件;

5)接著我輸入一連串隨機(jī)文本;

6)高亮選中幾行文本,選擇右鍵彈出菜單中Font選項(xiàng),并選擇Arial字體;

7)文本顯示變得異常;

8)我試著運(yùn)行了三次,每一次都出現(xiàn)同樣問題;

9)我在Solaris上運(yùn)行了6次,沒有看到任何問題;

10)我在Mac上運(yùn)行了6次,沒有看到任何問題;隔離:1)我嘗試選擇其他字體形式,但只有Arial有這個(gè)問題出現(xiàn)。然而,該問題可能仍然在我沒有測(cè)試的其他字體下出現(xiàn)。報(bào)告人:xxxx報(bào)告日期:2005-01-18承辦人:xxxx處理日期:2005-01-20優(yōu)先級(jí):3狀態(tài):開放注釋:冗長(zhǎng)混亂的錯(cuò)誤報(bào)告錯(cuò)誤報(bào)告分析(二)錯(cuò)誤

ID:B1.1.1程序名:文本編輯工具Note版本標(biāo)識(shí):V1.0嚴(yán)重性:一般錯(cuò)誤概要:Note程序在使用Arial字體時(shí)出問題錯(cuò)誤描述:重建步驟:1)打開Note程序;

2)鍵入一些文本;

3)選擇Arial字體;

4)文本顯示異常。報(bào)告人:xxxx報(bào)告日期:2005-01-18承辦人:xxxx處理日期:2005-01-20優(yōu)先級(jí):3狀態(tài):開放注釋:含糊不清的錯(cuò)誤報(bào)告

錯(cuò)誤報(bào)告分析(三)錯(cuò)誤

ID:B1.1.1程序名:文本編輯工具Note版本標(biāo)識(shí):V1.0嚴(yán)重性:一般錯(cuò)誤概要:Windows98下Note在新建文件中選擇設(shè)置Arial字體時(shí)出現(xiàn)亂碼。錯(cuò)誤描述:重建步驟:1)打開Note創(chuàng)建一個(gè)新文件;

2)隨意輸入兩行或多行文本;

3)選中一段文本,在右鍵彈出菜單中選中格式選項(xiàng),選擇Arial;

4)文本被改變成無意義的亂寫的符號(hào);

5)嘗試了三次該步驟,同樣的問題出現(xiàn)了三次。隔離:1)保存新建文件,關(guān)閉Note,重新打開該文件,問題仍然存在;

2)如果在把文本改成Arial字體前保存文件,該錯(cuò)誤不會(huì)出現(xiàn);

3)該錯(cuò)誤只存在于新建文件時(shí),不出現(xiàn)在已存在的文件;

4)該現(xiàn)象只在Windows98下出現(xiàn);

5)該錯(cuò)誤不會(huì)出現(xiàn)在其他字體改變中。報(bào)告人:xxxx報(bào)告日期:2005-01-18承辦人:xxxx處理日期:2005-01-20優(yōu)先級(jí):3狀態(tài):開放注釋:優(yōu)秀的錯(cuò)誤報(bào)告

報(bào)告中需要重現(xiàn)錯(cuò)誤嗎?2.4.5錯(cuò)誤的重現(xiàn)所謂“重現(xiàn)錯(cuò)誤”,就是讓所找到的軟件錯(cuò)誤再次發(fā)生。為什么需要重現(xiàn)錯(cuò)誤?如果不能重現(xiàn)錯(cuò)誤,程序員可能不能理解到底發(fā)生了什么。程序員需要知道錯(cuò)誤發(fā)生的步驟,對(duì)程序進(jìn)行動(dòng)態(tài)調(diào)試,以修復(fù)問題。如果程序員不能親眼看到問題,有時(shí)候程序員會(huì)對(duì)軟件錯(cuò)誤報(bào)告置之不理。2.4.5錯(cuò)誤的重現(xiàn)所有的錯(cuò)誤都能重現(xiàn)嗎?2.4.5錯(cuò)誤的重現(xiàn)人們會(huì)經(jīng)常遇到無法重現(xiàn)某些錯(cuò)誤的情況:有時(shí)候是程序員不能重現(xiàn)錯(cuò)誤有時(shí)候是在某些計(jì)算機(jī)上不能重現(xiàn)錯(cuò)誤最不幸的情況是,包括測(cè)試人員自己,誰也不能在任何計(jì)算機(jī)上重現(xiàn)錯(cuò)誤。2.4.5錯(cuò)誤的重現(xiàn)當(dāng)測(cè)試人員發(fā)現(xiàn)一個(gè)錯(cuò)誤時(shí),他所看到的只是現(xiàn)象,并不是根源。根本的錯(cuò)誤也許在很多步驟前就已經(jīng)發(fā)生了:在錯(cuò)誤包含的所有步驟中,可能就是其中的某個(gè)步驟觸發(fā)了錯(cuò)誤。如果能將這個(gè)觸發(fā)步驟分離出來,測(cè)試人員就能夠非常容易的重現(xiàn)錯(cuò)誤,程序員也能夠更加容易地改正它。2.4.5錯(cuò)誤的重現(xiàn)故在測(cè)試中,測(cè)試人員要能夠準(zhǔn)確地記錄所有的操作步驟,特別是關(guān)鍵步驟。如果依次執(zhí)行事件A、B、C,程序執(zhí)行到C時(shí)進(jìn)行了某些錯(cuò)誤操作,測(cè)試人員就可以知道錯(cuò)誤可能出在B上。再試一下執(zhí)行A、B、D,看一看程序執(zhí)行到D時(shí)可能再出現(xiàn)什么問題。測(cè)試人員可以一直變換著下一個(gè)步驟,看看程序會(huì)發(fā)生什么情況。2.4.5錯(cuò)誤的重現(xiàn)如果找到的問題很復(fù)雜,包含了很多步驟,如果跳過了其中一些或是稍微進(jìn)行了改動(dòng),會(huì)出現(xiàn)什么樣的情況?錯(cuò)誤還存在嗎?消失了還是變成了其他的問題?步驟去除的越多越好。應(yīng)該對(duì)每個(gè)步驟進(jìn)行測(cè)試,看看它是不是重現(xiàn)錯(cuò)誤的必要環(huán)節(jié)。至于步驟的改變,可以在每個(gè)步驟中查找是否存在邊界條件。如果某個(gè)程序每行顯示三個(gè)姓名,而且你知道了每行正好顯示六個(gè)姓名時(shí)程序會(huì)失效,那么每行正好顯示三個(gè)會(huì)發(fā)生什么呢?

2.4.5錯(cuò)誤的重現(xiàn)當(dāng)所發(fā)現(xiàn)的錯(cuò)誤不能被重現(xiàn)時(shí),測(cè)試人員應(yīng)重復(fù)發(fā)現(xiàn)錯(cuò)誤時(shí)的操作環(huán)境和操作步驟,努力地重現(xiàn)錯(cuò)誤。軟件錯(cuò)誤是不會(huì)間歇發(fā)生的,即使出現(xiàn)概率很小,但一旦滿足了確切的條件,錯(cuò)誤會(huì)再次顯現(xiàn)出來。任何錯(cuò)誤都應(yīng)該是可重現(xiàn)的。2.4.5錯(cuò)誤的重現(xiàn)為什么我無法重現(xiàn)錯(cuò)誤?2.4.5錯(cuò)誤的重現(xiàn)有很多原因使測(cè)試人員不能立即重現(xiàn)某個(gè)錯(cuò)誤:競(jìng)爭(zhēng)條件如果測(cè)試人員未能再次觸發(fā)某個(gè)錯(cuò)誤,它就可能是與時(shí)間相關(guān)的。當(dāng)程序運(yùn)行速度超過其能力,競(jìng)爭(zhēng)條件就會(huì)出現(xiàn)。應(yīng)該重復(fù)進(jìn)行幾次,直到實(shí)在無法重現(xiàn)再放棄努力。錯(cuò)誤依賴于特定執(zhí)行順序錯(cuò)誤可能是由于測(cè)試人員以特定順序執(zhí)行一系列相關(guān)的任務(wù)引起的。在測(cè)試中發(fā)現(xiàn)某個(gè)問題后測(cè)試人員無法重現(xiàn)它,那很可能是測(cè)試人員忘記了一些環(huán)節(jié)。測(cè)試人員沒有一個(gè)詳細(xì)的要做的事情的計(jì)劃。2.4.5錯(cuò)誤的重現(xiàn)有很多原因使測(cè)試人員不能立即重現(xiàn)某個(gè)錯(cuò)誤:錯(cuò)誤造成的影響導(dǎo)致無法重現(xiàn)錯(cuò)誤可能會(huì)破壞文件、對(duì)無效的內(nèi)存單元進(jìn)行寫操作、使中斷失效或是關(guān)閉I/O端口。程序錯(cuò)誤可能依賴于特定的數(shù)據(jù)取值或被破壞了的數(shù)據(jù)庫。故,切記:永遠(yuǎn)也不要直接使用原始數(shù)據(jù),應(yīng)總是使用其副本。錯(cuò)誤與內(nèi)存內(nèi)容相關(guān)程序可能只在特定容量或特定類型的內(nèi)存下才會(huì)失效。還有一種與內(nèi)存有關(guān)的情況,即可用內(nèi)存總的容量似乎是足夠了,但碎片太多。2.4.5錯(cuò)誤的重現(xiàn)有很多原因使測(cè)試人員不能立即重現(xiàn)某個(gè)錯(cuò)誤:僅僅在初次運(yùn)行時(shí)出現(xiàn)錯(cuò)誤例如,當(dāng)程序初次運(yùn)行時(shí),其中的一個(gè)工作就是在磁盤上初始化配置數(shù)據(jù)文件。如果程序在初始化之前執(zhí)行任何操作,程序就會(huì)不正常,而一旦數(shù)據(jù)文件初始化完成,程序就會(huì)正常工作。使用DriveImage、Ghost或類似工具,恢復(fù)干凈系統(tǒng),重新裝載應(yīng)用程序,檢查現(xiàn)在是否能夠重現(xiàn)該問題。間歇性的硬件故障硬件故障通常都是完整的。但熱量的積累或電源的波動(dòng)可能會(huì)導(dǎo)致內(nèi)存芯片發(fā)生間歇性故障,也可能導(dǎo)致內(nèi)存工作不精確,通信時(shí)斷時(shí)續(xù)。 2.4.5錯(cuò)誤的重現(xiàn)有很多原因使測(cè)試人員不能立即重現(xiàn)某個(gè)錯(cuò)誤:與時(shí)間相關(guān)的錯(cuò)誤有的程序錯(cuò)誤出現(xiàn)在特定的時(shí)間上,應(yīng)該檢查一下程序跨日、周、月、年、閏年及世紀(jì)等邊界情況。錯(cuò)誤依賴于資源例如在一個(gè)多處理系統(tǒng),有兩個(gè)以上的進(jìn)程共享中央處理器、資源及內(nèi)存。當(dāng)一個(gè)進(jìn)程使用打印機(jī),其他進(jìn)程就必須等待。如果一個(gè)進(jìn)程占用了90%的可用內(nèi)存,其他的進(jìn)程可能需要等待,這些進(jìn)程必須能在資源請(qǐng)求被拒后恢復(fù)狀態(tài)要重現(xiàn)某個(gè)由錯(cuò)誤恢復(fù)而產(chǎn)生的故障,必須重現(xiàn)資源請(qǐng)求受拒的情形。2.4.5錯(cuò)誤的重現(xiàn)有很多原因使測(cè)試人員不能立即重現(xiàn)某個(gè)錯(cuò)誤:錯(cuò)誤由長(zhǎng)期積累形成程序錯(cuò)誤可能有延遲效應(yīng),錯(cuò)誤可能不會(huì)立即產(chǎn)生影響。某個(gè)錯(cuò)誤可能需要重復(fù)幾十次,程序才處于崩潰邊緣。此時(shí),幾乎任何操作都會(huì)導(dǎo)致程序崩潰,哪怕一個(gè)完全無關(guān)且不含錯(cuò)誤的處理程序都會(huì)神奇地讓崩潰發(fā)生。例如:很多程序都使用到了堆棧。堆棧是為臨時(shí)數(shù)據(jù)預(yù)留的一部分內(nèi)存區(qū)域。假設(shè)堆棧規(guī)模很小,很快就被填滿,這時(shí)若再往堆棧中放入數(shù)據(jù),堆棧就會(huì)發(fā)生溢出。堆棧溢出常會(huì)導(dǎo)致程序崩潰。有人動(dòng)了計(jì)算機(jī)這是可能發(fā)生的。測(cè)試人員可能在測(cè)試的中途離開,當(dāng)測(cè)試人員不在的時(shí)候有人輸入了新的數(shù)據(jù)而后來又忘了告訴測(cè)試人員。2.4.5錯(cuò)誤的重現(xiàn)思考:

1、所有的錯(cuò)誤對(duì)系統(tǒng)的影響都一樣嗎?

2、該先修復(fù)哪個(gè)錯(cuò)誤?

3、錯(cuò)誤都是因?yàn)榫帉懘a引起的嗎?

思考:

1、報(bào)告完錯(cuò)誤,測(cè)試人員工作是否結(jié)束?

2、發(fā)現(xiàn)的錯(cuò)誤誰負(fù)責(zé)解決?

管理軟件錯(cuò)誤是測(cè)試工作的一個(gè)重要部分。管理軟件錯(cuò)誤主要是對(duì)錯(cuò)誤進(jìn)行跟蹤,確保每個(gè)被發(fā)現(xiàn)的錯(cuò)誤都能夠及時(shí)得到處理。軟件測(cè)試錯(cuò)誤跟蹤管理系統(tǒng)可以實(shí)現(xiàn)錯(cuò)誤跟蹤管理,是管理軟件測(cè)試錯(cuò)誤的專用數(shù)據(jù)庫系統(tǒng),能夠高效率地完成軟件錯(cuò)誤的報(bào)告、驗(yàn)證、修改、查詢、統(tǒng)計(jì)、存儲(chǔ)等任務(wù)。2.5

管理軟件錯(cuò)誤對(duì)錯(cuò)誤的跟蹤需要達(dá)到以下的目標(biāo):

確保每個(gè)被發(fā)現(xiàn)的錯(cuò)誤都能夠被解決解決不一定是被修正,也可能是其他處理方式,但對(duì)每個(gè)被發(fā)現(xiàn)的錯(cuò)誤的處理方式必須能夠在開發(fā)組織中達(dá)到一致。收集錯(cuò)誤數(shù)據(jù)并根據(jù)錯(cuò)誤趨勢(shì)曲線識(shí)別測(cè)試過程的階段決定測(cè)試過程是否結(jié)束有很多種方式,通過錯(cuò)誤趨勢(shì)曲線來確定測(cè)試過程是否結(jié)束是常用并且較為有效的一種方式收集錯(cuò)誤數(shù)據(jù)并在其上進(jìn)行數(shù)據(jù)分析,作為組織的過程財(cái)富2.5

管理軟件錯(cuò)誤學(xué)習(xí)管理軟件錯(cuò)誤時(shí),首先要了解軟件錯(cuò)誤狀態(tài)。從錯(cuò)誤跟蹤管理流程可以看出,錯(cuò)誤從最初被提交到最終解決,測(cè)試人員、項(xiàng)目經(jīng)理、開發(fā)人員均使用錯(cuò)誤報(bào)告作為溝通的橋梁。通常通過定義錯(cuò)誤狀態(tài)來讓測(cè)試人員、項(xiàng)目經(jīng)理、開發(fā)人員等了解錯(cuò)誤處理情況,提高錯(cuò)誤解決效率。2.5

管理軟件錯(cuò)誤1、軟件錯(cuò)誤狀態(tài)在不同的公司,對(duì)于軟件錯(cuò)誤狀態(tài)定義可能會(huì)有所差異。下面給出一個(gè)錯(cuò)誤狀態(tài)定義的例子。軟件錯(cuò)誤的狀態(tài)包括6個(gè)狀態(tài):開放已分配被拒絕被忽略修復(fù)關(guān)閉1、軟件錯(cuò)誤狀態(tài)每個(gè)狀態(tài)的含義:開放這是錯(cuò)誤的初始狀態(tài)。當(dāng)測(cè)試人員發(fā)現(xiàn)錯(cuò)誤之后,就設(shè)置錯(cuò)誤的狀態(tài)為“開放”。項(xiàng)目經(jīng)理會(huì)定時(shí)地去瀏覽所有標(biāo)記為“開放”的錯(cuò)誤。已分配項(xiàng)目經(jīng)理在瀏覽了標(biāo)記為“開放”狀態(tài)的錯(cuò)誤之后,需要判斷每個(gè)錯(cuò)誤需要由誰來處理。當(dāng)確定了處理的負(fù)責(zé)人之后,項(xiàng)目經(jīng)理就把相應(yīng)的錯(cuò)誤狀態(tài)標(biāo)記為“已分配”。1、軟件錯(cuò)誤狀態(tài)每個(gè)狀態(tài)的含義:被拒絕如果所報(bào)告的錯(cuò)誤無法被重現(xiàn)、錯(cuò)誤報(bào)告不完善,報(bào)告難以被閱讀和理解,這個(gè)錯(cuò)誤就有可能被項(xiàng)目經(jīng)理拒絕。此時(shí),錯(cuò)誤的狀態(tài)被記錄為“被拒絕”。測(cè)試人員將糾正報(bào)告的不足,然后再次提交它。有時(shí),程序員發(fā)現(xiàn)所分配給自己的錯(cuò)誤跟自己沒有關(guān)系,也可能會(huì)拒絕接受這個(gè)錯(cuò)誤。1、軟件錯(cuò)誤狀態(tài)每個(gè)狀態(tài)的含義:被忽略測(cè)試人員所報(bào)告的錯(cuò)誤有可能是誤報(bào),項(xiàng)目經(jīng)理將把這個(gè)錯(cuò)誤的狀態(tài)設(shè)置為“忽略”。如果某個(gè)問題很小,而不同的人對(duì)于這是不是一個(gè)問題還存在爭(zhēng)議,項(xiàng)目經(jīng)理也有可能把這個(gè)錯(cuò)誤的狀態(tài)設(shè)置為“忽略”。程序員不會(huì)去理會(huì)被設(shè)置為“忽略”的錯(cuò)誤。一般來說,程序員沒有把錯(cuò)誤狀態(tài)設(shè)置為“忽略”的權(quán)限。項(xiàng)目經(jīng)理、公司的質(zhì)量主管往往會(huì)定期地檢查那些被設(shè)置為“忽略”的錯(cuò)誤,要審核一下是不是真的可以把這些錯(cuò)誤設(shè)置為“忽略”。1、軟件錯(cuò)誤狀態(tài)每個(gè)狀態(tài)的含義:已修復(fù)程序員會(huì)努力地修改標(biāo)記為“已分配”的軟件錯(cuò)誤。當(dāng)程序員完成了修改之后,就把錯(cuò)誤狀態(tài)改成“已修復(fù)”。這表示:程序員認(rèn)為這個(gè)錯(cuò)誤已經(jīng)被修復(fù)了。關(guān)閉程序員認(rèn)為錯(cuò)誤“已修復(fù)”,但錯(cuò)誤有可能仍舊存在。測(cè)試人員將檢查這個(gè)錯(cuò)誤是不是真的被修復(fù)了,如果錯(cuò)誤真的被修復(fù)了,則把這個(gè)錯(cuò)誤的狀態(tài)設(shè)置為“關(guān)閉”。這個(gè)錯(cuò)誤徹底地被解決了。如果發(fā)現(xiàn)錯(cuò)誤其實(shí)沒有被修復(fù),就會(huì)把這個(gè)錯(cuò)誤的狀態(tài)設(shè)置為“開放”。1、軟件錯(cuò)誤狀態(tài)不同公司可能使用不同的錯(cuò)誤狀態(tài)名稱,也可能增加一些其他狀態(tài),例如:符合設(shè)計(jì)上報(bào)的問題不是錯(cuò)誤,報(bào)告中描述的程序運(yùn)行情況反映的是程序的預(yù)訂操作。由報(bào)告人撤回如果報(bào)告的撰寫人覺得不應(yīng)該報(bào)告這個(gè)錯(cuò)誤(如重復(fù)報(bào)告了一個(gè)錯(cuò)誤),可以把它撤回。不同意建議設(shè)計(jì)上不會(huì)做任何更改1、軟件錯(cuò)誤狀態(tài)不同公司可能使用不同的錯(cuò)誤狀態(tài)名稱,也可能增加一些其他狀態(tài),例如:重復(fù)很多公司使用這個(gè)狀態(tài),并且關(guān)閉重復(fù)上報(bào)的錯(cuò)誤。但如果關(guān)閉相似而不是相同的錯(cuò)誤,就會(huì)帶來風(fēng)險(xiǎn)。看起來相似的錯(cuò)誤,其原因可能不同。暫緩處理項(xiàng)目經(jīng)理確信這是一個(gè)真正的錯(cuò)誤,但是因?yàn)橐幌盗性?,不打算?duì)這個(gè)問題立即處理。2、錯(cuò)誤管理流程錯(cuò)誤管理又稱錯(cuò)誤跟蹤或錯(cuò)誤跟蹤與管理3、統(tǒng)計(jì)軟件錯(cuò)誤錯(cuò)誤數(shù)據(jù)統(tǒng)計(jì)是錯(cuò)誤跟蹤管理的目標(biāo)。測(cè)試人員可以通過系統(tǒng)測(cè)試的結(jié)果數(shù)據(jù)提供相應(yīng)的統(tǒng)計(jì)數(shù)據(jù)給產(chǎn)品開發(fā)或測(cè)試工作的改進(jìn)提供依據(jù)。如能夠統(tǒng)計(jì)一段時(shí)期每個(gè)人發(fā)現(xiàn)的錯(cuò)誤數(shù)量,錯(cuò)誤的平均修正時(shí)間,一個(gè)產(chǎn)品周期發(fā)現(xiàn)的錯(cuò)誤總數(shù)等。3、統(tǒng)計(jì)軟件錯(cuò)誤對(duì)錯(cuò)誤的統(tǒng)計(jì)有多種方式,常用的統(tǒng)計(jì)方法有:按照錯(cuò)誤的嚴(yán)重程度進(jìn)行統(tǒng)計(jì)按照錯(cuò)誤發(fā)生的根本原因進(jìn)行統(tǒng)計(jì)按照功能模塊進(jìn)行統(tǒng)計(jì)按照每天發(fā)現(xiàn)的錯(cuò)誤數(shù)量進(jìn)行統(tǒng)計(jì)3、統(tǒng)計(jì)軟件錯(cuò)誤按照錯(cuò)誤的嚴(yán)重程度進(jìn)行統(tǒng)計(jì)主要是讓項(xiàng)目管理者對(duì)產(chǎn)品的質(zhì)量有定量的了解。通常把錯(cuò)誤的嚴(yán)重性分成5種。例如:從錯(cuò)誤的嚴(yán)重性來統(tǒng)計(jì)等級(jí)和數(shù)量的一個(gè)分布情況,如表和圖所示。1級(jí)2級(jí)3級(jí)4級(jí)5級(jí)錯(cuò)誤數(shù)量917255934表2-5統(tǒng)計(jì)錯(cuò)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論