軟件測試管理規(guī)范_第1頁
軟件測試管理規(guī)范_第2頁
軟件測試管理規(guī)范_第3頁
軟件測試管理規(guī)范_第4頁
軟件測試管理規(guī)范_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 系統(tǒng)集成項(xiàng)目管理控制規(guī)范 xxxxxxxxxxx科技有限公司 編寫測試計(jì)劃目的 預(yù)算、資源限制和時間進(jìn)度確定后,你就能聲稱自己擁有測試計(jì)劃了嗎?-實(shí)際上還需要做更為細(xì)致的工作才能成功地管理測試項(xiàng)目。 編寫測試計(jì)劃能讓我們有機(jī)會收集想法、觀點(diǎn)和記憶。編寫詳細(xì)的測試計(jì)劃能夠使我們把知識轉(zhuǎn)化為執(zhí)行任務(wù)的具體方法。 編寫計(jì)劃也能增強(qiáng)我們與測試團(tuán)隊(duì)、開發(fā)團(tuán)隊(duì)及經(jīng)理們進(jìn)行交流。測試計(jì)劃的數(shù)量 假設(shè)你是測試負(fù)責(zé)人,負(fù)責(zé)單元測試、集成測試及系統(tǒng)測試階段,因此你有三個不同的測試子項(xiàng)目需要計(jì)劃和管理,這時你是編寫一個測試計(jì)劃,還是三個測試計(jì)劃呢?這些子項(xiàng)目可能在以下這些方面有所區(qū)別。 不同的時間階段 不同的方法

2、學(xué) 不同的目標(biāo) 不同的聽眾測試計(jì)劃模板 我們常常要使用制定的測試模版,它不僅是可以讓我們在很少的時間內(nèi)可以制定測試計(jì)劃的工具,更重要的是它是一個主題的邏輯集合,這些集合正是我們測試工作所需要的。 根據(jù)項(xiàng)目的實(shí)際需要,我們可以自由地增加或刪除主題測試計(jì)劃模板1 概述 測試計(jì)劃的概述部分要介紹測試項(xiàng)目,在概述中,要扼要地?cái)⑹瞿繕?biāo)、方法和目的。 也可以闡述被測系統(tǒng)的體系結(jié)構(gòu),或者說明這個測試工作怎樣適應(yīng)于其他可能已經(jīng)執(zhí)行、并發(fā)執(zhí)行或?qū)⒁獔?zhí)行的測試工作。2 邊界 測試計(jì)劃的邊界就是通過討論要測試的或者不測試的內(nèi)容、定義重要術(shù)語和與計(jì)劃只想測試相關(guān)的簡稱,以及決定在什么地方和什么背景下進(jìn)行相關(guān)的測試工作

3、。 在測試計(jì)劃邊界中一般包括以下幾個方面: 范圍-在描述項(xiàng)目測試范圍時,要很注意區(qū)分在項(xiàng)目過程中要處理的和不需要處理的事情。 定義-測試術(shù)語及短語的定義,在測試計(jì)劃定義表中可以幫助隊(duì)測試領(lǐng)域不熟悉的人弄清術(shù)語,并且有助于測試組每個人都以同樣的定義集合來操作。 部署-描述打算執(zhí)行測試的地點(diǎn)以及與其它部門之間的協(xié)調(diào)辦法。3 質(zhì)量風(fēng)險 如果項(xiàng)目計(jì)劃中已經(jīng)定義了質(zhì)量風(fēng)險,那么我們可以在測試計(jì)劃中歸納或引用這些風(fēng)險。4 里程碑的推薦進(jìn)度 大多數(shù)測試計(jì)劃中都包含了測試項(xiàng)目中主要里程碑的進(jìn)度安排,我們可以在項(xiàng)目工作分解結(jié)構(gòu)中提取得到。 里程碑重點(diǎn)放在管理層可以看到的高級里程碑和交付產(chǎn)品上。5 過渡 測試計(jì)劃

4、的這一部分指名了各個階段開始和結(jié)束的必要標(biāo)準(zhǔn),通常包括以下幾個標(biāo)準(zhǔn): 進(jìn)入標(biāo)準(zhǔn)-指允許系統(tǒng)進(jìn)入到具體測試階段需要滿足的條件。 繼續(xù)標(biāo)準(zhǔn)-定義了那些在測試過程中高效地繼續(xù)測試,而必須滿足的條件和情況。 退出標(biāo)準(zhǔn)-退出標(biāo)準(zhǔn)解決如何決定什么時候完成測試的問題。 我們可以將每個標(biāo)準(zhǔn)按照典型的“綠”(完全滿意)、“黃”(不完全滿意,但可能不是問題)、“紅”(不滿意且造成主要問題)來劃分等級,用數(shù)據(jù)來支持標(biāo)記為“黃”、“紅”的標(biāo)準(zhǔn)。6 測試配置和環(huán)境 在測試計(jì)劃的這個部分中記錄用來執(zhí)行測試的硬件、軟件、網(wǎng)絡(luò)等環(huán)境。 測試硬件分配計(jì)劃通常包括測試目的或方法、需要的系統(tǒng)(包括數(shù)量及版本)、基礎(chǔ)設(shè)施、時間范圍、

5、地點(diǎn),以及特殊測試需要的其他硬件。7 測試開發(fā) 測試計(jì)劃的這部分將確定測試項(xiàng)目中的開發(fā)工作,如編寫測試用例、開發(fā)測試工具、編寫自動化測試腳本等。 在這里要描述測試組將如何創(chuàng)建這些對象,如果我們打算手工測試,那怎樣編寫測試用例;如果使用現(xiàn)有的測試工具,那要描述為什么選擇該工具以及打算如何開發(fā)測試腳本;如果我們開發(fā)定制測試工具,那要描述功能是什么,打算怎樣使用它們。 在測試計(jì)劃中要確定自動化測試及手工測試在各測試階段所占的比例。8 測試執(zhí)行 測試計(jì)劃指出了影響測試執(zhí)行的重要因素。 如果是資深測試小組測試一個運(yùn)行良好的項(xiàng)目,那么在計(jì)劃中一般會把這一塊的大部分內(nèi)容留給測試人員自由決定;如果是初級測試人

6、員,特別是管理混亂的項(xiàng)目,在計(jì)劃階段了解得越深入,越能提前預(yù)料和解決可能出現(xiàn)的問題。 測試計(jì)劃中的執(zhí)行包括以下方面: 關(guān)鍵參與者 測試用例和缺陷跟蹤 錯誤隔離和分類 發(fā)布管理 測試循環(huán) 測試時間9 風(fēng)險參數(shù)和不測事件 在這部分,說明在測試計(jì)劃中可能存在使測試計(jì)劃很難或者不可能執(zhí)行的潛在的事件。例如,如果發(fā)現(xiàn)的bug數(shù)量超常就需要開發(fā)人員的支持。 嚴(yán)格地說,好的開發(fā)過程大多數(shù)主張對風(fēng)險管理實(shí)行全局管理方法,如果我們當(dāng)前的項(xiàng)目擁有一個風(fēng)險管理計(jì)劃,那么可以在風(fēng)險管理計(jì)劃中提供,此處可省略。10 變更歷史 這部分記錄到此為止測試計(jì)劃的變更和修訂。11 參考文檔 一般來說,測試計(jì)劃會參考其它文檔,比如

7、設(shè)計(jì)規(guī)格說明、需求、測試包、任何質(zhì)量風(fēng)險分析文檔,以及其他相關(guān)信息。12 常見問題 在新手作為測試工程師和測試技術(shù)員的項(xiàng)目中,常見問題部分很有用。其中很多問題都描述了逐步升級過程的重要性 測試規(guī)范流程與測試管理測試過程模式一第一部分(項(xiàng)目組中的測試) 這一部分中是將測試過程作為項(xiàng)目組內(nèi)部的活動 測試工作以過程的形式組織起來,這種測試框架由以下幾個測試過程組成:1 測試策略2 測試計(jì)劃3 測試設(shè)計(jì)4 測試執(zhí)行及缺陷管理5 缺陷度量分析1 測試策略 項(xiàng)目中的測試策略包含以下任務(wù): 明確測試因素 明確測試范圍 明確并選擇自動化測試工具 明確項(xiàng)目的測試目標(biāo) 評審并制定測試策略2 測試計(jì)劃 測試計(jì)劃由以

8、下幾個過程構(gòu)成: 單元測試計(jì)劃 集成測試計(jì)劃 系統(tǒng)測試計(jì)劃 驗(yàn)收測試計(jì)劃 回歸測試策略(適用的)3 測試設(shè)計(jì) 測試設(shè)計(jì)由以下任務(wù)構(gòu)成: 測試場景/測試用例設(shè)計(jì) 測試數(shù)據(jù)設(shè)計(jì)4 測試執(zhí)行及缺陷管理 測試執(zhí)行及缺陷管理過程由以下任務(wù)構(gòu)成: 配置測試環(huán)境 測試執(zhí)行 缺陷修改及回歸測試 測試總結(jié)報(bào)告5缺陷度量分析 缺陷度量分析是每個項(xiàng)目的重要組成部分,它在早期階段預(yù)防缺陷起著非常重要的作用。 這個過程非常重要,并且應(yīng)該在每個測試執(zhí)行后都應(yīng)該進(jìn)行。 缺陷度量分析由以下任務(wù)構(gòu)成: 缺陷數(shù)據(jù)統(tǒng)計(jì) 缺陷預(yù)防二第二部分(獨(dú)立測試團(tuán)隊(duì)中的測試) 這部分是獨(dú)立的測試團(tuán)隊(duì)執(zhí)行一系列的測試過程任務(wù),這依賴于測試團(tuán)隊(duì)與項(xiàng)

9、目團(tuán)隊(duì)之間的交流。 各個任務(wù)將會以過程的形式組織,獨(dú)立測試團(tuán)隊(duì)只負(fù)責(zé)進(jìn)行系統(tǒng)測試階段的測試,單元測試和集成測試是由項(xiàng)目團(tuán)隊(duì)負(fù)責(zé)進(jìn)行的。 測試工作框架由以下的測試過程組成:1 測試需求管理2 測試策略3 測試計(jì)劃4 測試設(shè)計(jì)5 測試執(zhí)行及缺陷管理6 缺陷度量分析1 測試需求管理 測試需求管理有以下幾個重要的任務(wù): 明確團(tuán)隊(duì)的職責(zé) 收集測試需求2測試策略測試策略過程包含以下主要的任務(wù): 明確測試因素 明確測試范圍 決定并且選擇自動化測試工具 明確測試目標(biāo) 評審并制定測試策略獨(dú)立的測試團(tuán)隊(duì)參與測試策略的制定,但測試策略主要還是項(xiàng)目團(tuán)隊(duì)制定3測試計(jì)劃 測試計(jì)劃過程有以下幾個主要任務(wù) 單元測試計(jì)劃 集成

10、測試計(jì)劃 系統(tǒng)測試計(jì)劃 驗(yàn)收測試計(jì)劃 回顧測試策略單元測試和集成測試由項(xiàng)目團(tuán)隊(duì)負(fù)責(zé),驗(yàn)收測試由項(xiàng)目團(tuán)隊(duì)與客戶一起進(jìn)行,單元測試、集成測試計(jì)劃見“第一部分” 。獨(dú)立的測試團(tuán)隊(duì)只負(fù)責(zé)編寫系統(tǒng)測試階段的測試計(jì)劃。4測試設(shè)計(jì) 測試設(shè)計(jì)過程包括以下幾個主要任務(wù): 測試場景/測試用例的設(shè)計(jì) 測試數(shù)據(jù)設(shè)計(jì) 測試設(shè)計(jì)是所有測試階段的統(tǒng)一命名,但單元測試和集成測試設(shè)計(jì)都是由項(xiàng)目團(tuán)隊(duì)負(fù)責(zé),獨(dú)立的測試團(tuán)隊(duì)負(fù)責(zé)進(jìn)行系統(tǒng)測試階段的設(shè)計(jì)工作。5測試執(zhí)行及缺陷管理主要包括以下幾個主要任務(wù): 搭建測試環(huán)境 進(jìn)行可測性評估 測試執(zhí)行 缺陷統(tǒng)計(jì)及回歸測試 測試總結(jié)報(bào)告6缺陷度量分析 缺陷度量分析包括: 缺陷數(shù)據(jù)統(tǒng)計(jì) 缺陷預(yù)防讓軟

11、件測試走向規(guī)范化 建立測試管理體系 測試規(guī)劃 測試設(shè)計(jì) 測試實(shí)施 配置管理 測試管理 測試管理工具軟件測試測試-基本概念一、基本概念1什么是測試 測試是為了發(fā)現(xiàn)程序中的缺陷而執(zhí)行程序的過程; (缺陷是一種泛指,可以是功能錯誤,也可以是性能低下、易用性差等錯誤); 測試也稱調(diào)試,它包括模塊測試(單調(diào))、集成系統(tǒng)測試(分調(diào))、系統(tǒng)測試(聯(lián)調(diào)); 測試是假定程序中存在錯誤,因而想通過測試來發(fā)現(xiàn)盡可能多的錯誤。2測試的目標(biāo) 是為了盡可能多的發(fā)現(xiàn)程序中的缺陷。3測試的真理 測試只能證明缺陷存在,而不能證明缺陷不存在; 成功的測試用例是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤; “徹底測試”只是一種理想,在實(shí)踐中測試

12、要考慮時間、費(fèi)用等限制,不會允許無休止地測試; 軟件的高質(zhì)量是設(shè)計(jì)出來的,而不是靠測試修補(bǔ)出來的。4測試 公司內(nèi)部對產(chǎn)品的測試,需要開發(fā)人員與獨(dú)立的測試小組共同參與。5 測試 軟件產(chǎn)品正式發(fā)行前,在公司外部邀請一些用戶對產(chǎn)品進(jìn)行測試; 一般地,軟件公司與測試人員之間有一種互利的協(xié)議。即測試人員無償?shù)貫檐浖咀鳒y試,定期遞交測試報(bào)告,提出批評與建議。而軟件公司將向測試人員免費(fèi)贈送或者以很大的優(yōu)惠價格發(fā)行軟件的正式版本。6測試的原則開發(fā)人員不應(yīng)測試自己開發(fā)的程序; 設(shè)計(jì)測試用例時,不僅有確定的輸入數(shù)據(jù),還有確定的輸出數(shù)據(jù); 測試用例不僅有合理的,也要有非合理的; 除了檢查程序是否做完了它應(yīng)該做的

13、事,還要檢查它是否做了不應(yīng)該做的事; 保留全部測試用例,作為測試積累; 程序中存在錯誤的概率與在該段程序中已發(fā)現(xiàn)的錯誤數(shù)成正比。7 測試的意義 測試是一種活動,用來對工作產(chǎn)品進(jìn)行驗(yàn)證。 測試尚未形成完整的知識體系程序程序目標(biāo)8測試的目的1測試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯誤; 2一個好的測試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤; 3一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。-the art of software testing-grenford j myers9測試的作用1)測試是為了要找出缺陷,但同時,也可以通過對缺陷的度量和統(tǒng)計(jì),分析缺陷產(chǎn)生的原因和缺陷的分布特征,分析產(chǎn)品的質(zhì)量、工作效

14、率、診斷開發(fā)過程中的問題,并通過改進(jìn)各個開發(fā)過程提高過程能力, 最終降低缺陷數(shù)量和缺陷密度。2)沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定測試質(zhì)量的一種方法。測試是不完全的( 測試不完全) 測試具有免疫性( 軟件缺陷免疫性)10測試的意義 迄今為止,軟件質(zhì)量仍然主要靠軟件測試來驗(yàn)證和確認(rèn),而且由于測試工作特別耗費(fèi)資源,在軟件開發(fā)的總成本中,用在測試上的開銷要占30%到50%。在極端的情況下,例如在關(guān)系到人的生命安全的軟件中(如飛機(jī)控制或核反應(yīng)監(jiān)控等軟件),測試費(fèi)用可能相當(dāng)軟件生存周期所有其它階段費(fèi)用總和的三到五倍。此外,據(jù)美國工業(yè)界的統(tǒng)計(jì),對商品化的程序來說,測試在時間和費(fèi)用兩方面的花費(fèi)

15、都要占整個軟件開發(fā)周期總開銷的50%左右。 但軟件測試并不是質(zhì)量保證的“安全網(wǎng)”。因此,我們應(yīng)該從兩個方面來保證和提高軟件質(zhì)量:首先,應(yīng)盡量在開發(fā)期間減少錯誤,通過軟件過程來建立軟件質(zhì)量;次之,應(yīng)通過分析和測試來發(fā)現(xiàn)和修復(fù)軟件產(chǎn)品中殘存的錯誤。測試工程師的職責(zé)二、測試人員的職責(zé) 測試軟件產(chǎn)品 評估軟件質(zhì)量 度量質(zhì)量等級 協(xié)助項(xiàng)目經(jīng)理完成項(xiàng)目任務(wù)測試人員的素質(zhì)要求三、對于測試人員的職業(yè)素質(zhì)要求: 1)責(zé)任感 堅(jiān)持原則、不放棄 有問題及時匯報(bào)2)溝通能力 與用戶、項(xiàng)目組的溝通3)獨(dú)立的判斷和自學(xué)習(xí)能力 堅(jiān)持觀點(diǎn),不隨聲附和 喜歡探尋、鉆牛角尖不一定是壞事情4)耐心、自我督促5)團(tuán)隊(duì)精神 與開發(fā)組整

16、體為一個目標(biāo)開展活動,有時需要妥協(xié)對測試人員的要求四、測試人員的技術(shù)要求 業(yè)務(wù)流程 體系框架 分析模式 設(shè)計(jì)模式 代碼規(guī)范 豐富的經(jīng)驗(yàn) 出人意料的想法 懷疑一切的精神測試人員與其他成員的關(guān)系五、測試人員的角色 測試人員是程序員與客戶的聯(lián)系者 測試人員是程序員的建議者 測試人員是程序員的幫助者 測試人員不是程序員的對手 測試人員不是程序員的上司測試的誤區(qū)六、測試的誤區(qū) 誤區(qū)一: 忽視對正常輸入的測試。 誤區(qū)二: 忽視設(shè)計(jì)階段的參與與評估 誤區(qū)三: 忽視測試計(jì)劃與測試文檔的建立及維護(hù)。 誤區(qū)四: 忽視缺陷的分析, 報(bào)告及跟蹤。 誤區(qū)五: 錯誤的測試目標(biāo)及測試終止條件。 誤區(qū)六: 不懂得合理調(diào)配使用

17、測試人員的知識技能結(jié)構(gòu)。軟件缺陷七、軟件缺陷 1 軟件未達(dá)到客戶需求的功能和性能; 2 軟件超出客戶需求的范圍; 3 軟件出現(xiàn)客戶需求不能容忍的錯誤; 4 軟件的使用未能符合客戶的習(xí)慣和工作環(huán)境。測試的步驟八、測試的步驟 單元測試(模塊測試) 集成測試 系統(tǒng)測試 調(diào)試 系統(tǒng)的轉(zhuǎn)換與交付使用測試-單元測試 單元測試(模塊測試) 1單元測試內(nèi)容 模塊接口 局部數(shù)據(jù)結(jié)構(gòu) 重要的執(zhí)行通路 出錯處理通路 影響上述各方面特性的邊界條件(1)模塊接口測試要點(diǎn)a參數(shù)數(shù)目和由調(diào)用模塊送來的變元的數(shù)目是否相等? b參數(shù)的屬性和變元的屬性是否匹配? c參數(shù)和變元的單位系統(tǒng)是否匹配? d傳送給被調(diào)用模塊的變元的數(shù)目是

18、否等于那個模塊的參數(shù)的數(shù)目? e傳送給被調(diào)用模塊的變元屬性和參數(shù)的屬性是否一致? f傳送給被調(diào)用模塊的變元的單位系統(tǒng)和該模塊參數(shù)的單位系統(tǒng)是否一致? g傳送給內(nèi)部函數(shù)的變元屬性、數(shù)目和次序是否正確? h是否修改了只做輸入用的變元? i全程變量的定義和用法在各個模塊中是否一致?(2)輸入/輸出的測試要點(diǎn)a文件屬性是否正確? b打開文件語句是否正確? c格式說明書與輸入/輸出語句是否一致? d緩沖區(qū)大小與記錄長度是否匹配? e使用文件之前先打開文件了嗎? f文件結(jié)束條件處理了嗎? g輸入/輸出錯誤檢查并處理了嗎? h輸出信息中由文字書寫錯誤嗎?(3)局部數(shù)據(jù)結(jié)構(gòu)的測試要點(diǎn)a錯誤的或不相容的說明;

19、b使用尚未賦值或尚未初始化的變量; c錯誤的初始值或不正確的缺省值; d錯誤的變量名字(拼寫錯或截短了); e數(shù)據(jù)類型不相容; f上溢、下溢或地址異常。(4)計(jì)算中的常見錯誤a計(jì)算次序不對或誤解了運(yùn)算符的優(yōu)先次序b混合運(yùn)算(運(yùn)算對象的類型彼此不相容) c變量初始值不正確d精度不夠e表達(dá)式的符號表示錯誤(5)測試方案中的錯誤a比較數(shù)據(jù)類型不同的量b邏輯運(yùn)算符不正確或優(yōu)先次序的錯誤c當(dāng)由于精度問題兩個量不會相等時,程序中卻期待著相等條件的出現(xiàn)d“差1”錯(即,多循環(huán)一次或少循環(huán)一次) e錯誤的或不存在的循環(huán)終止條件f當(dāng)遇到發(fā)散的迭代時不能終止循環(huán)g錯誤地修改循環(huán)變量(6)評價出錯處理時的常見錯誤a

20、對錯誤的描述是難于理解的b記下的錯誤與實(shí)際遇到的錯誤不同c在對錯誤進(jìn)行處理之前,錯誤條件已經(jīng)引起系統(tǒng)干預(yù)。d對錯誤的處理不正確e描述錯誤的信息不足以幫助確定造成錯誤的位置。2測試過程(1)代碼審查 人工測試程序可以由編寫者本人非正式地進(jìn)行,也可以由審查小組正式進(jìn)行。 審查小組最好由四人組成: 組長:有能力的程序員、沒有直接參與這項(xiàng)工程。程序的設(shè)計(jì)者程序的編寫者程序的測試者(2)測試軟件 為每個模塊開發(fā)測試驅(qū)動軟件,它好比一個“主程序,它接收測試數(shù)據(jù),把這些數(shù)據(jù)傳送給被測試的模塊,并且打印出有關(guān)的結(jié)果。 集成測試集成測試主要有兩種方法:非漸增式測試方法、漸增式測試方法。非漸增式測試方法 先分別測

21、試每個模塊,再把所有模塊按設(shè)計(jì)要求放在一起結(jié)合成所要的程序。漸增式測試方法 把下一個要測試的模塊同已經(jīng)測試好的模塊結(jié)合起來進(jìn)行測試,測試完以后再把下一個應(yīng)該測試的模塊結(jié)合進(jìn)來測試。兩種測試方法的比較: 1非漸增式測試方法需要編寫的軟件較多,工作量較大; 漸增式測試方法開銷?。?2漸增式測試方法發(fā)現(xiàn)模塊間接口錯誤早;而非漸增式測試方法晚; 3非漸增式測試方法發(fā)現(xiàn)錯誤,較難診斷;而使用漸增式測試方法,如果發(fā)生錯誤則往往和最近加進(jìn)來的那個模塊有關(guān); 4漸增式測試方法測試更徹底; 5漸增式測試方法需要較多的機(jī)器時間; 6使用非漸增式測試方法,可以并行測試。在實(shí)際測試中,應(yīng)該將兩種方法有機(jī)集合起來。白盒

22、法 “白盒”是指看得見程序的內(nèi)部結(jié)構(gòu),測試源程序的邏輯結(jié)構(gòu)以及實(shí)現(xiàn)細(xì)節(jié),由開發(fā)人員執(zhí)行,“白盒”測試方法主要是對模塊的所有代碼進(jìn)行單步跟蹤測試; 白盒法需要了解程序的功能與結(jié)構(gòu),測試用例必須根據(jù)程序內(nèi)部的邏輯來設(shè)計(jì)。如果想用白盒法發(fā)現(xiàn)程序中的所有錯誤,則至少必須使程序中每種可能的路徑都執(zhí)行一次; 白盒法又稱為邏輯覆蓋法,目前常用的覆蓋法有:(1)語句覆蓋 即每個語句至少能執(zhí)行一次。(2)判定覆蓋 判定覆蓋又叫分支覆蓋,含義是:每個判定的分支至少執(zhí)行一次。(3)條件覆蓋 即一個判斷語句中往往包含了若干條件。通過給出測試用例,使判斷中的每個條件都獲得各種可能的結(jié)果。(4)判斷/條件覆蓋 選取足夠多

23、的測試數(shù)據(jù),使判斷中每個條件都取得各種可能值,并使每個判斷表達(dá)式也取到各種可能的結(jié)果。(5)條件組合覆蓋 使得每個判斷中條件的各種可能組合都至少出現(xiàn)一次。 系統(tǒng)測試 測試人員使用全面集成的整個系統(tǒng), 以查找在系統(tǒng)中的各種操作錯誤,這些測試是站在客戶或最終用戶的角度來看待系統(tǒng)的。 有時,測試人員要著重測試系統(tǒng)的某個特定方面,客戶可能注意不到這些方面,但是,它們對相應(yīng)的系統(tǒng)卻非常重要。設(shè)計(jì)測試方案設(shè)計(jì)測試方案是測試階段的關(guān)鍵技術(shù)問題。測試方案包括要測試的功能,應(yīng)該輸入的測試數(shù)據(jù)和預(yù)期的結(jié)果。黑盒法 “黑盒”是指看不見程序的內(nèi)部結(jié)構(gòu),按照規(guī)格說明來測試程序是否符合要求,由獨(dú)立測試小組執(zhí)行,測試方法主

24、要是測試模塊的接口是否符合要求,它關(guān)心程序的外部表現(xiàn)而不是內(nèi)部的實(shí)現(xiàn)細(xì)節(jié); 黑盒法可分為下列幾種方法(關(guān)鍵在于確定測試數(shù)據(jù)): (1)等價分類法 等價分類法是將輸入數(shù)據(jù)的可能值分成若干“等價類”,每一類以一個代表性的測試數(shù)據(jù)進(jìn)行測試,這個數(shù)據(jù)就等價于這一類中的其它數(shù)據(jù)。 該法的關(guān)鍵在于如何將輸入數(shù)據(jù)分類。 例如:輸入的數(shù)據(jù)范圍是1999,我們可以劃分三類:x<1,1<=x<999,x>=999(2)邊緣值分析法 用邊緣特殊值測試。 經(jīng)驗(yàn)表明:程序往往在邊緣情況時犯錯誤,故測試邊緣情況比較有效。 例如:輸入數(shù)據(jù)的值的范圍是:-10至10,則可選-10,10,-1001,1

25、001等數(shù)據(jù)作為試數(shù)據(jù)。(3)因果圖法 等價類法與邊緣值分析法的缺點(diǎn)是沒有檢查各種輸入條件的組合。 因果圖法則著重分析輸入條件的各種組合,每種組合條件就是“因”,它必然有一個輸出的結(jié)果這就是“果”。(4)錯誤推測法 通過經(jīng)驗(yàn)或直覺推測程序中可能存在的各種錯誤,從而有針對性設(shè)計(jì)測試用例。實(shí)用測試策略(1)在任何情況下都使用邊界值分析的方法。(2)必要時用等價劃分法補(bǔ)充測試方案。(3)必要時再用錯誤推測法補(bǔ)充測試方案。(4)對照程序邏輯,檢查已經(jīng)設(shè)計(jì)出的測試方案??梢愿鶕?jù)對程序可靠性的要求采用不同的邏輯覆蓋標(biāo)準(zhǔn),如果現(xiàn)有測試方案的邏輯覆蓋程度沒達(dá)到要求的覆蓋標(biāo)準(zhǔn),則應(yīng)再補(bǔ)充一些測試方案。 注意:即

26、使采用綜合策略設(shè)計(jì)方案,仍不能保證測試將發(fā)現(xiàn)一切程序錯誤。測試-調(diào)試 調(diào)試1基本任務(wù) 診斷和改正程序中的錯誤2調(diào)試技術(shù)(1)輸出存儲器內(nèi)容通常以八進(jìn)制或十六進(jìn)制的形式輸出存儲器的內(nèi)容。(2)打印語句打印關(guān)鍵輸出變量的值(3)自動工具利用程序設(shè)計(jì)語言的調(diào)試功能或者使用專門的軟件工具分析程序的動態(tài)行為。3調(diào)試策略(1)試探法調(diào)試人員分析錯誤征兆,猜想故障的大致位置,然后使用前述的一兩種調(diào)試技術(shù),獲取程序中被懷疑的地方附近的信息; 該策略緩慢而低效。(2)回溯法確定最先發(fā)現(xiàn)“癥狀”的地方,然后人工沿程序的控制流往回追蹤源程序代碼,直到找出錯誤根源或確定故障范圍為止; 回溯法的另一種形式是正向跟蹤,也就是使用輸出語句檢查一系列中間結(jié)果,以確定最先出現(xiàn)錯誤的地方; 回溯法適用于小程序。(3)對分查找法如果已經(jīng)知道每個變量在程序內(nèi)若干個關(guān)鍵點(diǎn)的正確值,則可以用賦值語句或輸入語句在程序中間點(diǎn)附近“注入”這些變量的正確值,然后檢查程序的輸出。如果輸出結(jié)果是正確的,則故障在程序的前半部分;反之,故障在程序的后半部分。對于程序中有故障的那部分再重復(fù)使用這個方法,直到把故障范圍縮小到容易診斷的程度為止。(4)歸納法所謂歸納法就是從個別推斷一般的方法。從線索(錯誤征兆)出發(fā),通過分析這些線索之間的關(guān)系而

溫馨提示

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

評論

0/150

提交評論