軟件測(cè)試方法_第1頁(yè)
軟件測(cè)試方法_第2頁(yè)
軟件測(cè)試方法_第3頁(yè)
軟件測(cè)試方法_第4頁(yè)
軟件測(cè)試方法_第5頁(yè)
已閱讀5頁(yè),還剩48頁(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)介

第2章軟件測(cè)試方法

軟件測(cè)試的分類方法目標(biāo)/特性單元測(cè)試系統(tǒng)測(cè)試驗(yàn)收測(cè)試性能測(cè)試強(qiáng)壯性測(cè)試功能測(cè)試白盒測(cè)試黑盒測(cè)試測(cè)試對(duì)象或?qū)哟芜m用性測(cè)試可靠性測(cè)試集成測(cè)試安全性測(cè)試Zhu.Kerry@不同的分類按測(cè)試的對(duì)象或范圍分類,如單元測(cè)試、文檔測(cè)試、系統(tǒng)測(cè)試等)按測(cè)試目的分類,如功能測(cè)試、回歸測(cè)試、性能測(cè)試、可靠性測(cè)試、安全性測(cè)試和兼容性測(cè)試等根據(jù)測(cè)試過(guò)程中被測(cè)軟件是否被執(zhí)行,分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試根據(jù)是否針對(duì)系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)算法來(lái)完成測(cè)試,可分為白盒測(cè)試和黑盒測(cè)試Zhu.Kerry@軟件測(cè)試的各個(gè)階段開(kāi)發(fā)生命周期...維護(hù)需求定義應(yīng)用定義應(yīng)用開(kāi)發(fā)修訂建立建立測(cè)試生命周期...執(zhí)行.執(zhí)行執(zhí)行.測(cè)試計(jì)劃缺陷跟蹤測(cè)試開(kāi)發(fā)測(cè)試設(shè)計(jì)評(píng)估Zhu.Kerry@軟件測(cè)試階段階段輸入輸出需求分析需求定義,市場(chǎng)分析文檔,相關(guān)技術(shù)文檔市場(chǎng)需求分析會(huì)議記要,功能設(shè)計(jì),技術(shù)設(shè)計(jì)設(shè)計(jì)審查市場(chǎng)需求文檔,技術(shù)設(shè)計(jì)文檔

測(cè)試計(jì)劃,測(cè)試用例功能驗(yàn)證代碼完成文件包,功能詳細(xì)設(shè)計(jì)說(shuō)明書(shū)最終技術(shù)文檔完整測(cè)試用例,完備的測(cè)試計(jì)劃,缺陷報(bào)告,功能驗(yàn)證測(cè)試報(bào)告系統(tǒng)測(cè)試代碼修改后的文件包完整測(cè)試用例,完備的測(cè)試計(jì)劃

缺陷報(bào)告缺陷狀態(tài)報(bào)告項(xiàng)目階段報(bào)告確認(rèn)測(cè)試代碼凍結(jié)文件包確認(rèn)測(cè)試用例缺陷狀態(tài)報(bào)告缺陷報(bào)告審查版本審查版本發(fā)布代碼發(fā)布文件包測(cè)試計(jì)劃?rùn)z查清單當(dāng)前版本已知問(wèn)題的清單版本發(fā)布報(bào)告Zhu.Kerry@測(cè)試階段(SDLC)Zhu.Kerry@需求和設(shè)計(jì)審查測(cè)試人員參與產(chǎn)品需求分析和系統(tǒng)設(shè)計(jì),認(rèn)真閱讀有關(guān)文檔,真正理解客戶的需求和技術(shù)上的設(shè)計(jì),檢查需求說(shuō)明書(shū)對(duì)產(chǎn)品描述的準(zhǔn)確性、一致性等,檢查系統(tǒng)設(shè)計(jì)的合理性和可測(cè)試性等Zhu.Kerry@單元測(cè)試單元測(cè)試的對(duì)象是程序系統(tǒng)中的最小單元---模塊或組件上,在編碼階段進(jìn)行,針對(duì)每個(gè)模塊進(jìn)行測(cè)試,主要通過(guò)白盒測(cè)試方法,從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例,檢查程序模塊或組件的已實(shí)現(xiàn)的功能與定義的功能是否一致、以及編碼中是否存在錯(cuò)誤。多個(gè)模塊可以平行地、對(duì)立地測(cè)試,通常要編寫(xiě)驅(qū)動(dòng)模塊和樁模塊單元測(cè)試一般由編程人員和測(cè)試人員共同完成,而以開(kāi)發(fā)人員為主單元測(cè)試包括代碼評(píng)審,代碼評(píng)審可以發(fā)現(xiàn)程序50%~70%代碼的缺陷。Zhu.Kerry@集成測(cè)試集成測(cè)試,也稱組裝測(cè)試、聯(lián)合測(cè)試、子系統(tǒng)測(cè)試,在單元測(cè)試的基礎(chǔ)上,將模塊按照設(shè)計(jì)要求組裝起來(lái)同時(shí)進(jìn)行測(cè)試,主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的模塊之間問(wèn)題兩種集成方式:一次性集成方式和增殖式集成方式。Zhu.Kerry@功能測(cè)試功能測(cè)試一般須在完成集成測(cè)試后進(jìn)行,而且是針對(duì)應(yīng)用系統(tǒng)進(jìn)行測(cè)試。功能測(cè)試是基于產(chǎn)品功能說(shuō)明書(shū),是在已知產(chǎn)品所應(yīng)具有的功能,從用戶角度來(lái)進(jìn)行功能驗(yàn)證,以確認(rèn)每個(gè)功能是否都能正常使用Zhu.Kerry@系統(tǒng)測(cè)試系統(tǒng)測(cè)試是將軟件放在整個(gè)計(jì)算機(jī)環(huán)境下,包括軟硬件平臺(tái)、某些支持軟件、數(shù)據(jù)和人員等,在實(shí)際運(yùn)行環(huán)境下進(jìn)行一系列的測(cè)試,包括恢復(fù)測(cè)試、安全測(cè)試、強(qiáng)度測(cè)試和性能測(cè)試等Zhu.Kerry@驗(yàn)收測(cè)試&安裝測(cè)試驗(yàn)收測(cè)試的目的是向未來(lái)的用戶表明系統(tǒng)能夠像預(yù)定要求那樣工作,驗(yàn)證軟件的功能和性能如同用戶所合理期待的那樣安裝測(cè)試是指按照軟件產(chǎn)品安裝手冊(cè)或相應(yīng)的文檔,在一個(gè)和用戶使用該產(chǎn)品完全一樣的環(huán)境中或相當(dāng)于用戶使用環(huán)境中,進(jìn)行一步一步的安裝操作性的測(cè)試Zhu.Kerry@2.1靜態(tài)分析靜態(tài)分析是不需要執(zhí)行程序而進(jìn)行測(cè)試的技術(shù),其主要功能是檢查軟件與其描述是否一致,是否有沖突或是歧義性。靜態(tài)分析的主要特征是利用計(jì)算機(jī)作為工具分析源程序,而不是運(yùn)行程序。靜態(tài)分析是其他測(cè)試的前提,靜態(tài)分析包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量等。靜態(tài)分析可由人工進(jìn)行,充分發(fā)揮人的邏輯思維優(yōu)勢(shì),也可借助軟件工具進(jìn)行,加快分析速度和效果。2.1靜態(tài)分析代碼檢查

代碼檢查包括代碼走查和代碼審查,代碼走查與代碼審查的區(qū)別是:代碼走查除了閱讀程序外,還需要由測(cè)試員利用人工運(yùn)行程序并得出輸出結(jié)果,然后由參加者對(duì)結(jié)果進(jìn)行審查,以達(dá)到測(cè)試的目的。代碼審查的主要內(nèi)容是檢查代碼和設(shè)計(jì)的一致性,代碼對(duì)標(biāo)準(zhǔn)的遵循、可讀性,代碼邏輯表達(dá)的正確性,代碼結(jié)構(gòu)的合理性等方面;代碼審查可以發(fā)現(xiàn)違背程序編寫(xiě)標(biāo)準(zhǔn)的問(wèn)題、程序中不安全、不明確和模糊的部分,找出程序中不可移植部分、違背程序編程風(fēng)格的問(wèn)題,包括變量檢查、命名和類型審查、程序邏輯審查、程序語(yǔ)法檢查和程序結(jié)構(gòu)檢查等內(nèi)容。2.1靜態(tài)分析靜態(tài)結(jié)構(gòu)分析靜態(tài)結(jié)構(gòu)分析主要是以圖形的方式描述程序的內(nèi)部結(jié)構(gòu),例如函數(shù)調(diào)用關(guān)系圖、函數(shù)內(nèi)部控制流圖。其中函數(shù)調(diào)用關(guān)系圖以圖形方式描述一個(gè)應(yīng)用程序中各個(gè)函數(shù)的調(diào)用和被調(diào)用關(guān)系;函數(shù)內(nèi)部控制流圖顯示一個(gè)函數(shù)的邏輯結(jié)構(gòu),它由許多節(jié)點(diǎn)組成,一個(gè)節(jié)點(diǎn)代表一條語(yǔ)句或數(shù)條語(yǔ)句,結(jié)點(diǎn)間的連接稱之為邊,邊表示語(yǔ)句間的控制流向。2.1靜態(tài)分析代碼質(zhì)量度量

軟件質(zhì)量的ISO/IEC9126國(guó)際標(biāo)準(zhǔn)包括六個(gè)方面:功能性可靠性易用性效率性可維護(hù)性可移植性軟件的質(zhì)量是軟件屬性的各種標(biāo)準(zhǔn)度量的組合。對(duì)于軟件開(kāi)發(fā)人員來(lái)說(shuō),靜態(tài)分析只是進(jìn)行動(dòng)態(tài)測(cè)試的預(yù)處理工作,并且靜態(tài)分析已經(jīng)成為一種自動(dòng)化的代碼校驗(yàn)方法。2.1靜態(tài)分析靜態(tài)分析的任務(wù):1、發(fā)現(xiàn)程序的錯(cuò)誤2、尋找潛伏問(wèn)題的原因3、提供程序的信息4、選擇測(cè)試用例5、為查錯(cuò)做準(zhǔn)備2.2動(dòng)態(tài)測(cè)試動(dòng)態(tài)測(cè)試特點(diǎn):動(dòng)態(tài)測(cè)試是使被測(cè)代碼在相對(duì)真實(shí)的環(huán)境下運(yùn)行,從多個(gè)角度觀察與檢測(cè)程序運(yùn)行時(shí)的功能、邏輯、行為和結(jié)構(gòu),并且通過(guò)實(shí)際運(yùn)行的輸出結(jié)果和預(yù)期輸出結(jié)果的比較,來(lái)發(fā)現(xiàn)其中的錯(cuò)誤。主要特點(diǎn):運(yùn)行被測(cè)試程序,獲得程序運(yùn)行的動(dòng)態(tài)情況和真實(shí)結(jié)果,從而進(jìn)行分析。必須生成測(cè)試用例來(lái)運(yùn)行程序,測(cè)試質(zhì)量與測(cè)試用例密切相關(guān)。生成測(cè)試用例、分析測(cè)試結(jié)果的工作量大,使得測(cè)試工作消耗較多。動(dòng)態(tài)測(cè)試中涉及人員多、設(shè)備多、數(shù)據(jù)多,要求有較好的管理制度和工作流程。2.2動(dòng)態(tài)測(cè)試動(dòng)態(tài)測(cè)試的內(nèi)容:動(dòng)態(tài)測(cè)試包括功能確認(rèn)與接口測(cè)試、覆蓋率分析、性能分析、內(nèi)存分析等。(1)功能確認(rèn)與接口測(cè)試(2)覆蓋率分析(3)性能分析(4)內(nèi)存分析2.3人工測(cè)試與機(jī)器測(cè)試人工測(cè)試技術(shù)是指不依賴于具體的計(jì)算機(jī),通過(guò)人工手段來(lái)進(jìn)行測(cè)試的技術(shù)。而機(jī)器測(cè)試是指將大量的重復(fù)性工作由計(jì)算機(jī)完成,是一種依賴于計(jì)算機(jī)的軟件測(cè)試技術(shù),又稱為機(jī)器測(cè)試技術(shù)。機(jī)器測(cè)試是基于計(jì)算機(jī)完成的測(cè)試技術(shù)。包括邊界值測(cè)試、分支覆蓋測(cè)試、原型和語(yǔ)法測(cè)試。其中語(yǔ)法測(cè)試是由語(yǔ)言編譯器自動(dòng)完成的。2.3人工測(cè)試與機(jī)器測(cè)試軟件審查軟件審查的對(duì)象是各開(kāi)發(fā)階段的成果,如需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)等階段的成果以及編碼、測(cè)試計(jì)劃和測(cè)試用例等。軟件審查通常有以下幾個(gè)步驟:制定計(jì)劃、預(yù)審、準(zhǔn)備、審查會(huì)、返工、終審。2.3人工測(cè)試與機(jī)器測(cè)試人工測(cè)試與機(jī)器測(cè)試的比較人工測(cè)試不能保證測(cè)試的科學(xué)性與嚴(yán)密性,這是因?yàn)椋簻y(cè)試人員要負(fù)責(zé)大量文檔、報(bào)表的制訂和整理工作,工作繁瑣;受軟件分發(fā)日期、開(kāi)發(fā)成本及測(cè)試人員、資源等多方面因素的限制,難以進(jìn)行全面的測(cè)試;如果修正缺陷所花費(fèi)的時(shí)間相當(dāng)長(zhǎng),回歸測(cè)試將變得更為困難;對(duì)測(cè)試過(guò)程中發(fā)現(xiàn)的大量缺陷缺乏科學(xué)、有效的管理手段,責(zé)任含混不清,沒(méi)有人能向決策層提供精確的數(shù)據(jù)以度量當(dāng)前的工作進(jìn)度及工作效率;反復(fù)測(cè)試帶來(lái)的倦怠情緒及其他人為因素使得測(cè)試標(biāo)準(zhǔn)前后不一,測(cè)試花費(fèi)的時(shí)間越長(zhǎng),測(cè)試的嚴(yán)格性也就越低;難以對(duì)不可視對(duì)象或?qū)ο蟮牟豢梢晫傩赃M(jìn)行測(cè)試。2.4黑盒測(cè)試黑盒測(cè)試是對(duì)軟件的功能和界面的測(cè)試,其目的是發(fā)現(xiàn)軟件需求或者設(shè)計(jì)規(guī)格說(shuō)明中的錯(cuò)誤,所以又稱功能測(cè)試,是一種基于用戶觀點(diǎn)出發(fā)的測(cè)試。在測(cè)試期間,把被測(cè)程序看做一個(gè)黑盒子,測(cè)試人員并不清楚被測(cè)程序的源代碼或者該程序的具體結(jié)構(gòu),不需要對(duì)軟件的結(jié)構(gòu)有深層的了解,而是只知道該程序輸入和輸出之間的關(guān)系,依靠能夠反映這一關(guān)系的功能規(guī)格說(shuō)明書(shū),來(lái)確定測(cè)試用例和推斷測(cè)試結(jié)果的正確性。黑盒測(cè)試僅在程序接口處進(jìn)行測(cè)試,只檢查被測(cè)程序功能是否符合規(guī)格說(shuō)明書(shū)的要求,程序是否能適當(dāng)?shù)慕邮茌斎霐?shù)據(jù)并產(chǎn)生正確的輸出信息。2.4黑盒測(cè)試黑盒測(cè)試的主要內(nèi)容(1)可接受性測(cè)試/驗(yàn)收測(cè)試(2)

Alpha/Beta測(cè)試(3)菜單/幫助測(cè)試(4)發(fā)行測(cè)試(5)回歸測(cè)試(6)RTM測(cè)試2.4黑盒測(cè)試黑盒測(cè)試方法等價(jià)類劃分邊界值分析因果圖錯(cuò)誤推測(cè)狀態(tài)測(cè)試在黑盒測(cè)試方法中,等價(jià)類劃分和邊界值分析是最常使用的測(cè)試方法,也是軟件測(cè)試最基本的方法。2.4黑盒測(cè)試——等價(jià)類劃分等價(jià)類劃分1.問(wèn)題的提出2.等價(jià)類劃分概念3.等價(jià)類劃分方法的測(cè)試用例設(shè)計(jì)4.使用等價(jià)類劃分設(shè)計(jì)測(cè)試用例2.4黑盒測(cè)試——等價(jià)類劃分使用等價(jià)類劃分設(shè)計(jì)測(cè)試用例(1)弱等價(jià)類測(cè)試(2)強(qiáng)等價(jià)類測(cè)試(3)弱健壯等價(jià)類測(cè)試(4)強(qiáng)健壯等價(jià)類測(cè)試2.4黑盒測(cè)試——邊界值分析邊界值分析的必要性軟件測(cè)試常用的一個(gè)方法是把測(cè)試工作按同樣的形式劃分。對(duì)數(shù)據(jù)進(jìn)行軟件測(cè)試,就是檢查用戶輸入的信息、返回結(jié)果以及中間計(jì)算結(jié)果是否正確。實(shí)踐表明,輸入域的邊界值比中間的值更加容易發(fā)現(xiàn)錯(cuò)誤。實(shí)踐證明,大量的錯(cuò)誤發(fā)生在輸入或輸出范圍的邊界上,而不是在輸入范圍的內(nèi)部。因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤。為此,邊界值分析可作為一種測(cè)試技術(shù)。2.4黑盒測(cè)試——邊界值分析邊界值分析邊界值分析也是一種黑盒測(cè)試方法,是一種補(bǔ)充等價(jià)劃分的測(cè)試用例設(shè)計(jì)技術(shù),它選擇一組測(cè)試用例檢查邊界值。它不是選擇等價(jià)類的任意元素,而是選擇等價(jià)類邊界的測(cè)試用例。在設(shè)計(jì)測(cè)試用例時(shí),對(duì)邊界處理必須給予足夠的重視,為檢驗(yàn)邊界的處理而專門(mén)設(shè)計(jì)測(cè)試用例,常常可以取得良好的測(cè)試效果。提出邊界條件時(shí),一定要測(cè)試臨近邊界的合法數(shù)據(jù),即測(cè)試剛好處于邊界上的合法數(shù)據(jù)以及剛超過(guò)邊界的非法數(shù)據(jù)。邊界值分析的基本思想是使用最小值、略高于最小值、正常值、略低于最大值和最大值作為輸入變量值。2.4黑盒測(cè)試——邊界值分析利用邊界值分析選擇測(cè)試用例的原則:(1)如果輸入條件規(guī)定了值的范圍,則應(yīng)該取剛達(dá)到這個(gè)范圍的邊界值,以及剛剛超過(guò)這個(gè)范圍邊界的值作為測(cè)試輸入數(shù)據(jù);(2)如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)、比最大個(gè)數(shù)多1個(gè)、比最小個(gè)數(shù)少1個(gè)的數(shù)作為測(cè)試數(shù)據(jù);(3)根據(jù)規(guī)格說(shuō)明的每一個(gè)輸出條件,使用規(guī)則(1);(4)根據(jù)規(guī)格說(shuō)明的每一個(gè)輸出條件,使用規(guī)則(2);(5)如果程序的規(guī)格說(shuō)明給出的輸入域或輸出域是有序集合(如有序表、順序文件等),則應(yīng)選取集合的第一個(gè)和最后一個(gè)元素作為測(cè)試用例;(6)如果程序用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),應(yīng)該選取這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測(cè)試用例;(7)分析規(guī)格說(shuō)明,找出其他可能的邊界條件。2.4黑盒測(cè)試——錯(cuò)誤推測(cè)使用邊界分析法和等價(jià)劃分技術(shù),可以幫助開(kāi)發(fā)人員設(shè)計(jì)具有代表性的、容易暴露程序錯(cuò)誤的測(cè)試用例。但是,不同類型不同特點(diǎn)的程序通常有一些特殊的容易出錯(cuò)的情況。此外,有時(shí)分別使用每組測(cè)試數(shù)據(jù)時(shí)程序都能正常工作,這些輸入數(shù)據(jù)的組合卻可能檢測(cè)出程序的錯(cuò)誤。一般說(shuō)來(lái),即使是一個(gè)比較小的程序,可能的輸入組合數(shù)也往往十分巨大,因此必須依靠測(cè)試人員的經(jīng)驗(yàn)和直覺(jué),從各種可能的測(cè)試用例中選出一些最可能引起程序出錯(cuò)的方案。對(duì)于程序中可能存在哪類錯(cuò)誤的推測(cè),是挑選測(cè)試用例時(shí)的一個(gè)重要因素。2.4黑盒測(cè)試——因果圖等價(jià)類劃分和邊界值分析這兩種方法并沒(méi)有考慮到輸入情況的各種組合,也沒(méi)有考慮到各個(gè)輸入情況之間的依賴關(guān)系。輸入條件之間的相互組合,可能會(huì)產(chǎn)生一些新的情況。用前面兩種測(cè)試方法時(shí)可以檢測(cè)到各個(gè)輸入條件可能出錯(cuò)的情況,但卻忽略了多個(gè)條件組合起來(lái)時(shí)出錯(cuò)的情況。但要檢查輸入條件的組合不是一件容易的事情,即使把所有輸入條件劃分成等價(jià)類,他們之間的組合情況也相當(dāng)多。因此必須考慮采用一種適合于描述對(duì)于多種條件的組合,相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來(lái)考慮設(shè)計(jì)測(cè)試用例。這就需要利用因果圖。因果圖考慮了多個(gè)輸入之間的相互組合與相互制約關(guān)系,按一定步驟,高效率地選擇測(cè)試用例,同時(shí)還能指出程序規(guī)格說(shuō)明中存在的問(wèn)題。2.4黑盒測(cè)試——因果圖利用因果圖生成測(cè)試用例的步驟(1)分析軟件規(guī)格說(shuō)明中,哪些是原因(即輸入條件或輸入條件的等價(jià)類),哪些是結(jié)果(即輸出條件),并給每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識(shí)符。(2)分析軟件規(guī)格說(shuō)明中的語(yǔ)義。找出原因與結(jié)果之間,原因與原因之間對(duì)應(yīng)的關(guān)系。根據(jù)這些關(guān)系,畫(huà)出因果圖。(3)由于語(yǔ)法或環(huán)境限制,有些原因與原因之間,原因與結(jié)果之間的組合情況不可能出現(xiàn)。為表明這些特殊情況,在因果圖上用一些記號(hào)表明約束或限制條件。(4)把因果圖轉(zhuǎn)換為判定表。(5)以判定表的每一列為依據(jù)來(lái)設(shè)計(jì)測(cè)試用例。2.4黑盒測(cè)試——因果圖因果圖中的基本符號(hào)2.4黑盒測(cè)試——因果圖輸入的約束條件2.4黑盒測(cè)試——因果圖因果圖類型劃分(1)形象因果圖(2)數(shù)據(jù)因果圖2.4黑盒測(cè)試——因果圖應(yīng)注意的幾個(gè)問(wèn)題(1)從作圖的意圖考慮,可以分為問(wèn)題因果圖和目標(biāo)因果圖。問(wèn)題因果圖是尋找問(wèn)題的起因,回答“為什么”的問(wèn)題。目標(biāo)因果圖是用來(lái)尋找解決某問(wèn)題的方法或達(dá)到某個(gè)目標(biāo)的途徑,回答了“如何做”的問(wèn)題。(2)依照軟件產(chǎn)品的特性不同,應(yīng)選擇不同的因素來(lái)進(jìn)行分析。選擇因素時(shí)要充分考慮問(wèn)題所處的環(huán)境特點(diǎn)和影響等因素,不可以不經(jīng)考慮隨便套用,否則弄巧成拙,致使簡(jiǎn)單的問(wèn)題更為復(fù)雜化。2.5白盒測(cè)試白盒測(cè)試要求測(cè)試人員清楚盒子內(nèi)部的內(nèi)容以及內(nèi)部如何運(yùn)作,也就是說(shuō)白盒測(cè)試法是通過(guò)分析程序內(nèi)部的邏輯與程序執(zhí)行路線來(lái)設(shè)計(jì)測(cè)試用例的測(cè)試方法,因此白盒測(cè)試也被稱為邏輯驅(qū)動(dòng)測(cè)試,以測(cè)試的深度為主。由于這種方法按照程序內(nèi)部的邏輯進(jìn)行測(cè)試,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作,所以白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試。2.5白盒測(cè)試白盒測(cè)試的作用由于軟件可能存在缺陷,所以要花費(fèi)時(shí)間和精力來(lái)測(cè)試邏輯細(xì)節(jié),軟件存在的缺陷主要包括:1.邏輯錯(cuò)誤和不正確的假設(shè)。當(dāng)設(shè)計(jì)和實(shí)現(xiàn)主流之外的功能、條件、或控制時(shí),往往出現(xiàn)錯(cuò)誤。2.主觀相信不可能執(zhí)行某條邏輯路徑,但在正常的情況下可能被執(zhí)行。同時(shí)控制流和數(shù)據(jù)流的一些無(wú)意識(shí)的假設(shè)可能導(dǎo)致設(shè)計(jì)的錯(cuò)誤,只有通過(guò)路徑測(cè)試才能發(fā)現(xiàn)這些錯(cuò)誤。3.隨機(jī)的錯(cuò)誤。當(dāng)一個(gè)程序被翻譯成程序設(shè)計(jì)語(yǔ)言的源代碼時(shí),有可能產(chǎn)生某些錯(cuò)誤,多數(shù)可被語(yǔ)法檢查機(jī)制發(fā)現(xiàn),但是還有些只有在進(jìn)行白盒測(cè)試時(shí)才可被發(fā)現(xiàn)。2.5白盒測(cè)試程序結(jié)構(gòu)分析——控制流分析2.5白盒測(cè)試程序結(jié)構(gòu)分析——數(shù)據(jù)流分析可以利用數(shù)據(jù)流分析查找使用了未定義的變量錯(cuò)誤,或定義的變量從未使用過(guò)等情況,這些都是程序錯(cuò)誤的表現(xiàn)形式,如變量名混淆、拼錯(cuò)變量名字、丟失語(yǔ)句等等。如果程序中的某一語(yǔ)句執(zhí)行時(shí)能改變程序中變量V的值,則稱變量V被該語(yǔ)句定義。如果某一語(yǔ)句的執(zhí)行引用了程序中變量V的值,則稱該語(yǔ)句引用了變量V。2.5白盒測(cè)試——邏輯覆蓋邏輯覆蓋分類(1)語(yǔ)句覆蓋(2)判定覆蓋(3)條件覆蓋(4)判定/條件覆蓋(5)條件組合覆蓋(6)路徑覆蓋2.5白盒測(cè)試——邏輯覆蓋邏輯覆蓋準(zhǔn)則(1)ESTCA(ErrorSensitiveTestCasesAnalysis)覆蓋規(guī)則1

對(duì)于ArelB(rel可以是<、=、>)型的分支謂詞,應(yīng)適當(dāng)?shù)剡x擇A與B的值,使得測(cè)試執(zhí)行到該分支語(yǔ)句時(shí),A<B、A=B和A>B的情況分別出現(xiàn)一次。規(guī)則2

對(duì)于Arel1C(rel1可以是>或<,A是變量,C是常量)型的分支謂詞,當(dāng)rel1為<時(shí),應(yīng)適當(dāng)?shù)剡x擇A的值,使:A=C-M(M是距C最小的機(jī)器允許的正數(shù),若A和C均為整型時(shí),M=1)。同樣,當(dāng)rel1為>時(shí),應(yīng)適當(dāng)?shù)剡x擇A,使:A=C+M規(guī)則3

對(duì)輸入的變量賦值,使其在每一測(cè)試用例中均有不同的值與符號(hào),并與同一組測(cè)試用例中其他變量的值與符號(hào)不一致。2.5白盒測(cè)試——邏輯覆蓋邏輯覆蓋準(zhǔn)則(2)LCSAJ覆蓋[第一層]:語(yǔ)句覆蓋[第二層]:分支覆蓋[第三層]:LCSAJ覆蓋。即程序中的每一個(gè)LCSAJ都至少在測(cè)試中經(jīng)歷過(guò)一次。[第四層]:兩兩LCSAJ覆蓋。即程序中每?jī)蓚€(gè)首尾相連的LCSAJ組合起來(lái)在測(cè)試中都要經(jīng)歷一次?!鄣趎+2層]:每n個(gè)首尾相連的LCSAJ組合在測(cè)試中都要經(jīng)歷一次。2.5白盒測(cè)試程序插裝程序插裝是一種基本的測(cè)試手段,是借助向被測(cè)程序中插入操作(語(yǔ)句)來(lái)達(dá)到測(cè)試的目的。那些被插入的語(yǔ)句稱為“探測(cè)器”或“探針”。在程序特定部位插入“探針”的目的是為了把程序執(zhí)行過(guò)程中發(fā)生的一些重要事件記錄下來(lái),如語(yǔ)句執(zhí)行次數(shù)、變量值的變化情況、指針的改變等。2.5白盒測(cè)試符號(hào)測(cè)試符號(hào)測(cè)試的基本思想是允許程序的輸入不僅可以是數(shù)值數(shù)據(jù),也可以包括符號(hào)值。符號(hào)可以是符號(hào)變量,也可以是包含這些符號(hào)變量的一個(gè)表達(dá)式。這樣,在執(zhí)行被測(cè)程序的過(guò)程中符號(hào)的計(jì)算就代替了普通測(cè)試執(zhí)行中對(duì)測(cè)試用例的數(shù)值計(jì)算,所得的結(jié)果是符號(hào)公式或符號(hào)謂詞。2.5白盒測(cè)試符號(hào)測(cè)試是程序測(cè)試與程序驗(yàn)證的一個(gè)折衷方法。一方面,它沿用了傳統(tǒng)的程序測(cè)試方法,通過(guò)運(yùn)行被測(cè)試程序來(lái)檢驗(yàn)它的可靠性。另一方面,由于一次符號(hào)測(cè)試的結(jié)果代表了一大類普通測(cè)試的結(jié)果,證明了程序接受此類輸入后,所得的輸出結(jié)果是否正確。理想的情況是程序中僅有有限的幾條可執(zhí)行路徑,若對(duì)這幾條路徑都完成了符號(hào)測(cè)試,確認(rèn)程序正確性的可能就更大。符號(hào)測(cè)試方法的優(yōu)點(diǎn)是:可以很容易地確定所給的一組測(cè)試用例是否覆蓋了程序的各條路徑。對(duì)于任何一組測(cè)試用例,可以首先確定它所經(jīng)歷的測(cè)試路徑,然后,再給出輸入變量的符號(hào)值,進(jìn)而得到路徑條件。2.5白盒測(cè)試程序變異程序變異方法是一種錯(cuò)誤驅(qū)動(dòng)測(cè)試,錯(cuò)誤驅(qū)動(dòng)測(cè)試分為程序強(qiáng)變異和程序弱變異。1.程序強(qiáng)變異2.程序弱變異2.6白盒測(cè)試和黑盒測(cè)試的比較白盒測(cè)試考慮了黑盒測(cè)試不考慮的方面。同樣地,黑盒測(cè)試也考慮了白盒測(cè)試不考慮的方面。白盒測(cè)試只考慮測(cè)試軟件產(chǎn)品,它不保證完整的需求規(guī)格

溫馨提示

  • 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)論