第7章 軟件實現(xiàn)-軟件測試-3_第1頁
第7章 軟件實現(xiàn)-軟件測試-3_第2頁
第7章 軟件實現(xiàn)-軟件測試-3_第3頁
第7章 軟件實現(xiàn)-軟件測試-3_第4頁
第7章 軟件實現(xiàn)-軟件測試-3_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本章要點一、軟件測試基礎(chǔ)

二、單元測試三、集成測試四、確認(rèn)測試五、白盒測試技術(shù)六、黑盒測試技術(shù)七、調(diào)試八、軟件可靠性

0chapter__7黑盒測試基于需求的測試1chapter__7黑盒測試法的概念黑盒測試被稱為功能測試或數(shù)據(jù)驅(qū)動測試。在測試時,把被測程序視為一個不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下進行。采用黑盒測試的目的主要是在已知軟件產(chǎn)品所應(yīng)具有的功能的基礎(chǔ)上,進行:(1)檢查程序功能能否按需求規(guī)格說明書的規(guī)定正常使用,測試各個功能是否有遺漏,檢測性能等特性要求是否滿足。(2)檢測人機交互是否錯誤,檢測數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問是否錯誤,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出結(jié)果,并保持外部信息(如數(shù)據(jù)庫或文件)的完整性。(3)檢測程序初始化和終止方面的錯誤。黑盒測試能不能取代白盒測試?2chapter__7黑盒測試法的概念黑盒法,力圖發(fā)現(xiàn)下錯誤類型:①功能不正確或遺漏了功能;②界面(接口)錯誤;③數(shù)據(jù)結(jié)構(gòu)錯誤或外部數(shù)據(jù)庫訪問錯誤;④性能錯誤;⑤初始化和終止錯誤。白盒測試在早期階段進行,黑盒法主要在后期;3chapter__7等價分類法邊值分析法錯誤推測法黑盒法測試常用的測試方法有:

4chapter__7一、等價類劃分等價類劃分方法把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分,然后從每一部分中選取少數(shù)有代表性的數(shù)據(jù)做為測試用例。注①:這樣選取的測試數(shù)據(jù)最有代表性,可以用較少的測試數(shù)據(jù),有效的發(fā)現(xiàn)程序中的錯誤注②:由于“窮盡”的黑盒測試是不現(xiàn)實的,等價劃分是一種較好的策略,以期用較小的代價,暴露出較多的錯誤使用這一方法設(shè)計測試用例要經(jīng)歷下面二步:

1)劃分等價類(列出等價類表)

2)選取測試用例。5chapter__7(一)、如何劃分等價類

等價類的劃分有兩種不同的情況:

①有效等價類:是指對于程序的規(guī)格說明來說,是合理的,有意義的輸入數(shù)據(jù)構(gòu)成的集合。

②無效等價類:是指對于程序的規(guī)格說明來說,是不合理的,無意義的輸入數(shù)據(jù)構(gòu)成的集合。在設(shè)計測試用例時,要同時考慮有效等價類和無效等價類的設(shè)計。

一、等價類劃分(續(xù))6chapter__7經(jīng)驗1:如果規(guī)定了輸入值的范圍,則可劃分出:1個有效的等價類(輸入值在此范圍內(nèi)),2個無效的等價類(輸入值小于最小值、大于最大值);例,輸入學(xué)生成績,范圍為0-100輸入條件有效等價類無效等價類范圍為0-1000≤成績≤100成績<0成績>1007chapter__7經(jīng)驗2如果規(guī)定了輸入數(shù)據(jù)的個數(shù),則類似地也可以劃分出1個有效的等價類和2個無效的等價類;例,要求輸入三個數(shù)據(jù)輸入條件有效等價類無效等價類輸入三個數(shù)據(jù)1≤數(shù)據(jù)數(shù)≤3數(shù)據(jù)數(shù)=0個數(shù)據(jù)數(shù)>3個8chapter__7經(jīng)驗3:如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序?qū)Σ煌斎胫底霾煌幚?。則每個允許的輸入值是一個有效的等價類,此外還有一個無效的等價類(任一個不允許的輸入值);例,可輸入的教師職稱包括:助教、講師、副教授、教授輸入條件有效等價類無效等價類輸入教師職稱助教講師副教授教授助工9chapter__7經(jīng)驗4-6:4--如果規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則,則可以劃分出一個有效的等價類(符合規(guī)則)和若干個無效的等價類(從各種不同角度違反規(guī)則);5--如果規(guī)定了輸入數(shù)據(jù)為整型,則可以劃分出正整數(shù)、零和負(fù)整數(shù)等3個有效類;6--如果程序的處理對象是表格,則應(yīng)該使用空表,以及含一項或多項的表。10chapter__7劃分等價類小結(jié)以上列出的啟發(fā)式規(guī)則只是測試時可能遇到的情況中的很小一部分,實際情況千變?nèi)f化,根本無法一一列出;為了正確劃分等價類,一是要注意積累經(jīng)驗,二是要正確分析被測程序的功能;此外,在劃分無效的等價類時還必須考慮編譯程序的檢錯功能,一般說來,不需要設(shè)計測試數(shù)據(jù)用來暴露編譯程序肯定能發(fā)現(xiàn)的錯誤;最后說明一點,上面列出的啟發(fā)式規(guī)則雖然都是針對輸入數(shù)據(jù)說的,但是其中絕大部分也同樣適用于輸出數(shù)據(jù)。11chapter__7(二)、確立測試用例

在確立了等價類之后,建立等價類表,列出所有劃分出的等價類。

一、等價類劃分(續(xù))12chapter__7再從劃分出的等價類中按以下原則選擇測試用例:

(1)為每一個等價類規(guī)定一個唯一編號;

(2)設(shè)計一個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋的有效等價類,重復(fù)這一步,直到所有的有效等價類都被覆蓋為止;

(3)設(shè)計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重復(fù)這一步,直到所有的無效等價類都被覆蓋為止。一、等價類劃分(續(xù))13chapter__7

例1:用戶名是由字母開頭,后跟字母或數(shù)字的任意組合構(gòu)成。有效字符數(shù)為1-20個?!?/p>

一、等價類法----實例1用等價類劃分的方法,建立輸入等價類表:輸入條件有效等價類無效等價類第一個字符字母(1)非字母(5)標(biāo)識符組成字母(2),數(shù)字(3)非字母數(shù)字字符(6)標(biāo)識符字符數(shù)1-8個(4)0(7),大于20(8)14chapter__7確定等價類輸入數(shù)據(jù):序號用戶名覆蓋等價類輸出1(1),(2),(3),(4)有效用戶名22345(5)無效用戶名3U¥(6)4(7)5Y123456789abcdefghijk(8)一、等價類法----實例1

(續(xù))T123a5c715chapter__7例2:根據(jù)輸入判斷三角形的形狀測試場景:一個程序讀入3個整數(shù),把這三個數(shù)值看作一個三角形的3條邊的長度值。這個程序要打印出信息,說明這個三角形是不等邊的、是等腰的、還是等邊的。一、等價類法----實例216chapter__7a<b+c?b<a+c?c<a+b?a=b?b=c?印出“不是三角形”印出“等邊三角形”印出“等腰三角形”印出“不等邊三角形”a=c?b=c?FTFFTTTTFFFFTT程序流程圖a>0b>0c>0TTTFFF17chapter__7創(chuàng)建等價類表:輸入條件有效等價類無效等價類是否三角形的三條邊(A>0),

(1)(B>0),

(2)(C>0),

(3)(A+B>C),

(4)(B+C>A),

(5)(A+C>B),

(6)(A≤0),

(7)(B≤0),

(8)(C≤0),

(9)(A+B≤C),

(10)(B+C≤A),

(11)(A+C≤B),

(12)是否等腰三角形(A=B),

(13)(B=C),

(14)(C=A),(15)(A≠B)and(B≠C)and(C≠A)

(16)是否等邊三角形(A=B)and(B=C)and(C=A)(17)(A≠B),

(18)(B≠C),

(19)(C≠A),

(20)一、等價類法----實例218chapter__7確定等價類輸入數(shù)據(jù):序號【A,B,C】覆蓋等價類輸出1【3,4,5】(1),(2),(3),(4),(5),(6)一般三角形2【0,1,2】(7)不能構(gòu)成三角形3【1,0,2】(8)4【1,2,0】(9)5【1,2,3】(10)6【1,3,2】(11)7【3,1,2】(12)8【3,3,4】(1),(2),(3),(4),(5),(6),(13)等腰三角形9【3,4,4】(1),(2),(3),(4),(5),(6),(14)10【3,4,3】(1),(2),(3),(4),(5),(6),(15)11【3,4,5】(1),(2),(3),(4),(5),(6),(16)非等腰三角形12【3,3,3】(1),(2),(3),(4),(5),(6),(17)是等邊三角形13【3,4,4】(1),(2),(3),(4),(5),(6),(14),(18)非等邊三角形14【3,4,3】(1),(2),(3),(4),(5),(6),(15),(19)15【3,3,4】(1),(2),(3),(4),(5),(6),(13),(20)一、等價類法----實例219chapter__7邊界值分析也是一種黑盒測試方法,是對等價類劃分方法的補充。人們從長期的測試工作經(jīng)驗得知,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是在輸入范圍的內(nèi)部。因此針對各種邊界情況設(shè)計測試用例,可以查出更多的錯誤。

二、邊值分析法20chapter__7比如,在做三角形計算時,要輸入三角形的三個邊長:A、B和C。我們應(yīng)注意到這三個數(shù)值應(yīng)當(dāng)滿足

A>0、B>0、C>0、

A+B>C、A+C>B、B+C>A,才能構(gòu)成三角形。但如果把六個不等式中的任何一個大于號“>”錯寫成大于等于號“≥”,那就不能構(gòu)成三角形。問題恰出現(xiàn)在容易被疏忽的邊界附近。二、邊值分析法(續(xù))21chapter__7這里所說的邊界是指,相對于輸入等價類和輸出等價類而言,稍高于其邊界值及稍低于其邊界值的一些特定情況。使用邊界值分析方法設(shè)計測試用例,首先應(yīng)確定邊界情況。應(yīng)當(dāng)選取正好等于,剛剛大于,或剛剛小于邊界的值做為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值做為測試數(shù)據(jù)。二、邊值分析法(續(xù))22chapter__7健壯性測試是邊界值分析的一種簡單擴展adcbx1x2二、邊值分析法(續(xù))23chapter__7最壞情況測試用例adcbx1x2二、邊值分析法(續(xù))24chapter__7二、邊值分析法(續(xù))

常見的邊界值:

1)屏幕上光標(biāo)在最左上、最右下位置

2)報表的第一行和最后一行

3)數(shù)組元素的第一個和最后一個

4)循環(huán)的第0次、第1次和倒數(shù)第2次、最后一次25chapter__7對邊界值設(shè)計測試用例,應(yīng)遵循以下幾條原則:(1)如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達到這個范圍的邊界的值,以及剛剛超越這個范圍邊界的值作為測試輸入數(shù)據(jù)。例:程序規(guī)格說明中規(guī)定:“重量在10公斤至50公斤范圍內(nèi)的郵件,其郵費計算公式為……”則作為測試用例,我們應(yīng)選取9.99

、10、10.01、49.99、50、及50.01。二、邊值分析法(續(xù))26chapter__7對邊界值設(shè)計測試用例,應(yīng)遵循以下幾條原則:2.如果輸入條件規(guī)定了值的個數(shù),則用最大個數(shù)、最小個數(shù)、比最小個數(shù)少一、比最大個數(shù)多一的數(shù)作為測試數(shù)據(jù)。例:程序規(guī)格說明中規(guī)定:“某輸入文件可包含1至255個記錄……”則作為測試用例,我們應(yīng)選取1、255、0及256。二、邊值分析法(續(xù))27chapter__7對邊界值設(shè)計測試用例,應(yīng)遵循以下幾條原則:3、將規(guī)則1)和2)應(yīng)用于輸出條件,即設(shè)計測試用例使輸出值達到邊界值及其左右的值。例如,一程序?qū)儆谇閳髾z索系統(tǒng),要求每次"最少顯示1條、最多顯示4條情報摘要",這時我們應(yīng)考慮的測試用例包括1和4,還應(yīng)包括0和5等。二、邊值分析法(續(xù))28chapter__7例1:分析以下代碼段inta[10];for(i=1;i<=10;i++)

a[i]=0;很明顯,這段代碼的目的是創(chuàng)建包含10個元素的數(shù)組,并為數(shù)組中的每一個元素賦初值0。看看有什么問題?二、邊值分析法(續(xù))29chapter__7三角形的例子輸入條件有效等價類無效等價類是否三角形的三條邊(A>0),

(1)(B>0),

(2)(C>0),

(3)(A+B>C),

(4)(B+C>A),

(5)(A+C>B),

(6)(A≤0),

(7)(B≤0),

(8)(C≤0),

(9)(A+B≤C),

(10)(B+C≤A),

(11)(A+C≤B),

(12)是否等腰三角形(A=B),

(13)(B=C),

(14)(C=A),(15)(A≠B)and(B≠C)and(C≠A)

(16)是否等邊三角形(A=B)and(B=C)and(C=A)(17)(A≠B),

(18)(B≠C),

(19)(C≠A),

(20)二、邊值分析法(續(xù))30chapter__7一個有趣的例子:美國通用汽車公司的客服收到一封客戶抱怨的信:我們家有一個傳統(tǒng)的習(xí)慣,就是每天晚飯后會吃冰激凌甜點,我開車去買。奇怪的是每當(dāng)我買香草口味的冰激凌,車子就不發(fā)動。但如果我買其它口味,車子就發(fā)動得很順。難道你們的車子對香草口味冰激凌過敏?客服經(jīng)理派一位工程師去調(diào)查。工程師與這位客戶上車,開車買香草口味冰激凌。上車后,車子發(fā)動不起來。之后這個工程師又來了三個晚上,第一晚買巧克力冰激凌,車子沒事;第二晚買草莓口味的,車子也沒事,第三晚買香草口味,車子又不動了。工程師記下了所有發(fā)生的詳細(xì)資料。包括時間,用油等他發(fā)現(xiàn)一個問題,買香草冰激凌比其它口味所花時間少。為什么?蒸汽鎖沒足夠的時間散熱三、錯誤推測法31chapter__7錯誤推測法屬于逆向思維方式,它是基于經(jīng)驗和直覺,推測軟件中所有可能存在的各種錯誤,從而有針對性的設(shè)計測試用例的方法。錯誤推測方法的基本思想是:列舉出軟件中所有可能的錯誤和容易發(fā)生錯誤的情況,并有針對性的設(shè)計測試用例。例如,沒有獲取到輸入,系統(tǒng)如何處理。測試工作者總結(jié)的常見軟件錯誤,以前產(chǎn)品測試中曾經(jīng)發(fā)現(xiàn)的錯誤等等。

三、錯誤推測法32chapter__7

錯誤推測法是一種簡單易行的黑盒法,但由于該方法有較大的隨意性,主要依賴于測試者的經(jīng)驗,因此通常作為一種輔助的黑盒測試方法。例

對一個排序的程序,可能出錯的情況有:

1、輸入表為空的情況。

2、輸入表中只有一個一行。

3、輸入表中所有的行都具有相同的值。

4、輸入表已經(jīng)排好序。

像“愚笨”的用戶那樣做,隨便點點鼠標(biāo),測試一下;借助2/8原則,在已經(jīng)找到缺陷的地方再找找;憑直覺、經(jīng)驗和預(yù)感猜測一下。這些思路都可以幫助我們找到更多的軟件缺陷。

三、錯誤推測法33chapter__7錯誤猜測-例子年齡:應(yīng)該是大于0的數(shù)字輸入:aaa,看是否出現(xiàn)錯誤性別:應(yīng)該是男/女輸入其它,看是否出現(xiàn)錯誤34chapter__7補充:基于判定表的測試樁123456789C1:a,b,c構(gòu)成三角形?C2:a=b?C3:a=c?C4:b=c?N---YYYYYYYNYYNYYYNNYNYYYNYNYNNYYNNNA1:非三角形A2:不等邊三角形A3:等腰三角形A4:等邊三角形A5:不可能X

X

X

X

X

X

X

X

X35chapter__7四、場景法

場景法是將軟件系統(tǒng)的某個流程看成路徑,用場景法來設(shè)計測試用例。根據(jù)流程的順序依次進行組合,使得流程的各個分支都能走到。目前的軟件幾乎都是由事件觸發(fā)來控制流程的,事件觸發(fā)的情景便形成了場景。這種測試思想是Rational公司剛提出的36chapter__7基本流和備選流在利用場景法測試一個軟件的時候,如果軟件按照正確的事件流而實現(xiàn)了一個流程,則稱該流程為該軟件的“基本流”。如果出現(xiàn)故障,不能用基本流來表示,那么就要用一個所謂的“備選流”來加以替代。一個備選流可從基本流開始,在某個特定條件下執(zhí)行,執(zhí)行完后重新加入到基本流中。例如,如果你從ATM機取款系統(tǒng)中順利地取出一筆錢,那么ATM機取款系統(tǒng)就執(zhí)行了一個基本流。反之,ATM機取款系統(tǒng)就要執(zhí)行一個備選流。四、場景法

37chapter__7場景分析法中設(shè)計測試用例的參考步驟(1).根據(jù)說明書,描述出程序的基本流及各項備選流;(2).根據(jù)基本流和各項備選流生成不同的場景;(3).對每一個場景設(shè)計相應(yīng)的測試用例;(4).對生成的所有測試用例重新復(fù)審,去掉多余的測試用例。測試用例確定后,對每一個測試用例確定測試數(shù)據(jù),進行測試。四、場景法

38chapter__7五、涉及知識點總結(jié)場景的基本流和備選流39chapter__7右圖有一個基本流和四個備選流。每個可能路徑,可以確定不同的用例場景。從基本流開始,再將基本流和備選流結(jié)合起來,可以確定以下用例場景:場景1基本流場景2基本流備選流1場景3基本流備選流1備選流2場景4基本流備選流3場景5基本流備選流3備選流1場景6基本流備選流3備選流1備選流2場景7基本流備選流4場景8基本流備選流3備選流4四、場景法

40chapter__7四、場景法下面使用網(wǎng)上購物系統(tǒng)的購物場景舉例說明。(1)場景描述用戶進入網(wǎng)上購物系統(tǒng)網(wǎng)站進行購物,選好物品后進行購買,這時需要使用賬號登錄,登錄成功后付款,交易成功后生成訂單,完成此次購物活動。(2)使用場景法設(shè)計測試用例

①確定基本流和備選流事件41chapter__7四、場景法基本流登錄網(wǎng)上購物系統(tǒng)網(wǎng)站,選擇物品,登錄帳號,付錢交易,生成訂單備選流1賬號不存在備選流2賬號或密碼錯誤備選流3用戶賬號余額不足備選流4用戶賬號沒有錢備選流5用戶退出系統(tǒng)42chapter__7四、場景法②根據(jù)基本流和備選流來確定場景場景1-成功購物基本流場景2-賬號不存在基本流備選流1場景3-賬號或密碼錯誤基本流備選流2場景4-用戶賬號余額不足基本流備選流3場景5-用戶賬號沒有錢基本流備選流443chapter__7③設(shè)計用例對每一個場景都要做測試用例,可以使用矩陣(表格)來管理用例。用行表示各個測試用例,列表示測試用例的信息。首先將測試用例的ID、條件、涉及的數(shù)據(jù)元素以及預(yù)期結(jié)果列在矩陣中,然后將這些數(shù)據(jù)確定下來,填寫在表格中。下表中,“有效”表示這個條件必須是有效的才可執(zhí)行基本流,而“無效”用于表示這種條件下將激活所需備選流?!安贿m用”表示這個條件不適用于測試用例。四、場景法44chapter__7測試用例信息表測試用例ID場景/條件賬號密碼用戶賬號余額預(yù)期結(jié)果1場景1:成功購物有效有效有效成功購物2場景2:賬號不存在無效不適用不適用提示賬號不存在3場景3:賬號或密碼錯誤(賬號正確,密碼錯誤)有效無效不適用提示賬號或密碼錯誤,返回基本流步驟34場景3:賬號或密碼錯誤(賬號錯誤,密碼正確)無效有效不適用提示賬號或密碼錯誤,返回基本流步驟35場景4:用戶賬號余額不足有效有效無效提示賬號余額不足請充值6場景5:用戶賬號沒有錢有效有效無效提示賬號余額請充值四、場景法45chapter__7④設(shè)計上表測試用例數(shù)據(jù),填入下表測試用例ID場景/條件賬號密碼用戶賬號余額預(yù)期結(jié)果1場景1:成功購物wangshPassw0rd193成功購物,用戶賬號余額正確2場景2:賬號不存在song不適用不適用提示賬號不存在3場景3:賬號或密碼錯誤(賬號正確,密碼錯誤)wangsh666666不適用提示賬號或密碼錯誤,返回基本流步驟34場景3:賬號或密碼錯誤(賬號錯誤,密碼正確)songpassw0rd不適用提示賬號或密碼錯誤,返回基本流步驟35場景4:用戶賬號余額不足wshpass0rd2提示賬號余額不足請充值6場景5:用戶賬號沒有錢sunxx8172170提示賬號余額請充值四、場景法46chapter__7案例分析

下面以購物系統(tǒng)添加商品類別信息為例,說明功能測試的案例設(shè)計47chapter__7一、編寫商品類別添加的測試用例集TestCase047:必添項是否允許為空Summary:檢驗系統(tǒng)是否對必填項為空的情況做了處理。Steps:1、點擊【商品類別】\【添加】按鈕2、什么都不輸入,直接點擊[添加]按鈕;ExpectedResults:1、彈出“商品類別添加界面”2、提示“類別名稱不能為空”

場景法Pass/Fail:TestNotes:

Authoradmin48chapter__7一、編寫商品類別添加的測試用例集TestCase048:輸入字符數(shù)等于域允許的最大字符數(shù)Summary:系統(tǒng)是否對域的輸入長度進行了檢驗Steps:1、點擊【商品類別】\【添加】按鈕2、在“類別名稱”中輸入“國產(chǎn)電視機”,點擊[添加]按鈕ExpectedResults:1、彈出“商品類別添加界面”;2、提示“保存成功”邊界值法Pass/Fail:TestNotes:

Authoradmin49chapter__7一、編寫商品類別添加的測試用例集TestCase051:驗證系統(tǒng)定義的域長度是否夠用Summary:輸入有現(xiàn)實意義且字符數(shù)比較多的類別名稱,檢驗系統(tǒng)是否允許輸入Steps:1、點擊【商品類別】\【添加】按鈕2、在“類別名稱”中輸入“國產(chǎn)電子元器件”,點擊[添加]按鈕ExpectedResults:1、彈出“商品類別添加界面”;2、提示“保存成功”錯誤推測法Pass/Fail:TestNotes:

Authoradmin50chapter__7二、編寫類別修改的測試用例集TestCase055:輸入字符數(shù)大于域允許的最大字符數(shù)Summary:檢驗系統(tǒng)是否對域輸入長度進行了驗證Steps:1、點擊【商品類別】\【瀏覽】按鈕;2、點擊商品類別“國產(chǎn)電視機”后面的鏈接[修改]3、將類別名稱改為“國產(chǎn)電子元器件”,點擊[修改]按鈕;ExpectedResults:1、彈出“商品類別瀏覽界面”2、

彈出“商品類別修改界面”3、提示“您輸入的名稱過長,請重新輸入”邊界值法Pass/Fail:TestNotes:

Authoradmin51chapter__7二、編寫類別修改的測試用例集TestCase056:不修改直接保存Summary:不修改,直接點擊[保存]按鈕Steps:1、點擊【商品類別】\【瀏覽】按鈕;2、點擊商品類別“國產(chǎn)電視機”后面的鏈接[修改]3、不修改直接點擊[修改]按鈕;ExpectedResults:1、彈出“商品類別瀏覽界面”2、

彈出“商品類別修改界面”3、提示“修改成功”,不應(yīng)提示類別名稱已存在。場景法Pass/Fail:TestNotes:

Authoradmin52chapter__7二、編寫類別修改的測試用例集TestCase058:重名校驗Summary:檢驗系統(tǒng)是否對類別名重名的情況做了校驗Steps:1、點擊【商品類別】\【添加】按鈕2、在“類別名稱”中輸入“長虹電視”,點擊[添加]按鈕3、點擊【商品類別】\【瀏覽】按鈕;4、點擊商品類別“國產(chǎn)電視機”后面的鏈接[修改]5、將類別名稱改為“長虹電視”,點擊[修改]按鈕;ExpectedResults:1、彈出“商品類別添加界面”;2、提示“添加成功”3、彈出“商品類別瀏覽界面”4、

彈出“商品類別修改界面”5、提示“類別名稱已存在”場景法Pass/Fail:TestNotes:

Authoradmin53chapter__7三、編寫類別刪除的測試用例集TestCase059:刪除未被使用的類別Summary:未被使用的類別可以被刪除Steps:1、點擊【商品類別】\【瀏覽】按鈕2、選擇未被使用的類別,點擊類別名稱后面的鏈接文字【刪除】ExpectedResults:1、打開商品類別瀏覽界面2、提示“刪除成功”場景法Pass/Fail:TestNotes:

Authoradmin54chapter__7三、編寫類別刪除的測試用例集TestCase060:刪除已被使用的類別Summary:已被使用的類別不可以被刪除Steps:1、在添加商品類別“電腦”;2、添加商品“hp家用電腦”,商品類別選擇“電腦”3、點擊【商品類別】\【瀏覽】按鈕4、選擇已被使用的類別“電腦”,點擊類別名稱后面的鏈接文字【刪除】ExpectedResults:1、商品類別添加成功;2、商品添加成功;3、打開商品類別瀏覽界面;4、提示“該商品類別已被使用不能刪除”。場景法Pass/Fail:TestNotes:

Authoradmin55chapter__7四、編寫類別瀏覽、查看的測試用例集TestCase061:查看信息顯示是否完整Summary:所有已添加的類別均應(yīng)顯示出來Steps:點擊【查看】(【瀏覽】)按鈕,檢查類別顯示是否完整、類別內(nèi)容是否正確ExpectedResults:所有添加的類別均可以顯示出來;顯示的類別名稱與添加時所填寫的內(nèi)容一致。場景法Pass/Fail:TestNotes:

Authoradmin56chapter__7四、編寫類別瀏覽、查看的測試用例集TestCase062:翻頁Summary:點擊翻頁按鈕可以正確跳轉(zhuǎn)到相應(yīng)的頁面上Steps:1、點擊類別【查看】(【瀏覽】)按鈕2、點擊【第一條】、【下一條】、【上一條】、【最后一條】ExpectedResults:1、彈出商品類別瀏覽界面2、可以正確跳轉(zhuǎn)到對應(yīng)的頁面上,不存在部分信息重復(fù)顯示,部分信息顯示不出來的情況。場景法Pass/Fail:TestNotes:

Authoradmin57chapter__7黑盒測試的優(yōu)點(1).應(yīng)用面廣。產(chǎn)品要至少經(jīng)過黑盒測試才能發(fā)布,能夠勝任黑盒測試工作的人員相對充足,黑盒測試方法的成本低見效快,幾乎所有測試部門、測試人員,在產(chǎn)品(功能塊,集成模塊,系統(tǒng))第一輪測試時,都會首選黑盒測試方法,該方法最符合企業(yè)實際開展測試工作的需要;(2).黑盒測試方法,不需要測試人員知道軟件內(nèi)部的邏輯結(jié)構(gòu)和實現(xiàn)方法,熟悉軟件需求分析規(guī)格說明書或用戶需求報告相對容易些,準(zhǔn)備工作時間相對短,同時對于一些不提供源代碼的項目也同樣適用。測試方法小結(jié)58chapter__7(3).可以借助自動化測試工具提高測試效率。黑盒測試的工作量很大,但是在產(chǎn)品(功能塊,集成模塊,系統(tǒng))第二輪測試中,可以利用工具回放第一輪測試過程中錄制的測試腳本,以進行自動化測試。典型的測試工具如MI公司的QTP。自動測試工具可以幫助完成大量重復(fù)的測試工作,這是很多人最初盲目熱衷的理由,但是應(yīng)該提醒讀者,任何工具都有自己的優(yōu)勢和局限,不要在實際工作中草率的采用自動化測試工具,否則你會發(fā)現(xiàn),它總是讓你失望,往往學(xué)習(xí)使用工具,維護腳本就占用了你很多時間,測試時間快結(jié)束了,你可能還沒開始執(zhí)行任何有實際意義的測試工作,一般建議做產(chǎn)品的公司、做行業(yè)項目的公司,以及經(jīng)常要做第二輪功能測試的情況下,可以考慮采用適合的自動化測試工具。測試方法小結(jié)59chapter__7黑盒測試的缺點(1).黑盒測試工作質(zhì)量的好壞,取決于測試用例設(shè)計的質(zhì)量。測試用例設(shè)計的質(zhì)量,取決于測試者對行業(yè)業(yè)務(wù)的熟悉程度,很難要求測試人員對各種行業(yè)的業(yè)務(wù)都精通,很多時候都是具有計算機專業(yè)背景的人員,根據(jù)測試需要接受業(yè)務(wù)培訓(xùn),然后進行測試,但是對業(yè)務(wù)的理解是很有限的,因此限制了黑盒測試工作的質(zhì)量。(2).缺陷的定位有時不夠準(zhǔn)確,甚至誤導(dǎo)開發(fā)人員。測試方法小結(jié)60chapter__7白盒測試的優(yōu)點(1).白盒測試方法深入到了程序內(nèi)部,測試粒度到達某個模塊、某個函數(shù)甚至某條語句,能從程序具體實現(xiàn)的角度發(fā)現(xiàn)問題;(2).白盒測試方法是對黑盒測試方法的最有力補充,通過前面的講解,我們清楚的了解了黑盒測試和白盒測試的思路,只有將二者結(jié)合才能將軟件測試工作做到相對到位。測試方法小結(jié)61chapter__7測試方法小結(jié)測試人員在需求分析階段,通過需求說明書了解用戶需求,針對需求利用黑盒測試的思路設(shè)計測試用例,然后根據(jù)已有的編程和測試經(jīng)驗,補充一些白盒測試用例。在開發(fā)階段,測試人員拿到代碼后,一種方法是直接人工閱讀代碼(也稱為靜態(tài)測試),進行白盒測試。另一種方法是借助于白盒測試工具,實現(xiàn)各種覆蓋測試。IT企業(yè)軟件測試的基本方法是:宏觀上用黑盒測試,微觀上用白盒測試;全局用黑盒測試,局部用白盒測試;絕大部分測試人員用黑盒測試,極少數(shù)程序人員用白盒測試;以黑盒測試為主,以白盒測試為輔。62chapter__7本章要點一、軟件測試基礎(chǔ)

二、單元測試三、集成測試四、確認(rèn)測試五、白盒測試技術(shù)六、黑盒測試技術(shù)七、調(diào)試八、軟件可靠性

63chapter__7調(diào)試(debugging)

測試(testing)的目的與任務(wù)

目的:發(fā)現(xiàn)程序的錯誤

任務(wù):通過執(zhí)行程序,暴露潛在的錯誤

調(diào)試也叫糾錯(debugging)的目的與任務(wù)

目的:定位和糾正錯誤

任務(wù):消除軟件故障,保證程序的可靠運行

軟件測試的目的是發(fā)現(xiàn)錯誤,在發(fā)現(xiàn)錯誤后,則應(yīng)按照一定的技術(shù)去糾正它,糾錯的關(guān)鍵是“錯誤定位”。64chapter__7調(diào)試過程一、糾錯的活動

1、確定程序中可疑錯誤的確切的位置和性質(zhì)。

2、修改、排除錯誤。執(zhí)行測試用例糾錯結(jié)果錯誤現(xiàn)場測試用例猜測的原因已知原因改正

調(diào)試(糾錯)活動65chapter__7二、糾錯的原則

1、注意錯誤的“群集現(xiàn)象”。

2、不能只修改錯誤的征兆、表現(xiàn),還應(yīng)該修改錯誤的本質(zhì)。

3、注意在修改一個錯誤的同時,又引入新的錯誤。調(diào)試過程66chapter__7幾種主要的排錯方法

調(diào)試的方法有:蠻干法(硬性糾錯)回溯法對分查找法歸納法演繹法可根據(jù)個人經(jīng)驗和具體情況靈活應(yīng)用。67chapter__7一、硬性糾錯 又稱為蠻干法,由于簡單,是目前使用較多,但效率較低的方法。如:主存信息轉(zhuǎn)儲法將計算機存儲器和寄存器的全部內(nèi)容打印出來,然后在大量的數(shù)據(jù)中查錯。關(guān)鍵部分設(shè)置打印語句

在出錯源程序的各個關(guān)鍵變量改變位置、重要的分支、子程序的調(diào)用等位置,設(shè)置打印語句,跟蹤程序執(zhí)行和變量的改變。

使用自動調(diào)試工具

使用由某些語言提供的調(diào)試工具查錯。幾種主要的調(diào)試方法68chapter__7二、回溯法排錯

適用于小程序,發(fā)現(xiàn)錯誤時,確定首先發(fā)現(xiàn)錯誤“癥狀”的位置,人工沿控制流追蹤源代碼程序,直到找出錯誤根源或確定錯誤范圍為止。例如,程序中發(fā)現(xiàn)錯誤處是某個打印語句。通過輸出值可推斷程序在這一點上變量的值。再從這一點出發(fā),回溯程序的執(zhí)行過程,反復(fù)考慮:“如果程序在這一點上的狀態(tài)(變量的值)是這樣,那么程序在上一點的狀態(tài)一定是這樣...”,直到找到錯誤的位置。幾種主要的排錯方法69chapter__7本章要點一、軟件測試基礎(chǔ)

二、單元測試三、集成測試四、確認(rèn)測試五、白盒測試技術(shù)六、黑盒測試技術(shù)七、調(diào)試八、軟件可靠性

70chapter__7軟件可靠性軟件的可靠性是軟件質(zhì)量的一個重中指標(biāo),也是用戶需求中一項重要內(nèi)容。軟件工程的目標(biāo),就是要開發(fā)出滿足用戶需求的,可靠性高軟件產(chǎn)品。在需求分析、軟件設(shè)計、編程等一系列活動中,軟件工程都力求研究科學(xué)的方法和技術(shù),以提高軟件的可靠性。那么,這些努力的成果如何呢?當(dāng)完成軟件的測試以后,應(yīng)該分析測試結(jié)果,對軟件的可靠性進行一個評估。本節(jié)介紹軟件可靠性相關(guān)的概念和評估方法。71chapter__7

軟件可靠性的定義中多數(shù)人認(rèn)可的一個定義是:軟件可靠性是程序在給定的時間間隔內(nèi),按照規(guī)格說明書的規(guī)定,成功地運行的概率。按照IEEE的規(guī)定:術(shù)語

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論