測(cè)試項(xiàng)目管理_第1頁
測(cè)試項(xiàng)目管理_第2頁
測(cè)試項(xiàng)目管理_第3頁
測(cè)試項(xiàng)目管理_第4頁
測(cè)試項(xiàng)目管理_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、TR4TR6階段測(cè)試項(xiàng)目管理軟件測(cè)試概念使用人工或者自動(dòng)手段來運(yùn)行或測(cè)試某個(gè)系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別.它是幫助識(shí)別開發(fā)完成(中間或最終的版本)的計(jì)算機(jī)軟件(整體或部分)的正確度(correctness)、完全度(completeness)和質(zhì)量(quality)的軟件過程;是SQA(softwarequalityassurance)的重要子域。GrenfordJ.Myers曾對(duì)軟件測(cè)試的目的提出過以下觀點(diǎn):(1)測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程;(2)好的測(cè)試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試方案;(3)成功的測(cè)試是發(fā)

2、現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。然而,這種觀點(diǎn)指出測(cè)試是以查找錯(cuò)誤為中心,而不是為了演示軟件的正確功能.但是只從字面意思理解,可能會(huì)產(chǎn)生誤導(dǎo),認(rèn)為發(fā)現(xiàn)錯(cuò)誤是軟件測(cè)試的唯一目的,查找不出錯(cuò)誤的測(cè)試就是沒有價(jià)值的測(cè)試,實(shí)際上并非如此!(1)測(cè)試并不僅僅是為了找出錯(cuò)誤.通過分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的發(fā)生趨勢(shì),可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前軟件開發(fā)過程中的缺陷,以便及時(shí)改進(jìn);(2)這種分析也能幫助測(cè)試人員設(shè)計(jì)出有針對(duì)性的測(cè)試方法,改善測(cè)試的效率和有效性;(3)沒有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的,完整的測(cè)試是評(píng)定軟件質(zhì)量的一種方法軟件測(cè)試的內(nèi)容軟件測(cè)試主要工作內(nèi)容是驗(yàn)證(verification)和確認(rèn)(va

3、lidation),下面分別給出其概念:驗(yàn)證(verification)是保證軟件正確地實(shí)現(xiàn)了一些特定功能的一系列活動(dòng),即保證軟件做了你所期望的事情。(Dotherightthing)1.確定軟件生存周期中的一個(gè)給定階段的產(chǎn)品是否達(dá)到前階段確立的需求的過程;2.程序正確性的形式證明,即采用形式理論證明程序符號(hào)設(shè)一計(jì)規(guī)約規(guī)定的過程;3.評(píng)市、審查、測(cè)試、檢查、審計(jì)等各類活動(dòng),或?qū)δ承╉?xiàng)處理、服務(wù)或文件等是否和規(guī)定的需求相一致進(jìn)行判斷和提出報(bào)告。確認(rèn)(validation)是一系列的活動(dòng)和過程,目的是想證實(shí)在一個(gè)給定的外部環(huán)境中軟件的邏輯正確性。即保證軟件以正確的方式來做了這個(gè)事件(Doitrig

4、ht)1.靜態(tài)確認(rèn),不在計(jì)算機(jī)上實(shí)際執(zhí)行程序,通過人工或程序分析來證明軟件的正確性;2.動(dòng)態(tài)確認(rèn),通過執(zhí)行程序做分析,測(cè)試程序的動(dòng)態(tài)行為,以證實(shí)軟件是否存在問題。軟件測(cè)試的對(duì)象不僅僅是程序測(cè)試,軟件測(cè)試應(yīng)該包括整個(gè)軟件開發(fā)期問各個(gè)階段所產(chǎn)生的文檔,如需求規(guī)格說明、概要設(shè)計(jì)文檔、詳細(xì)設(shè)計(jì)文檔,當(dāng)然軟件測(cè)試的主要對(duì)象還是源程序。從不同的角度出發(fā),軟件測(cè)試可以劃分為不同的分類從是否關(guān)心軟件內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)的角度劃分A.白盒測(cè)試B.黑盒測(cè)試C.灰盒測(cè)試從是否執(zhí)行程序的角度A.靜態(tài)測(cè)試B.動(dòng)態(tài)測(cè)試。從軟件開發(fā)的過程按階段劃分有A.單元測(cè)試B.集成測(cè)試C.確認(rèn)測(cè)試D.驗(yàn)收測(cè)試E.系統(tǒng)測(cè)試 HYPERLI

5、NK /wiki/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95 o 軟件測(cè)試 軟件測(cè)試是 HYPERLINK /wiki/%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91 o 軟件開發(fā) 軟件開發(fā)過程的重要組成部分,是用來確認(rèn)一個(gè) HYPERLINK /wiki/%E7%A8%8B%E5%BA%8F o 程序 程序的品質(zhì)或性能是否符合開發(fā)之前所提出的一些要求。 HYPERLINK /wiki/%E8%BD%AF%E4%BB%B6 o 軟件 軟件測(cè)試就是在軟件投入運(yùn)行前,對(duì) HYPERLINK /wiki/%E8%BD%AF%E4%BB%B6%E

6、9%9C%80%E6%B1%82 o 軟件需求 軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼的最終 HYPERLINK /wiki/%E5%A4%8D%E5%AE%A1 o 復(fù)審 復(fù)審,是 HYPERLINK /wiki/%E8%BD%AF%E4%BB%B6%E8%B4%A8%E9%87%8F%E4%BF%9D%E8%AF%81 o 軟件質(zhì)量保證 軟件質(zhì)量保證的關(guān)鍵步驟。軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。軟件測(cè)試在軟件生存期中橫跨兩個(gè)階段:通常在編寫出每一個(gè)模塊之后就對(duì)它做必要的測(cè)試(稱為 HYPERLINK /wiki/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95 o

7、單元測(cè)試 單元測(cè)試)。編碼和單元測(cè)試屬于軟件生存期中的同一個(gè)階段。在結(jié)束這個(gè)階段后對(duì) HYPERLINK /wiki/%E8%BD%AF%E4%BB%B6%E7%B3%BB%E7%BB%9F o 軟件系統(tǒng) 軟件系統(tǒng)還要進(jìn)行各種綜合測(cè)試,這是軟件生存期的另一個(gè)獨(dú)立階段,即測(cè)試階段。一、軟件測(cè)測(cè)試的目目的 軟件件測(cè)試的的目的,第第一是確確認(rèn)軟件件的質(zhì)量量,其一一方面是是確認(rèn)軟軟件做了了你所期期望的事事情(DDo tthe rigght thiing),另另一方面面是確認(rèn)認(rèn)軟件以以正確的的方式來來做了這這個(gè)事件件(Doo itt riightt)。 第二二是提供供信息,比比如提供供給開發(fā)發(fā)人員或或程

8、序經(jīng)經(jīng)理的反反饋信息息,為風(fēng)風(fēng)險(xiǎn)評(píng)估估所準(zhǔn)備備的信息息。 第三三軟件測(cè)測(cè)試不僅僅是在測(cè)測(cè)試軟件件產(chǎn)品的的本身,而而且還包包括軟件件開發(fā)的的過程。如如果一個(gè)個(gè)軟件產(chǎn)產(chǎn)品開發(fā)發(fā)完成之之后發(fā)現(xiàn)現(xiàn)了很多多問題,這這說明此此軟件開開發(fā)過程程很可能能是有缺缺陷的。因因此軟件件測(cè)試的的第三個(gè)個(gè)目的是是保證整整個(gè)軟件件開發(fā)過過程是高高質(zhì)量的的。 軟件件質(zhì)量是是由幾個(gè)個(gè)方面來來衡量的的:一、在在正確的的時(shí)間用用正確的的的方法法把一個(gè)個(gè)工作做做正確(DDoinng tthe rigght thiingss riightt att thhe rrighht ttimee.)。二二、符合合一些應(yīng)應(yīng)用標(biāo)準(zhǔn)準(zhǔn)的要求求,比

9、如如不同國(guó)國(guó)家的用用戶不同同的操作作習(xí)慣和和要求,項(xiàng)項(xiàng)目工程程中的可可維護(hù)性性、可測(cè)測(cè)試性等等要求。三三、質(zhì)量量本身就就是軟件件達(dá)到了了最開始始所設(shè)定定的要求求,而代代碼的優(yōu)優(yōu)美或精精巧的技技巧并不不代表軟軟件的高高質(zhì)量(QQuallityy iss deefinned HYPERLINK /wiki/as o as as cconfformmancce tto rrequuireemennts, noot aas “gooodneess” orr “eleegannce”.)。四四、質(zhì)量量也代表表著它符符合客戶戶的需要要(Quualiity alsso mmeanns “meeet ccus

10、ttomeer nneedds”.)。作作為軟件件測(cè)試這這個(gè)行業(yè)業(yè),最重重要的一一件事就就是從客客戶的 HYPERLINK /wiki/%E9%9C%80%E6%B1%82 o 需求 需需求出發(fā)發(fā),從客客戶的角角度去看看產(chǎn)品,客客戶會(huì)怎怎么去使使用這個(gè)個(gè)產(chǎn)品,使使用過程程中會(huì)遇遇到什么么樣的問問題。只只有這些些問題都都解決了了,軟件件產(chǎn)品的的質(zhì)量才才可以說說是上去去了。 測(cè)試試人員在在軟件開開發(fā)過程程中的任任務(wù): 1、尋尋找Buug; 22、避免免軟件開開發(fā)過程程中的缺缺陷; 33、衡量量軟件的的品質(zhì); 4、關(guān)關(guān)注用戶戶的需求求。 總的的目標(biāo)是是:確保保軟件的的質(zhì)量。二、軟件測(cè)測(cè)試的原原則 軟

11、件件測(cè)試從從不同的的角度出出發(fā)會(huì)派派生出兩兩種不同同的測(cè)試試原則,從從用戶的的角度出出發(fā),就就是希望望通過軟軟件測(cè)試試能充分分暴露軟軟件中存存在的問問題和缺缺陷,從從而考慮慮是否可可以接受受該產(chǎn)品品,從開開發(fā)者的的角度出出發(fā),就就是希望望測(cè)試能能表明軟軟件產(chǎn)品品不存在在錯(cuò)誤,已已經(jīng)正確確地實(shí)現(xiàn)現(xiàn)了用戶戶的需求求,確立立人們對(duì)對(duì)軟件質(zhì)質(zhì)量的信信心。 為了了達(dá)到上上述的原原則,那那么需要要注意以以下幾點(diǎn)點(diǎn):1應(yīng)當(dāng)把把“盡早和和不斷的的測(cè)試”作為開開發(fā)者的的座右銘銘2程程序員應(yīng)應(yīng)該避免免檢查自自己的程程序,測(cè)測(cè)試工作作應(yīng)該由由獨(dú)立的的專業(yè)的的軟件測(cè)測(cè)試機(jī)構(gòu)構(gòu)來完。3設(shè)計(jì) HYPERLINK /wik

12、i/%E6%B5%8B%E8%AF%95%E7%94%A8%E4%BE%8B o 測(cè)試用例 測(cè)試用例時(shí)應(yīng)該考慮到合法的輸入和不合法的輸入以及各種邊界條件,特殊情況要制造極端狀態(tài)和意外狀態(tài),比如網(wǎng)絡(luò)異常中斷、電源斷電等情況。4一定要注意測(cè)試中的錯(cuò)誤集中發(fā)生現(xiàn)象,這和程序員的編程水平和習(xí)慣有很大的關(guān)系。5對(duì)測(cè)試錯(cuò)誤結(jié)果一定要有一個(gè)確認(rèn)的過程,一般有A測(cè)試出來的錯(cuò)誤,一定要有一個(gè)B來確認(rèn),嚴(yán)重的錯(cuò)誤可以召開評(píng)審會(huì)進(jìn)行討論和分析。6制定嚴(yán)格的測(cè)試計(jì)劃,并把測(cè)試時(shí)間安排的盡量寬松,不要希望在極短的時(shí)間內(nèi)完成一個(gè)高水平的測(cè)試。7 HYPERLINK /wiki/%E5%9B%9E%E5%BD%92%E6%

13、B5%8B%E8%AF%95 o 回歸測(cè)試 回歸測(cè)試的關(guān)聯(lián)性一定要引起充分的注意,修改一個(gè)錯(cuò)誤而引起更多的錯(cuò)誤出現(xiàn)的現(xiàn)象并不少見。8妥善保存一切測(cè)試過程文檔,意義是不言而喻的,測(cè)試的重現(xiàn)性往往要靠測(cè)試文檔。/wiki/%E5%AF%B9%E8%B1%A1 target=_new class=innerlink對(duì)象軟件測(cè)測(cè)試并不不等于程程序測(cè)試試。軟件件測(cè)試應(yīng)應(yīng)該貫穿穿整個(gè)軟軟件定義義與開發(fā)發(fā)整個(gè)期期間。因因此 HYPERLINK /wiki/%E9%9C%80%E6%B1%82%E5%88%86%E6%9E%90 o 需求分析 需求求分析、概概要設(shè)計(jì)計(jì)、詳細(xì)細(xì)設(shè)計(jì)以以及程序序編碼等等各階段段所

14、得到到的文檔檔,包括括需求規(guī)規(guī)格說明明、概要要設(shè)計(jì)規(guī)規(guī)格說明明、詳細(xì)細(xì)設(shè)計(jì)規(guī)規(guī)格說明明以及源源程序,都都應(yīng)該是是軟件測(cè)測(cè)試的對(duì)對(duì)象。 在對(duì)需需求理解解與表達(dá)達(dá)的正確確性、設(shè)設(shè)計(jì)與表表達(dá)的正正確性、實(shí)實(shí)現(xiàn)的正正確性以以及運(yùn)行行的正確確性的驗(yàn)驗(yàn)證中,任任何一個(gè)個(gè)環(huán)節(jié)發(fā)發(fā)生了問問題都可可能在軟軟件測(cè)試試中表現(xiàn)現(xiàn)出來。四、軟件測(cè)測(cè)試方法法軟件測(cè)測(cè)試的基基本方法法 單元元測(cè)試的的基本方方法綜合合測(cè)試的的基本方方法 HYPERLINK /wiki/%E7%A1%AE%E8%AE%A4%E6%B5%8B%E8%AF%95 o 確認(rèn)測(cè)試 確認(rèn)認(rèn)測(cè)試的的基本方方法 HYPERLINK /wiki/%E7%B3%

15、BB%E7%BB%9F%E6%B5%8B%E8%AF%95 o 系統(tǒng)測(cè)試 系統(tǒng)統(tǒng)測(cè)試的的基本方方法軟件件測(cè)試的的基本方方法軟件測(cè)測(cè)試的方方法和技技術(shù)是多多種多樣樣的。對(duì)于于軟件測(cè)測(cè)試技術(shù)術(shù),可以以從不同同的角度度加以分分 HYPERLINK /wiki/%E7%B1%BB o 類 類:從是否否需要執(zhí)執(zhí)行被測(cè)測(cè)軟件的的角度,可可分為靜靜態(tài)測(cè)試試和動(dòng)態(tài)態(tài)測(cè)試。從測(cè)試是否針對(duì)系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)算法的角度來看,可分為 HYPERLINK /wiki/%E7%99%BD%E7%9B%92%E6%B5%8B%E8%AF%95 o 白盒測(cè)試 白盒測(cè)試和 HYPERLINK /wiki/%E9%BB%9

16、1%E7%9B%92%E6%B5%8B%E8%AF%95 o 黑盒測(cè)試 黑盒測(cè)試;1、黑盒測(cè)測(cè)試黑盒測(cè)測(cè)試也稱稱 HYPERLINK /wiki/%E5%8A%9F%E8%83%BD%E6%B5%8B%E8%AF%95 o 功能測(cè)試 功能測(cè)測(cè)試或 HYPERLINK /wiki/%E6%95%B0%E6%8D%AE%E9%A9%B1%E5%8A%A8%E6%B5%8B%E8%AF%95 o 數(shù)據(jù)驅(qū)動(dòng)測(cè)試 數(shù)據(jù)驅(qū)驅(qū)動(dòng)測(cè)試試,它是是在已知知產(chǎn)品所所應(yīng)具有有的功能能,通過過測(cè)試來來檢測(cè)每每個(gè)功能能是否都都能正常常使用,在在測(cè)試時(shí)時(shí),把程程序看作作一個(gè)不不能打開開的黑盆盆子,在在完全不不考慮程程序內(nèi)部

17、部結(jié)構(gòu)和和內(nèi)部特特性的情情況下,測(cè)測(cè)試者在在程序接接口進(jìn)行行測(cè)試,它它只檢查查程序功功能是否否按照需需求規(guī)格格說明書書的規(guī)定定正常使使用,程程序是否否能適當(dāng)當(dāng)?shù)亟邮帐蛰斎霐?shù)數(shù)鋸而產(chǎn)產(chǎn)生正確確的輸出出信息,并并且保持持外部信信息(如如 HYPERLINK /wiki/%E6%95%B0%E6%8D%AE%E5%BA%93 o 數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)庫(kù)或 HYPERLINK /wiki/%E6%96%87%E4%BB%B6 o 文件 文件)的的完整性性。黑盒盒測(cè)試方方法主要要有等價(jià)價(jià)類劃分分、邊值值分析、因因果圖、錯(cuò)錯(cuò)誤推測(cè)測(cè)等,主主要用于于軟件確確認(rèn)測(cè)試試。 “黑盒”法著眼眼于程序序外部結(jié)結(jié)構(gòu)、不不考慮

18、內(nèi)內(nèi)部邏輯輯結(jié)構(gòu)、針針對(duì)軟件件界面和和軟件功功能進(jìn)行行測(cè)試。“黑盒”法是窮舉輸入測(cè)試,只有把所有可能的輸入都作為測(cè)試情況使用,才能以這種方法查出程序中所有的錯(cuò)誤。實(shí)際上測(cè)試情況有無窮多個(gè),人們不僅要測(cè)試所有合法的輸入,而且還要對(duì)那些不合法但是可能的輸入進(jìn)行測(cè)試。2、白盒測(cè)測(cè)試白盒測(cè)測(cè)試也稱稱 HYPERLINK /wiki/%E7%BB%93%E6%9E%84%E6%B5%8B%E8%AF%95 o 結(jié)構(gòu)測(cè)試 結(jié)構(gòu)測(cè)測(cè)試或 HYPERLINK /wiki/%E9%80%BB%E8%BE%91%E9%A9%B1%E5%8A%A8%E6%B5%8B%E8%AF%95 o 邏輯驅(qū)動(dòng)測(cè)試 邏輯驅(qū)驅(qū)動(dòng)測(cè)

19、試試,它是是知道產(chǎn)產(chǎn)品內(nèi)部部工作過過程,可可通過測(cè)測(cè)試來檢檢測(cè)產(chǎn)品品內(nèi)部動(dòng)動(dòng)作是否否按照規(guī)規(guī)格說明明書的規(guī)規(guī)定正常常進(jìn)行,按按照程序序內(nèi)部的的結(jié)構(gòu)測(cè)測(cè)試程序序,檢驗(yàn)驗(yàn)程序中中的每條條通路是是否都有有能按預(yù)預(yù)定要求求正確工工作,而而不顧它它的功能能,白盒盒測(cè)試的的主要方方法有邏邏輯驅(qū)動(dòng)動(dòng)、基路路測(cè)試等等,主要要用于軟軟件驗(yàn)證證?!鞍缀小狈ǚㄈ媪肆私獬绦蛐騼?nèi)部邏邏輯結(jié)構(gòu)構(gòu)、對(duì)所所有邏輯輯路徑進(jìn)進(jìn)行測(cè)試試。“白盒”法是窮窮舉路徑徑測(cè)試。在在使用這這一方案案時(shí),測(cè)測(cè)試者必必須檢查查程序的的內(nèi)部結(jié)結(jié)構(gòu),從從檢查程程序的邏邏輯著手手,得出出測(cè)試數(shù)數(shù)據(jù)。貫貫穿程序序的獨(dú)立立路徑數(shù)數(shù)是天文文數(shù)字。但但即使每

20、每條路徑徑都測(cè)試試了仍然然可能有有錯(cuò)誤。第第一,窮窮舉路徑徑測(cè)試決決不能查查出程序序違反了了設(shè)計(jì)規(guī)規(guī)范,即即程序本本身是個(gè)個(gè)錯(cuò)誤的的程序。第第二,窮窮舉路徑徑測(cè)試不不可能查查出程序序中因遺遺漏路徑徑而出錯(cuò)錯(cuò)。第三三,窮舉舉路徑測(cè)測(cè)試可能能發(fā)現(xiàn)不不了一些些與數(shù)據(jù)據(jù)相關(guān)的的錯(cuò)誤。3ALAAC(AAct-likke-aa-cuustoomerr)測(cè)試試ALAAC測(cè)試試是一種種基于客客戶使用用產(chǎn)品的的知識(shí)開開發(fā)出來來的測(cè)試試方法。AALACC測(cè)試是是基于復(fù)復(fù)雜的軟軟件產(chǎn)品品有許多多錯(cuò)誤的的原則。最最大的受受益者是是用戶,缺缺陷查找找和改正正將針對(duì)對(duì)那些客客戶最容容易遇到到的錯(cuò)誤誤。單元測(cè)試的的基本方方

21、法單元測(cè)試的的對(duì)象是是軟件設(shè)設(shè)計(jì)的最最小單位位模塊。單單元測(cè)試試的依據(jù)據(jù)是詳細(xì)細(xì)設(shè)描述述,單元元測(cè)試應(yīng)應(yīng)對(duì)模塊塊內(nèi)所有有重要的的控制路路徑設(shè)計(jì)計(jì)測(cè)試 HYPERLINK /wiki/%E7%94%A8%E4%BE%8B o 用例 用用例,以以便發(fā)現(xiàn)現(xiàn)模塊內(nèi)內(nèi)部的錯(cuò)錯(cuò)誤。單單元測(cè)試試多采用用白盒測(cè)測(cè)試技術(shù)術(shù),系統(tǒng)統(tǒng)內(nèi)多個(gè)個(gè)模塊可可以并行行地進(jìn)行行測(cè)試。單元測(cè)試任務(wù)單元測(cè)測(cè)試任務(wù)務(wù)包括:1 模模塊接口口測(cè)試;2 模模塊局部部數(shù)據(jù)結(jié)結(jié)構(gòu)測(cè)試試;3 模塊邊邊界條件件測(cè)試;4 模模塊中所所有獨(dú)立立執(zhí)行通通路測(cè)試試;5 模塊的的各條錯(cuò)錯(cuò)誤處理理通路測(cè)測(cè)試。模塊接接口測(cè)試試是單元元測(cè)試的的基礎(chǔ)。只只有在數(shù)數(shù)

22、據(jù)能正正確流入入、流出出模塊的的前提下下,其他他測(cè)試才才有意義義。測(cè)試試接口正正確與否否應(yīng)該考考慮下列列因素: 1 輸輸入的實(shí)實(shí)際參數(shù)數(shù)與形式式參數(shù)的的個(gè)數(shù)是是否相同同; 2 輸入的的實(shí)際參參數(shù)與形形式參數(shù)數(shù)的屬性性是否匹匹配; 33 輸入入的實(shí)際際參數(shù)與與形式參參數(shù)的量量綱是否否一致; 4 調(diào)調(diào)用其他他模塊時(shí)時(shí)所給實(shí)實(shí)際參數(shù)數(shù)的個(gè)數(shù)數(shù)是否與與被調(diào)模模塊的形形參個(gè)數(shù)數(shù)相同; 5 調(diào)調(diào)用其他他模塊時(shí)時(shí)所給實(shí)實(shí)際參數(shù)數(shù)的屬性性是否與與被調(diào)模模塊的形形參屬性性匹配; 6調(diào)用用其他模模塊時(shí)所所給實(shí)際際參數(shù)的的量綱是是否與被被調(diào)模塊塊的形參參量綱一一致; 77 調(diào)用用預(yù)定義義函數(shù)時(shí)時(shí)所用參參數(shù)的個(gè)個(gè)數(shù)、

23、屬屬性和次次序是否否正確; 8 是是否存在在與當(dāng)前前入口點(diǎn)點(diǎn)無關(guān)的的參數(shù)引引用; 99 是否否修改了了只讀型型參數(shù); 10 對(duì)全程程變量的的定義各各模塊是是否一致致; 111是否把把某些約約束作為為參數(shù)傳傳遞。如果模模塊內(nèi)包包括外部部輸入輸輸出,還還應(yīng)該考考慮下列列因素: 1 文文件屬性性是否正正確; 22 OPPEN/CLOOSE語語句是否否正確; 3 格格式說明明與輸入入輸出語語句是否否匹配; 4緩沖沖區(qū)大小小與記錄錄長(zhǎng)度是是否匹配配; 5文文件使用用前是否否已經(jīng)打打開; 66是否處處理了文文件尾; 7是否否處理了了輸入/輸出錯(cuò)錯(cuò)誤; 88輸出信信息中是是否有文文字性錯(cuò)錯(cuò)誤;檢查局局部數(shù)據(jù)

24、據(jù)結(jié)構(gòu)是是為了保保證臨時(shí)時(shí)存儲(chǔ)在在模塊內(nèi)內(nèi)的數(shù)據(jù)據(jù)在程序序執(zhí)行過過程中完完整、正正確。局局部數(shù)據(jù)據(jù)結(jié)構(gòu)往往往是錯(cuò)錯(cuò)誤的根根源,應(yīng)應(yīng)仔細(xì)設(shè)設(shè)計(jì)測(cè)試試用例,力力求發(fā)現(xiàn)現(xiàn)下面幾幾類錯(cuò)誤誤: 1 不合適適或不相相容的 HYPERLINK /wiki/%E7%B1%BB%E5%9E%8B o 類型 類類型說明明; 2變變量無初初值; 33變量初初始化或或省缺值值有錯(cuò); 4不正正確的變變量名(拼拼錯(cuò)或不不正確地地截?cái)啵?5出現(xiàn)現(xiàn)上溢、下下溢和地地址異常常。除了局局部數(shù)據(jù)據(jù)結(jié)構(gòu)外外,如果果可能,單單元測(cè)試試時(shí)還應(yīng)應(yīng)該查清清全局?jǐn)?shù)數(shù)據(jù)(例例如FOORTRRAN的的公用區(qū)區(qū))對(duì)模模塊的影影響。在模塊塊中應(yīng)對(duì)對(duì)

25、每一條條獨(dú)立執(zhí)執(zhí)行路徑徑進(jìn)行測(cè)測(cè)試,單單元測(cè)試試的基本本任務(wù)是是保證模模塊中每每條語句句至少執(zhí)執(zhí)行一次次。?的比較較和不適適當(dāng)?shù)目乜刂屏髟煸斐傻腻e(cuò)錯(cuò)誤。此此時(shí)基本本路徑測(cè)測(cè)試和循循環(huán)測(cè)試試是最常常用且最最有效的的測(cè)試技技術(shù)。計(jì)計(jì)算中常常見的錯(cuò)錯(cuò)誤包括括: 1 誤解或或用錯(cuò)了了算符優(yōu)優(yōu)先級(jí); 2混合合類型運(yùn)運(yùn)算; 33變量初初值錯(cuò); 4精度度不夠; 5表達(dá)達(dá)式符號(hào)號(hào)錯(cuò)。比較判判斷與控控制流常常常緊密密相關(guān),測(cè)測(cè)試用例例還應(yīng)致致力于發(fā)發(fā)現(xiàn)下列列錯(cuò)誤: 1不同同數(shù)據(jù)類類型的對(duì)對(duì)象之間間進(jìn)行比比較; 22錯(cuò)誤地地使用邏邏輯運(yùn)算算符或優(yōu)優(yōu)先級(jí); 3因 HYPERLINK /wiki/%E8%AE%A1%

26、E7%AE%97%E6%9C%BA o 計(jì)算機(jī) 計(jì)計(jì)算機(jī)表表示的局局限性,期期望理論論上相等等而實(shí)際際上不相相等的兩兩個(gè)量相相等; 44比較運(yùn)運(yùn)算或變變量出錯(cuò)錯(cuò); 5循循環(huán)終止止條件或或不可能能出現(xiàn); 6迭代代發(fā)散時(shí)時(shí)不能退退出; 77錯(cuò)誤地地修改了了循環(huán)變變量。一個(gè)好好的設(shè)計(jì)計(jì)應(yīng)能預(yù)預(yù)見各種種出錯(cuò)條條件,并并預(yù)設(shè)各各種出錯(cuò)錯(cuò)處理通通路,出出錯(cuò)處理理通路同同樣需要要認(rèn)真測(cè)測(cè)試,測(cè)測(cè)試應(yīng)著著重檢查查下列問問題: 11輸出的的出錯(cuò)信信息難以以理解; 2記錄錄的錯(cuò)誤誤與實(shí)際際遇到的的錯(cuò)誤不不相符; 3在程程序自定定義的出出錯(cuò)處理理段運(yùn)行行之前,系系統(tǒng)已介介入; 44異常處處理不當(dāng)當(dāng); 5錯(cuò)錯(cuò)誤陳述述

27、中未能能提供足足夠的定定位出錯(cuò)錯(cuò)信息。邊界條條件測(cè)試試是單元元測(cè)試中中最后,也也是最重重要的一一項(xiàng)任務(wù)務(wù)。眾的的周知,軟軟件經(jīng)常常在邊界界上失效效,采用用邊界值值分析技技術(shù),針針對(duì)邊界界值及其其左、右右設(shè)計(jì)測(cè)測(cè)試用例例,很有有可能發(fā)發(fā)現(xiàn)新的的錯(cuò)誤。單元測(cè)試過過程一般認(rèn)認(rèn)為單元元測(cè)試應(yīng)應(yīng)緊接在在編碼之之后,當(dāng)當(dāng)源程序序編制完完成并通通過復(fù)審審和編譯譯檢查,便便可開始始單元測(cè)測(cè)試。測(cè)測(cè)試用例例的設(shè)計(jì)計(jì)應(yīng)與復(fù)復(fù)審工作作相結(jié)合合,根據(jù)據(jù)設(shè)計(jì)信信息選取取測(cè)試數(shù)數(shù)據(jù),將將增大發(fā)發(fā)現(xiàn)上述述各類錯(cuò)錯(cuò)誤的可可能性。在在確定測(cè)測(cè)試用例例的同時(shí)時(shí),應(yīng)給給出期望望結(jié)果。應(yīng)為測(cè)測(cè)試模塊塊開發(fā)一一個(gè)驅(qū)動(dòng)動(dòng)模塊(ddriv

28、ver)和和(或)若若干個(gè)樁樁模塊(sstubb),下下圖顯示示了一般般單元測(cè)測(cè)試的環(huán)環(huán)境。驅(qū)驅(qū)動(dòng)模塊塊在大多多數(shù)場(chǎng)合合稱為“主程序序”,它接接收測(cè)試試數(shù)據(jù)并并將這些些數(shù)據(jù)傳傳遞到被被測(cè)試模模塊,被被測(cè)試模模塊被調(diào)調(diào)用后,“主程序”打印“進(jìn)入-退出” HYPERLINK /wiki/%E6%B6%88%E6%81%AF o 消息 消息。驅(qū)動(dòng)模模塊和樁樁模塊是是測(cè)試使使用的軟軟件,而而不是軟軟件產(chǎn)品品的組成成部分,但但它需要要一定的的開發(fā)費(fèi)費(fèi)用。若若驅(qū)動(dòng)和和樁模塊塊比較簡(jiǎn)簡(jiǎn)單,實(shí)實(shí)際開銷銷相對(duì)低低些。遺遺憾的是是,僅用用簡(jiǎn)單的的驅(qū)動(dòng)模模塊和樁樁模塊不不能完成成某些模模塊的測(cè)測(cè)試任務(wù)務(wù),這些些模塊

29、的的單元測(cè)測(cè)試只能能采用下下面討論論的綜合合測(cè)試方方法。提高模模塊的內(nèi)內(nèi)聚度可可簡(jiǎn)化單單元測(cè)試試,如果果每個(gè)模模塊只能能完成一一個(gè),所所需測(cè)試試用例數(shù)數(shù)目將顯顯著減少少,模塊塊中的錯(cuò)錯(cuò)誤也更更容易發(fā)發(fā)現(xiàn)。綜合測(cè)試的的基本方方法 時(shí)常常有這樣樣的情況況發(fā)生,每每個(gè)模塊塊都能單單獨(dú)工作作,但這這些模塊塊集成在在一起之之后卻不不能正常常工作。主主要原因因是,模模塊相互互調(diào)用時(shí)時(shí)接口會(huì)會(huì)引入許許多新問問題。例例如,數(shù)數(shù)據(jù)經(jīng)過過接口可可能丟失失;一個(gè)個(gè)模塊對(duì)對(duì)另一模模塊可能能造成不不應(yīng)有的的影響;幾個(gè)子子功能組組合起來來不能實(shí)實(shí)現(xiàn)主功功能;誤誤差不斷斷積累達(dá)達(dá)到不可可接受的的程度;全局?jǐn)?shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)出現(xiàn)錯(cuò)

30、錯(cuò)誤,等等等。綜綜合測(cè)試試是組裝裝軟件的的系統(tǒng)測(cè)測(cè)試技術(shù)術(shù),按設(shè)設(shè)計(jì)要求求把通過過單元測(cè)測(cè)試的各各個(gè)模塊塊組裝在在一起之之后,進(jìn)進(jìn)行綜合合測(cè)試以以便發(fā)現(xiàn)現(xiàn)與接口口有關(guān)的的各種錯(cuò)錯(cuò)誤。某設(shè)計(jì)計(jì)人員習(xí)習(xí)慣于把把所有模模塊按設(shè)設(shè)計(jì)要求求一次全全部組裝裝起來,然然后進(jìn)行行整體測(cè)測(cè)試,這這稱為非非增量式式集成。這這種方法法容易出出現(xiàn)混亂亂。因?yàn)闉闇y(cè)試時(shí)時(shí)可能發(fā)發(fā)現(xiàn)一大大堆錯(cuò)誤誤,為每每個(gè)錯(cuò)誤誤定位和和糾正非非常困難難,并且且在改正正一個(gè)錯(cuò)錯(cuò)誤的同同時(shí)又可可能引入入新的錯(cuò)錯(cuò)誤,新新舊錯(cuò)誤誤混雜,更更難斷定定出錯(cuò)的的原因和和位置。與與之相反反的是增增量式集集成方法法,程序序一段一一段地?cái)U(kuò)擴(kuò)展,測(cè)測(cè)試的范范圍

31、一步步一步地地增大,錯(cuò)錯(cuò)誤易于于定位和和糾正,界界面的測(cè)測(cè)試亦可可做到完完全徹底底。下面面討論兩兩種增量量式集成成方法。1 自頂向向下集成成自頂向向下集成成是構(gòu)造造程序結(jié)結(jié)構(gòu)的一一種增量量式方式式,它從從主控模模塊開始始,按照照軟件的的控制層層次結(jié)構(gòu)構(gòu),以深深度優(yōu)先先或廣度度優(yōu)先的的策略,逐逐步把各各個(gè)模塊塊集成在在一起。深深度優(yōu)先先策略首首先是把把主控制制路徑上上的模塊塊集成在在一起,至至于選擇擇哪一條條路徑作作為主控控制路徑徑,這多多少帶有有隨意性性,一般般根據(jù)問問題的特特性確定定。以下下圖為例例,若選選擇了最最左一條條路徑,首首先將模模塊M11,M22,M55和M88集成在在一起,再再將

32、M66集成起起來,然然后考慮慮中間和和右邊的的路徑。廣廣度優(yōu)先先策略則則不然,它它沿控制制層次結(jié)結(jié)構(gòu)水平平地向下下移動(dòng)。仍仍以下圖圖為例,它它首先把把M2、MM3和MM4與主主控模塊塊集成在在一起,再再將M55和M66 和其其他模塊塊集資集集成起來來。自頂向向下綜合合測(cè)試的的具體步步驟為: 1 以以主控模模塊作為為測(cè)試驅(qū)驅(qū)動(dòng)模塊塊,把對(duì)對(duì)主控模模塊進(jìn)行行單元測(cè)測(cè)試時(shí)引引入的所所有樁模模塊用實(shí)實(shí)際模塊塊替代; 2 依依據(jù)所選選的集成成策略(深深度優(yōu)先先或廣度度優(yōu)先),每每次只替替代一個(gè)個(gè)樁模塊塊; 3 每集成成一個(gè)模模塊立即即測(cè)試一一遍; 44 只有有每組測(cè)測(cè)試完成成后,才才著手替替換下一一個(gè)樁

33、模模塊; 55 為避避免引入入新錯(cuò)誤誤,須不不斷地進(jìn)進(jìn)行回歸歸測(cè)試(即即全部或或部分地地重復(fù)已已做過的的測(cè)試)。 從第第二步開開始,循循環(huán)執(zhí)行行上述步步驟,直直至整個(gè)個(gè)程序結(jié)結(jié)構(gòu)構(gòu)造造完畢。下下圖中,實(shí)實(shí)線表示示已部分分完成的的結(jié)構(gòu),若若采用深深度優(yōu)先先策略,下下一步將將用模塊塊M7替替換樁模模塊S77,當(dāng)然然M7本本身可能能又帶有有樁模塊塊,隨后后將被對(duì)對(duì)應(yīng)的實(shí)實(shí)際模塊塊一一替替代。自頂向向下集成成的優(yōu)點(diǎn)點(diǎn)在于能能盡早地地對(duì)程序序的主要要控制和和決策機(jī)機(jī)制進(jìn)行行檢驗(yàn),因因此較早早地發(fā)現(xiàn)現(xiàn)錯(cuò)誤。缺缺點(diǎn)是在在測(cè)試較較高層模模塊時(shí),低低層處理理采用樁樁模塊替替代,不不能反映映真實(shí)情情況,重重要數(shù)據(jù)

34、據(jù)不能及及時(shí)回送送到上層層模塊,因因此測(cè)試試并不充充分。解解決這個(gè)個(gè)問題有有幾種辦辦法,第第一種是是把某些些測(cè)試推推遲到用用真實(shí)模模塊替代代樁模塊塊之后進(jìn)進(jìn)行,第第二種是是開發(fā)能能模擬真真實(shí)模塊塊的樁模模塊;第第三種是是自底向向上集成成模塊。第第一種方方法又回回退為非非增量式式的集成成方法,使使錯(cuò)誤難難于定位位和糾正正,并且且失去了了在組裝裝模塊時(shí)時(shí)進(jìn)行一一些特定定測(cè)試的的可能性性;第二二種方法法無疑要要大大增增加開銷銷;第三三種方法法比較切切實(shí)可行行,下面面專門討討論。2自底向上上集成自底向向上測(cè)試試是從“原子”模塊(即即 HYPERLINK /wiki/%E8%BD%AF%E4%BB%B6

35、%E7%BB%93%E6%9E%84 o 軟件結(jié)構(gòu) 軟件結(jié)結(jié)構(gòu)最低低層的模模塊)開開始 HYPERLINK /wiki/%E7%BB%84%E8%A3%85%E6%B5%8B%E8%AF%95 o 組裝測(cè)試 組裝裝測(cè)試,因因測(cè)試到到較高層層模塊時(shí)時(shí),所需需的下層層模塊功功能均已已具備,所所以不再再需要樁樁模塊。自底向向上綜合合測(cè)試的的步驟分分為: 11 把低低層模塊塊組織成成實(shí)現(xiàn)某某個(gè)子功功能的模模塊群(cclussterr); 22 開發(fā)發(fā)一個(gè)測(cè)測(cè)試驅(qū)動(dòng)動(dòng)模塊,控控制測(cè)試試數(shù)據(jù)的的輸入和和測(cè)試結(jié)結(jié)果的輸輸出; 33 對(duì)每每個(gè)模塊塊群進(jìn)行行測(cè)試; 4 刪刪除測(cè)試試使用的的驅(qū)動(dòng)模模塊,用用較高層

36、層模塊把把模塊群群組織成成為完成成更大功功能的新新模塊群群。從第一一步開始始循環(huán)執(zhí)執(zhí)行上述述各步驟驟,直至至整個(gè)程程序構(gòu)造造完畢。下圖說說明了上上述過程程。首先先“原子”模塊被被分為三三個(gè)模塊塊群,每每個(gè)模塊塊群引入入一個(gè)驅(qū)驅(qū)動(dòng)模塊塊進(jìn)行測(cè)測(cè)試。因因模塊群群1、模模塊群22中的模模塊均隸隸屬于模模塊Maa,因此此在驅(qū)動(dòng)動(dòng)模塊DD1、DD2去掉掉后,模模塊群11與模塊塊群2直直接與MMa接口口,這時(shí)時(shí)可對(duì)MMaD33被去掉掉后,MM3與模模塊群33直接接接口,可可對(duì)Mbb進(jìn)行 HYPERLINK /wiki/%E9%9B%86%E6%88%90%E6%B5%8B%E8%AF%95 o 集成測(cè)試

37、集集成測(cè)試試,最后后Ma、MMb和 Mc全全部集成成在一起起進(jìn)行測(cè)測(cè)試。 自底底向上集集成方法法不用樁樁模塊,測(cè)測(cè)試用例例的設(shè)計(jì)計(jì)亦相對(duì)對(duì)簡(jiǎn)單,但但缺點(diǎn)是是程序最最后一個(gè)個(gè)模塊加加入時(shí)才才具有整整體形象象。它與與自頂向向綜合測(cè)測(cè)試方法法優(yōu)缺點(diǎn)點(diǎn)正好相相反。因因此,在在測(cè)試軟軟件系統(tǒng)統(tǒng)時(shí),應(yīng)應(yīng)根據(jù)軟軟件的特特點(diǎn)和工工程的進(jìn)進(jìn)度,選選用適當(dāng)當(dāng)?shù)臏y(cè)試試策略,有有時(shí)混和和使用兩兩種策略略更為有有效,上上層模塊塊用自頂頂向下的的方法,下下層模塊塊用自底底向上的的方法。此外,在在綜合測(cè)測(cè)試中尤尤其要注注意關(guān)鍵鍵模塊,所所謂關(guān)鍵鍵模塊一一般都具具有下述述一或多多個(gè)特征征:對(duì)應(yīng)幾幾條需求求;具有高高層控制制功

38、能;復(fù)雜、易易出錯(cuò);有特殊殊的性能能要求。關(guān)關(guān)鍵模塊塊應(yīng)盡早早測(cè)試,并并反復(fù)進(jìn)進(jìn)行回歸歸測(cè)試。確認(rèn)測(cè)試的的基本方方法 通過過綜合測(cè)測(cè)試之后后,軟件件已完全全組裝起起來,接接口方面面的錯(cuò)誤誤也已排排除,軟軟件測(cè)試試的最后后一步確確認(rèn)測(cè)試試即可開開始。確確認(rèn)測(cè)試試應(yīng)檢查查軟件能能否按合合同要求求進(jìn)行工工作,即即是否滿滿足軟件件需求說說明書中中的確認(rèn)認(rèn)標(biāo)準(zhǔn)。1. 確認(rèn)認(rèn)測(cè)試標(biāo)標(biāo)準(zhǔn)實(shí)現(xiàn)軟軟件確認(rèn)認(rèn)要通過過一系列列墨盒測(cè)測(cè)試。確確認(rèn)測(cè)試試同樣需需要制訂訂測(cè)試計(jì)計(jì)劃和過過程,測(cè)測(cè)試計(jì)劃劃應(yīng)規(guī)定定測(cè)試的的種類和和測(cè)試進(jìn)進(jìn)度,測(cè)測(cè)試過程程則定義義一些特特殊的測(cè)測(cè)試用例例,旨在在說明軟軟件與需需求是否否一致。無

39、無是計(jì)劃劃還是過過程,都都應(yīng)該著著重考慮慮軟件是是否滿足足合同規(guī)規(guī)定的所所有功能能和性能能,文檔檔資料是是否完整整、準(zhǔn)確確人機(jī)界界面和其其他方面面(例如如,可移移植性、兼兼容性、錯(cuò)錯(cuò)誤恢復(fù)復(fù)能力和和可維護(hù)護(hù)性等)是是否令用用戶滿意意。確認(rèn)測(cè)測(cè)試的結(jié)結(jié)果有兩兩種可能能,一種種是功能能和性能能指標(biāo)滿滿足軟件件需求說說明的要要求,用用戶可以以接受;另一種種是軟件件不滿足足?這這個(gè)階段段才發(fā)現(xiàn)現(xiàn)嚴(yán)重錯(cuò)錯(cuò)誤和偏偏差一般般很難在在預(yù)定的的工期內(nèi)內(nèi)改正,因因此必須須與用戶戶協(xié)商,尋尋求一個(gè)個(gè)妥善解解決問題題的方法法。2. 配置置復(fù)審確認(rèn)測(cè)測(cè)試的另另一個(gè)重重要環(huán)節(jié)節(jié)是配置置復(fù)審。復(fù)復(fù)審的目目的在于于保證軟軟件

40、配置置齊全、分分類有序序,并且且包括軟軟件維護(hù)護(hù)所必須須的細(xì)節(jié)節(jié)。3. 、測(cè)試事實(shí)上上,軟件件開發(fā)人人員不可可能完全全預(yù)見用用戶實(shí)際際使用程程序的情情況。例例如,用用戶可能能錯(cuò)誤的的理解命命令,或或提供一一些奇怪怪的數(shù)據(jù)據(jù)組合,亦亦可能對(duì)對(duì)設(shè)計(jì)者者自認(rèn)明明了的輸輸出信息息迷惑不不解,等等等。因因此,軟軟件是否否真正滿滿足最終終用戶的的要求,應(yīng)應(yīng)由用戶戶進(jìn)行一一系列“ HYPERLINK /wiki/%E9%AA%8C%E6%94%B6%E6%B5%8B%E8%AF%95 o 驗(yàn)收測(cè)試 驗(yàn)收測(cè)測(cè)試”。驗(yàn)收收測(cè)試既既可以是是非正式式的測(cè)試試,也可可以有計(jì)計(jì)劃、有有系統(tǒng)的的測(cè)試。有有時(shí),驗(yàn)驗(yàn)收測(cè)試試

41、長(zhǎng)達(dá)數(shù)數(shù)周甚至至數(shù)月,不不斷暴露露錯(cuò)誤,導(dǎo)導(dǎo)致開發(fā)發(fā)延期。一一個(gè)軟件件產(chǎn)品,可可能擁有有眾多用用戶,不不可能由由每個(gè)用用戶驗(yàn)收收,此時(shí)時(shí)多采用用稱為、測(cè)試的的過程,以以期發(fā)現(xiàn)現(xiàn)那些似似乎只有有最終用用戶才能能發(fā)現(xiàn)的的問題。測(cè)試是指指軟件開開發(fā)公司司組織內(nèi)內(nèi)部人員員模擬各各類用戶戶行對(duì)即即將面市市軟件產(chǎn)產(chǎn)品(稱稱為版本)進(jìn)進(jìn)行測(cè)試試,試圖圖發(fā)現(xiàn)錯(cuò)錯(cuò)誤并修修正。測(cè)試的的關(guān)鍵在在于盡可可能逼真真地模擬擬實(shí)際運(yùn)運(yùn)行環(huán)境境和用戶戶對(duì)軟件件產(chǎn)品的的操作并并盡最大大努力涵涵蓋所有有可能的的 用戶戶操作方方式。經(jīng)經(jīng)過測(cè)試調(diào)調(diào)整的軟軟件產(chǎn)品品稱為版本。緊緊隨其后后的測(cè)試是是指軟件件開發(fā)公公司組織織各方面面的典型

42、型用戶在在日常工工作中實(shí)實(shí)際使用用版本,并并要求用用戶報(bào)告告異常情情況、提提出批評(píng)評(píng)意見。然然后軟件件開發(fā)公公司再對(duì)對(duì)版本進(jìn)進(jìn)行改錯(cuò)錯(cuò)和完善善。系統(tǒng)測(cè)試的的基本方方法 HYPERLINK /wiki/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%BD%AF%E4%BB%B6 o 計(jì)算機(jī)軟件 計(jì)算機(jī)軟件件是基于于計(jì)算機(jī)機(jī)系統(tǒng)的的一個(gè)重重要組成成部分,軟軟件開發(fā)發(fā)完畢后后應(yīng)與系系統(tǒng)中其其它成分分集成在在一起,此此時(shí)需要要進(jìn)行一一系列系系統(tǒng)集成成和確認(rèn)認(rèn)測(cè)試。對(duì)對(duì)這些測(cè)測(cè)試的詳詳細(xì)討論論已超出出 HYPERLINK /wiki/%E8%BD%AF%E4%BB%B6%E5%B7%A5%

43、E7%A8%8B o 軟件工程 軟件工工程的范范圍,這這些測(cè)試試也不可可能僅由由軟件開開發(fā)人員員完成。在在系統(tǒng)測(cè)測(cè)試之前前,軟件件工程師師應(yīng)完成成下列工工作: (11) 為為測(cè)試軟軟件系統(tǒng)統(tǒng)的輸入入信息設(shè)設(shè)計(jì)出錯(cuò)錯(cuò)處理通通路; (22) 設(shè)設(shè)計(jì)測(cè)試試用例,模模擬錯(cuò)誤誤數(shù)據(jù)和和軟件界界面可能能發(fā)生的的錯(cuò)誤,記記錄測(cè)試試結(jié)果,為為系統(tǒng)測(cè)測(cè)試提供供經(jīng)驗(yàn)和和幫助; (3) 參與系系統(tǒng)測(cè)試試的規(guī)劃劃和設(shè)計(jì)計(jì),保證證軟件測(cè)測(cè)試的合合理性。系統(tǒng)測(cè)測(cè)試應(yīng)該該由若干干個(gè)不同同測(cè)試組組成,目目的是充充分運(yùn)行行系統(tǒng),驗(yàn)驗(yàn)證系統(tǒng)統(tǒng)各部件件是否都都能政黨黨工作并并完成所所賦予的的任務(wù)。下下面簡(jiǎn)單單討論幾幾類系統(tǒng)統(tǒng)測(cè)試。

44、、恢復(fù)測(cè)測(cè)試恢復(fù)測(cè)測(cè)試主要要檢查系系統(tǒng)的容容錯(cuò)能力力。當(dāng)系系統(tǒng)出錯(cuò)錯(cuò)時(shí),能能否在指指定時(shí)間間間隔內(nèi)內(nèi)修正錯(cuò)錯(cuò)誤并重重新啟動(dòng)動(dòng)系統(tǒng)?;只謴?fù)測(cè)試試首先要要采用各各種辦法法強(qiáng)迫系系統(tǒng)失敗敗,然后后驗(yàn)證系系統(tǒng)是否否能盡快快恢復(fù)。對(duì)對(duì)于自動(dòng)動(dòng)恢復(fù)需需驗(yàn)證重重新初始始化(rreinnitiialiizattionn)、檢檢查點(diǎn)(cheeckppoinntinng mmechhaniismss)、數(shù)數(shù)據(jù)恢復(fù)復(fù)(daata reccoveery)和重新新啟動(dòng) (reestaart)等機(jī)制制的正確確性;對(duì)對(duì)于人工工干預(yù)的的恢復(fù)系系統(tǒng),還還需估測(cè)測(cè)平均修修復(fù)時(shí)間間,確定定其是否否在可接接受的范范圍內(nèi)。、安全測(cè)測(cè)試

45、安全測(cè)測(cè)試檢查查系統(tǒng)對(duì)對(duì)非法侵侵入的防防范能力力。安全全測(cè)試期期間,測(cè)測(cè)試人員員假扮非非法入侵侵者,采采用各種種辦法試試圖突破破防線。例例如,想方設(shè)設(shè)法截取取或破譯譯口令;專門定定做軟件件破壞系系統(tǒng)的保保護(hù)機(jī)制制;故意導(dǎo)導(dǎo)致系統(tǒng)統(tǒng)失敗,企企圖趁恢恢復(fù)之機(jī)機(jī)非法進(jìn)進(jìn)入;試圖通通過瀏覽覽非保密密數(shù)據(jù),推推導(dǎo)所需需信息,等等等。理理論上講講,只要要有足夠夠的時(shí)間間和資源源,沒有有不可進(jìn)進(jìn)入的系系統(tǒng)。因因此系統(tǒng)統(tǒng)安全設(shè)設(shè)計(jì)的準(zhǔn)準(zhǔn)則是,使使非法侵侵入的代代價(jià)超過過被保護(hù)護(hù)信息的的價(jià)值。此此時(shí)非法法侵入者者已無利利可圖。、強(qiáng)度測(cè)測(cè)試強(qiáng)度測(cè)測(cè)試檢查查程序?qū)?duì)異常情情況的抵抵抗能力力。強(qiáng)度度測(cè)試總總是迫使使系

46、統(tǒng)在在異常的的資源配配置下運(yùn)運(yùn)行。例例如,當(dāng)中斷斷的正常常頻率為為每秒一一至兩個(gè)個(gè)時(shí),運(yùn)運(yùn)行每秒秒產(chǎn)生十十個(gè)中斷斷的測(cè)試試用例;定量地地增長(zhǎng)數(shù)數(shù)據(jù)輸入入率,檢檢查輸入入子功能能的反映映能力;運(yùn)行需需要最大大存儲(chǔ)空空間(或或其他資資源)的的測(cè)試用用例;運(yùn)行可可能導(dǎo)致致虛存 HYPERLINK /wiki/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F o 操作系統(tǒng) 操操作系統(tǒng)統(tǒng)崩潰或或磁盤數(shù)數(shù)據(jù)劇烈烈抖動(dòng)的的測(cè)試用用例,等等等。、 HYPERLINK /wiki/%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95 o 性能測(cè)試 性能能測(cè)試對(duì)于那那些

47、實(shí)時(shí)時(shí)和 HYPERLINK /wiki/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%B3%BB%E7%BB%9F o 嵌入式系統(tǒng) 嵌入入式系統(tǒng)統(tǒng),軟件件部分即即使?jié)M足足功能要要求,也也未必能能夠滿足足性能要要求,雖雖然從單單元測(cè)試試起,每每一測(cè)試試步驟都都包含性性能測(cè)試試,但只只有當(dāng)系系統(tǒng)真正正集成之之后,在在真實(shí)環(huán)環(huán)境中才才能全面面、可靠靠地測(cè)試試運(yùn)行性性能系統(tǒng)統(tǒng)性能測(cè)測(cè)試是為為了完成成這一任任務(wù)。性性能測(cè)試試有時(shí)與與強(qiáng)度測(cè)測(cè)試相結(jié)結(jié)合,經(jīng)經(jīng)常需要要其他軟軟硬件的的配套支支持。五、軟件測(cè)測(cè)試的類類型常見的軟件件測(cè)試類類型有: BVVT (Buiild Verrifiica

48、ttionn Teest) BVVT是在在所有開開發(fā)工程程師都已已經(jīng)檢入入自己的的代碼,項(xiàng)項(xiàng)目組編編譯生成成當(dāng)天的的版本之之后進(jìn)行行,主要要目的是是驗(yàn)證最最新生成成的軟件件版本在在功能上上是否完完整,主主要的軟軟件特性性是否正正確。如如無大的的問題,就就可以進(jìn)進(jìn)行相應(yīng)應(yīng)的功能能測(cè)試。BBVT優(yōu)優(yōu)點(diǎn)是時(shí)時(shí)間短,驗(yàn)驗(yàn)證了軟軟件的基基本功能能。缺點(diǎn)點(diǎn)是該種種測(cè)試的的覆蓋率率很低。因因?yàn)檫\(yùn)行行時(shí)間短短,不可可能把所所有的情情況都測(cè)測(cè)試到。 Sccenaarioo Teestss(基于于用戶實(shí)實(shí)際應(yīng)用用場(chǎng)景的的測(cè)試) 在做做BVTT、功能能測(cè)試的的時(shí)候,可可能測(cè)試試主要集集中在某某個(gè)模塊塊,或比比較分離

49、離的功能能上。當(dāng)當(dāng)用戶來來使用這這個(gè)應(yīng)用用程序的的時(shí)候,各各個(gè)模塊塊是作為為一個(gè)整整體來使使用的,那那么在做做測(cè)試的的時(shí)候,就就需要模模仿用戶戶這樣一一個(gè)真實(shí)實(shí)的使用用環(huán)境,即即用戶會(huì)會(huì)有哪些些用法,會(huì)會(huì)用這個(gè)個(gè)應(yīng)用程程序做哪哪些事情情,操作作會(huì)是一一個(gè)怎樣樣的流程程。加了了這些測(cè)測(cè)試用例例后,再再與BVVT、功功能測(cè)試試配合,就就能使軟軟件整體體都能符符合用戶戶使用的的要求。SScennariio TTestts優(yōu)點(diǎn)點(diǎn)是關(guān)注注了用戶戶的需求求,缺點(diǎn)點(diǎn)是有時(shí)時(shí)候難以以真正模模仿用戶戶真實(shí)的的使用情情況。 Smmokee Teest 在測(cè)測(cè)試中發(fā)發(fā)現(xiàn)問題題,找到到了一個(gè)個(gè)Bugg,然后后開發(fā)人人

50、員會(huì)來來修復(fù)這這個(gè)Buug。這這時(shí)想知知道這次次修復(fù)是是否真的的解決了了程序的的Bugg,或者者是否會(huì)會(huì)對(duì)其它它模塊造造成影響響,就需需要針對(duì)對(duì)此問題題進(jìn)行專專門測(cè)試試,這個(gè)個(gè)過程就就被稱為為Smooke Tesst。在在很多情情況下,做做Smooke Tesst是開開發(fā)人員員在試圖圖解決一一個(gè)問題題的時(shí)候候,造成成了其它它功能模模塊一系系列的連連鎖反應(yīng)應(yīng),原因因可能是是只集中中考慮了了一開始始的那個(gè)個(gè)問題,而而忽略其其它的問問題,這這就可能能引起了了新的BBug。SSmokke TTestt優(yōu)點(diǎn)是是節(jié)省測(cè)測(cè)試時(shí)間間,防止止buiild失失敗。缺缺點(diǎn)是覆覆蓋率還還是比較較低。 此外外,Appp

51、liicattionn Coompaatibbiliity Tesst(兼兼容性測(cè)測(cè)試),主主要目的的是為了了兼容第第三方軟軟件,確確保第三三方軟件件能正常常運(yùn)行,用用戶不受受影響。AAcceessiibillityy Teest(軟軟件適用用性測(cè)試試),是是確保軟軟件對(duì)于于某些有有殘疾的的人士也也能正常常的使用用,但優(yōu)優(yōu)先級(jí)比比較低。其其它的測(cè)測(cè)試還有有Funnctiionaal TTestt(功能能測(cè)試)、SSecuuritty TTestt(安全全性測(cè)試試)、SStreess Tesst( HYPERLINK /wiki/%E5%8E%8B%E5%8A%9B%E6%B5%8B%E8%AF

52、%95 o 壓力測(cè)試 壓壓力測(cè)試試)、PPerfformmancce TTestt(性能能測(cè)試)、RRegrresssionn Teest(回回歸測(cè)試試)、SSetuup/UUpgrradee Teest(安安?支持持工具 一些些受軟件件開發(fā)人人員歡迎迎的軟件件測(cè)試工工具為軟軟件測(cè)試試提供了了強(qiáng)有力力的支持持。本文文將介紹紹美國(guó) HYPERLINK /wiki/Rational o Rational RRatiionaal公司司的著名名套裝軟軟件 HYPERLINK /wiki/SQA o SQA SQQA和PPuree Attriaa公司極極具特色色的Puuriffy。SQAA Suuite

53、eSQAA直接支支持對(duì)客客戶/服服務(wù)器應(yīng)應(yīng)用軟件件的測(cè)試試,它的的一個(gè)重重要特點(diǎn)點(diǎn)是可以以自動(dòng)驅(qū)驅(qū)動(dòng)被測(cè)測(cè)程序的的運(yùn)行。SSQA可可以自動(dòng)動(dòng)記錄和和重放程程序執(zhí)行行過程,從而實(shí)實(shí)現(xiàn)了對(duì)對(duì)測(cè)試進(jìn)進(jìn)行復(fù)復(fù)查的的自動(dòng)化化。 由于測(cè)測(cè)試是一一個(gè)需要要反復(fù)進(jìn)進(jìn)行的過過程,常常常要數(shù)數(shù)十次甚甚至數(shù)百百次地重重復(fù)。因因此,這這一特性性大大地地提高了了軟件再測(cè)試試(RRe-TTestt)和回歸測(cè)測(cè)試(Reggresssioon)的的自動(dòng)化化程度,把測(cè)試試人員從從繁雜的的、重復(fù)復(fù)性的手手工測(cè)試試中解脫脫出來,從而顯顯著地提提高軟件件測(cè)試效效率。 除了了這個(gè)最最基本的的自動(dòng)錄錄放功能能外,它它還提供供了一系系列的

54、輔輔助支持持功能,比如, 被錄錄制的程程序執(zhí)行行過程可可以被自自動(dòng)轉(zhuǎn)換換成具有有良好可可讀性的的高級(jí)語語言程序序,從而而使這個(gè)個(gè)測(cè)試驅(qū)驅(qū)動(dòng)程序序可以由由測(cè)試人人員根據(jù)據(jù)測(cè)試需需要進(jìn)行行必要的的修改,甚至完完全用手手工方式式編制。自動(dòng)記記錄和分分析比較較測(cè)試的的執(zhí)行結(jié)結(jié)果。不不論是簡(jiǎn)簡(jiǎn)單的正正文方式式的輸出出結(jié)果,還是任任意的圖圖表、聲聲音、動(dòng)動(dòng)畫、圖圖形用戶戶界面(GUII)中的的任一 HYPERLINK /wiki/%E6%9E%84%E4%BB%B6 o 構(gòu)件 構(gòu)構(gòu)件,都都可以根根據(jù)測(cè)試試人員的的指定被被自動(dòng)記記錄在測(cè)測(cè)試結(jié)果果庫(kù)中,并可對(duì)對(duì)兩次測(cè)測(cè)試的結(jié)結(jié)果自動(dòng)動(dòng)地進(jìn)行行比較,指出其其差

55、異部部分。此此項(xiàng)功能能無疑對(duì)對(duì)自動(dòng)動(dòng)查找錯(cuò)錯(cuò)誤很很有幫助助。調(diào)節(jié)和和設(shè)定事事件的發(fā)發(fā)生時(shí)間間和速度度?;镜牡臏y(cè)試庫(kù)庫(kù)管理功功能。 此外,SQAA還支持持軟件測(cè)測(cè)試人員員進(jìn)行以以下工作作:制定測(cè)測(cè)試計(jì)劃劃和測(cè)試試大綱,并將這這些文檔檔按照自自然的樹樹狀結(jié)構(gòu)構(gòu) HYPERLINK /wiki/%E5%88%86%E5%B1%82 o 分層 分層地管管理起來來,并據(jù)據(jù)此控制制和驅(qū)動(dòng)動(dòng)整個(gè)測(cè)測(cè)試過程程。不僅能能夠自動(dòng)動(dòng)記錄各各類測(cè)試試結(jié)果,而且對(duì)對(duì)其進(jìn)行行修改,從而使使得測(cè)試試人員可可以在程程序運(yùn)行行結(jié)果尚尚有許多多錯(cuò)誤的的情況下下,通過過對(duì)所記記錄下的的結(jié)果做做適當(dāng)修修正來獲獲得理想想的期期望結(jié)果

56、果 ,為測(cè)試試結(jié)果的的自動(dòng)比比較奠定定基礎(chǔ)。測(cè)試問問題報(bào)告告的記錄錄與管理理。 總之之,SQQA SSuitte提供供了一個(gè)個(gè)比較完完整的測(cè)測(cè)試平臺(tái)臺(tái),以支支持軟件件測(cè)試的的各種基基本活動(dòng)動(dòng),包括括測(cè)試計(jì)計(jì)劃與測(cè)測(cè)試大綱綱的制定定、回歸歸測(cè)試的的自動(dòng)化化、測(cè)試試結(jié)果的的分析比比較、軟軟件問題題報(bào)告的的生成與與自動(dòng)分分發(fā)和控控制等。對(duì)對(duì)于許多多應(yīng)用軟軟件的開開發(fā)無疑疑是個(gè)有有力的測(cè)測(cè)試支持持工具。Purrifyy是原PPureeAtrria公公司(現(xiàn)現(xiàn)已經(jīng)與與美國(guó)RRatiionaal公司司合并,改名為為美國(guó)RRatiionaal公司司)于990年代代初率先先推出的的專門用用于檢測(cè)測(cè)程序中中種種

57、內(nèi)內(nèi)存使用用錯(cuò)誤的的 HYPERLINK /wiki/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E5%85%B7 o 軟件工具 軟件工工具。幾幾乎所有有使用過過C語言言開發(fā)軟軟件的程程序員都都會(huì)有這這樣的體體會(huì),CC語言中中使用極極為靈活活的指針針給程序序員帶來來了很大大便利,但同時(shí)時(shí)也制造造了許多多的麻煩煩。由于于指針使使用不當(dāng)當(dāng)而引起起的錯(cuò)誤誤通常是是最難發(fā)發(fā)現(xiàn)的,同時(shí)也也是最難難定位的的一類錯(cuò)錯(cuò)誤。而而Purrifyy對(duì)多種種常見的的內(nèi)存使使用錯(cuò)誤誤的檢錯(cuò)錯(cuò)能力和和準(zhǔn)確的的定位,受到廣廣大軟件件開發(fā)人人員的青青睞。Purrifyy可以自自動(dòng)識(shí)別別出二十十多種內(nèi)內(nèi)存使用用錯(cuò)誤

58、,包括未初始始化的局局部變量量未申請(qǐng)請(qǐng)的內(nèi)存存使用已已釋放的的內(nèi)存數(shù)組越越界內(nèi)存丟丟失文件描描述問題題棧溢出出問題棧結(jié)構(gòu)構(gòu)邊界錯(cuò)錯(cuò)誤等 在下下面的例例子中,暗藏著著兩個(gè)內(nèi)內(nèi)存使用用錯(cuò)誤。第第一行為為指針數(shù)數(shù)組ppp申請(qǐng)的的空間尺尺寸不對(duì)對(duì)。這類類錯(cuò)誤往往往不易易發(fā)現(xiàn),因?yàn)樵谠贑語言言中,一一些輕輕微的的內(nèi)存越越界可能能被系統(tǒng)統(tǒng)所容忍忍。但這這往往是是導(dǎo)致更更嚴(yán)重錯(cuò)錯(cuò)誤的根根源。例例如,可可能破壞壞其它數(shù)數(shù)據(jù)區(qū)等等。最后后一行的的錯(cuò)誤是是在釋放放pp 之前沒沒有釋放放賦予它它的字符符串空間間,從而而把它們們丟失失了。這這類錯(cuò)誤誤猶如慢慢性自殺殺,它會(huì)會(huì)逐漸消消耗掉內(nèi)內(nèi)存,降降低系統(tǒng)統(tǒng)的運(yùn)行行效率

59、,直到完完全崩潰潰。而真真正的問問題在于于,這些些程序中中的惡惡性腫瘤瘤用常常規(guī)的測(cè)測(cè)試手段段和調(diào)試試工具是是極難發(fā)發(fā)現(xiàn)和加加以定位位的。PPuriify則則在此充充分顯示示了它的的強(qiáng)大功功效,所所到之處處,即對(duì)對(duì)所測(cè)試試過的情情況,上上述各種種常見的的內(nèi)存錯(cuò)錯(cuò)誤都可可以被一一一揭露露出來,并且準(zhǔn)準(zhǔn)確地指指出錯(cuò)誤誤的類型型和位置置。從而而大大地地提高了了測(cè)試和和糾錯(cuò)的的效率,提高了了軟件的的可靠性性。/tto gget 10 worrds andd prrintt thhem outt/ if(!(ppp=(chaar*)maallooc(110) /*SSizee shhoulld bbe

60、110*ssizeeof(chaar*)*/ priintff(OOut of memmoryy.nn); exiit(-1); forr(i=0;iiPuure,包括支支持內(nèi)存存檢測(cè)的的Purrifyy ,支支持路徑徑覆蓋的的PurreCooverragee,支持持多 HYPERLINK /wiki/%E7%BA%BF%E7%A8%8B o 線程 線程程應(yīng)用程程序性能能測(cè)試的的Quaantiify,以及用用以提高高測(cè)試期期間連接接編譯被被測(cè)程序序效率的的PurreLiink等等。Puure系系列現(xiàn)已已支持CC、C 、FOORTRRAN語語言,以以及UNNIX和和Winndoww NTT等操作

溫馨提示

  • 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. 人人文庫(kù)網(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)論