第9講軟件測(cè)試_第1頁(yè)
第9講軟件測(cè)試_第2頁(yè)
第9講軟件測(cè)試_第3頁(yè)
第9講軟件測(cè)試_第4頁(yè)
第9講軟件測(cè)試_第5頁(yè)
已閱讀5頁(yè),還剩70頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第9講軟件測(cè)試1《實(shí)用軟件工程》陸惠恩編著-何帆本章內(nèi)容l

軟件測(cè)試目標(biāo)l

測(cè)試方法步驟l

設(shè)計(jì)測(cè)試、方案l

測(cè)試原則和測(cè)試策略l

軟件調(diào)試、驗(yàn)證與確認(rèn)l

軟件測(cè)試文檔2《實(shí)用軟件工程》陸惠恩編著-何帆軟件測(cè)試目標(biāo) 軟件測(cè)試的目的是通過(guò)人工或計(jì)算機(jī)執(zhí)行程序來(lái)有意識(shí)地發(fā)現(xiàn)程序中的設(shè)計(jì)錯(cuò)誤和編碼錯(cuò)誤。(1)軟件測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程; (2)好的測(cè)試方案能夠發(fā)現(xiàn)尚未發(fā)現(xiàn)的錯(cuò)誤; (3)成功的測(cè)試是發(fā)現(xiàn)了尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。3《實(shí)用軟件工程》陸惠恩編著-何帆軟件測(cè)試方法按照測(cè)試過(guò)程是否執(zhí)行程序來(lái)分:靜態(tài)分析與動(dòng)態(tài)測(cè)試按照測(cè)試數(shù)據(jù)的設(shè)計(jì)依據(jù)來(lái)分: 黑盒法與白盒法4《實(shí)用軟件工程》陸惠恩編著-何帆軟件測(cè)試方法靜態(tài)分析與動(dòng)態(tài)測(cè)試靜態(tài)分析靜態(tài)方法是指不運(yùn)行被測(cè)程序本身,僅通過(guò)分析或檢查源程序的文法、結(jié)構(gòu)、過(guò)程、接口等來(lái)檢查程序的正確性。靜態(tài)方法通過(guò)程序靜態(tài)特性的分析,找出欠缺和可疑之處,例如不匹配的參數(shù)、不適當(dāng)?shù)难h(huán)嵌套和分支嵌套、不允許的遞歸、未使用過(guò)的變量、空指針的引用和可疑的計(jì)算等。靜態(tài)測(cè)試結(jié)果可用于進(jìn)一步的查錯(cuò),并為測(cè)試用例選取提供指導(dǎo)。5《實(shí)用軟件工程》陸惠恩編著-何帆軟件測(cè)試方法靜態(tài)分析與動(dòng)態(tài)測(cè)試2.動(dòng)態(tài)測(cè)試以執(zhí)行程序并分析程序來(lái)查錯(cuò)。為了進(jìn)行軟件測(cè)試,需要預(yù)先準(zhǔn)備好兩種數(shù)據(jù):①輸入數(shù)據(jù);②預(yù)期的輸出結(jié)果。我們把以發(fā)現(xiàn)錯(cuò)誤為目標(biāo)的用于軟件測(cè)試的輸入數(shù)據(jù)及與之對(duì)應(yīng)的預(yù)期輸出結(jié)果叫測(cè)試用例。6《實(shí)用軟件工程》陸惠恩編著-何帆黑盒法與白盒法1.黑盒法:

(BlackBoxTesting)又稱(chēng)功能測(cè)試,其測(cè)試用例完全是根據(jù)程序的功能說(shuō)明來(lái)設(shè)計(jì)的。2.白盒法

(WhiteBoxTesting):又稱(chēng)結(jié)構(gòu)測(cè)試,其測(cè)試用例是根據(jù)程序內(nèi)部的邏輯結(jié)構(gòu)和執(zhí)行路徑來(lái)設(shè)計(jì)的。

常把黑盒法和白盒法聯(lián)合起來(lái)進(jìn)行,這也稱(chēng)為灰盒法。7《實(shí)用軟件工程》陸惠恩編著-何帆軟件測(cè)試步驟一般軟件測(cè)試有以下幾個(gè)步驟:

模塊測(cè)試集成測(cè)試程序?qū)彶闀?huì)人工運(yùn)行確認(rèn)測(cè)試平行運(yùn)行8《實(shí)用軟件工程》陸惠恩編著-何帆軟件測(cè)試步驟模塊測(cè)試

也稱(chēng)單元測(cè)試,其目的是檢查每個(gè)模塊是否能獨(dú)立、正確地運(yùn)行。模塊測(cè)試通常在程序設(shè)計(jì)時(shí)進(jìn)行。驅(qū)動(dòng)程序(驅(qū)動(dòng)模塊)代替主程序,用來(lái)測(cè)試子程序。存根程序(樁模塊)也稱(chēng)“虛擬子程序”,測(cè)試主模塊。9《實(shí)用軟件工程》陸惠恩編著-何帆寫(xiě)驅(qū)動(dòng)模塊例為下面的子程序?qū)戲?qū)動(dòng)模塊進(jìn)行測(cè)試int

Max(int*pVector,intLen){

int

iMax=pVector[0];//定義最大值初始為第一個(gè)

for(inti=1;i<Len;i++){//把最大值和每個(gè)值比較,如果iMax比數(shù)組的值小,則用大的值替換

if(iMax<pVector[i])

iMax=pVector[i];}returniMax;//返回最大值}10《實(shí)用軟件工程》陸惠恩編著-何帆驅(qū)動(dòng)模塊 voidmain(){

inta[]={12,2,3,4,121,43,6,8};

intL=8;

int

maxval=Max(a,L);

printf(“%d”,maxval);}11《實(shí)用軟件工程》陸惠恩編著-何帆集成測(cè)試軟件在集成時(shí)應(yīng)該考慮以下問(wèn)題:在把各個(gè)模塊連接起來(lái)的時(shí)候,穿越模塊接口的數(shù)據(jù)是否會(huì)丟失;各個(gè)子功能組合起來(lái),能否達(dá)到預(yù)期要求的父功能;一個(gè)模塊的功能是否會(huì)對(duì)另一個(gè)模塊的功能產(chǎn)生不利的影響;全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問(wèn)題;單個(gè)模塊的誤差積累起來(lái),是否會(huì)放大,從而達(dá)到不可接受的程度。12《實(shí)用軟件工程》陸惠恩編著-何帆集成測(cè)試子系統(tǒng)的組裝稱(chēng)為集成化。集成測(cè)試分為子系統(tǒng)測(cè)試和系統(tǒng)測(cè)試兩種。子系統(tǒng)測(cè)試也叫做部件測(cè)試,是把經(jīng)過(guò)模塊測(cè)試運(yùn)行正確的模塊集成一個(gè)子系統(tǒng)后再進(jìn)行測(cè)試。系統(tǒng)測(cè)試是測(cè)試整個(gè)硬件和軟件系統(tǒng)集成測(cè)試的方法有:漸增式測(cè)試非漸增式測(cè)試13《實(shí)用軟件工程》陸惠恩編著-何帆漸增式測(cè)試1、自頂向下集成14《實(shí)用軟件工程》陸惠恩編著-何帆漸增式測(cè)試2、自底向上集成15《實(shí)用軟件工程》陸惠恩編著-何帆程序?qū)彶闀?huì)和人工運(yùn)行確認(rèn)測(cè)試1.確認(rèn)測(cè)試必須有用戶(hù)積極參與,或以用戶(hù)為主進(jìn)行。2.軟件配置復(fù)審 為了保證軟件配置的所有成分都齊全,各方面的質(zhì)量都符合要求,文檔與程序一致,要編排好目錄,有利于維護(hù)。3.Alpha測(cè)試和Beta測(cè)試16《實(shí)用軟件工程》陸惠恩編著-何帆Alpha測(cè)試和Beta測(cè)試Alpha測(cè)試是由一個(gè)用戶(hù)在開(kāi)發(fā)環(huán)境下進(jìn)行的測(cè)試,也可以是公司內(nèi)部的用戶(hù)在模擬實(shí)際操作環(huán)境下進(jìn)行的受控測(cè)試,Alpha測(cè)試不能由程序員或測(cè)試員完成。Alpha測(cè)試發(fā)現(xiàn)的錯(cuò)誤,可以在測(cè)試現(xiàn)場(chǎng)立刻反饋給開(kāi)發(fā)人員,由開(kāi)發(fā)人員及時(shí)分析和處理。目的是評(píng)價(jià)軟件產(chǎn)品的功能、可使用性、可靠性、性能和支持。尤其注重產(chǎn)品的界面和特色。

Beta測(cè)試是軟件的多個(gè)用戶(hù)在一個(gè)或多個(gè)用戶(hù)的實(shí)際使用環(huán)境下進(jìn)行的測(cè)試。開(kāi)發(fā)者通常不在測(cè)試現(xiàn)場(chǎng),Beta測(cè)試不能由程序員或測(cè)試員完成。因而,Beta測(cè)試是在開(kāi)發(fā)者無(wú)法控制的環(huán)境下進(jìn)行的軟件現(xiàn)場(chǎng)應(yīng)用。只有當(dāng)α測(cè)試達(dá)到一定的可靠程度時(shí),才能開(kāi)始β測(cè)試17《實(shí)用軟件工程》陸惠恩編著-何帆平行運(yùn)行舊系統(tǒng)(或手工操作)和新系統(tǒng)同時(shí)運(yùn)行18《實(shí)用軟件工程》陸惠恩編著-何帆其他測(cè)試性能測(cè)試可靠性測(cè)試可用性測(cè)試回歸測(cè)試軟件測(cè)試的學(xué)習(xí)網(wǎng)站http:////19《實(shí)用軟件工程》陸惠恩編著-何帆設(shè)計(jì)測(cè)試方案測(cè)試方案包括三個(gè)內(nèi)容:要測(cè)試的功能輸入的數(shù)據(jù)對(duì)應(yīng)的預(yù)期輸出結(jié)果20《實(shí)用軟件工程》陸惠恩編著-何帆測(cè)試用例編號(hào):編制人審定人時(shí)間軟件名稱(chēng)編號(hào)/版本測(cè)試用例用例編號(hào)參考信息(參考的文檔及章節(jié)號(hào)或功能項(xiàng)):輸入說(shuō)明(列出選用的輸入項(xiàng),覆蓋正常、異常情況):輸出說(shuō)明(逐條與輸入項(xiàng)對(duì)應(yīng),列出預(yù)期輸出):環(huán)境要求(測(cè)試要求的軟、硬件、網(wǎng)絡(luò)要求):特殊規(guī)程要求:用例間的依賴(lài)關(guān)系:21《實(shí)用軟件工程》陸惠恩編著-何帆

測(cè)試用例規(guī)程目的:測(cè)試用例文檔化、規(guī)范化,實(shí)現(xiàn)軟件測(cè)試的配置管理、適用范圍:同方融達(dá)系統(tǒng)測(cè)試二、規(guī)范:1XX測(cè)試項(xiàng)目1.1XX測(cè)試子項(xiàng)目用例編號(hào)用例級(jí)別輸入預(yù)期輸出實(shí)測(cè)結(jié)果備注對(duì)該用例分配唯一的編號(hào)標(biāo)識(shí)表明該用例的重要性列出執(zhí)行本測(cè)試用例所須的具體的每一個(gè)輸入(值)列出所有的預(yù)期指標(biāo)要求下的具體預(yù)期輸出(值)此項(xiàng)在測(cè)試時(shí)填寫(xiě)。指明該測(cè)試用例是否通過(guò)。如果不通過(guò),需列出實(shí)際測(cè)試時(shí)的測(cè)試輸出值如果有必要,則要填寫(xiě)“預(yù)置條件”、“特殊環(huán)境需求”、“特殊測(cè)試步驟要求”、“相關(guān)測(cè)試用例”以及“相關(guān)測(cè)試規(guī)程”等相關(guān)信息,具體見(jiàn)詳細(xì)的注釋說(shuō)明22《實(shí)用軟件工程》陸惠恩編著-何帆設(shè)計(jì)測(cè)試方案黑盒測(cè)試方法:等價(jià)類(lèi)劃分法邊界值分析法錯(cuò)誤推測(cè)法白盒測(cè)試方法邏輯覆蓋法因果圖法23《實(shí)用軟件工程》陸惠恩編著-何帆等價(jià)類(lèi)劃分法等價(jià)類(lèi)劃分把程序的輸入域劃分成若干個(gè)互不相交的一組子集,我們稱(chēng)為等價(jià)類(lèi)。所謂等價(jià)類(lèi)是指輸入域的某個(gè)集合,所以等價(jià)類(lèi)的并便是整個(gè)輸入域。這對(duì)于測(cè)試有兩個(gè)非常重要的意義:表示整個(gè)輸入域提供了一種形式的完備性,而互不相交則可保證一種形式的無(wú)冗余性。24《實(shí)用軟件工程》陸惠恩編著-何帆等價(jià)類(lèi)劃分法劃分等價(jià)類(lèi)在考慮等價(jià)類(lèi)時(shí),應(yīng)注意區(qū)別兩種不同的情況:●有效等價(jià)類(lèi):有效等價(jià)類(lèi)是指對(duì)程序規(guī)格說(shuō)明,是有意義的,合理的輸人數(shù)據(jù)所構(gòu)成的集合。●無(wú)效等價(jià)類(lèi):無(wú)效等價(jià)類(lèi)是指對(duì)程序規(guī)格說(shuō)明,是不合理或無(wú)意義的輸入數(shù)據(jù)所構(gòu)成的集合。25《實(shí)用軟件工程》陸惠恩編著-何帆等價(jià)類(lèi)劃分法幾條確定等價(jià)類(lèi)的原則:●按取值范圍劃分:如果輸入條件規(guī)定了取值范圍或值的數(shù)了量,則可以確定一個(gè)有效等價(jià)類(lèi)和兩個(gè)無(wú)效等價(jià)類(lèi)。例如:如果程序規(guī)格說(shuō)明要求輸入的是1~12月中的一個(gè)月,則1~12定義一個(gè)有效等價(jià)類(lèi)和兩個(gè)無(wú)效等價(jià)類(lèi)(月<1和月>12)?!癜磾?shù)值劃分:如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序要對(duì)每個(gè)輸入值分別進(jìn)行處理。則可為每一個(gè)輸入值確立一個(gè)有效等價(jià)類(lèi),此外針對(duì)這組值確立一個(gè)無(wú)效等價(jià)類(lèi),它是所有不允許的輸入值的集合。26《實(shí)用軟件工程》陸惠恩編著-何帆等價(jià)類(lèi)劃分法幾條確定等價(jià)類(lèi)的原則:●按數(shù)值集合劃分:如果輸入條件規(guī)定了輸入值的集合,則可確定一個(gè)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi)(該集合有效值之外)。例如,某程序要求“某標(biāo)識(shí)符應(yīng)以字母開(kāi)頭…”,則“以字母開(kāi)頭者”作為一個(gè)有效等價(jià)類(lèi),“以非字母開(kāi)頭”為一個(gè)無(wú)效等價(jià)類(lèi)?!癜聪拗茥l件或規(guī)則劃分:如果規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則或限制條件,則可以確立一個(gè)有效等價(jià)類(lèi)(符合規(guī)則)和若干個(gè)無(wú)效等價(jià)類(lèi)(從不同角度違反規(guī)則)。27《實(shí)用軟件工程》陸惠恩編著-何帆【實(shí)例1】

三角問(wèn)題三角形問(wèn)題: 輸入三個(gè)整數(shù)a、b和c分別作為三角形的三條邊,程序判斷由這三條邊構(gòu)成的三角形類(lèi)型是:等邊三角形、等腰三角形、一般三角形或非三角形(不能構(gòu)成一個(gè)三角形)。我們可以將這個(gè)問(wèn)題更詳細(xì)地描述為: 三角形問(wèn)題:輸入三個(gè)整數(shù)a、b和c分別作為三角形的三條邊,要求a、b和c必須滿(mǎn)足以下條件:Con1.1≤a≤100Con2.1≤b≤100Con3.1≤c≤100Con4.a(chǎn)<b+cCon5.b<a+cCon6.c<a+b28《實(shí)用軟件工程》陸惠恩編著-何帆輸入三個(gè)整數(shù)有效等價(jià)類(lèi)號(hào)碼無(wú)效等價(jià)類(lèi)號(hào)碼整數(shù)1一邊為非整數(shù)二邊為非整數(shù)三邊均為非整數(shù)456三個(gè)數(shù)2只有一條邊只有二條邊多余三條邊7891<=x<=1003一邊為零二邊為零三邊為零101112一邊<零二邊<零三邊<零131415一邊>100二邊>100三邊>100161718在三角形問(wèn)題中,輸入條件要求●整數(shù);●三個(gè)數(shù);●取值在1到100之間29《實(shí)用軟件工程》陸惠恩編著-何帆abc覆蓋的等價(jià)類(lèi)abc覆蓋的等價(jià)類(lèi)1.5,4,540,0,0123.5,2.5,55-3,4,6132.5,4.5,5.562,-7,-51437-3,-5,-7154,58101,4,8162,3,4,593,101,101173,0,810101,101,101180,6,011測(cè)試用例:3,4,5便可覆蓋有效等價(jià)類(lèi)1-3。覆蓋無(wú)效等價(jià)類(lèi)的測(cè)試用例見(jiàn)下表所示。30《實(shí)用軟件工程》陸惠恩編著-何帆邊界值分析法

使用邊界值分析方法設(shè)計(jì)測(cè)試用例,首先應(yīng)確定邊界情況。輸入等價(jià)類(lèi)與輸出等價(jià)類(lèi)的邊界,就是應(yīng)著重測(cè)試的邊界情況。 邊界值分析方法的基本思想是,選取正好等于,剛剛大于,或剛剛小于邊界的值做為測(cè)試數(shù)據(jù),而不是選取等價(jià)類(lèi)中的典型值或任意值做為測(cè)試數(shù)據(jù)。31《實(shí)用軟件工程》陸惠恩編著-何帆 邊界值分析設(shè)計(jì)測(cè)試用例時(shí)遵循的幾條原則:●如果輸入條件規(guī)定了取值范圍,則應(yīng)為取值范圍的兩端編寫(xiě)有效測(cè)試用例,并為緊靠?jī)啥酥獾臈l件編寫(xiě)無(wú)效輸入測(cè)試用例。如:規(guī)定輸入值范圍是[1,20];●如果輸入條件規(guī)定了值的個(gè)數(shù),測(cè)使用例與規(guī)定取值范圍的一樣,例如:輸入書(shū)的數(shù)量至少為3,至多為8?!裨谳斎胫涤幸欢ㄒ?guī)則或有規(guī)定的集合時(shí),應(yīng)仔細(xì)分析規(guī)格說(shuō)明,找出其它的可能邊界條件?!襻槍?duì)規(guī)格說(shuō)明的每個(gè)輸出條件,應(yīng)用上述原則。32《實(shí)用軟件工程》陸惠恩編著-何帆邊界值測(cè)試用例33《實(shí)用軟件工程》陸惠恩編著-何帆錯(cuò)誤推測(cè)法人們也可以通過(guò)經(jīng)驗(yàn)或直覺(jué)推測(cè)程序中可能存在的各種錯(cuò)誤,從而有針對(duì)性地編寫(xiě)檢查這些錯(cuò)誤的例子,這就是錯(cuò)誤推測(cè)法。錯(cuò)誤推測(cè)法的特點(diǎn):沒(méi)有確定的步驟,很大程度上是憑經(jīng)驗(yàn)進(jìn)行的。例如輸入數(shù)據(jù)為零或輸出數(shù)據(jù)為零是容易發(fā)生錯(cuò)誤的情況,所以可選擇輸入值為零的例子,以及使輸出值為零的例子;又如輸入表格為“空”或輸入表格只有一行是較易出錯(cuò)誤的情況,所以可選擇表示這些情況的例子。34《實(shí)用軟件工程》陸惠恩編著-何帆錯(cuò)誤推測(cè)法【例2】

對(duì)一個(gè)采用兩分法的檢索程序,可以列出以下這些需要檢查的情況。1)被檢索的表格只有一行。2)表格的行數(shù)恰好是2的冪次(如16)。3)表格的行數(shù)比2的冪次多1或少1(如15、17)。35《實(shí)用軟件工程》陸惠恩編著-何帆因果圖法等價(jià)類(lèi)劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系、相互組合等??紤]輸入條件之間的相互組合,可能會(huì)產(chǎn)生一些新的情況。但要檢查輸入條件的組合不是一件容易的事情,即使把所有輸入條件劃分成等價(jià)類(lèi),他們之間的組合情況也相當(dāng)多。因此必須考慮采用一種適合于描述對(duì)于多種條件的組合,相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來(lái)考慮設(shè)計(jì)測(cè)試用例。這就需要利用因果圖。

36《實(shí)用軟件工程》陸惠恩編著-何帆因果圖法設(shè)計(jì)步驟:將規(guī)格說(shuō)明中的輸入作為因,輸出作為果;畫(huà)出因果圖;標(biāo)出因果圖的約束條件;把因果圖轉(zhuǎn)化為判定表,在判定表中的每一列設(shè)計(jì)一個(gè)測(cè)試用例。因果圖法基本符號(hào)如下(四種邏輯關(guān)系):37《實(shí)用軟件工程》陸惠恩編著-何帆

因果圖關(guān)系①恒等:若c1是1,則e1也是1;否則e1為0。

②相反:若c1是1,則e1是0;否則e1是1。③或:若c1或c2或c3是1,則e1是1;否則e1為0。“或”可有任意個(gè)輸入。④與:若c1和c2都是1,則e1為1;否則e1為0?!芭c”也可有任意個(gè)輸入。

38《實(shí)用軟件工程》陸惠恩編著-何帆3.因果圖約束符號(hào)輸入條件的約束和輸出條件的約束39《實(shí)用軟件工程》陸惠恩編著-何帆輸入條件的約束和輸出條件的約束輸入條件的約束有以下4類(lèi):

①E約束(異):a和b中至多有一個(gè)可能為1,即a和b不能同時(shí)為1。

②I約束(或):a、b和c中至少有一個(gè)必須是1,即a、b和c不能同時(shí)為0。

③O約束(唯一);a和b必須有一個(gè),且僅有1個(gè)為1。

④R約束(要求):a是1時(shí),b必須是1,即不可能a是1時(shí)b是0。輸出條件約束類(lèi)型

輸出條件的約束只有M約束(強(qiáng)制):若結(jié)果a是1,則結(jié)果b強(qiáng)制為0。40《實(shí)用軟件工程》陸惠恩編著-何帆【例3】用因果圖法設(shè)計(jì)測(cè)試用例 某規(guī)格說(shuō)明規(guī)定:輸入的第一列字符必須是A或B,第二列字符必須是一個(gè)數(shù)字。第一、二列都滿(mǎn)足條件時(shí)執(zhí)行操作H;如果第一列字符不正確,則給出信息L;如果第二列字符不正確,則給出信息R。 根據(jù)上述要求畫(huà)出因果圖,并設(shè)計(jì)測(cè)試用例。41《實(shí)用軟件工程》陸惠恩編著-何帆分析例3的因果原因編號(hào)條件原因1:第一列字符是A條件原因2:第一列字符是B條件原因3:第二列字符是數(shù)字 由于原因1和2不能同時(shí)成立,用E約束或O約束結(jié)果編號(hào)結(jié)果21:執(zhí)行操作H結(jié)果22:給出信息L結(jié)果23:給出信息R如果第一列符合條件,還應(yīng)檢查第二列是否正確。這里將第一列正確的情況編號(hào)為11,作為中間結(jié)果42《實(shí)用軟件工程》陸惠恩編著-何帆因果圖43《實(shí)用軟件工程》陸惠恩編著-何帆判定表原因編號(hào)條件原因1:第一列字符是A條件原因2:第一列字符是B條件原因3:第二列字符是數(shù)字結(jié)果編號(hào)結(jié)果21:執(zhí)行操作H結(jié)果22:給出信息L結(jié)果23:給出信息R結(jié)果11:中間輸出44《實(shí)用軟件工程》陸惠恩編著-何帆白盒法--邏輯覆蓋法

白盒法根據(jù)程序邏輯結(jié)構(gòu)進(jìn)行測(cè)試,邏輯覆蓋法是一系列測(cè)試過(guò)程的總稱(chēng),包括:1.語(yǔ)句覆蓋:要求設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使程序中每個(gè)可執(zhí)行語(yǔ)句至少被執(zhí)行一次。2.判定覆蓋:要求設(shè)計(jì)若干測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中每個(gè)判斷的取真分支和取假分支至少執(zhí)行一次,即判斷的真假值均要被檢測(cè)。3.條件覆蓋:要求設(shè)計(jì)若干測(cè)試用例,執(zhí)行被測(cè)程序,使得程序中每個(gè)判斷的每個(gè)條件的可能取值至少被執(zhí)行一次。45《實(shí)用軟件工程》陸惠恩編著-何帆邏輯覆蓋法4.判定/條件覆蓋:要求設(shè)計(jì)足夠的測(cè)試用例,執(zhí)行被測(cè)程序,使得判斷中每個(gè)條件的所有可能取值至少被執(zhí)行一次,同時(shí)每個(gè)判斷的所有可能判斷結(jié)果也至少被執(zhí)行一次。5.條件組合覆蓋:要求選取更過(guò)的測(cè)試數(shù)據(jù),使每個(gè)判定表達(dá)式中條件的各種組合都至少出現(xiàn)一次,從而達(dá)到更強(qiáng)的邏輯覆蓋標(biāo)準(zhǔn)。6.點(diǎn)覆蓋:要求足夠多的數(shù)據(jù)使程序執(zhí)行時(shí)至少經(jīng)過(guò)程序圖中的每個(gè)點(diǎn)一次。7.邊覆蓋:要求選取足夠多的測(cè)試數(shù)據(jù),使程序執(zhí)行路徑至少經(jīng)過(guò)程序圖中每條邊一次。8.路徑覆蓋:要求設(shè)計(jì)足夠多測(cè)試用例,覆蓋程序中所有可能的路徑。

46《實(shí)用軟件工程》陸惠恩編著-何帆【實(shí)例4】測(cè)試下面用PDL表示的程序進(jìn)行測(cè)試BeginIf(A=3)OR(B>1)ThenX:=A*BEndifIf(A>2)AND(B=0)ThenX:=A-3EndifEnd47《實(shí)用軟件工程》陸惠恩編著-何帆程序流程圖1.語(yǔ)句覆蓋A=3,B=0執(zhí)行路徑為sacbde2.判定覆蓋A=3,B=0sacbdeA=2,B=0sabe3.條件覆蓋A=2,B=2sacbeA=3,B=0sacbde4.判定/條件覆蓋A=3,B=0sacbdeA=2,B=0sabeA=2,B=2sacbe開(kāi)始返回48《實(shí)用軟件工程》陸惠恩編著-何帆5.條件組合覆蓋條件組合及對(duì)應(yīng)的執(zhí)行路徑見(jiàn)右表49《實(shí)用軟件工程》陸惠恩編著-何帆6.點(diǎn)覆蓋程序圖見(jiàn)右圖A=3,B=07.邊覆蓋A=3,B=01-4-5-6-7A=2,B=-11-2-3或A=3,B=21-4-5-3A=4,B=01-2-6-78.路徑覆蓋A=1,B=11-2-3A=4,B=01-2-6-7A=1,B=21-4-5-3A=3,B=01-4-5-6-750《實(shí)用軟件工程》陸惠恩編著-何帆程序結(jié)構(gòu)復(fù)雜程度的度量McCabe方法首先畫(huà)出程序圖,然后計(jì)算程序的環(huán)行復(fù)雜度。程序環(huán)行復(fù)雜度的計(jì)算方法有三種:1、V(G)=m-n+2 其中,m是程序圖G中的弧數(shù),n是有向圖G中的節(jié)點(diǎn)數(shù)。2、如果P是流圖中判定結(jié)點(diǎn)的個(gè)數(shù), V(G)=P+1。3、強(qiáng)連通圖中線性無(wú)關(guān)有向環(huán)的個(gè)數(shù)。51《實(shí)用軟件工程》陸惠恩編著-何帆程序結(jié)構(gòu)復(fù)雜程度的度量應(yīng)用V(G)越大表示程序越復(fù)雜,McCabe研究了大量的程序后發(fā)現(xiàn)V(G)越大程序越容易出錯(cuò),測(cè)試和維護(hù)都很困難。實(shí)踐證明,模塊的規(guī)模以V(G)<11為宜。52《實(shí)用軟件工程》陸惠恩編著-何帆程序結(jié)構(gòu)復(fù)雜程度的度量【實(shí)例5】計(jì)算程序環(huán)行復(fù)雜度 現(xiàn)有對(duì)計(jì)算機(jī)應(yīng)用能力考試成績(jī)進(jìn)行統(tǒng)計(jì)的程序。連續(xù)輸入考試成績(jī),最后以輸入0分或負(fù)分為結(jié)束。規(guī)定成績(jī)?cè)?0分以下的不及格、60分以上的及格、80分以上的屬于優(yōu)秀。該程序統(tǒng)計(jì)并分別輸出成績(jī)不及格、及格、優(yōu)秀的人數(shù)及總?cè)藬?shù)。算出此程序的環(huán)行復(fù)雜度。53《實(shí)用軟件工程》陸惠恩編著-何帆程序流程圖開(kāi)始S1,S2,S3,S=0輸入XX>0?X>=60?X<80?S2=S2+1S1=S1+1S3=S3+1S=S+1結(jié)束輸出S1,S2,S3,SFFFTTTsbac1c2c3defgh54《實(shí)用軟件工程》陸惠恩編著-何帆程序圖55《實(shí)用軟件工程》陸惠恩編著-何帆計(jì)算程序的環(huán)行復(fù)雜度:在圖中,實(shí)線弧數(shù)為14,節(jié)點(diǎn)數(shù)為12。因此,環(huán)行復(fù)雜度為 V(G)=14-12+2=4圖中,判定結(jié)點(diǎn)的個(gè)數(shù)為3,3+1=4。從出口點(diǎn)到入口點(diǎn)作一條虛線,圖中有4個(gè)線性無(wú)關(guān)的有向環(huán):R1、R2、R3、R4。三種計(jì)算方法的結(jié)果相同。56《實(shí)用軟件工程》陸惠恩編著-何帆軟件測(cè)試原則和策略軟件測(cè)試原則測(cè)試不要由設(shè)計(jì)和開(kāi)發(fā)部門(mén)來(lái)測(cè)試,改錯(cuò)由程序作者負(fù)責(zé)測(cè)試用例要有輸入,又要有對(duì)應(yīng)的預(yù)期結(jié)果測(cè)試用例要有合理的輸入,也要有不合理的除了檢查程序是否做了應(yīng)做的工作,還要檢查是否做了不應(yīng)該做的工作窮盡測(cè)試是不可能的,要精心設(shè)計(jì)測(cè)試用例Pareto原理:發(fā)現(xiàn)的錯(cuò)誤中80%很可能是由程序中20%的模塊造成的軟件需求期間就應(yīng)制定測(cè)試計(jì)劃應(yīng)長(zhǎng)期保存所有的測(cè)試用例,直至該程序被廢棄57《實(shí)用軟件工程》陸惠恩編著-何帆實(shí)用測(cè)試策略用等價(jià)類(lèi)劃分法設(shè)計(jì)測(cè)試方案。使用邊界值分析方法,既測(cè)試輸入數(shù)據(jù)的邊界情況又包括輸出數(shù)據(jù)的邊界情況。如果含有輸入條件的組合情況,一開(kāi)始就用因果圖法。必要時(shí)用錯(cuò)誤推斷法補(bǔ)充測(cè)試方案。用邏輯覆蓋法檢查現(xiàn)有測(cè)試方案,若沒(méi)有達(dá)到邏輯覆蓋標(biāo)準(zhǔn),再補(bǔ)充一些測(cè)試用例。58《實(shí)用軟件工程》陸惠恩編著-何帆軟件調(diào)試、驗(yàn)證與確認(rèn)軟件調(diào)試也稱(chēng)糾錯(cuò)。調(diào)試的原則

注意錯(cuò)誤的“群集現(xiàn)象”,不能只修改錯(cuò)誤的征兆、表現(xiàn)。還應(yīng)該修改錯(cuò)誤的本質(zhì);注意在修改一個(gè)錯(cuò)誤的同時(shí),要避免引入新的錯(cuò)誤。常用的調(diào)試方法:模仿跟蹤設(shè)置打印逐層分塊調(diào)試對(duì)分查找調(diào)試(二分法調(diào)試)回溯法59《實(shí)用軟件工程》陸惠恩編著-何帆軟件調(diào)試、驗(yàn)證與確認(rèn)程序正確性驗(yàn)證(軟件驗(yàn)證) 是確定軟件開(kāi)發(fā)周期中的一個(gè)給定階段的產(chǎn)品是否達(dá)到需求的過(guò)程。軟件驗(yàn)證方法:斷定軟件操作正確只是軟件操作錯(cuò)誤只是軟件執(zhí)行時(shí)產(chǎn)生錯(cuò)誤的原因把源程序和軟件配置的其他成分自動(dòng)輸入系統(tǒng)。60《實(shí)用軟件工程》陸惠恩編著-何帆軟件調(diào)試、驗(yàn)證與確認(rèn)軟件確認(rèn)軟件確認(rèn)的方法:系統(tǒng)功能和性能滿(mǎn)足需求說(shuō)明書(shū)中的全部要求,得到用戶(hù)認(rèn)可。完成測(cè)試計(jì)劃中的所有要求,并書(shū)寫(xiě)測(cè)試分析報(bào)告和開(kāi)發(fā)總結(jié)。按用戶(hù)手冊(cè)和操作手冊(cè)進(jìn)行軟件實(shí)際運(yùn)行。61《實(shí)用軟件工程》陸惠恩編著-何帆軟件測(cè)試文檔1.軟件測(cè)試計(jì)劃測(cè)試內(nèi)容進(jìn)度安排設(shè)計(jì)考慮測(cè)試數(shù)據(jù)的整理方法及評(píng)價(jià)準(zhǔn)則62《實(shí)用軟件工程》陸惠恩編著-何帆軟件測(cè)試文檔2.測(cè)試說(shuō)明文件測(cè)試設(shè)計(jì)說(shuō)明測(cè)試用例說(shuō)明測(cè)試規(guī)程說(shuō)明63《實(shí)用軟件工程》陸惠恩編著-何帆測(cè)試用例編號(hào):編制人審定人時(shí)間軟件名稱(chēng)編號(hào)/版本測(cè)試用例用例編號(hào)參考信息(參考的文檔及章節(jié)號(hào)或功能項(xiàng)):輸入說(shuō)明(列出選用的輸入項(xiàng),覆蓋正常、異常情況):輸出說(shuō)明(逐條與輸入項(xiàng)對(duì)應(yīng),列出預(yù)期輸出):環(huán)境要求(測(cè)試要求的軟、硬件、網(wǎng)絡(luò)要求):特殊規(guī)程要求:用例間的依賴(lài)關(guān)系:64《實(shí)用軟件工程》陸惠恩編著-何帆

測(cè)試用例規(guī)程目的:測(cè)試用例文檔化、規(guī)范化,實(shí)現(xiàn)軟件測(cè)試的配置管理、適用范圍:同方融達(dá)系統(tǒng)測(cè)試二、規(guī)范:1XX測(cè)試項(xiàng)目1.1XX測(cè)試子項(xiàng)目用例編號(hào)用例級(jí)別輸入預(yù)期輸出實(shí)測(cè)結(jié)果備注對(duì)該用例分配唯一的編號(hào)標(biāo)識(shí)表明該用例的重要性列出執(zhí)行本測(cè)試用例所須的具體的每一個(gè)輸入(值)列出所有的預(yù)期指標(biāo)要求下的具體預(yù)期輸出(值)此項(xiàng)在測(cè)試時(shí)填寫(xiě)。指明該測(cè)試用例是否通過(guò)。如果不通過(guò),需列出實(shí)際測(cè)試時(shí)的測(cè)試輸出值如果有必要,則要填寫(xiě)“預(yù)置條件”、“特殊環(huán)境需求”、“特殊測(cè)試步驟要求”、“相關(guān)測(cè)試用例”以及“相關(guān)測(cè)試規(guī)程”等相關(guān)信息,具體見(jiàn)詳細(xì)的注釋說(shuō)明65《實(shí)用軟件工程》陸惠恩編著-何帆軟件測(cè)試文檔3.軟件測(cè)試分析報(bào)告

內(nèi)容包括:測(cè)試項(xiàng)傳遞報(bào)告:測(cè)試項(xiàng)的位置,狀態(tài)測(cè)試日志測(cè)試事件報(bào)告測(cè)試總結(jié)報(bào)告見(jiàn)/fei_lai_feng66《實(shí)用軟件工程》陸惠恩編著-何帆開(kāi)始0-----TX>=80ANDy>=801-----TX>=90ANDy>=752-----TX>=75ANDy>=903-----T返回YNYNYN本流程圖描述了某個(gè)子程序處理流程,現(xiàn)要求用白盒測(cè)試法該子程序設(shè)計(jì)測(cè)試數(shù)據(jù)。[問(wèn)題]根據(jù)判定覆蓋,條件覆蓋,判定/條件覆蓋,條件組合覆蓋和路徑覆蓋等5個(gè)覆蓋標(biāo)準(zhǔn),從供選擇的答案中分別找出滿(mǎn)足相應(yīng)覆蓋標(biāo)準(zhǔn)的最小測(cè)試數(shù)據(jù)組。用(1)—(12)回答。練習(xí)一67《實(shí)用軟件工程》陸惠恩編著-何帆(1)X=90,Y=90(2)X=90,Y=70(3)X=90,Y=90(4)X=90,Y=75X=70,Y=70X=70,Y=90X=90,Y=75X=75,Y=90X=90,Y=75X=75,Y=90X=70,Y=70(5)X=90,Y=90(6)X=80,Y=80(7)X=80,Y=80(8)X=80,Y=80X=90,Y=70X=90,Y=75X=90,Y=70X=75,Y=90X=70,Y=90X=90,Y=90X=70,Y=90X=70,Y=70X=70,Y=70X=75,Y=90X=70,Y=70X=70,Y=90X=75,Y=75判定覆蓋條件覆蓋條件覆蓋條件覆蓋條件覆蓋判定/條件覆蓋路徑覆蓋條件覆蓋68《實(shí)用軟件工程》陸惠恩編著-何帆(9)X=80,Y=80(10)X=

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論