第7章 軟件實(shí)現(xiàn)與測(cè)試_第1頁(yè)
第7章 軟件實(shí)現(xiàn)與測(cè)試_第2頁(yè)
第7章 軟件實(shí)現(xiàn)與測(cè)試_第3頁(yè)
第7章 軟件實(shí)現(xiàn)與測(cè)試_第4頁(yè)
第7章 軟件實(shí)現(xiàn)與測(cè)試_第5頁(yè)
已閱讀5頁(yè),還剩58頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件工程導(dǎo)論主講:李傳科Tel-mail:lichuanke8815@163.com1海軟院軟件工程系第7講實(shí)現(xiàn)(編碼與測(cè)試)7.1編碼7.2軟件測(cè)試基礎(chǔ)7.3單元測(cè)試7.4集成測(cè)試7.5確認(rèn)測(cè)試7.6白盒測(cè)試技術(shù)7.7黑盒測(cè)試技術(shù)7.8調(diào)試2海軟院軟件工程系8.1編碼

編碼就是把軟件設(shè)計(jì)結(jié)果翻譯成用某種程序設(shè)計(jì)語(yǔ)言書寫的程序。

程序設(shè)計(jì)語(yǔ)言分類:機(jī)器語(yǔ)言;匯編語(yǔ)言;高級(jí)語(yǔ)言主流程序設(shè)計(jì)語(yǔ)言:面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言(C++;C#;Java;VB;Dephi

等);腳本語(yǔ)言(Javascript;Vbscript;Jsp;Php;Perl;Ruby/Rails;Python等)3海軟院軟件工程系2程序設(shè)計(jì)風(fēng)格(1)源程序文檔化(2)數(shù)據(jù)說明(3)語(yǔ)句結(jié)構(gòu)(4)輸入/輸出方法1、選擇程序設(shè)計(jì)語(yǔ)言4海軟院軟件工程系(1)源程序文檔化1.

標(biāo)識(shí)符命名2.

添加注釋3.

程序的視覺組織5海軟院軟件工程系(2)數(shù)據(jù)說明在設(shè)計(jì)階段已經(jīng)確定了數(shù)據(jù)結(jié)構(gòu)的組織及其復(fù)雜性。在編寫程序時(shí),則需要注意數(shù)據(jù)說明的風(fēng)格。為了使程序中數(shù)據(jù)說明更易于理解和維護(hù),必須注意以下幾點(diǎn):

a.

數(shù)據(jù)說明的次序應(yīng)該標(biāo)準(zhǔn)化。有次序易查閱,能加速測(cè)試、調(diào)試和維護(hù)的過程。b.

當(dāng)多個(gè)變量名在一個(gè)語(yǔ)句中說明時(shí),應(yīng)該按字母順序排列這些變量6海軟院軟件工程系(3)語(yǔ)句構(gòu)造:簡(jiǎn)單明了構(gòu)造語(yǔ)句時(shí)應(yīng)該遵循的原則是,每個(gè)語(yǔ)句都應(yīng)該簡(jiǎn)單而直接,不能為了提高效率而使程序變得過分復(fù)雜;也不要刻意追求技巧性,使程序編寫得過于緊湊。

例如:A[I]=A[I]+A[T];

A[T]=A[I]-A[T];

A[I]=A[I]-A[T];

temp=A[T];

A[T]=A[I];

A[I]=temp;7海軟院軟件工程系

下述規(guī)則有助于使語(yǔ)句簡(jiǎn)單明了:不要為了節(jié)省空間而把多個(gè)語(yǔ)句寫在同一行;盡量避免復(fù)雜的條件測(cè)試;盡量減少對(duì)“非”條件的測(cè)試;

if(!(char<0||char>9))

改成

if(char>=0&&char<=9)

避免大量使用循環(huán)嵌套和條件嵌套;利用括號(hào)使邏輯表達(dá)式或算術(shù)表達(dá)式的運(yùn)算次序清晰直觀。8海軟院軟件工程系

在設(shè)計(jì)和編寫程序時(shí)應(yīng)該考慮下述有關(guān)輸入輸出風(fēng)格的規(guī)則:對(duì)所有的輸入數(shù)據(jù)都要進(jìn)行檢驗(yàn),識(shí)別錯(cuò)誤的輸入,以保證每個(gè)數(shù)據(jù)的有效性;檢查輸入項(xiàng)的各種重要組合的合法性,必要時(shí)報(bào)告輸入狀態(tài)信息;使得輸入的步驟和操作盡可能簡(jiǎn)單,并保持簡(jiǎn)單的輸入格式;輸入數(shù)據(jù)時(shí),應(yīng)允許使用自由格式輸入;應(yīng)允許缺省值;(4)輸入輸出9海軟院軟件工程系案例: 案例11963年,美國(guó)飛往火星的火箭爆炸,損失$10million。原因:FORTRAN循環(huán):

DO5I=1,3誤寫為DO5I=1.3

案例2美國(guó)迪斯尼公司的獅子王游戲軟件bug 原因:系統(tǒng)兼容性問題 案例3跨世紀(jì)“千年蟲”問題

原因:系統(tǒng)時(shí)間計(jì)算缺陷7.2軟件測(cè)試基礎(chǔ)軟件缺陷10海軟院軟件工程系如何定義是軟件存在缺陷? 由于不能報(bào)告沒有看見的問題,因此,沒有看見就不能說存在軟件缺陷!

“一片樹葉飄落在森林中沒有人聽見,眼見為實(shí)11海軟院軟件工程系軟件缺陷的定義:(1)軟件未達(dá)到產(chǎn)品說明書中已經(jīng)標(biāo)明的功能;

(2)軟件出現(xiàn)了產(chǎn)品說明書中指明不會(huì)出現(xiàn)的錯(cuò)誤;

(3)軟件未達(dá)到產(chǎn)品說明書中雖未指出但應(yīng)當(dāng)達(dá)到的目標(biāo);

(4)軟件功能超出了產(chǎn)品說明書中指明的范圍;

(5)軟件測(cè)試人員認(rèn)為軟件難以理解、不易使用,或者最終用戶認(rèn)為該軟件使用效果不良。12海軟院軟件工程系Exchange2000Windows2000項(xiàng)目經(jīng)理25人約250人開發(fā)人員140人約1700人測(cè)試人員350人約3200人測(cè)試人員/開發(fā)人員5:2約2:1微軟Exchange2000和Windows2000中的人員結(jié)構(gòu):軟件產(chǎn)品最大的成本是檢測(cè)軟件錯(cuò)誤、修正軟件錯(cuò)誤的成本。

在整個(gè)軟件開發(fā)中,測(cè)試的工作量一般占整個(gè)項(xiàng)目工作量的40%左右,甚至>=50%。7.2軟件測(cè)試基礎(chǔ)13海軟院軟件工程系“證明程序是正確的!”

?測(cè)試不能證明軟件是正確的,也不能證明錯(cuò)誤的不存在;測(cè)試階段測(cè)試人員設(shè)計(jì)出的一系列測(cè)試方案,是為了“破壞”已經(jīng)建造好的軟件系統(tǒng)—竭力證明程序中有錯(cuò)誤!

7.2.1軟件測(cè)試的目的14海軟院軟件工程系【定義】:為尋找錯(cuò)誤而運(yùn)行程序的過程?!境晒y(cè)試的標(biāo)準(zhǔn)】:能夠發(fā)現(xiàn)錯(cuò)誤的測(cè)試是成功的測(cè)試,否則是失敗的測(cè)試?!緶y(cè)試的目標(biāo)】: (1)預(yù)防錯(cuò)誤:幾乎不可實(shí)現(xiàn) (2)盡力發(fā)現(xiàn)錯(cuò)誤軟件測(cè)試目標(biāo):15海軟院軟件工程系(1)所有測(cè)試都應(yīng)該能追溯到用戶需求;(2)盡早地完成測(cè)試計(jì)劃;(3)軟件測(cè)試不等于程序測(cè)試;(4)應(yīng)由獨(dú)立的第三方測(cè)試機(jī)構(gòu)來構(gòu)造測(cè)試;(5)測(cè)試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果兩部分組成,并兼顧合理的輸入和不合理的輸入數(shù)據(jù);(6)窮舉測(cè)試是不可能的;(7)程序修改后要回歸測(cè)試;(8)應(yīng)長(zhǎng)期保留測(cè)試用例,直至系統(tǒng)廢棄。7.2.2軟件測(cè)試準(zhǔn)則16海軟院軟件工程系軟件缺陷產(chǎn)生的原因其他6%軟件產(chǎn)品說明書(需求)56%設(shè)計(jì)8%編寫代碼30%軟件缺陷產(chǎn)生的原因分布17海軟院軟件工程系窮舉測(cè)試實(shí)例:設(shè)程序含5個(gè)分支,循環(huán)次數(shù)≤20,從A到B的可能路徑

執(zhí)行時(shí)間:設(shè)測(cè)試一次需2ms

窮舉測(cè)試需5億年.=5+5+..+5+5≈1020121914AB18海軟院軟件工程系4.如何測(cè)試?關(guān)鍵技術(shù)

---設(shè)計(jì)測(cè)試方案。測(cè)試方案

---包括:具體的測(cè)試目的,應(yīng)該輸入的測(cè)試數(shù)據(jù)和預(yù)期的結(jié)果(測(cè)試用例)。不同的測(cè)試數(shù)據(jù)發(fā)現(xiàn)程序錯(cuò)誤的能力差別很大,為了提高測(cè)試效率降低測(cè)試成本,應(yīng)該選用高效的測(cè)試數(shù)據(jù)。因?yàn)椴豢赡苓M(jìn)行窮盡的測(cè)試,選用少量“最有效的”測(cè)試數(shù)據(jù),做到盡可能完備的測(cè)試就變很重要了。19海軟院軟件工程系7.2.3測(cè)試方法20海軟院軟件工程系【黑盒法】:如果已經(jīng)知道了產(chǎn)品應(yīng)該具有的功能,可以通過測(cè)試來檢驗(yàn)是否每個(gè)功能都能正常使用;只關(guān)心軟件功能是否正確與完善?!景缀蟹ā浚喝绻喇a(chǎn)品的內(nèi)部工作過程,可以通過測(cè)試來檢驗(yàn)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說明的規(guī)定正常進(jìn)行;只關(guān)心軟件內(nèi)部邏輯實(shí)現(xiàn)是否正確無(wú)誤。7.2.3測(cè)試方法21海軟院軟件工程系7.2.4測(cè)試步驟22海軟院軟件工程系7.3單元(模塊)測(cè)試7.3.1測(cè)試重點(diǎn)-5個(gè)方面

1.模塊接口-對(duì)模塊接口傳遞數(shù)據(jù)的正確性測(cè)試

2.局部數(shù)據(jù)結(jié)構(gòu)-發(fā)現(xiàn)局部數(shù)據(jù)說明、初始化等錯(cuò)誤

3.重要的執(zhí)行通路-選擇最具代表性的通路測(cè)試

4.出錯(cuò)處理通路-設(shè)計(jì)適當(dāng)?shù)某鲥e(cuò)處理通路

5.邊界條件-測(cè)試數(shù)據(jù)邊界值 單元測(cè)試和編碼屬于軟件過程的同一階段;主要使用白盒測(cè)試技術(shù)。23海軟院軟件工程系7.3.2代碼審查

由審查小組(組長(zhǎng),程序設(shè)計(jì)者,程序編寫者,程序測(cè)試者),人工測(cè)試源程序稱為代碼審查。它是一種非常有效的程序驗(yàn)證技術(shù),對(duì)于典型的程序來說,可以查出30%~70%的邏輯設(shè)計(jì)錯(cuò)誤和編碼錯(cuò)誤。單元(模塊)測(cè)試方法審查的步驟:小組成員先研究設(shè)計(jì)說明書,力求理解這個(gè)設(shè)計(jì)。由設(shè)計(jì)者扼要地介紹他的設(shè)計(jì)。審查會(huì)上程序的編寫者逐個(gè)語(yǔ)句地解釋是怎樣用程序代碼實(shí)現(xiàn)這個(gè)設(shè)計(jì)的。審查會(huì)上對(duì)照程序設(shè)計(jì)常見錯(cuò)誤,分析審查這個(gè)程序。當(dāng)發(fā)現(xiàn)時(shí),記錄錯(cuò)誤,繼續(xù)審查。24海軟院軟件工程系7.3.3計(jì)算機(jī)測(cè)試

單元測(cè)試通常在編碼階段進(jìn)行,使用一些輔助模塊去模擬與被測(cè)模塊相聯(lián)系的其他模塊。主要有:驅(qū)動(dòng)軟件和存根(樁)軟件。驅(qū)動(dòng)程序:相當(dāng)于調(diào)用被測(cè)模塊的“主程序”。(2)

存根(樁)程序:用來代替被測(cè)試的模塊所調(diào)用的模塊,也稱為“虛擬子程序”。它使用被它代替的模塊的接口,可能做最少量的數(shù)據(jù)操作,印出對(duì)入口的檢驗(yàn)或操作結(jié)果,并且把控制歸還給調(diào)用它的模塊。單元(模塊)測(cè)試方法25海軟院軟件工程系 驅(qū)動(dòng)程序和存根程序是為了進(jìn)行單元測(cè)試編寫的測(cè)試軟件—只是測(cè)試用!輸入的測(cè)試數(shù)據(jù)輸出的測(cè)試結(jié)果驅(qū)動(dòng)模塊被測(cè)模塊樁模塊1樁模塊2樁模塊326海軟院軟件工程系7.4集成測(cè)試集成測(cè)試是測(cè)試和組裝軟件的系統(tǒng)化技術(shù),其主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。測(cè)試任務(wù): (1)數(shù)據(jù)穿越模塊接口時(shí)是否會(huì)丟失;

(2)一個(gè)模塊是否對(duì)另一個(gè)模塊產(chǎn)生不利影響;

(3)各子功能組合起來能否達(dá)到預(yù)期的功能;

(4)個(gè)別看來是可以接受的誤差積累是否會(huì)放大到不能接受的程度;27海軟院軟件工程系集成測(cè)試有兩種方法。

1、非漸增式測(cè)試方法,即:先分別測(cè)試每個(gè)模塊,再把所有模塊按設(shè)計(jì)要求放在一起結(jié)合成所要的程序進(jìn)行測(cè)試。

2、漸增式測(cè)試,即:先把下一個(gè)要測(cè)試的模塊同已經(jīng)測(cè)試好的那些模塊結(jié)合起來進(jìn)行測(cè)試,測(cè)試完以后再把下一個(gè)應(yīng)該測(cè)試的模塊結(jié)合進(jìn)來測(cè)試。這種每次增加一個(gè)模塊的方法實(shí)際上同時(shí)完成單元測(cè)試和集成測(cè)試.

目前在進(jìn)行集成測(cè)試時(shí)普遍采用漸增式測(cè)試方法。7.4集成測(cè)試28海軟院軟件工程系漸增方式把模塊結(jié)合到程序中去時(shí),有自頂向下和自底向上兩種集成策略。但在實(shí)踐中常采用混合的策略。7.4.1自頂向下集成7.4.2自底向上集成深度(寬度)優(yōu)先組裝,需要存根程序自底向上組裝,需要驅(qū)動(dòng)程序29海軟院軟件工程系7.5確認(rèn)測(cè)試確認(rèn)測(cè)試也稱為驗(yàn)收測(cè)試,它的目標(biāo)是驗(yàn)證軟件的有效性。什么是軟件的有效性?7.5.1確認(rèn)測(cè)試的范圍7.5.2軟件配置復(fù)查7.5.3Alpha和Beta測(cè)試30海軟院軟件工程系7.6黑盒測(cè)試技術(shù)如果已經(jīng)知道了產(chǎn)品應(yīng)該具有的功能,可以通過測(cè)試來檢驗(yàn)是否每個(gè)功能都能正常使用—稱為黑盒測(cè)試?!魴z查程序各功能是否實(shí)現(xiàn)◆性能上是否能夠滿足要求◆又稱為功能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于規(guī)格說明的測(cè)試?yán)锩嬗惺鞘裁礀|東?31海軟院軟件工程系黑盒測(cè)試技術(shù)等價(jià)類測(cè)試邊界值測(cè)試錯(cuò)誤推測(cè)回歸測(cè)試7.6黑盒測(cè)試技術(shù)-測(cè)試用例設(shè)計(jì)32海軟院軟件工程系

1等價(jià)類劃分法(等價(jià)分配)起因窮舉測(cè)試不可能希望達(dá)到測(cè)試的完備和無(wú)冗余基本思想把所有可能的輸入數(shù)據(jù)(有效的和無(wú)效的)劃分成若干個(gè)等價(jià)的子集(稱為等價(jià)類別或等價(jià)區(qū)間),使得每個(gè)子集中的一個(gè)典型值在測(cè)試中的作用與這一子集中所有其它值的作用相同。33海軟院軟件工程系如何劃分等價(jià)類?等價(jià)類

有效等價(jià)類(合理等價(jià)類)無(wú)效等價(jià)類(不合理等價(jià)類)

劃分原則

覆蓋:所選類別應(yīng)能覆蓋所有可能的類別不相交:一種取值只測(cè)試某一種等價(jià)類代表性:取值能代表某一種等價(jià)類34海軟院軟件工程系劃分等價(jià)類的規(guī)則

0100

有效等價(jià)類0≤成績(jī)≤100無(wú)效等價(jià)類成績(jī)>100

無(wú)效等價(jià)類成績(jī)<0如果輸入條件規(guī)定了取值范圍,可定義一個(gè)有效等價(jià)類和兩個(gè)無(wú)效等價(jià)類。規(guī)則1

例:輸入學(xué)生成績(jī),范圍是0~10035海軟院軟件工程系劃分等價(jià)類的規(guī)則:如果規(guī)定了輸入數(shù)據(jù)的個(gè)數(shù),則可定義一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。規(guī)則2如規(guī)定了輸入數(shù)據(jù)的一組值,且程序?qū)Σ煌斎胫底霾煌幚?,則每個(gè)允許的輸入值是一個(gè)有效等價(jià)類,并有一個(gè)無(wú)效等價(jià)類(所有不允許的輸入值的集合)。規(guī)則3如果規(guī)定了輸入數(shù)據(jù)應(yīng)該遵守的規(guī)則,則可以將符合規(guī)則劃分為一個(gè)有效的等價(jià)類,而將不符合規(guī)則作為一個(gè)無(wú)效的等價(jià)類規(guī)則4如果規(guī)定輸入的數(shù)據(jù)必須是整數(shù),則可以劃分出正整數(shù)、零、負(fù)整數(shù)等三個(gè)有效類

規(guī)則536海軟院軟件工程系根據(jù)等價(jià)類設(shè)計(jì)測(cè)試用例:形成等價(jià)類表,每一等價(jià)類規(guī)定一個(gè)惟一的編號(hào)設(shè)計(jì)一測(cè)試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價(jià)類,重復(fù)這一步驟,直到所有有效等價(jià)類均被測(cè)試用例所覆蓋;設(shè)計(jì)一新測(cè)試用例,使其只覆蓋一個(gè)無(wú)效等價(jià)類,重復(fù)這一步驟直到所有無(wú)效等價(jià)類均被覆蓋;步驟37海軟院軟件工程系案例

例:某報(bào)表處理系統(tǒng)要求用戶輸入處理報(bào)表的日期,日期限制在2005年1

月至2011年12月,即系統(tǒng)只能對(duì)該段期間內(nèi)的報(bào)表進(jìn)行處理,如日期不在此范圍內(nèi),則顯示輸入錯(cuò)誤信息。系統(tǒng)日期規(guī)定由年、月的6位數(shù)字字符組成,前四位代表年,后兩位代表月。如何用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例,

來測(cè)試程序的日期檢查功能?38海軟院軟件工程系步驟1:等價(jià)類劃分“報(bào)表日期”輸入條件的等價(jià)類表輸入等價(jià)類

有效等價(jià)類

無(wú)效等價(jià)類

6位數(shù)字字符(1)有非數(shù)字字符

(4)少于6個(gè)數(shù)字字符

(5)多于6個(gè)數(shù)字字符

(6)年份范圍在2005~2011之間

(2)小于2005

(7)大于2011

(8)月份范圍在1~12之間(3)小于1

(9)大于12

(10)報(bào)表日期的類型及長(zhǎng)度39海軟院軟件工程系(1)6位數(shù)字字符(2)年在2005~2011之間(3)月在1~12之間步驟2:設(shè)計(jì)有效類的測(cè)試用例對(duì)表中編號(hào)為1,2,3的3個(gè)有效等價(jià)類用一個(gè)測(cè)試用例覆蓋.

測(cè)試數(shù)據(jù)

期望結(jié)果覆蓋范圍200505等價(jià)類(1)(2)(3)輸入有效40海軟院軟件工程系步驟3:設(shè)計(jì)無(wú)效類的測(cè)試用例對(duì)上表中每個(gè)無(wú)效類至少設(shè)計(jì)一個(gè)測(cè)試用例測(cè)試數(shù)據(jù)期望結(jié)果覆蓋范圍001WAY200552005005200405201205200500200513輸入無(wú)效輸入無(wú)效輸入無(wú)效輸入無(wú)效輸入無(wú)效輸入無(wú)效輸入無(wú)效等價(jià)類(4)等價(jià)類(5)等價(jià)類(6)等價(jià)類(7)等價(jià)類(8)等價(jià)類(9)等價(jià)類(10)不能出現(xiàn)相同的測(cè)試用例41海軟院軟件工程系2邊界值分析法被測(cè)試子域測(cè)試內(nèi)點(diǎn)測(cè)試外點(diǎn)邊界值分析法是使用一些輸入/輸出值正好等于、小于或大于邊界值的測(cè)試用例對(duì)程序進(jìn)行測(cè)試。邊界值分析法作為一種測(cè)試技術(shù),通常作為等價(jià)分類法的補(bǔ)充基本思想

42海軟院軟件工程系邊界條件類型的確定

如果軟件測(cè)試問題包含確定的邊界,那么數(shù)據(jù)類型可能是:數(shù)值字符位置數(shù)量速度地址尺寸……還要考慮數(shù)據(jù)類型的特征:第一個(gè)/最后一個(gè)最小值/最大值開始/完成空/滿最慢/最快相鄰/最遠(yuǎn)超過/在內(nèi)……43海軟院軟件工程系

3錯(cuò)誤推測(cè)法(errorguessing)列舉出程序可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,并據(jù)此設(shè)計(jì)測(cè)試用例?;舅枷?/p>

輸入數(shù)據(jù)為0或使輸出數(shù)據(jù)為0的輸入最有可能出現(xiàn)錯(cuò)誤。如果分別使用每組測(cè)試數(shù)據(jù)都沒有問題,可以輸入這些數(shù)據(jù)的組合。錯(cuò)誤的確定44海軟院軟件工程系7.7白盒測(cè)試技術(shù)—戴上X光眼睛測(cè)試檢查內(nèi)部操作是否按規(guī)定執(zhí)行各功能是否得到充分使用又稱為結(jié)構(gòu)測(cè)試、邏輯驅(qū)動(dòng)測(cè)試或基于程序本身的測(cè)試如果知道產(chǎn)品的內(nèi)部工作過程,可以通過測(cè)試來檢驗(yàn)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說明書的規(guī)定正常進(jìn)行

--稱為白盒測(cè)試。45海軟院軟件工程系測(cè)試方法邏輯覆蓋法基本路徑測(cè)試語(yǔ)句覆蓋判斷覆蓋條件覆蓋判定條件覆蓋條件組合覆蓋46海軟院軟件工程系案例:程序流程圖條件:T1:a>1T2:b<2T3:a==3T4:x>3執(zhí)行路徑:L13:p1p3L14:p1p4L23:p2p3L24:p2p447海軟院軟件工程系7.7白盒測(cè)試技術(shù)—語(yǔ)句覆蓋設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)試程序,使得每一條可執(zhí)行語(yǔ)句至少執(zhí)行一次。48海軟院軟件工程系輸入預(yù)期輸出通過路徑abcxx31103L24測(cè)試用例設(shè)計(jì)案例分析語(yǔ)句覆蓋是最弱的邏輯覆蓋開始a>1ANDb<2a==3ORx>3輸出x=c+1x=x+cFFTTP1P2P3P449海軟院軟件工程系7.7白盒測(cè)試技術(shù)—判定覆蓋設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行所測(cè)程序,使程序中每個(gè)判斷的取真分支和取假分支至少執(zhí)行一次

(“L24和L13”或者“L23和L14”)50海軟院軟件工程系測(cè)試用例設(shè)計(jì)案例分析判定仍然是弱的邏輯覆蓋輸入預(yù)期輸出通過路徑abcxx21307L2442200L1321102L2342145L14開始a>1ANDb<2a==3ORx>3輸出x=c+1x=x+cFFTTP1P2P3P451海軟院軟件工程系7.7白盒測(cè)試技術(shù)—條件覆蓋設(shè)計(jì)足夠多的測(cè)試用例,運(yùn)行所測(cè)程序,使程序中每個(gè)判斷的每個(gè)條件(T1,T2,T3,T4)的每個(gè)可能取值至少執(zhí)行一次。52海軟院軟件工程系測(cè)試用例設(shè)計(jì)案例分析條件覆蓋不一定滿足判定覆蓋輸入預(yù)期輸出通過路徑abcxx31307L2412200L1331205L2412145L14開始a>1ANDb<2a==3ORx>3輸出x=c+1x=x+cFFTTP1P2P3P453海軟院軟件工程系7.7白盒測(cè)試技術(shù)—判定/條件覆蓋設(shè)計(jì)足夠多的測(cè)試用例,運(yùn)行所測(cè)程序,使程序中每個(gè)判斷的每個(gè)條件的每個(gè)可能取值至少執(zhí)行一次,并且每個(gè)可能的判斷結(jié)果也至少執(zhí)行一次。54海軟院軟件工程系開始a>1ANDb<2a==3ORx>3輸出x=c+1x=x+cFFTTP1P2P3P4測(cè)試用例設(shè)計(jì)案例分析能同時(shí)滿足判定、條件兩種覆蓋標(biāo)準(zhǔn)輸入預(yù)期輸出通過路徑abcxx30307L2412200L1355海軟院軟件工程系7.7白盒測(cè)試技術(shù)—條件組合覆蓋設(shè)計(jì)足夠多的測(cè)試用例,運(yùn)行所測(cè)程序,使程序中每個(gè)判斷的所有可能的條件取值組合至少執(zhí)行一次

。56海軟院軟件工程系測(cè)試用例設(shè)計(jì)案例分析是較好的覆蓋指標(biāo)。但當(dāng)判定表達(dá)式較為復(fù)雜的時(shí)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(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)論