軟件工程第14章_第1頁(yè)
軟件工程第14章_第2頁(yè)
軟件工程第14章_第3頁(yè)
軟件工程第14章_第4頁(yè)
軟件工程第14章_第5頁(yè)
已閱讀5頁(yè),還剩121頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

課程名稱:軟件工程第22講班級(jí):日期:教室:教學(xué)題目:第14章軟件測(cè)試14.1軟件測(cè)試的基礎(chǔ)知識(shí)

14.2軟件測(cè)試技術(shù)

14.2.1白盒測(cè)試1.邏輯覆蓋教學(xué)目的:了解軟件測(cè)試的基本知識(shí)。掌握邏輯覆蓋測(cè)試技術(shù)。教學(xué)重點(diǎn):軟件測(cè)試的步驟和常見(jiàn)錯(cuò)誤類型、邏輯覆蓋。教學(xué)難點(diǎn):軟件測(cè)試的步驟、邏輯覆蓋。教具:多媒體教室、電子教案作業(yè):第14章軟件測(cè)試試軟件測(cè)試試是對(duì)軟軟件規(guī)格格說(shuō)明、、軟件設(shè)設(shè)計(jì)和編編碼的最最全面也也是最后后的審查查。通過(guò)軟件件測(cè)試,,可以發(fā)發(fā)現(xiàn)軟件件中絕大大部分潛潛伏的錯(cuò)錯(cuò)誤,從從而可以以大大提提高軟件件產(chǎn)品的的正確性性、可靠靠性,進(jìn)進(jìn)而可顯顯著提高高產(chǎn)品質(zhì)質(zhì)量。統(tǒng)計(jì)表明明,軟件件測(cè)試工工作往往往占軟件件開(kāi)發(fā)總總工作量量的40%以上上。甚至至3~5倍以上上。第14章軟件測(cè)試試本章將介介紹:軟件測(cè)試試的基本本知識(shí);;軟件測(cè)試試的常用用方法和和技術(shù);;軟件測(cè)試試的過(guò)程程;軟件的調(diào)調(diào)試與排排錯(cuò)技術(shù)術(shù);軟件測(cè)試試的工具具。第14章軟件測(cè)試試14.1軟件測(cè)試試的基本本知識(shí)14.2軟件測(cè)試試技術(shù)14.3軟件測(cè)試試過(guò)程14.4調(diào)試14.5測(cè)試工具具14.1軟軟件測(cè)試試的基本本知識(shí)軟件測(cè)試試是執(zhí)行行程序發(fā)發(fā)現(xiàn)并排排除程序序中潛伏伏的錯(cuò)誤誤的過(guò)程程。軟件測(cè)試試是軟件件投入運(yùn)運(yùn)行前,,對(duì)軟件件需求分分析、設(shè)設(shè)計(jì)、實(shí)實(shí)現(xiàn)的強(qiáng)強(qiáng)有力的的最終審審查。14.1.1軟軟件件測(cè)試的的目標(biāo)與與原則測(cè)試用例例——為為了進(jìn)行行有效的的測(cè)試而而設(shè)計(jì)的的輸入數(shù)數(shù)據(jù)和預(yù)預(yù)期的輸輸出結(jié)果果數(shù)據(jù)。。Myers在其軟件件測(cè)試著著作中對(duì)對(duì)軟件測(cè)測(cè)試的目目標(biāo)提出出以下觀觀點(diǎn):①軟件測(cè)測(cè)試是為為了發(fā)現(xiàn)現(xiàn)錯(cuò)誤而而運(yùn)行程程序的過(guò)過(guò)程;②一個(gè)好好的測(cè)試試用例能能夠發(fā)現(xiàn)現(xiàn)至今尚尚未發(fā)現(xiàn)現(xiàn)的錯(cuò)誤;③一個(gè)成成功的測(cè)測(cè)試是發(fā)發(fā)現(xiàn)了至至今尚未未發(fā)現(xiàn)的的錯(cuò)誤的測(cè)試試。測(cè)試原則則①應(yīng)盡早早和不斷斷地進(jìn)行行軟件““測(cè)試””,即將將這種““測(cè)試””貫穿于于軟件開(kāi)開(kāi)發(fā)的各各個(gè)階段段,堅(jiān)持持各個(gè)階階段的技技術(shù)評(píng)審審,以便便盡早地地發(fā)現(xiàn)和和預(yù)防錯(cuò)錯(cuò)誤。②測(cè)試用用例中,,不僅要要選擇合合理的輸輸入數(shù)據(jù)據(jù),還要要選擇不不合理的的輸入數(shù)數(shù)據(jù)。③在開(kāi)發(fā)發(fā)各階段段應(yīng)事先先分別制制定出相相應(yīng)的測(cè)測(cè)試計(jì)劃劃,在測(cè)測(cè)試開(kāi)始始后應(yīng)嚴(yán)嚴(yán)格執(zhí)行行,防止止隨意性性。④對(duì)發(fā)現(xiàn)現(xiàn)錯(cuò)誤較較多的程程序模塊塊,應(yīng)進(jìn)進(jìn)行重點(diǎn)點(diǎn)測(cè)試。。Pareto指出,測(cè)測(cè)試發(fā)現(xiàn)現(xiàn)錯(cuò)誤的的80%%集中在在20%%的模塊塊中。發(fā)發(fā)現(xiàn)錯(cuò)誤誤較多的的模塊質(zhì)質(zhì)量較差差,需重重點(diǎn)測(cè)試試,并要要測(cè)試是是否引入入了新的的錯(cuò)誤。。測(cè)試原則則⑤避免程程序員測(cè)測(cè)試自己己的程序序。測(cè)試用例例的設(shè)計(jì)計(jì)應(yīng)有第第三方參參與。對(duì)對(duì)于大型型軟件的的測(cè)試,,一般的的做法是是:設(shè)計(jì)計(jì)者與測(cè)測(cè)試者共共同完成成單元測(cè)測(cè)試任務(wù)務(wù),而綜綜合測(cè)試試由專門門的測(cè)試試機(jī)構(gòu)負(fù)負(fù)責(zé),有有時(shí)其中中也可以以有設(shè)計(jì)計(jì)者參加加⑥用窮舉舉測(cè)試是是不現(xiàn)實(shí)實(shí)的,一一般通過(guò)過(guò)設(shè)計(jì)測(cè)測(cè)試用例例,充分分覆蓋所所有條件件或所有有語(yǔ)句即即可。⑦長(zhǎng)期妥妥善保存存測(cè)試計(jì)計(jì)劃、測(cè)測(cè)試用例例、出錯(cuò)錯(cuò)統(tǒng)計(jì)和和有關(guān)的的分析報(bào)報(bào)告。14.1.2軟軟件件測(cè)試的的步驟圖14--1-1測(cè)測(cè)試步驟驟部件代碼部件代碼單元測(cè)試試單元測(cè)試試單元測(cè)試試…部件代碼集成測(cè)試試功能測(cè)試試性能測(cè)試試驗(yàn)收測(cè)試試安裝測(cè)試試設(shè)計(jì)規(guī)格說(shuō)明明系統(tǒng)功能需求求其他軟件需求求用戶需求求規(guī)格說(shuō)明明用戶環(huán)境集成后的模塊功能系統(tǒng)驗(yàn)證,生效的軟件被接受的系統(tǒng)在使用中中的系統(tǒng)統(tǒng)測(cè)試后的模塊14.1.2軟軟件件測(cè)試的的步驟在本書中中,從軟軟件工程程的角度度:將單元測(cè)測(cè)試與詳詳細(xì)設(shè)計(jì)計(jì)對(duì)應(yīng)起起來(lái),即即在詳細(xì)細(xì)設(shè)計(jì)階階段就應(yīng)應(yīng)制定出出單元測(cè)測(cè)試計(jì)劃劃;而集成測(cè)測(cè)試又稱稱為綜合合測(cè)試,,可以把把概要設(shè)設(shè)計(jì)和集集成測(cè)試試對(duì)應(yīng)起起來(lái),在在概要設(shè)設(shè)計(jì)階段段就可以以制定集集成測(cè)試試計(jì)劃;;將功能測(cè)測(cè)試、性性能(行行為)測(cè)測(cè)試、驗(yàn)驗(yàn)收測(cè)試試統(tǒng)稱為為驗(yàn)收測(cè)測(cè)試(也也稱確認(rèn)認(rèn)測(cè)試)),與軟軟件系統(tǒng)統(tǒng)需求分分析階段段對(duì)應(yīng)起起來(lái),在在需求分分析階段段就應(yīng)制制定出驗(yàn)驗(yàn)收準(zhǔn)則則和驗(yàn)收收測(cè)試計(jì)計(jì)劃,驗(yàn)驗(yàn)收測(cè)試試應(yīng)提交交經(jīng)用戶戶確認(rèn)的的軟件產(chǎn)產(chǎn)品;最后,將將軟件、、硬件等等要素構(gòu)構(gòu)成一個(gè)個(gè)完整的的基于計(jì)計(jì)算機(jī)的的系統(tǒng),,再進(jìn)行行系統(tǒng)測(cè)測(cè)試,使使系統(tǒng)測(cè)測(cè)試與系系統(tǒng)定義義相對(duì)應(yīng)應(yīng),即在在系統(tǒng)定定義階段段就應(yīng)制制定系統(tǒng)統(tǒng)測(cè)試計(jì)計(jì)劃。14.1.2軟軟件件測(cè)試的的步驟圖14--1-2軟軟件工程程的開(kāi)發(fā)發(fā)與測(cè)試試的關(guān)系系系統(tǒng)工程程需求分析析概要設(shè)計(jì)計(jì)設(shè)計(jì)、編編碼單元測(cè)試試集成測(cè)試試驗(yàn)收測(cè)試試系統(tǒng)測(cè)試試14.1.3測(cè)測(cè)試試階段的的信息流流圖14--1-3測(cè)測(cè)試階段段的信息息流測(cè)試評(píng)價(jià)排錯(cuò)可靠性模型軟件配置置測(cè)試配置置測(cè)試結(jié)果果錯(cuò)誤錯(cuò)誤統(tǒng)計(jì)計(jì)預(yù)期結(jié)果果正確的程程序可靠性預(yù)預(yù)測(cè)14.1.3測(cè)測(cè)試試階段的的信息流流測(cè)試的輸輸入流有有軟件配配置和測(cè)測(cè)試配置置。軟件配置置由需求求規(guī)格說(shuō)說(shuō)明、設(shè)設(shè)計(jì)說(shuō)明明、源代代碼等組組成;測(cè)試配置置包括測(cè)測(cè)試計(jì)劃劃、測(cè)試試用例((其中包包括預(yù)期期的結(jié)果果)、測(cè)測(cè)試工具具等組成成。測(cè)試結(jié)果果評(píng)價(jià)經(jīng)常發(fā)現(xiàn)現(xiàn)嚴(yán)重的的錯(cuò)誤并并需要修修改軟件件,則軟軟件的質(zhì)質(zhì)量和可可靠性一一定不高高,需要要進(jìn)一步步測(cè)試;;如果測(cè)試試所發(fā)現(xiàn)現(xiàn)的錯(cuò)誤誤不多且且易于改改正,軟軟件功能能看起來(lái)來(lái)也較完完善,則則需考慮慮兩種可可能:1)軟件件質(zhì)量和和可靠性性確實(shí)令令人滿意意;2)測(cè)試試不全面面,很可可能還潛潛伏著嚴(yán)嚴(yán)重錯(cuò)誤誤;如果測(cè)試試過(guò)程沒(méi)沒(méi)有發(fā)現(xiàn)現(xiàn)任何錯(cuò)錯(cuò)誤,則則很有可可能是測(cè)測(cè)試配置置不合理理。14.1.4軟軟件件測(cè)試的的常用方方法1.靜態(tài)態(tài)測(cè)試靜態(tài)測(cè)試試是采用用人工檢檢測(cè)和計(jì)計(jì)算機(jī)輔輔助靜態(tài)態(tài)分析的的方法對(duì)對(duì)程序進(jìn)進(jìn)行檢測(cè)測(cè)。人工檢測(cè)測(cè)是指靠靠人工走走查程序序或評(píng)審審軟件。。這種走走查與評(píng)評(píng)審主要要針對(duì)編編碼的質(zhì)質(zhì)量和軟軟件開(kāi)發(fā)發(fā)各個(gè)階階段的文文檔,特特別是總總體設(shè)計(jì)計(jì)和詳細(xì)細(xì)設(shè)計(jì)階階段的錯(cuò)錯(cuò)誤。能能發(fā)現(xiàn)30%~~70%%的邏輯輯設(shè)計(jì)和和編碼錯(cuò)錯(cuò)誤。計(jì)算機(jī)輔輔助靜態(tài)態(tài)分析是是指利用用靜態(tài)分分析軟件件工具對(duì)對(duì)程序進(jìn)進(jìn)行靜態(tài)態(tài)分析,,主要檢檢測(cè)變量量是否用用錯(cuò)、參參數(shù)是否否匹配、、循環(huán)嵌嵌套是否否有錯(cuò)、、是否有有死循環(huán)環(huán)和永遠(yuǎn)遠(yuǎn)執(zhí)行不不到的死死代碼等等等。同同時(shí),它它還可對(duì)對(duì)程序的的特性進(jìn)進(jìn)行分析析。14.1.4軟軟件件測(cè)試的的常用方方法2.動(dòng)態(tài)態(tài)測(cè)試動(dòng)態(tài)測(cè)試試是指事事先設(shè)計(jì)計(jì)好一組組測(cè)試用用例,然然后通過(guò)過(guò)運(yùn)行程程序來(lái)發(fā)發(fā)現(xiàn)錯(cuò)誤誤。動(dòng)態(tài)測(cè)試試有兩種種測(cè)試方方法:黑盒測(cè)試試;白盒測(cè)試試。14.1.4軟軟件件測(cè)試的的常用方方法黑盒測(cè)試試,又稱稱為功能能測(cè)試———把被被測(cè)的程程序模塊塊看成一一個(gè)黑匣匣子,即即完全不不考慮程程序的內(nèi)內(nèi)部結(jié)構(gòu)構(gòu)和處理理過(guò)程,,測(cè)試僅僅在程序序的接口口上進(jìn)行行。白盒測(cè)試試——把把被測(cè)的的程序看看成一個(gè)個(gè)透明的的白匣子子,即完完全了解解程序的的內(nèi)部結(jié)結(jié)構(gòu)和詳詳細(xì)的處處理過(guò)程程,測(cè)試試是在程程序的內(nèi)內(nèi)部結(jié)構(gòu)構(gòu)上進(jìn)行行。即要要求針對(duì)對(duì)每一條條邏輯路路徑都要要設(shè)計(jì)測(cè)測(cè)試用例例,檢查查每一個(gè)個(gè)分支和和每一次次循環(huán)的的情況。。窮舉測(cè)試試是不現(xiàn)現(xiàn)實(shí)的。。如上圖圖,設(shè)循循環(huán)體應(yīng)應(yīng)執(zhí)行30次,,循環(huán)體體中有4個(gè)獨(dú)立立的分支支,則最最多有430≈1018個(gè)邏輯路路徑,假假設(shè)每運(yùn)運(yùn)行一個(gè)個(gè)測(cè)試用用例平均均花費(fèi)1毫秒,,則需花花費(fèi)3千千多萬(wàn)年年。一般般選用少少量最有有效的測(cè)測(cè)試用例例,以便便覆蓋每每一個(gè)條條件、每每一個(gè)路路徑和每每一個(gè)語(yǔ)語(yǔ)句,從從而以最最少的代代價(jià)發(fā)現(xiàn)現(xiàn)盡可能能多的錯(cuò)錯(cuò)誤。開(kāi)始結(jié)束14.1.5軟軟件件測(cè)試中中常見(jiàn)的的錯(cuò)誤類類型按照錯(cuò)誤誤的影響響和造成成的后果果進(jìn)行分分類,可可分為::較小錯(cuò)錯(cuò)誤,中中等錯(cuò)誤誤,較嚴(yán)嚴(yán)重錯(cuò)誤誤,嚴(yán)重重錯(cuò)誤,,非常嚴(yán)嚴(yán)重的錯(cuò)錯(cuò)誤,最最嚴(yán)重的的錯(cuò)誤。。按照軟件件生存周周期各個(gè)個(gè)階段分分類,可可分為::?jiǎn)栴}定定義錯(cuò)誤誤、需求求分析規(guī)規(guī)格說(shuō)明明錯(cuò)誤、、設(shè)計(jì)錯(cuò)錯(cuò)誤、編編碼錯(cuò)誤誤等等。。這里重點(diǎn)點(diǎn)介紹一一種按照照錯(cuò)誤的的性質(zhì)和和范圍進(jìn)進(jìn)行分類類的方法法,可以以將錯(cuò)誤誤分為如如下幾類類:按照錯(cuò)誤誤的性質(zhì)質(zhì)和范圍圍進(jìn)行分分類1.功能能錯(cuò)誤①需求規(guī)規(guī)格說(shuō)明明錯(cuò)誤。。主要是是指其中中有錯(cuò)誤誤、多余余或遺漏漏的功能能,有二二義性或或自相矛矛盾。②設(shè)計(jì)實(shí)實(shí)現(xiàn)錯(cuò)誤誤。設(shè)計(jì)計(jì)或?qū)崿F(xiàn)現(xiàn)的功能能不是規(guī)規(guī)格說(shuō)明明或用戶戶所要求求的功能能。按照錯(cuò)誤誤的性質(zhì)質(zhì)和范圍圍進(jìn)行分分類2.系統(tǒng)統(tǒng)錯(cuò)誤①外部接接口錯(cuò)誤誤。如與與打印機(jī)機(jī)的接口口錯(cuò)誤。。②內(nèi)部接接口錯(cuò)誤誤。指各各程序模模塊間的的聯(lián)系存存在錯(cuò)誤誤。如輸輸入/輸輸出、數(shù)數(shù)據(jù)保護(hù)護(hù)、子程程序訪問(wèn)問(wèn)等。③硬件結(jié)結(jié)構(gòu)錯(cuò)誤誤。如錯(cuò)錯(cuò)誤地理理解I/O指令、中中斷處理理、設(shè)備備啟動(dòng)和和初始化化等而引引起的錯(cuò)錯(cuò)誤。④軟件結(jié)結(jié)構(gòu)錯(cuò)誤誤。由于于軟件結(jié)結(jié)構(gòu)不合合理或不不清晰所所引起的的錯(cuò)誤。。往往在在系統(tǒng)滿滿載時(shí)才才能發(fā)現(xiàn)現(xiàn)。⑤操作系系統(tǒng)錯(cuò)誤誤。該類類錯(cuò)誤是是由于不不了解操操作系統(tǒng)統(tǒng)而引起起的,操操作系統(tǒng)統(tǒng)本身也也有錯(cuò)誤誤。⑥控制與與順序錯(cuò)錯(cuò)誤。包包括事件件的時(shí)間間順序不不正確、、等待一一個(gè)不可可能發(fā)生生的事件件等等。。⑦資源管管理錯(cuò)誤誤。既資資源使用用不當(dāng)。。資源死死鎖等。。按照錯(cuò)誤誤的性質(zhì)質(zhì)和范圍圍進(jìn)行分分類3.加工工錯(cuò)誤((算法錯(cuò)錯(cuò)誤)①計(jì)算與與操作錯(cuò)錯(cuò)誤。指指計(jì)算、、函數(shù)求求值和一一般操作作過(guò)程中中的錯(cuò)誤誤。②初始化化錯(cuò)誤。。如忘記記了初始始化工作作區(qū)、數(shù)數(shù)據(jù)區(qū),,錯(cuò)誤地地對(duì)循環(huán)環(huán)變量賦賦初值,,不正確確的初始始化等等等。③局部控控制和次次序錯(cuò)誤誤。如遺遺漏路徑徑、不可可達(dá)到的的代碼段段、循環(huán)環(huán)嵌套或或終止條條件不正正確、死死循環(huán)等等等。④邏輯錯(cuò)錯(cuò)誤。如如多分支支、判斷斷條件不不正確等等。按照錯(cuò)誤誤的性質(zhì)質(zhì)和范圍圍進(jìn)行分分類4.?dāng)?shù)據(jù)據(jù)錯(cuò)誤①動(dòng)態(tài)數(shù)數(shù)據(jù)錯(cuò)誤誤。②靜態(tài)數(shù)數(shù)據(jù)錯(cuò)誤誤。靜態(tài)態(tài)數(shù)據(jù)指指直接或或間接地地出現(xiàn)在在程序或或數(shù)據(jù)庫(kù)庫(kù)中的數(shù)數(shù)據(jù),其其內(nèi)容和和格式都都是固定定的。因因此在內(nèi)內(nèi)容或格格式上都都可能存存在錯(cuò)誤誤。③數(shù)據(jù)內(nèi)內(nèi)容錯(cuò)誤誤。是指指由于內(nèi)內(nèi)容被破破壞或被被錯(cuò)誤地地解釋而而造成的的錯(cuò)誤。。④數(shù)據(jù)結(jié)結(jié)構(gòu)錯(cuò)誤誤。包括括數(shù)據(jù)結(jié)結(jié)構(gòu)說(shuō)明明錯(cuò)誤和和數(shù)據(jù)結(jié)結(jié)構(gòu)使用用錯(cuò)誤。。⑤數(shù)據(jù)屬屬性錯(cuò)誤誤。數(shù)據(jù)據(jù)屬性是是指數(shù)據(jù)據(jù)內(nèi)容的的含義或或語(yǔ)義,,如整數(shù)數(shù)、字符符等。數(shù)數(shù)據(jù)屬性性錯(cuò)誤是是指對(duì)數(shù)數(shù)據(jù)屬性性的錯(cuò)誤誤解釋和和錯(cuò)誤使使用而導(dǎo)導(dǎo)致的錯(cuò)錯(cuò)誤。按照錯(cuò)誤誤的性質(zhì)質(zhì)和范圍圍進(jìn)行分分類5.代碼碼錯(cuò)誤代碼錯(cuò)誤誤主要包包括語(yǔ)法法錯(cuò)誤、、鍵入錯(cuò)錯(cuò)誤、對(duì)對(duì)語(yǔ)句的的理解錯(cuò)錯(cuò)誤等。。例如,Myers(1976)指出,美美國(guó)第一一個(gè)去金金星的太太空任務(wù)務(wù)的失敗敗是由于于在一個(gè)個(gè)Fortrando循環(huán)中缺缺少一個(gè)個(gè)逗號(hào)。。14.2軟軟件測(cè)試試技術(shù)14.2.1白白盒盒測(cè)試白盒測(cè)試試的原則則是:①保證程程序中每每一獨(dú)立立的路徑徑至少執(zhí)執(zhí)行一次次;②保證所所有判定定的每一一個(gè)分支支至少執(zhí)執(zhí)行一次次;③保證每每個(gè)判定定表達(dá)式式中每個(gè)個(gè)條件的的所有可可能結(jié)果果至少出出現(xiàn)一次次;④保證每每一循環(huán)環(huán)都在邊邊界條件件和一般般條件至至少各執(zhí)執(zhí)行一次次;⑤驗(yàn)證所所有內(nèi)部部數(shù)據(jù)結(jié)結(jié)構(gòu)的有有效性。。幾種典型型的白盒盒測(cè)試技技術(shù)1.邏輯輯覆蓋邏輯覆蓋蓋是指設(shè)設(shè)計(jì)測(cè)試試用例對(duì)對(duì)程序的的內(nèi)部分分支邏輯輯結(jié)構(gòu)進(jìn)進(jìn)行部分分或全部部覆蓋的的技術(shù)。。1)語(yǔ)句句覆蓋2)判定定覆蓋3)條件件覆蓋4)判定定/條件件覆蓋5)條件件組合覆覆蓋6)路徑徑覆蓋邏輯覆蓋蓋1)語(yǔ)句句覆蓋——使程程序中的的每個(gè)語(yǔ)語(yǔ)句至少少執(zhí)行一一次。令x=2,,y=0,z==4作為測(cè)試試數(shù)據(jù),,程序執(zhí)執(zhí)行路徑徑為abcde,使語(yǔ)句段段1和2各執(zhí)行行一次,,實(shí)現(xiàn)了了語(yǔ)句覆覆蓋。它它不能檢檢測(cè)所有有判定條條件的錯(cuò)錯(cuò)誤。比比如,錯(cuò)錯(cuò)把z>1寫成了z<1,,則上述測(cè)測(cè)試用例例就無(wú)法法檢測(cè)出出來(lái)了。。(x>1)AND((y==0)(x=2)OR((z>1)語(yǔ)句段1語(yǔ)句段2開(kāi)始結(jié)束TTFFabcde2)判定定覆蓋———分支支覆蓋判定覆蓋蓋是指設(shè)設(shè)計(jì)足夠夠多的測(cè)測(cè)試用例例,使每每個(gè)判定定的每種種可能結(jié)結(jié)果都至至少出現(xiàn)現(xiàn)一次,,也就是是使每個(gè)個(gè)判定的的每個(gè)分分支都至至少執(zhí)行行一次。??梢栽O(shè)計(jì)計(jì)如下兩兩組數(shù)據(jù)據(jù)以滿足足判定覆覆蓋:x=3,,y=0,z==1(通過(guò)路徑徑abce);x=2,,y=1,z==2(通過(guò)路徑徑acde)。判定覆蓋蓋必然滿滿足語(yǔ)句句覆蓋。。覆蓋程程度仍然然不高。。比如,,錯(cuò)把z>1寫成了z<1,,則上述測(cè)測(cè)試用例例仍無(wú)法法檢測(cè)出出來(lái)。因因?yàn)樗恢桓采w了了全部路路徑的一一半。判判定覆蓋蓋可以推推廣到多多分支情情況。(x>1)AND(y=0)(x=2)OR(z>1)語(yǔ)句段1語(yǔ)句段2開(kāi)始結(jié)束TTFFabcde3)條件件覆蓋條件覆蓋蓋是指設(shè)設(shè)計(jì)足夠夠的測(cè)試試用例,,使每個(gè)個(gè)判定表表達(dá)式中中的每個(gè)個(gè)條件的的每種可可能值都都至少出出現(xiàn)一次次。如圖,共共有4個(gè)個(gè)條件::x>1,y=0,x=2,z>1。條件覆蓋蓋要求設(shè)設(shè)計(jì)測(cè)試試用例,,覆蓋第第一個(gè)判判定表達(dá)達(dá)式的x>1,y==0,x≤≤1,y≠≠0等各種結(jié)結(jié)果,并并覆蓋第第二個(gè)判判定表達(dá)達(dá)式的x=2,z>1,x≠2,z≤1等各種結(jié)結(jié)果。(x>1)AND((y==0)(x=2)OR((z>1)語(yǔ)句段1語(yǔ)句段2開(kāi)始結(jié)束TTFFabcde3)條件件覆蓋設(shè)計(jì)如下下兩組測(cè)測(cè)試用例例,可以以滿足條條件覆蓋蓋的標(biāo)準(zhǔn)準(zhǔn):x=2,,y=0,z==3(覆蓋x>1,,y=0,x==2,z>1,,通過(guò)路徑徑abcde);x=1,,y=1,z==1(覆蓋x≤1,,y≠0,x≠≠2,z≤1,,通過(guò)路徑徑ace))。(x>1)AND((y==0)(x=2)OR((z>1)語(yǔ)句段1語(yǔ)句段2開(kāi)始結(jié)束TTFFabcde3)條件件覆蓋但是,如如果設(shè)計(jì)計(jì)如下一一組測(cè)試試用例::x=1,,y=0,z==3(覆蓋x≤1,,y=0,x≠≠2,z>1,,通過(guò)路徑徑acde);x=2,,y=1,z==1(覆蓋x>1,,y≠0,x==2,z≤1,,通過(guò)路徑徑ace))。雖滿足條條件覆蓋蓋,但不不滿足語(yǔ)語(yǔ)句覆蓋蓋和判定定覆蓋。。(x>1)AND(y=0)(x=2)OR(z>1)語(yǔ)句段1語(yǔ)句段2開(kāi)始結(jié)束TTFFabcde4)判定定/條件件覆蓋它是指設(shè)設(shè)計(jì)足夠夠的測(cè)試試用例,,使得判判定表達(dá)達(dá)式中的的每個(gè)條條件都取取到所有有可能的的值(即即滿足條條件覆蓋蓋),并并使每個(gè)個(gè)判定表表達(dá)式也也都取到到所有可可能的判判定結(jié)果果(即滿滿足判定定覆蓋))。4)判定定/條件件覆蓋x=2,,y=0,z==3(覆蓋x>1,,y=0,x==2,z>1,,通過(guò)路徑徑abcde);x=1,,y=1,z==1(覆蓋x≤1,,y≠0,x≠≠2,z≤1,,通過(guò)路徑徑ace))。(x>1)AND(y=0)(x=2)OR(z>1)語(yǔ)句段1語(yǔ)句段2開(kāi)始結(jié)束TTFFabcde5)條件件組合覆覆蓋條件組合合覆蓋是是指設(shè)計(jì)計(jì)足夠的的測(cè)試用用例,使使得每個(gè)個(gè)判定表表達(dá)式中中條件的的各種可可能值的的組合都都至少出出現(xiàn)一次次。這是是一種較較強(qiáng)的邏邏輯覆蓋蓋。如圖,兩兩個(gè)判定定表達(dá)式式中含有有4個(gè)條條件,共共有8種種組合::①x>1,,y=0;②②x>1,y≠≠0;③x≤1,y==0;④④x≤≤1,y≠0;;⑤x=2,z>>1;⑥⑥x=2,,z≤1;⑦x≠2,z>>1;⑧⑧x≠2,z≤≤1。(x>1)AND(y=0)(x=2)OR(z>1)語(yǔ)句段1語(yǔ)句段2開(kāi)始結(jié)束TTFFabcdex=2,,y=0,z==3;覆蓋條件件組合①①和⑤,,通過(guò)路路徑abcde;x=2,,y=1,z==1;覆蓋條件件組合②②和⑥,,通過(guò)路路徑acde;x=0,,y=0,z==3;覆蓋條件件組合③③和⑦,,通過(guò)路路徑acde;x=1,,y=1,z==1;覆蓋條件件組合④④和⑧,,通過(guò)路路徑ace。。但未通過(guò)過(guò)路徑abce。(x>1)AND(y=0)(x=2)OR(z>1)語(yǔ)句段1語(yǔ)句段2開(kāi)始結(jié)束TTFFabcde6)路徑徑覆蓋路徑覆蓋蓋是指設(shè)設(shè)計(jì)足夠夠的測(cè)試試用例,,以覆蓋蓋被測(cè)程程序中所所有可能能的路徑徑。如圖,共共有4條條路徑,,設(shè)計(jì)以以下4組組測(cè)試用用例,就就可以覆覆蓋這4條路徑徑:x=2,,y=0,z==3;覆蓋路徑徑abcdex=2,,y=1,z==1;覆蓋路徑徑acdex=1,,y=1,z==1;覆蓋路徑徑acex=3,,y=0,z==1;覆蓋路徑徑abce(x>1)AND(y=0)(x=2)OR(z>1)語(yǔ)句段1語(yǔ)句段2開(kāi)始結(jié)束TTFFabcde沒(méi)有覆蓋蓋條件組組合③和和⑦③x≤1,,y=0⑦x≠2,z>>1實(shí)際測(cè)試試在實(shí)際測(cè)測(cè)試時(shí),,為了達(dá)達(dá)到充分分測(cè)試的的目的,,一般以以條件組組合覆蓋蓋為主設(shè)設(shè)計(jì)測(cè)試試用例,,然后再再補(bǔ)充部部分測(cè)試試用例,,以便實(shí)實(shí)現(xiàn)路徑徑覆蓋。。課程名稱稱:軟件件工程第第23講班級(jí)級(jí):日期期:教室室:教學(xué)題目目:14.2軟軟件測(cè)測(cè)試技術(shù)術(shù)14.2.1白白盒測(cè)測(cè)試14.2.2黑黑盒測(cè)測(cè)試教學(xué)目的的:掌握握白盒、、黑盒測(cè)測(cè)試的概概念和測(cè)測(cè)試方法步驟。。教學(xué)重點(diǎn)點(diǎn):基本本路徑測(cè)測(cè)試、黑黑盒測(cè)試試技術(shù)教學(xué)難點(diǎn)點(diǎn):基本本路徑測(cè)測(cè)試。教具具:多媒媒體教室室、電子子教案作業(yè)業(yè):14.2.1白白盒盒測(cè)試2.基本本路徑測(cè)測(cè)試其主要思思想是根根據(jù)軟件件詳細(xì)設(shè)設(shè)計(jì)的過(guò)過(guò)程性描描述或源源代碼中中的控制制流程求求出程序序的環(huán)形形復(fù)雜性性度量,,然后用用此度量量確定程程序的基基本路徑徑集合,,并由此此導(dǎo)出一一組測(cè)試試用例來(lái)來(lái)覆蓋該該集合中中的每一一個(gè)獨(dú)立立的路徑徑,從而而可以保保證每個(gè)個(gè)語(yǔ)句至至少執(zhí)行行一次。。2.基本本路徑測(cè)測(cè)試【例14.1】】試用基基本路徑徑測(cè)試法法對(duì)如下下的PDL描述或如如圖14-2--2所示示的程序序流程圖圖設(shè)計(jì)測(cè)測(cè)試用例例。該例例子描述述了最多多輸入50個(gè)值值(以––1作為為輸入結(jié)結(jié)束標(biāo)志志),計(jì)計(jì)算其中中有效的的學(xué)生分分?jǐn)?shù)的個(gè)個(gè)數(shù)、總總分?jǐn)?shù)和和平均值值。PROCEDUREaverageINTERFACERETURNSaverage,sum,n1;**n1為為有效成成績(jī)的個(gè)個(gè)數(shù)。**INTERFACEACCEPTSscore;;TYPEscore[1,,50]]ISSCALARARRAY;TYPEaverage,,n1,,n2,,sumISSCALAR;**n2為為輸入值值的個(gè)數(shù)數(shù)。*TYPEiISINTEGER;i=1;n1=n2=0;sum=0;DOWHILE((score[[i]]<>>–1)AND((n2<<50))n2加加1;;IF((score[[i]]>==0)AND((score[[i]]<==100)THENn1加加1;;sum==sum++score[i]];ENDIF;;i加1;ENDDO;;IFn1>0THENaverage=sum/n1;ELSEaverage=––1;ENDIF;;ENDaverage圖14--2-2過(guò)過(guò)程average的程序流流程圖開(kāi)始i=1,n1=n2=0,,sum=0Score[i]]<>--1ANDn2<<50n2=n2+1n1=n1+1,sum=sum++score[[i]Score[i]]>0ANDscore[i]]<100i=i++1n1>0average=sum/n1average=––1返回FFFTTT12和345和6789101112【例14.1】】解:可按按如下步步驟設(shè)計(jì)計(jì)測(cè)試用用例:步驟1::根據(jù)詳詳細(xì)設(shè)計(jì)計(jì)或代碼碼導(dǎo)出過(guò)過(guò)程average的流圖。。123456789111012R1R2R3R4R5R6【例14.1】】步驟2::據(jù)流圖圖確定環(huán)環(huán)形復(fù)雜雜性度量量V(G)):1)V((G)==E––N++2==16––12+2==6;;其中E為流圖中中的邊數(shù)數(shù),N為結(jié)點(diǎn)數(shù)數(shù);2)V(G))=6(個(gè)區(qū)域));3)V(G))=P+1==5++1=6;;其中P為謂詞結(jié)結(jié)點(diǎn)的個(gè)個(gè)數(shù)。在在流圖中中,結(jié)點(diǎn)點(diǎn)2、3、5、、6、9是謂詞詞結(jié)點(diǎn)。。【例14.1】】步驟3::確定基基本路徑徑集合((即獨(dú)立立路徑集集合)。。一條獨(dú)獨(dú)立路徑徑是指,,和其他他的獨(dú)立立路徑相相比,至至少引入入一個(gè)新新處理語(yǔ)語(yǔ)句或一一個(gè)新判判斷的程程序通路路。V(G))值正好等等于該程程序的獨(dú)獨(dú)立路徑徑的條數(shù)數(shù)。于是是可確定定6條獨(dú)獨(dú)立的路路徑:路徑1::1—2—…——2—9—10—12路徑2::1—2—9——11——12路徑3::1—2—3——9—10—12路徑4::1—2—3——4—5—8——2…路徑5::1—2—3——4—5—6——8—2…路徑6::1—2—3——4—5—6——7—8—2……【例14.1】】步驟4::為每一一條獨(dú)立立路徑各各設(shè)計(jì)一一組測(cè)試試用例,,以便強(qiáng)強(qiáng)迫程序序沿著該該路徑至至少執(zhí)行行一次。。1)路徑徑1的測(cè)測(cè)試用例例:score[k]=有效分?jǐn)?shù)數(shù)值,當(dāng)當(dāng)k<i;;score[i]]=––1,,2≤i≤50;期望結(jié)果果:根據(jù)據(jù)輸入的的有效分分?jǐn)?shù)算出出正確的的分?jǐn)?shù)個(gè)個(gè)數(shù)n1、總分sum和平均分分average。2)路徑2的的測(cè)試用用例:score[1]]=––1;;期望的結(jié)結(jié)果:average=––1,其他量保保持初值值?!纠?4.1】】3)路徑徑3的測(cè)測(cè)試用例例:輸入多于于50個(gè)個(gè)有效分分?jǐn)?shù),即即試圖處處理51個(gè)分?jǐn)?shù)數(shù),要求求前51個(gè)為有有效分?jǐn)?shù)數(shù);期望結(jié)果果:n1=50、且算出正正確的總總分和平平均分。。4)路徑徑4的測(cè)測(cè)試用例例:score[i]]=有效分?jǐn)?shù)數(shù),當(dāng)當(dāng)i<50;score[k]]<0,,k<i;;期望結(jié)果果:根據(jù)據(jù)輸入的的有效分分?jǐn)?shù)算出出正確的的分?jǐn)?shù)個(gè)個(gè)數(shù)n1、總分sum和平均分分average?!纠?4.1】】5)路徑徑5的測(cè)測(cè)試用例例:score[i]]=有效分?jǐn)?shù)數(shù),當(dāng)當(dāng)i<50;score[k]]>100,,k<i;;期望結(jié)果果:根據(jù)據(jù)輸入的的有效分分?jǐn)?shù)算出出正確的的分?jǐn)?shù)個(gè)個(gè)數(shù)n1、總分sum和平均分分average。6)路徑6的的測(cè)試用用例:score[i]]=有效分?jǐn)?shù)數(shù),當(dāng)當(dāng)i<50;期望結(jié)果果:根據(jù)據(jù)輸入的的有效分分?jǐn)?shù)算出出正確的的分?jǐn)?shù)個(gè)個(gè)數(shù)n1、總分sum和平均分分average。3.循環(huán)環(huán)測(cè)試1)對(duì)于于最多為為n次的單循循環(huán),可可設(shè)計(jì)測(cè)測(cè)試用例例實(shí)現(xiàn)下下列測(cè)試試:①跳過(guò)循循環(huán),即即一次也也不執(zhí)行行;②僅循環(huán)環(huán)1次;;③循環(huán)2次;④循環(huán)m次,m<n;;⑤分別循環(huán)環(huán)n–1次,n次,n+1次。2)對(duì)于于嵌套循循環(huán)的測(cè)測(cè)試:①?gòu)淖顑?nèi)內(nèi)層循環(huán)環(huán)開(kāi)始測(cè)測(cè)試,此此時(shí)外層層循環(huán)都都取最小小值,對(duì)對(duì)內(nèi)層進(jìn)進(jìn)行單循循環(huán)的測(cè)測(cè)試;②向外退退一層進(jìn)進(jìn)行測(cè)試試,此時(shí)時(shí)其內(nèi)層層循環(huán)取取一些典典型值,,其外層層循環(huán)仍仍取最小小值;③繼續(xù)向向外層擴(kuò)擴(kuò)展,直直至測(cè)試試完成。。14.2.2黑黑盒盒測(cè)試主要是測(cè)測(cè)試軟件件是否滿滿足功能能需求。。黑盒測(cè)試試主要測(cè)測(cè)試的錯(cuò)錯(cuò)誤類型型有:①不正確確或遺漏漏的功能能;②接口錯(cuò)錯(cuò)誤;③③性能能錯(cuò)誤;;④數(shù)據(jù)結(jié)結(jié)構(gòu)或外外部數(shù)據(jù)據(jù)訪問(wèn)錯(cuò)錯(cuò)誤;⑤初始化化或終止止條件錯(cuò)錯(cuò)誤等等等。黑盒測(cè)試試設(shè)計(jì)測(cè)測(cè)試用例例的方法法:等價(jià)類的的劃分、、邊界值值分析、、錯(cuò)誤推測(cè)測(cè)、組合合數(shù)據(jù)測(cè)測(cè)試等。。1.等價(jià)價(jià)類劃分分等價(jià)類劃劃分的思思想是將將輸入數(shù)數(shù)據(jù)按有有效的((合理的的)和無(wú)無(wú)效的((不合理理的)劃劃分成若若干個(gè)等等價(jià)類,,認(rèn)為測(cè)測(cè)試等價(jià)價(jià)類中的的一個(gè)代代表值的的結(jié)果就就等于對(duì)對(duì)該類其其他值的的測(cè)試。。利用等等價(jià)類劃劃分的測(cè)測(cè)試步驟驟如下::1)劃分分等價(jià)類類從程序的的功能說(shuō)說(shuō)明中找找出每個(gè)個(gè)輸入條條件,然然后將其其劃分成成若干個(gè)個(gè)有效和和無(wú)效的的等價(jià)類類。下面面給出等等價(jià)類劃劃分的幾幾條經(jīng)驗(yàn)驗(yàn)性原則則供參考考:等價(jià)類劃劃分的幾幾條經(jīng)驗(yàn)驗(yàn)性原則則①如果規(guī)規(guī)定了輸輸入值的的范圍,,則可劃劃分出一一個(gè)有效效的等價(jià)價(jià)類(輸輸入值在在此范圍圍內(nèi))和和兩個(gè)無(wú)無(wú)效的等等價(jià)類((輸入值值小于最最小值或或大于最最大值))。②如果規(guī)規(guī)定了數(shù)數(shù)據(jù)輸入入的個(gè)數(shù)數(shù),則可可劃分出出一個(gè)有有效的等等價(jià)類((輸入值值的個(gè)數(shù)數(shù)符合規(guī)規(guī)定)和和兩個(gè)無(wú)無(wú)效的等等價(jià)類((輸入值值的個(gè)數(shù)數(shù)少于或或多于規(guī)規(guī)定個(gè)數(shù)數(shù))。③如果規(guī)規(guī)定了輸輸入數(shù)據(jù)據(jù)的一組組值,而而且程序序?qū)Σ煌妮斎肴胫颠M(jìn)行行不同的的處理,,則每個(gè)個(gè)允許的的輸入值值是一個(gè)個(gè)有效的的等價(jià)類類,此外外還有一一個(gè)無(wú)效效的等價(jià)價(jià)類(規(guī)規(guī)定的這這一組值值以外的的值)。。等價(jià)類劃劃分的幾幾條經(jīng)驗(yàn)驗(yàn)性原則則④如果規(guī)規(guī)定了輸輸入數(shù)據(jù)據(jù)必須遵遵循的規(guī)規(guī)則,則則可劃分分出一個(gè)個(gè)有效的的等價(jià)類類(符合合規(guī)則))和若干干個(gè)無(wú)效效的等價(jià)價(jià)類(從從不同的的角度違違反規(guī)則則)。⑤如果輸輸入條件件規(guī)定了了一個(gè)集集合,則則可劃分分出一個(gè)個(gè)有效的的等價(jià)類類(此集集合)和和一個(gè)無(wú)無(wú)效的等等價(jià)類((此集合合的補(bǔ)集集)。1.等價(jià)價(jià)類劃分分2)設(shè)計(jì)計(jì)測(cè)試用用例①等價(jià)類類劃分應(yīng)應(yīng)列表,,并為每每一個(gè)等等價(jià)類編編號(hào)。②設(shè)計(jì)一一個(gè)有效效等價(jià)類類的測(cè)試試用例,,使其盡盡可能多多地覆蓋蓋尚未被被覆蓋過(guò)過(guò)的有效效等價(jià)類類。如此此重復(fù),,直到所所有有效效等價(jià)類類都被覆覆蓋為止止。③設(shè)計(jì)一一個(gè)測(cè)試試用例,,僅覆蓋蓋一個(gè)無(wú)無(wú)效等價(jià)價(jià)類,如如此重復(fù)復(fù),直到到所有無(wú)無(wú)效等價(jià)價(jià)類都被被覆蓋為為止。2)設(shè)計(jì)計(jì)測(cè)試用用例【例14.1】】設(shè)有一一個(gè)檔案案管理系系統(tǒng),要要求用戶戶輸入以以年月表表示的日日期。假假設(shè)日期期限定在在1990年1月~2003年12月,并并規(guī)定日日期由6位數(shù)字字字符組組成,前前4位表表示年,,后2位位表示月月?,F(xiàn)用用等價(jià)類類劃分法法設(shè)計(jì)測(cè)測(cè)試用例例,來(lái)測(cè)測(cè)試程序序的“日日期檢查查功能””。【例14.1】】1)劃分分等價(jià)類類并編號(hào)號(hào)表14--1等價(jià)價(jià)類劃分分的結(jié)果果輸入等價(jià)類有效等價(jià)類無(wú)效等價(jià)類日期的類型及長(zhǎng)度①6位數(shù)字字符②有非數(shù)字字符③少于6位數(shù)字字符④多于6位數(shù)字字符年份范圍⑤在1990~2003之間⑥小于1990⑦大于2003月份范圍⑧在01~12之間⑨等于00⑩大于12【例14.1】】2)設(shè)計(jì)計(jì)測(cè)試用用例,以以便覆蓋蓋所有的的有效等等價(jià)類在表14-1中中列出了了3個(gè)有有效等價(jià)價(jià)類,編編號(hào)分別別為①、、⑤、⑧⑧,設(shè)計(jì)計(jì)的測(cè)試試用例如如下:測(cè)試數(shù)據(jù)據(jù)期期望望結(jié)果覆覆蓋的有有效等價(jià)價(jià)類200211輸輸入有效效①①、、⑤、⑧⑧【例14.1】】3)為每每一個(gè)無(wú)無(wú)效等價(jià)價(jià)類設(shè)計(jì)計(jì)一個(gè)測(cè)測(cè)試用例例,設(shè)計(jì)結(jié)果果如下::測(cè)試數(shù)據(jù)據(jù)期期望結(jié)結(jié)果覆覆蓋的的無(wú)效等等價(jià)類95June無(wú)效輸入入②②20036無(wú)無(wú)效效輸入③③2001006無(wú)無(wú)效輸入入④④198912無(wú)無(wú)效輸輸入⑥⑥200401無(wú)無(wú)效輸輸入⑦⑦200100無(wú)無(wú)效輸輸入⑨⑨200113無(wú)無(wú)效輸輸入⑩⑩2.邊界界值分析析邊界值分分析(boundaryvalueanalysis,BVA))是指設(shè)計(jì)計(jì)測(cè)試用用例,使使程序在在輸入或或輸出的的邊界值值或者邊邊界值左左右的值值執(zhí)行。。邊界值分分析方法法可以單單獨(dú)設(shè)計(jì)計(jì)測(cè)試用用例,也也可以作作為等價(jià)價(jià)類劃分分方法的的補(bǔ)充,,即在各各個(gè)等價(jià)價(jià)類中主主要是選選擇邊界界上及其其左右的的值。例例如例14.1中對(duì)月月份范圍圍的測(cè)試試就可以以選擇00、01、02、11、12、13等數(shù)數(shù)據(jù)作為為測(cè)試用用例。邊界值分分析方法法設(shè)計(jì)測(cè)測(cè)試用例例的經(jīng)驗(yàn)驗(yàn)性原則則1)如果果輸入條條件指定定了范圍圍[a,b]],則a、b以及緊挨挨a、b左右的各各一個(gè)值值都應(yīng)作作為測(cè)試試用例。。比如,,學(xué)生成成績(jī)?yōu)閇[0,100]],應(yīng)取取-1、、0、1、99、100、101共共6個(gè)值值作為測(cè)測(cè)試用例例。2)如果果輸入條條件指定定了輸入入數(shù)據(jù)的的個(gè)數(shù)范范圍,則則按最大大、最小小個(gè)數(shù)及及其左右右的個(gè)數(shù)數(shù)各設(shè)計(jì)計(jì)一個(gè)測(cè)測(cè)試用例例。比如如,一個(gè)個(gè)輸入文文件應(yīng)包包括1~~255個(gè)記錄錄,則應(yīng)應(yīng)分別設(shè)設(shè)計(jì)輸入入0個(gè)、、1個(gè)、、2個(gè)、、254個(gè)、255個(gè)個(gè)、256個(gè)記記錄的測(cè)測(cè)試用例例。3)將規(guī)規(guī)則1))和2))應(yīng)用于于輸出條條件,即即設(shè)計(jì)測(cè)測(cè)試用例例使輸出出值達(dá)到到邊界值值及其左左右的值值。3.錯(cuò)誤誤推測(cè)錯(cuò)誤推測(cè)測(cè)法的基基本思想想是:程程序測(cè)試試員通過(guò)過(guò)已經(jīng)掌掌握的測(cè)測(cè)試?yán)碚撜摵蛯?shí)際際測(cè)試中中積累的的經(jīng)驗(yàn),,推測(cè)程程序在哪哪些情況況下可能能發(fā)生錯(cuò)錯(cuò)誤,并并將可能能發(fā)生錯(cuò)錯(cuò)誤的情情況列出出,然后后為每一一可能發(fā)發(fā)生錯(cuò)誤誤的情況況各設(shè)計(jì)計(jì)一個(gè)測(cè)測(cè)試用例例。3.錯(cuò)誤誤推測(cè)例如,測(cè)測(cè)試一個(gè)個(gè)對(duì)線性性表(比比如數(shù)組組)進(jìn)行行排序的的程序,,可推測(cè)測(cè)列出以以下幾項(xiàng)項(xiàng)需要特特別測(cè)試試的情況況:1)輸入入的線性性表為空空表;2)表中中只含有有一個(gè)元元素;3)輸入入表中所所有元素素已排好好序;4)輸入入表已按按逆序排排好;5)輸入入表中部部分或全全部元素素相同。。于是,可可以針對(duì)對(duì)以上列列出的每每一種情情況各設(shè)設(shè)計(jì)一個(gè)個(gè)測(cè)試用用例。4.組合合數(shù)據(jù)測(cè)測(cè)試實(shí)踐表明明,在單單個(gè)測(cè)試試用例沒(méi)沒(méi)有測(cè)試試出錯(cuò)誤誤的情況況下,采采用測(cè)試試數(shù)據(jù)的的某種組組合卻可可能檢測(cè)測(cè)出程序序中隱藏藏很深的的錯(cuò)誤。。組合數(shù)據(jù)據(jù)測(cè)試法法可以采采用的有有效工具具有判定定表、判判定樹(shù)等等。以判定表表為例,,即列出出輸入數(shù)數(shù)據(jù)的各各種組合合情況和和程序相相應(yīng)的動(dòng)動(dòng)作、可可能的輸輸出結(jié)果果之間的的對(duì)應(yīng)關(guān)關(guān)系,然然后為判判定表的的每一列列至少設(shè)設(shè)計(jì)一個(gè)個(gè)測(cè)試用用例。課程名稱稱:軟件件工程第第24講班級(jí)級(jí):日期期:教室室:教學(xué)題目目:14.3軟軟件測(cè)試試過(guò)程14..4調(diào)調(diào)試14.5測(cè)測(cè)試工具具教學(xué)目的的:掌握握軟件的的測(cè)試過(guò)過(guò)程、調(diào)調(diào)試的概概念和策略,了了解自動(dòng)動(dòng)測(cè)試工工具和調(diào)調(diào)試工具具。教學(xué)重點(diǎn)點(diǎn):基本本路徑測(cè)測(cè)試、黑黑盒測(cè)試試技術(shù)教學(xué)難點(diǎn)點(diǎn):基本本路徑測(cè)測(cè)試。教具具:多媒媒體教室室、電子子教案作業(yè)業(yè):14.3軟軟件測(cè)試試過(guò)程從宏觀的的角度講講,軟件件測(cè)試過(guò)過(guò)程一般般可劃分分為單元元測(cè)試、、集成測(cè)測(cè)試、驗(yàn)驗(yàn)收測(cè)試試和系統(tǒng)統(tǒng)測(cè)試等等幾個(gè)主主要測(cè)試試階段。。對(duì)于每一一個(gè)測(cè)試試階段,,都應(yīng)包包含制定定測(cè)試計(jì)計(jì)劃、設(shè)設(shè)計(jì)測(cè)試試用例、、測(cè)試實(shí)實(shí)施和測(cè)測(cè)試結(jié)果果的收集集評(píng)估等等。其中,測(cè)測(cè)試計(jì)劃劃應(yīng)包括括具體的的測(cè)試步步驟、工工作量、、進(jìn)度和和資源等等。在測(cè)測(cè)試的各各個(gè)階段段,應(yīng)適適宜地選選擇黑盒盒測(cè)試和和白盒測(cè)測(cè)試方法法,由開(kāi)開(kāi)發(fā)人員員和一個(gè)個(gè)獨(dú)立的的測(cè)試小小組單獨(dú)獨(dú)、分別別或共同同完成測(cè)測(cè)試任務(wù)務(wù),必要要時(shí)還應(yīng)應(yīng)有用戶戶參加。。14.3.1單單元元測(cè)試單元測(cè)試試的測(cè)試試對(duì)象———程序序模塊。。單元測(cè)試試的依據(jù)據(jù)——根根據(jù)詳細(xì)細(xì)設(shè)計(jì)的的描述制定的單單元測(cè)試試計(jì)劃。。單元測(cè)試試——多多采用白白盒測(cè)試試技術(shù)。。單元測(cè)試試——可可以并行行進(jìn)行。。14.3.1單單元元測(cè)試1.單元元測(cè)試的的任務(wù)1)模塊塊接口測(cè)測(cè)試2)模塊塊局部數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)的測(cè)試試3)模塊塊中所有有獨(dú)立路路徑的測(cè)測(cè)試4)模塊塊中各條條錯(cuò)誤處處理路徑徑的測(cè)試試5)模塊塊邊界條條件的測(cè)測(cè)試1)模塊塊接口測(cè)測(cè)試①輸入的的實(shí)參與與本模塊塊的形參參在個(gè)數(shù)數(shù)、類型型、順序序、量綱綱上是否否一致;;②調(diào)用其其他模塊塊時(shí)所給給實(shí)際參參數(shù)與被被調(diào)模塊塊的形式式參數(shù)在在個(gè)數(shù)、、類型、、順序、、量綱上上是否一一致;③調(diào)用預(yù)預(yù)定義函函數(shù)時(shí)所所用參數(shù)數(shù)的個(gè)數(shù)數(shù)、類型型、順序序、返回回值的類類型等是是否正確確;④是否存存在與當(dāng)當(dāng)前入口口點(diǎn)無(wú)關(guān)關(guān)的參數(shù)數(shù)引用;;⑤是否修修改了只只讀型參參數(shù);1)模塊塊接口測(cè)測(cè)試⑥各個(gè)模模塊對(duì)全全局變量量的定義義和引用用是否保保持一致致;⑦是否把把某些約約束作為為參數(shù)傳傳遞。⑧如果模模塊內(nèi)包包括外部部輸入輸輸出,還還應(yīng)測(cè)試試文件屬屬性、文文件打開(kāi)開(kāi)/關(guān)閉閉語(yǔ)句、、格式說(shuō)說(shuō)明、輸輸入輸出出語(yǔ)句、、緩沖區(qū)區(qū)大小與與記錄長(zhǎng)長(zhǎng)度是否否匹配、、是否處處理了文文件尾、、輸出信信息中是是否存在在文字錯(cuò)錯(cuò)誤等方方面的內(nèi)內(nèi)容。2)模塊塊局部數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)的測(cè)試試主要的測(cè)測(cè)試內(nèi)容容有:①不適合合或不相相容的類類型說(shuō)明明;②變量名名不正確確(拼寫寫或截?cái)鄶噱e(cuò)誤等等);③變量無(wú)無(wú)初值或或初始化化、缺省省值有錯(cuò)錯(cuò);④出現(xiàn)上上溢出、、下溢出出、地址址異常等等。3)模塊塊中所有有獨(dú)立路路徑的測(cè)測(cè)試單元測(cè)試試旨在找找出如下下錯(cuò)誤::①計(jì)算中中常見(jiàn)的的錯(cuò)誤,,有:運(yùn)運(yùn)算符優(yōu)優(yōu)先級(jí)錯(cuò)錯(cuò)誤、混混合運(yùn)算算類型匹匹配錯(cuò)誤誤、變量量初值錯(cuò)錯(cuò)、達(dá)不不到精度度、表達(dá)達(dá)式不正正確等。。②不正確確的比較較判斷和和不恰當(dāng)當(dāng)?shù)目刂浦屏鞒R?jiàn)見(jiàn)的錯(cuò)誤誤,有::被比較較的對(duì)象象的類型型不匹配配、錯(cuò)誤誤地使用用邏輯運(yùn)運(yùn)算符及及其優(yōu)先先級(jí)、計(jì)計(jì)算誤差差引起的的判斷錯(cuò)錯(cuò)誤、循循環(huán)終止止條件不不合適、、錯(cuò)誤地地修改了了循環(huán)變變量、迭迭代發(fā)散散時(shí)不能能退出循循環(huán)等。。4)模塊塊中各條條錯(cuò)誤處處理路徑徑的測(cè)試試我們希望望程序模模塊具有有較強(qiáng)的的容錯(cuò)能能力,這這就需要要在設(shè)計(jì)計(jì)時(shí)能預(yù)預(yù)見(jiàn)各種種出錯(cuò)條條件,并并預(yù)先設(shè)設(shè)計(jì)好各各種出錯(cuò)錯(cuò)處理通通路,以以便在用用戶出現(xiàn)現(xiàn)錯(cuò)誤時(shí)時(shí)系統(tǒng)能能給出恰恰當(dāng)?shù)奶崽崾径徊皇瓜到y(tǒng)統(tǒng)失效。。出錯(cuò)處理理路徑測(cè)測(cè)試主要要測(cè)試的的錯(cuò)誤有有:①異常處處理不當(dāng)當(dāng);②在程序序自定義義的出錯(cuò)錯(cuò)處理程程序段運(yùn)運(yùn)行之前前系統(tǒng)已已介入;;③顯示的的出錯(cuò)信信息難以以理解或或未能提提供足夠夠的錯(cuò)誤誤定位信信息;④顯示的的錯(cuò)誤與與實(shí)際發(fā)發(fā)生的錯(cuò)錯(cuò)誤不符符等。5)模塊塊邊界條條件的測(cè)測(cè)試模塊邊界界條件的的測(cè)試是是單元測(cè)測(cè)試中最最后、也也是最重重要的一一項(xiàng)測(cè)試試任務(wù),,因?yàn)槌坛绦蜃钊萑菀自谶呥吔缟铣龀鲥e(cuò)。可可以采用用邊界值值分析技技術(shù)針對(duì)對(duì)邊界值值及其左左、右值值設(shè)計(jì)測(cè)測(cè)試用例例,很有有可能檢檢測(cè)出新新的錯(cuò)誤誤。2.單元元測(cè)試的的步驟通常,單單元測(cè)試試在編碼碼階段進(jìn)進(jìn)行。在在源程序序代碼編編制完成成并經(jīng)過(guò)過(guò)編譯檢檢查和評(píng)評(píng)審后,,就可以以開(kāi)始進(jìn)進(jìn)行單元元測(cè)試。。測(cè)試用用例的設(shè)設(shè)計(jì)應(yīng)與與評(píng)審工工作相結(jié)結(jié)合,根根據(jù)測(cè)試試計(jì)劃和和詳細(xì)設(shè)設(shè)計(jì)信息息設(shè)計(jì)測(cè)測(cè)試數(shù)據(jù)據(jù),并應(yīng)應(yīng)給出對(duì)對(duì)應(yīng)的期期望結(jié)果果。測(cè)試時(shí)需需要為被被測(cè)模塊塊編制::一個(gè)驅(qū)動(dòng)動(dòng)模塊((drivermodule)———用來(lái)模擬擬被測(cè)模模塊的上上級(jí)調(diào)用用模塊,,用它接接收測(cè)試試數(shù)據(jù),,并傳送送給被測(cè)測(cè)模塊,,接收測(cè)測(cè)試結(jié)果果并輸出出。若干個(gè)樁樁模塊((stubmodule)———也稱為存存根模塊塊,用來(lái)來(lái)代替被被測(cè)模塊塊所調(diào)用用的子模模塊。其其作用是是為被測(cè)測(cè)模塊提提供所需需要的信信息,因因此,越越簡(jiǎn)單越越好。圖14--3-1軟軟件層次次結(jié)構(gòu)圖圖圖圖14--3-2模模塊A的單元測(cè)測(cè)試環(huán)境境測(cè)試軟件件(指驅(qū)驅(qū)動(dòng)模塊塊和樁模模塊)并并不作為為軟件產(chǎn)產(chǎn)品的一一部分提提交給用用戶。有些模塊塊用單元元測(cè)試的的方法不不能進(jìn)行行充分的的測(cè)試,,可在集集成測(cè)試試的過(guò)程程中完成成詳盡的的測(cè)試。。提高模塊塊內(nèi)聚度度可簡(jiǎn)化化單元測(cè)測(cè)試過(guò)程程。MABCDEF驅(qū)動(dòng)模塊A樁模塊1樁模塊2樁模塊3測(cè)試用例測(cè)試結(jié)果14.3.2集集成成測(cè)試集成測(cè)試試—將將軟件件組裝成成系統(tǒng)的的一種測(cè)測(cè)試技術(shù)術(shù)。因此此,又稱稱為組裝裝測(cè)試或或綜合測(cè)測(cè)試。集成測(cè)試試旨在發(fā)發(fā)現(xiàn)與接接口有關(guān)關(guān)的錯(cuò)誤誤。這些些錯(cuò)誤包包括:①數(shù)據(jù)通通過(guò)接口口時(shí)會(huì)丟丟失;②一個(gè)模模塊的功功能對(duì)另另一個(gè)模模塊產(chǎn)生生了不利利影響;;③幾個(gè)子子功能組組合起來(lái)來(lái)沒(méi)有實(shí)實(shí)現(xiàn)主功功能;④全局?jǐn)?shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)出現(xiàn)錯(cuò)錯(cuò)誤;⑤誤差的的不斷積積累達(dá)到到不能接接受的程程度。集成測(cè)試試有兩種種集成方方式:非增量集集成方式式;增量集成成方式。。1.非增增量集成成方式非增量集集成方式式是將經(jīng)經(jīng)過(guò)單元元測(cè)試的的所有模模塊一次次性全部部組裝起起來(lái),然然后進(jìn)行行整體測(cè)測(cè)試,最最后得到到所要求求的軟件件系統(tǒng)。。這種集成成方式容容易出現(xiàn)現(xiàn)混亂,,開(kāi)始可可能遇到到一大堆堆錯(cuò)誤,,錯(cuò)誤定定位非常常困難,,新舊錯(cuò)錯(cuò)誤交織織在一起起,會(huì)使使測(cè)試變變得更加加困難。。因此,,一般不不應(yīng)采用用這種集集成方式式。2.增量量集成方方式可分為自自頂向下下集成和和自底向向上集成成兩種方方法。1)自頂頂向下集集成自頂向下下集成方方式是從從主控模模塊開(kāi)始始,按照照軟件的的控制層層次結(jié)構(gòu)構(gòu),以深深度優(yōu)先先或廣度度優(yōu)先的的策略,,逐步把把各個(gè)模模塊組裝裝在一起起。自頂向下下集成測(cè)測(cè)試的具具體步驟驟①以主控控模塊作作為驅(qū)動(dòng)動(dòng)模塊,,其直接接調(diào)用的的下屬模模塊都用用“樁模模塊”代代替;②依據(jù)所所選用的的集成策策略(深深度優(yōu)先先或廣度度優(yōu)先))所規(guī)定定的次序序,每次次只用一一個(gè)實(shí)際際模塊替替代一個(gè)個(gè)對(duì)應(yīng)的的樁模塊塊;③每結(jié)合合進(jìn)一個(gè)個(gè)模塊立立即測(cè)試試一遍;;④為了檢檢測(cè)加入入新模塊塊是否引引入了新新的錯(cuò)誤誤,每次次都需要要進(jìn)行回回歸測(cè)試試(即部部分或全全部地重重復(fù)以前前做過(guò)的的測(cè)試))。重復(fù)執(zhí)行行步驟②②、③、、④,每每重復(fù)一一次,增增加一個(gè)個(gè)模塊,,直至構(gòu)構(gòu)造起整整個(gè)軟件件結(jié)構(gòu)為為止。圖14--3-3被被測(cè)軟件件系統(tǒng)結(jié)構(gòu)構(gòu)圖深度優(yōu)先先策略::①以以M1作為驅(qū)動(dòng)動(dòng)模塊,,首先將將模塊M2加入其中中,此時(shí)時(shí)模塊M3、M4、M5、M6分別以樁樁模塊S3、S4、S5、S6代替,于于是對(duì)由由M1、M2、S3、S4、S5、S6組成的子子系統(tǒng)測(cè)測(cè)試一遍遍;M1M2M4M5M6M7M8M3M1M2S4S3S5S6深度優(yōu)先先策略::②用用M5代替S5,并將M8用樁模塊塊S8代替,對(duì)對(duì)由M1、M2、M5、S3、S4、S8、S6組成的子子系統(tǒng)再再測(cè)試一一遍;M1M2M4M5M6M7M8M3M1M2S4S3M5S6S8深度優(yōu)先先策略::③用用M8代替S8,對(duì)由M1、M2、M5、M8、、S3、S4、、S6組成的子子系統(tǒng)再再測(cè)試一一遍;M1M2M4M5M6M7M8M3M1M2S4S3M5S6M8深度優(yōu)先先策略::④用用M6代替S6,對(duì)由M1、M2、M5、M8、、M6、S3、、S4組成的子子系統(tǒng)再再測(cè)試一一遍;M1M2M4M5M6M7M8M3M1M2S4S3M5M6M8深度優(yōu)先先策略::⑤用用M3代替S3,并以S7代替M7,對(duì)由M1、M2、M5、M8、、M6、M3、、S7、、S4組成的子子系統(tǒng)再再測(cè)試一一遍;M1M2M4M5M6M7M8M3M1M2S4M3M5M6M8S7深度優(yōu)先先策略::⑥用用M7代替S7,對(duì)由M1、M2、M5、M8、、M6、M3、、M7、、S4組成的子子系統(tǒng)再再測(cè)試一一遍;M1M2M4M5M6M7M8M3M1M2S4M3M5M6M8M7深度優(yōu)先先策略::⑦用用M4代替S4,對(duì)由M1、M2、M5、M8、、M6、M3、、M7、、M4組成的子子系統(tǒng)再再測(cè)試一一遍;至至此,,整個(gè)系系統(tǒng)測(cè)試試完。M1M2M4M5M6M7M8M3M1M2M4M3M5M6M8M7廣度優(yōu)先先策略廣度優(yōu)先先策略———沿控控制層次次結(jié)構(gòu)水水平地向向下移動(dòng)動(dòng),按一一層一層層的順序序?qū)⒛K塊一個(gè)個(gè)個(gè)地集成成起來(lái)。。如圖的的集成的的順序?yàn)闉镸1、M2、M3、M4、M5、M6、M7、M8,在集成的的過(guò)程中中也需樁樁模塊的的配合。。M1M2M4M5M6M7M8M3自頂向下下集成的的優(yōu)缺點(diǎn)點(diǎn)自頂向下下集成的的特點(diǎn)是是不需要要驅(qū)動(dòng)模模塊,但但需要大大量的樁樁模塊。。優(yōu)點(diǎn)是能能夠盡早早地驗(yàn)證證程序的的主要控控制和判判斷機(jī)制制,可以以較早發(fā)發(fā)現(xiàn)此類類錯(cuò)誤,,從而減減少以后后的返工工。缺點(diǎn)是在在測(cè)試較較高層模模塊時(shí),,低層模模塊采用用較簡(jiǎn)單單的樁模模塊來(lái)代代替,不不能反映映實(shí)際情情況,測(cè)測(cè)試可能能不充分分。2)自底底向上集集成即從程序序結(jié)構(gòu)的的最底層層模塊開(kāi)開(kāi)始組裝裝和測(cè)試試。這種種測(cè)試需需要一定定數(shù)量的的驅(qū)動(dòng)模模塊,而而不需要要樁模塊塊。自底向上上集成測(cè)測(cè)試的具具體步驟驟:①把低層層模塊組組織成實(shí)實(shí)現(xiàn)某個(gè)個(gè)特定的的軟件子子功能的的模塊群群(modulecluster);;②為每一個(gè)個(gè)模塊群群開(kāi)發(fā)一一個(gè)驅(qū)動(dòng)動(dòng)模塊,,控制測(cè)測(cè)試數(shù)據(jù)據(jù)的輸入入和測(cè)試試結(jié)果的的輸出;;③對(duì)每個(gè)個(gè)模塊群群進(jìn)行測(cè)測(cè)試;④去掉測(cè)測(cè)試用的的驅(qū)動(dòng)模模塊,用用較高層層模塊將將幾個(gè)模模塊群組組成新的的更大的的模塊群群。上述的②②、③、、④步重重復(fù)執(zhí)行行,直至至整個(gè)程程序構(gòu)造造完畢。。自底向上上集成舉例圖14--3-4自自底向上上集成M1M2M3模塊群1模塊群2模塊群3自底向上上集成舉例圖14--3-4自自底向上上集成M1M2M3D2D1D3模塊群1模塊群2模塊群3自底向上上集成優(yōu)優(yōu)缺點(diǎn)優(yōu)點(diǎn):①只需設(shè)設(shè)計(jì)驅(qū)動(dòng)動(dòng)模塊,,不需要要設(shè)計(jì)樁樁模塊,,測(cè)試用用例的設(shè)設(shè)計(jì)也相相對(duì)簡(jiǎn)單單。②由于涉涉及到復(fù)復(fù)雜算法法和直接接輸入輸輸出的模模塊最先先得到組組裝和測(cè)測(cè)試,可可以在早早期解決決這些最最容易出出問(wèn)題的的部分;;③自底向向上集成成可以實(shí)實(shí)施多個(gè)個(gè)模塊并并行測(cè)試試。缺點(diǎn):對(duì)高層控控制與判判斷進(jìn)行行測(cè)試的的時(shí)間較較晚,如如果到測(cè)測(cè)試的后后期才發(fā)發(fā)現(xiàn)整體體存在較較嚴(yán)重問(wèn)問(wèn)題,就就不得不不進(jìn)行較較大的返返工,此此時(shí)代價(jià)價(jià)將是巨巨大的。。3)混合合式測(cè)試試及重點(diǎn)點(diǎn)測(cè)試自頂向下下和自底底向上兩兩種集成成測(cè)試方方法的優(yōu)優(yōu)缺點(diǎn)剛剛好相反反,可結(jié)結(jié)合起來(lái)來(lái)使用,,即對(duì)于于上層模模塊采用用自頂向向下的方方法,而而對(duì)于下下層模塊塊采用自自底向上上的方法法,這樣樣不但可可以大大大減少了了開(kāi)發(fā)驅(qū)驅(qū)動(dòng)模塊塊和樁模模塊的數(shù)數(shù)量,還還可以充充分發(fā)揮揮各自的的優(yōu)點(diǎn)。。在集成測(cè)測(cè)試過(guò)程程中應(yīng)對(duì)對(duì)關(guān)鍵模模塊進(jìn)行行重點(diǎn)測(cè)測(cè)試。關(guān)關(guān)鍵模塊塊是指具具有如下下一個(gè)或或多個(gè)特特征的模模塊:①①對(duì)應(yīng)多多條需求求;②具具有高層層控制功功能;③③復(fù)雜、、易出錯(cuò)錯(cuò);④有有特殊性性能要求求。對(duì)關(guān)關(guān)鍵模塊塊應(yīng)盡早早測(cè)試,,并應(yīng)進(jìn)進(jìn)行反復(fù)復(fù)的回歸歸測(cè)試。。3.集成成測(cè)試文文檔集成測(cè)試試文檔即即測(cè)試說(shuō)說(shuō)明書((testspecifications)應(yīng)給出集集成的總總體規(guī)劃劃和某些些特殊測(cè)測(cè)試的描描述。它它將作為為軟件配配置的一一部分提提交給用用戶。測(cè)測(cè)試說(shuō)明明書的主主要內(nèi)容容提綱如如下:測(cè)試說(shuō)明明書的主主要內(nèi)容容提綱1)測(cè)試試范圍2)測(cè)試試計(jì)劃A.測(cè)試的各各個(gè)階段段和劃分分模塊群群情況B.進(jìn)度安排排C.開(kāi)銷軟件件(驅(qū)動(dòng)動(dòng)和樁模模塊)D.環(huán)境和資資源測(cè)試說(shuō)明明書的主主要內(nèi)容容提綱3)各個(gè)個(gè)模塊群群測(cè)試過(guò)過(guò)程的描描述,包包括:A.集成的順順序①用途②被測(cè)模模式B.模塊群中中各模塊塊單元測(cè)測(cè)試的情情況①模塊的的測(cè)試描描述②開(kāi)銷軟軟件描述述③期望的的結(jié)果測(cè)試說(shuō)明明書的主主要內(nèi)容容提綱C.測(cè)試環(huán)境境①特殊工工具和技技術(shù)②開(kāi)銷軟軟件的描描述D.測(cè)試用例例E.模塊群的的期望結(jié)結(jié)果等4)實(shí)際際測(cè)試結(jié)結(jié)果5)參考考文獻(xiàn)6)附錄錄。14.3.3驗(yàn)驗(yàn)收收測(cè)試又稱為確確認(rèn)測(cè)試試。確認(rèn)認(rèn)測(cè)試是是一種驗(yàn)驗(yàn)收形式式的測(cè)試試,主要要是檢查查軟件是是否滿足足軟件需需求規(guī)格格說(shuō)明書書中的確確認(rèn)標(biāo)準(zhǔn)準(zhǔn),即測(cè)測(cè)試軟件件能否按按照合同同的要求求運(yùn)行。。1.驗(yàn)收收測(cè)試的的實(shí)施驗(yàn)收測(cè)試試需要采采用一系系列的黑黑盒測(cè)試試來(lái)完成成。參加人員員有:專專門的測(cè)測(cè)試人員員,必須有用用戶或客客戶參加加。文檔:需需求規(guī)格格說(shuō)明書書、用戶戶手冊(cè)等等,應(yīng)事事先制定測(cè)試試計(jì)劃,,確定測(cè)測(cè)試的種種類、測(cè)測(cè)試進(jìn)度、設(shè)設(shè)計(jì)具體體的測(cè)試試用例。。軟件驗(yàn)收收測(cè)試的的中心任任務(wù)是測(cè)測(cè)試軟件件是否滿滿足合同同規(guī)定的的所有功功能和性性能,文文檔資料料是否齊齊全,人人機(jī)界面面以及可可移植性性、兼容容性、可可維護(hù)性性、容錯(cuò)錯(cuò)能力等等方面是是否達(dá)到到了用戶戶的期望望。1.驗(yàn)收收測(cè)試的的實(shí)施經(jīng)過(guò)驗(yàn)收收測(cè)試后后,其結(jié)結(jié)果可能能是以下下兩種情情況之一一:1)功能能、性能能等各項(xiàng)項(xiàng)指標(biāo)滿滿足需求求規(guī)格說(shuō)明的要要求,用用戶可以以接受;;2)功能能、性能能等各項(xiàng)項(xiàng)指標(biāo)不不滿足需需求規(guī)格說(shuō)明的的全部要要求,用用戶不能能接受。。對(duì)于第二二種結(jié)果果,應(yīng)提提交一份份問(wèn)題分分析報(bào)告告。2.軟件件配置復(fù)復(fù)審軟件配置置復(fù)審是是驗(yàn)收測(cè)測(cè)試的重重要環(huán)節(jié)節(jié)之一。。軟件配配置復(fù)審審的任務(wù)務(wù)是審查查軟件配配置(組組成程序序、所有有文檔資資料、數(shù)數(shù)據(jù)結(jié)構(gòu)構(gòu)的所有有項(xiàng)目))的正確確性、完完整性和和一致性性,以便便確保軟軟件配置置齊全、、分類有有序,并并包括軟軟件維護(hù)護(hù)所必需需的細(xì)節(jié)節(jié),從而而為以后后的軟件件維護(hù)工工作奠定定了基礎(chǔ)礎(chǔ)。3.α、、β測(cè)試試要驗(yàn)證所所開(kāi)發(fā)的的軟件是是否真正正滿足最最終用戶戶的要求求,就應(yīng)應(yīng)由用戶戶在其實(shí)實(shí)際工作作的環(huán)境境中進(jìn)行行一系列列的“驗(yàn)驗(yàn)收測(cè)試試”。但一方面面用戶進(jìn)進(jìn)行“驗(yàn)驗(yàn)收測(cè)試試”可可能導(dǎo)致致開(kāi)發(fā)延延期,另另一方面面是一個(gè)個(gè)軟件產(chǎn)產(chǎn)品不可可能由每每個(gè)用戶戶驗(yàn)收。。因此,,通常的的做法是是采用““α、β測(cè)試”的的方法。。1)α測(cè)測(cè)試所謂α測(cè)試,可可以是由由用戶在在開(kāi)發(fā)環(huán)環(huán)境下進(jìn)進(jìn)行的一一種測(cè)試試,也可可以是軟軟件公司司內(nèi)部的的“用戶戶”在模模擬實(shí)際際操作環(huán)環(huán)境下進(jìn)進(jìn)行的一一種測(cè)試試。被測(cè)測(cè)試的是是即將面面市的軟軟件產(chǎn)品品的α版本。α測(cè)試是在在受控制制的環(huán)境境下進(jìn)行行的測(cè)試試,其目目的是檢檢測(cè)軟件件產(chǎn)品的的功能((Function)、、可使用性性(Usability))、可靠性((Reliability)、、性能(Performance)和支持((Support),即FURPS,特別是產(chǎn)產(chǎn)品的界界面和特特色。參加α測(cè)試的人人員是除除了

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論