




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第5章 軟件測(cè)試,5.1 編碼 5.2 軟件測(cè)試基礎(chǔ) 5.3 白盒測(cè)試技術(shù) 5.4 黑盒測(cè)試技術(shù),5.2 軟件測(cè)試基礎(chǔ), 單元測(cè)試:分別完成每個(gè)單元的測(cè)試任務(wù),以確保每個(gè)模塊能正常工作。單元測(cè)試大量地采用了白盒測(cè)試方法,盡可能發(fā)現(xiàn)模塊內(nèi)部的程序差錯(cuò)。 集成測(cè)試:把已測(cè)試過(guò)的模塊組裝起來(lái),檢驗(yàn)與軟件設(shè)計(jì)相關(guān)的程序結(jié)構(gòu)問(wèn)題。這時(shí)較多地采用黑盒測(cè)試方法來(lái)設(shè)計(jì)測(cè)試用例。 確認(rèn)測(cè)試:檢驗(yàn)所開(kāi)發(fā)的軟件能否滿(mǎn)足所有功能和性能需求的最后手段,通常采用黑盒測(cè)試方法。 系統(tǒng)測(cè)試:系統(tǒng)測(cè)試指把已確認(rèn)的軟件與其他系統(tǒng)元素(如硬件、其他支持軟件、數(shù)據(jù)、人工等)結(jié)合在一起進(jìn)行測(cè)試。嚴(yán)格地說(shuō),系統(tǒng)測(cè)試已超出了軟件工程的范圍
2、。,5.2 軟件測(cè)試基礎(chǔ), 驗(yàn)收測(cè)試:檢驗(yàn)軟件產(chǎn)品質(zhì)量的最后一道工序是驗(yàn)收測(cè)試。與前面討論的各種測(cè)試活動(dòng)的不同之處主要在于它突出了客戶(hù)的作用,同時(shí)軟件開(kāi)發(fā)人員也應(yīng)有一定程度的參與。 圖7-2列出軟件工程中測(cè)試與軟件開(kāi)發(fā)各階段間的關(guān)系。,圖7- 2 軟件測(cè)試與軟件開(kāi)發(fā)各階段的關(guān)系,5.2 軟件測(cè)試基礎(chǔ), 黑盒測(cè)試:又稱(chēng)功能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于規(guī)格說(shuō)明的測(cè)試,這種方法是把測(cè)試對(duì)象看做一個(gè)黑盒子,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求分析規(guī)格說(shuō)明,檢查程序的功能是否符合它的功能說(shuō)明。黑盒測(cè)試意味著測(cè)試要在軟件的接口處進(jìn)行。 用黑盒測(cè)試發(fā)現(xiàn)程序中的錯(cuò)誤,必須在所有可能的輸
3、入條件和輸出條件中確定測(cè)試數(shù)據(jù),來(lái)檢查程序是否都能產(chǎn)生正確的輸出。 白盒測(cè)試和黑盒測(cè)試各有自己的優(yōu)缺點(diǎn),構(gòu)成互補(bǔ)關(guān)系,在規(guī)劃測(cè)試時(shí)需要把白盒測(cè)試與黑盒測(cè)試結(jié)合起來(lái)。,5.3 白盒測(cè)試技術(shù),5.3.1 邏輯覆蓋 白盒法要求測(cè)試者完全了解程序的結(jié)構(gòu)和處理過(guò)程,按照程序內(nèi)部的邏輯測(cè)試,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作。當(dāng)程序中有循環(huán)時(shí),覆蓋每條路徑是不可能的,要設(shè)計(jì)師覆蓋程度較高的或覆蓋最有代表性的路徑的測(cè)試用例。 常用的邏輯覆蓋測(cè)試方法有:語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、“判定條件”覆蓋、條件組合覆蓋及路徑覆蓋(表7-1)。不同的邏輯覆蓋測(cè)試方法都是從各自不同的方面出發(fā),為設(shè)計(jì)測(cè)試用例
4、提出依據(jù)的。,5.3 白盒測(cè)試技術(shù),假設(shè)有如下程序段(用Visual Basic書(shū)寫(xiě)): IF(A1)AND(B=0)THEN X=X/A IF(A=2)OR(X1)THEN X=X+1 其中“AND”和“OR”是兩個(gè)邏輯運(yùn)算符。圖7-3給出了它的流程圖和程序圖。a、b、c、d 和e 是控制流程圖上的若干程序點(diǎn)。,5.3 白盒測(cè)試技術(shù),圖7- 3 被測(cè)程序段流程圖和流圖,5.3 白盒測(cè)試技術(shù),1. 語(yǔ)句覆蓋:指設(shè)計(jì)足夠的測(cè)試用例,使程序中的每個(gè)執(zhí)行語(yǔ)句至少執(zhí)行一次。在上述程序段中,只需設(shè)計(jì)一個(gè)能通過(guò)路徑ace的測(cè)試用例即可。如果設(shè)計(jì)的測(cè)試用例是: =2 B=0 X=3 則程序按流程圖上的路徑a
5、ce執(zhí)行。這樣該程序段的4個(gè)語(yǔ)句均得到執(zhí)行,從而達(dá)到了語(yǔ)句覆蓋。,5.3 白盒測(cè)試技術(shù),語(yǔ)句覆蓋是比較弱的覆蓋標(biāo)準(zhǔn)。例如,第一個(gè)判定的運(yùn)算符“AND”錯(cuò)成運(yùn)算符“OR”或是第二個(gè)判定中的運(yùn)算符“OR”錯(cuò)成運(yùn)算符“AND”,這時(shí)仍使用測(cè)試用例,程序仍將按流程圖上的路徑ace執(zhí)行;又如第二個(gè)條件語(yǔ)句中X1誤寫(xiě)成X0,上述地測(cè)試用例也不能發(fā)現(xiàn)。 2. 判定覆蓋:指設(shè)計(jì)足夠的測(cè)使用例,使得程序中的每個(gè)判定至少都獲得一次“真”和“假”值,或者說(shuō)使得程序中的每一個(gè)取“真”分支和取“假”分支至少經(jīng)歷一次。因此,判定覆蓋有稱(chēng)為分支覆蓋。以圖7-3流程圖為例,如果設(shè)計(jì)兩個(gè)測(cè)試用例,使它們能通過(guò)路徑ace和abd
6、,或通過(guò)路徑acd及abe,即可達(dá)到“判定覆蓋”標(biāo)準(zhǔn)。,5.3 白盒測(cè)試技術(shù),若選用的兩組測(cè)試用例是: =2 B=0 X=3 =1 B=0 X=1 則可分別執(zhí)行流程圖上的路徑ace和abd,從而使兩個(gè)判斷的4個(gè)分支c、e 和b、d分別得到覆蓋。 注意:上述兩組測(cè)試用例不僅滿(mǎn)足了“判定覆蓋”,同時(shí)還做到了“語(yǔ)句覆蓋”。從這一點(diǎn)看“判定覆蓋”比“語(yǔ)句覆蓋”更強(qiáng)一些,但是如果程序段中的第2個(gè)判定條件X1如果錯(cuò)寫(xiě)為X1,使用上述測(cè)試用例,照樣能按原路徑執(zhí)行(abe),而不影響結(jié)果。也就是說(shuō),只達(dá)到判定覆蓋仍無(wú)法確定判斷內(nèi)部條件的錯(cuò)誤。,5.3 白盒測(cè)試技術(shù),3. 條件覆蓋:指設(shè)計(jì)若干個(gè)測(cè)試用例,使每個(gè)
7、判定中的每個(gè)條件的可能取值至少出現(xiàn)一次。 圖7-3中,在第1個(gè)判定(A1) AND (B=0)中條件為:A1、B=0;在第2個(gè)判斷(A=2) OR (X1)中條件為:A=2、X1。只需采用兩個(gè)測(cè)試用例,把4個(gè)條件的8種情況均作了覆蓋: =2 B=0 X=3 =1 B=1 X=1,5.3 白盒測(cè)試技術(shù),4. 判定條件覆蓋:要求設(shè)計(jì)足夠的測(cè)使用例,使得判定中每個(gè)條件的所有可能(真/假)至少出現(xiàn)一次,并且每個(gè)判定本身的判定結(jié)果(真/假)也至少出現(xiàn)一次。 此時(shí),采用下面兩個(gè)測(cè)試用例,即可達(dá)到此要求。 =2 B=0 X=3 =1 B=1 X=1,7.4 黑盒測(cè)試技術(shù),黑盒測(cè)試又稱(chēng)為功能測(cè)試,它注重于測(cè)試
8、軟件的功能性需求,而不是內(nèi)部結(jié)構(gòu)。它同白盒法測(cè)試是截然不同的測(cè)試概念,在黑盒測(cè)試中,測(cè)試人員需根據(jù)需求規(guī)格說(shuō)明書(shū),測(cè)試程序的功能或程序的外部特性。黑盒測(cè)試不是白盒測(cè)試的替代品,而是用于輔助白盒測(cè)試發(fā)現(xiàn)其他類(lèi)型的錯(cuò)誤。 白盒測(cè)試用在測(cè)試的早期,而黑盒測(cè)試主要用于測(cè)試的后期。使用白盒法設(shè)計(jì)測(cè)試用例時(shí),只需要選擇一個(gè)覆蓋標(biāo)準(zhǔn),而使用黑盒法進(jìn)行測(cè)試,則應(yīng)該同時(shí)使用多種黑盒測(cè)試方法,才能得到較好的測(cè)試效果。,7.4 黑盒測(cè)試技術(shù),例如,輸入值是學(xué)生某一門(mén)課的成績(jī),范圍是0100,則可確定一個(gè)有效等價(jià)類(lèi)為“0成績(jī)100”,兩個(gè)無(wú)效等價(jià)類(lèi)為“成績(jī)100”。 如果一個(gè)輸入條件說(shuō)明了一個(gè)必須遵守的規(guī)則(如變量名
9、的第一個(gè)字符必須是字母),則可劃分一個(gè)有效等價(jià)類(lèi)(第一字符是字母),和一個(gè)無(wú)效等價(jià)類(lèi)(第一字符不是字母)。 如果某個(gè)輸入條件規(guī)定了輸入數(shù)據(jù)的一組可能的值,而且程序是用不同的方式處理每一種值,則每個(gè)允許輸入值是一個(gè)合理等價(jià)類(lèi),此外還有一個(gè)不合理等價(jià)類(lèi)(任何一個(gè)不允許的輸入值)。,7.4 黑盒測(cè)試技術(shù),例如,輸入條件說(shuō)明教師的職稱(chēng)有助教、講師、副教授和教授4種類(lèi)型,則分別取這四個(gè)值作為4個(gè)有效等價(jià)類(lèi),另外把4個(gè)職稱(chēng)之外的任何職稱(chēng)作為無(wú)效等價(jià)類(lèi)。 如果確知已劃分的等價(jià)類(lèi)中各元素在程序中的處理方式不同,則應(yīng)將此等價(jià)類(lèi)進(jìn)一步劃分成更小的等價(jià)類(lèi)。 2. 確定測(cè)試用例 根據(jù)已劃分的等價(jià)類(lèi),按以下步驟來(lái)設(shè)計(jì)測(cè)
10、試用例:,7.4 黑盒測(cè)試技術(shù), 為每一個(gè)等價(jià)類(lèi)規(guī)定唯一的編號(hào)。 設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋尚未被覆蓋過(guò)的有效等價(jià)類(lèi)。重復(fù)這步,直到所有有效等價(jià)類(lèi)均被測(cè)試用例所覆蓋。 設(shè)計(jì)一個(gè)新的測(cè)試用例,使其只覆蓋一個(gè)無(wú)效等價(jià)類(lèi)。重復(fù)這步,直到所有無(wú)效等價(jià)類(lèi)均被覆蓋。 因?yàn)槟承┏绦驅(qū)δ骋惠斎脲e(cuò)誤的檢查往往會(huì)屏蔽對(duì)其他輸入錯(cuò)誤的檢查,所以必須對(duì)每一個(gè)無(wú)效等價(jià)類(lèi)分別設(shè)計(jì)測(cè)試用例。,7.4 黑盒測(cè)試技術(shù),7.4.2 邊界值分析法 實(shí)踐經(jīng)驗(yàn)表明,程序往往在處理邊界時(shí)出錯(cuò),例如錯(cuò)誤常發(fā)生在數(shù)組的上下標(biāo)、循環(huán)條件的開(kāi)始和終止處等,所以檢查邊界情況的測(cè)試用例是高效的。邊界值分析就是選擇等價(jià)類(lèi)邊界的測(cè)試用例,
11、它是一種補(bǔ)充等價(jià)分類(lèi)法的測(cè)試用例設(shè)計(jì)技術(shù)。下面提供幾條設(shè)計(jì)原則以供參考: 如果輸入條件規(guī)定了取值范圍,可以選擇正好等于邊界值的數(shù)據(jù)及剛剛超過(guò)邊界值的數(shù)據(jù)作為測(cè)試用例。,7.4 黑盒測(cè)試技術(shù),例如,輸入值的范圍是a,b,可取a,b,略大于a 的值,略小于b的值作為測(cè)試數(shù)據(jù)。 如果輸入條件規(guī)定了輸入值的個(gè)數(shù),則按最大個(gè)數(shù)、最小個(gè)數(shù)、稍小于最小個(gè)數(shù)及稍大于最大個(gè)數(shù)等情況分別來(lái)設(shè)計(jì)測(cè)試用例。 例如,一個(gè)輸入文件可包括1100個(gè)紀(jì)錄,則分別取有1個(gè)紀(jì)錄、100個(gè)紀(jì)錄、0個(gè)紀(jì)錄和101 個(gè)紀(jì)錄的輸入文件來(lái)作為測(cè)試用例。,7.4 黑盒測(cè)試技術(shù), 針對(duì)每個(gè)輸出條件使用上面的第和條原則。 例如,一個(gè)學(xué)籍管理系統(tǒng)規(guī)定,只能查詢(xún)20022006級(jí)學(xué)生的各科成績(jī),可以設(shè)計(jì)測(cè)試用例查詢(xún)?cè)谝?guī)定范圍內(nèi)的某一屆學(xué)生的學(xué)生成績(jī),還需要設(shè)計(jì)測(cè)試用例查詢(xún)2001級(jí)、2007級(jí)學(xué)生成績(jī)。 如果程序規(guī)格說(shuō)明中給出的輸入或輸出域是個(gè)有序集合(如順序文件、線(xiàn)性表和鏈表等),則應(yīng)選取有序集合的第一個(gè)和最后一個(gè)元素作為測(cè)試用例。,7.4 黑盒測(cè)試技術(shù),7.4.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 22025年計(jì)算機(jī)二級(jí)高效學(xué)習(xí)試題及答案
- 財(cái)務(wù)報(bào)告分析工具試題及答案
- 異常處理的試題及答案
- 法律專(zhuān)業(yè)測(cè)試題庫(kù)及答案
- 法律知識(shí)試題及答案高中
- 法律援助考試題及答案
- 創(chuàng)新的計(jì)算機(jī)二級(jí)考試試題及答案
- 法律學(xué)專(zhuān)科考試題及答案
- 2025年Web信任與安全體系試題及答案
- 歷年真題計(jì)算機(jī)二級(jí)試題及答案分析
- SiPM讀出芯片設(shè)計(jì):原理、案例與技術(shù)突破
- 2025年安徽合肥東部新中心建設(shè)投資限公司招聘8人高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 《反家庭暴力》課件
- 退租回復(fù)函范本
- 幼兒園孩子挑食培訓(xùn)
- 2024-2025學(xué)年初中八年級(jí)數(shù)學(xué)學(xué)期期末檢測(cè)模擬卷(人教版)含答案
- 2025年江蘇省中考數(shù)學(xué)壓軸卷
- 中考英語(yǔ)復(fù)習(xí)閱讀理解-主旨大意題、推理判斷題
- 2025屆安徽高考數(shù)學(xué)四模試卷含解析
- 飛行任務(wù)委托書(shū)
- 幼兒園觀察記錄書(shū)寫(xiě)培訓(xùn)
評(píng)論
0/150
提交評(píng)論