版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1軟件測試知識培訓(xùn)軟件測試知識培訓(xùn)主講人:主講人:2Test training培訓(xùn)內(nèi)容第一講 測試總體介紹第二講 測試計劃第三講 測試設(shè)計和開發(fā)第四講 測試用例分析方法第五講 測試執(zhí)行和評估第六講 測試流程及管理3Test Case Analyze Method第四講 測試用例分析方法4測試用例分析方法前前 言言本次培訓(xùn)的內(nèi)容本次培訓(xùn)的內(nèi)容是軟件測試用例的分析方法。本次培訓(xùn)的目的本次培訓(xùn)的目的是通過這次講解,希望大家能夠?qū)浖y試用例的分析方法有一個比較系統(tǒng)化和全面的了解。5測試用例分析方法w簡介w測試方法w黑盒測試w白盒測試w用例分析方法w黑盒方法w白盒方法wQ/A目目 錄錄6測試用例分析方
2、法簡簡 介介 軟件測試的方法多種多樣,測試人員在測試的過程中不斷摸索和總結(jié),逐漸形成了一些典型的通用方法,這些方法可以針對具體的項目和需要來剪裁或組合運(yùn)用。大體上將這些方法歸為兩類:黑盒方法和白盒方法。7測試用例分析方法理想理想:把所有能做的測試無一遺漏地全部做 完,把軟件系統(tǒng)中所有隱藏的錯誤全 部找出來?,F(xiàn)實現(xiàn)實:人力,時間,成本的限制。折中折中:設(shè)計有限的測試用例代替窮舉測試。8測試方法測試方法黑盒測試黑盒測試:w把測試對象看做一個黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。測試用例分析方法9w黑盒測試的關(guān)注點:w
3、是否有不正確或遺漏了的功能?w在接口上,輸入能否正確地接受? 能否輸出正確的結(jié)果?w是否有數(shù)據(jù)結(jié)構(gòu)錯誤或外部信息(例如數(shù)據(jù)文件)訪問錯誤?w性能上是否能夠滿足要求?w安全性上是否能夠滿足要求?1.是否有初始化或終止性錯誤?測試用例分析方法10例示:假設(shè)一個程序P有輸入量X和Y及輸出量Z。在字長為32位的計算機(jī)上運(yùn)行。若X、Y取整數(shù),按黑盒方法進(jìn)行窮舉測試:可能采用的 測試數(shù)據(jù)組: 232232264 如果測試一組數(shù)據(jù)需要1毫秒,一年工作365 24小時,完成所有測試需幾億年。測試用例分析方法11白盒測試白盒測試:w把測試對象看做一個透明的盒子,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)等有關(guān)信息,設(shè)
4、計測試用例,對程序所有邏輯路徑進(jìn)行測試。w通過在不同點檢查程序的狀態(tài),確定實際的狀態(tài)是否與預(yù)期的狀態(tài)一致。測試用例分析方法12w白盒測試的關(guān)注點:w 檢查程序模塊的所有獨立的執(zhí)行路徑是否有效;w 檢查程序中所有的邏輯判定,取“真”與取“假”的兩種情況是否都執(zhí)行過;w 檢查循環(huán)的邊界和循環(huán)內(nèi)運(yùn)行邏輯是否正確;1. 檢查程序內(nèi)部數(shù)據(jù)結(jié)構(gòu)是否有效等。測試用例分析方法13例示:測試用例分析方法14對一個具有多重選擇和循環(huán)嵌套的程序,不同的路徑數(shù)目可能是天文數(shù)字。給出一個小程序的流程圖,它包括了一個執(zhí)行20次的循環(huán)。包含的不同執(zhí)行路徑數(shù)達(dá)520條,對每一條路徑進(jìn)行測試需要1毫秒,假定一年工作365 24
5、小時,要想把所有路徑測試完,需幾千年。測試用例分析方法15總結(jié):w通過黑盒測試發(fā)現(xiàn)程序中的錯誤,必須在所有可能的輸入條件和輸出條件中確定測試數(shù)據(jù),來檢查程序是否都能產(chǎn)生正確的輸出;w通過白盒測試發(fā)現(xiàn)程序中的錯誤,必須運(yùn)行程序執(zhí)行所有的邏輯分支,所有的循環(huán),所有的路徑,來檢查程序是否都能運(yùn)行正常。w但這是不可能的。w所以,我們需要用例分析方法。測試用例分析方法16 語句覆蓋 判定覆蓋 條件覆蓋 判定-條件覆蓋 條件組合覆蓋 路徑覆蓋用例分析方法一.白盒方法測試用例分析方法17舉例舉例:(程序片斷如下)所有路徑為:L1(a-c-e) ,L2(a-b-d), L3(a-b-e), L4(a-c-d)
6、.18L1(ace)A B A XA1021andandorA B A A B X A102101andandorandandA B A B X A20101andorandand19L2 (abd) =A B A X1021andandorA B A X1021orandand= A A X B A X121021andandorandandA X B A X11021andorandand20L3 (abc) A B A X1021andandorA B A X1021orandorA 1 and X 1 or B 0 and A2 or B 0 and X 1A X B A B X110
7、201andorandorand21L4 (acd)A B A X A1021andandorA B A X A1021andandand依據(jù)以上推導(dǎo)出來的結(jié)果可以設(shè)計滿足要求的測試用例。22邏輯代數(shù)的基本公式:注: and代表 or 代表.23語句覆蓋語句覆蓋w語句覆蓋就是設(shè)計若干個測試用例,運(yùn)行被測程序,使得每一可執(zhí)行語句至少執(zhí)行一次。w在示例中,正好所有的可執(zhí)行語句都在路徑L1上,所以選擇路徑 L1設(shè)計測試用例,就可以覆蓋所有的可執(zhí)行語句。24w測試用例的設(shè)計格式如下【輸入的(A, B, X),輸出的(A, B, X)】w為示例設(shè)計滿足語句覆蓋的測試用例是:【(2, 0, 4),(2,
8、0, 3)】 覆蓋 ace【L1】A B A B X A20101andorandand25語句覆蓋的優(yōu)缺點:優(yōu)點:w最簡單的結(jié)構(gòu)測試覆蓋;w易于實現(xiàn)大量的代碼覆蓋;缺點:w語句覆蓋所采用的標(biāo)準(zhǔn)是結(jié)構(gòu)測試?yán)镒钊醯?w只測試了條件語句的一方面;26判定覆蓋判定覆蓋w判定覆蓋就是設(shè)計若干個測試用例,運(yùn)行被測程序,使得程序中每個判斷的取真分支和取假分支至少執(zhí)行一次。w判定覆蓋又稱為分支覆蓋。w對于示例,如果選擇路徑L1和L2,就可以得到滿足要求的測試用例:27【(2, 0, 4),(2, 0, 3)】覆蓋 ace【L1】【(1, 1, 1),(1, 1, 1)】覆蓋 abd【L2】A X B A X
9、11021andorandandA B A B X A20101andorandand28w如果選擇路徑L3和L4,還可得另一組可用的測試用例:【(2, 1, 1),(2, 1, 2)】覆蓋 abe【L3】【(3, 0, 3),(3, 0, 1)】覆蓋 acd【L4】A X B A B X110201andorandorandA B A X A1021andandand29分支覆蓋的優(yōu)缺點:優(yōu)點:分支覆蓋包含了語句覆蓋;分支條件容易在代碼中發(fā)現(xiàn);缺點: 可能不會訪問到用于分支的所有復(fù)雜條 件;30條件覆蓋條件覆蓋w條件覆蓋就是設(shè)計若干個測試用例,運(yùn)行被測程序,使得程序中每個判斷的每個條件的可能
10、取值至少執(zhí)行一次。w在圖例中,我們事先可對所有條件的取值加以標(biāo)記。例如,w對于第一個判斷:條件 A1 取真為 ,取假為 條件 B0 取真為 ,取假為T1T1T2T231w對于第二個判斷: 條件A2 取真為 ,取假為 條件X1 取真為 ,取假為 測試用例 覆蓋分支 條件取值【(2, 0, 4),(2, 0, 3)】L1(c, e) 【(1, 0, 1),(1, 0, 1)】L2(b, d) 【(2, 1, 1),(2, 1, 2)】L3(b, e)或T3T3T4T T T T1234T T T T1234T T T T123432 測 試 用 例覆蓋分支 條件取值【(1, 0, 3),(1, 0
11、, 4)】 L3(b, e) 【(2, 1, 1),(2, 1, 2)】 L3(b, e) T T T T1234T T T T123433條件覆蓋的優(yōu)缺點:優(yōu)點:每個條件的可能取值都被測試到;缺點: 可能遺漏部分路徑的測試;34判定判定- -條件覆蓋條件覆蓋w判定-條件覆蓋就是設(shè)計足夠的測試用例,使得每個判斷的取真和取假分支至少執(zhí)行一次,同時每個判斷中的每個條件的可能取值至少執(zhí)行一次。35 測 試 用例 覆蓋分支 條件取值【(2,0,4),(2,0,3)】L1(c,e)【(1,1,1),(1,1,1)】L2(b,d)T T T T1234T T T T1234A B A B XA20101a
12、 n do ra n da n dA X B A X11021a n do ra n da n d36判定-條件覆蓋的優(yōu)缺點:優(yōu)點:每個分支都被測試到;每個分支的每個條件的可能取值都被測試到;缺點: 可能遺漏部分路徑的測試;37條件組合覆蓋條件組合覆蓋w條件組合覆蓋就是設(shè)計足夠的測試用例,運(yùn)行被測程序,使得每個判斷的所有可能的條件取值組合至少執(zhí)行一次。 記 A1, B0 作 A1, B0 作 A1, B0 作 A1, B0 作T T12T T12T T12T T1238 A2, X1 作 A2, X 1 作 A2, X1 作 A2, X 1 作 測 試 用 例 覆蓋條件 覆蓋組合【(2, 0,
13、 4), (2, 0, 3)】(L1) , 【(2, 1, 1), (2, 1, 2)】(L3) , 【(1, 0, 3), (1, 0, 4)】(L3) , 【(1, 1, 1), (1, 1, 1)】(L2) , T T34T T34T T34T T34T T T T1234T T T T1234T T T T1234T T T T123439條件組合覆蓋的優(yōu)缺點:優(yōu)點:所有的分支都被測試到;分支的所有取值組合都被測試到;缺點: 可能遺漏部分路徑的測試;40路徑覆蓋路徑覆蓋w路徑測試就是設(shè)計足夠的測試用例,覆蓋程序中所有可能的路徑。 測 試 用 例 通過路徑 覆蓋條件【(2, 0, 4),
14、 (2, 0, 3)】 ace (L1) 【(1, 1, 1), (1, 1, 1)】 abd (L2) 【(1, 1, 2), (1, 1, 3)】 abe (L3) 【(3, 0, 3), (3, 0, 1)】 acd (L3) T T T T1234T T T T1234T T T T1234T T T T341241路徑覆蓋的優(yōu)缺點:優(yōu)點優(yōu)點:是最全面的代碼覆蓋方法;缺點缺點:1.并非所有的路徑都可用; 2.實踐上也不可能實現(xiàn)100覆蓋;42 用例分析方法二.黒盒方法 等價類劃分 邊界值分析 錯誤推測法 因果圖測試用例分析方法43等價類劃分等價類劃分w等價類劃分是一種典型的黑盒測試方法
15、,使用這一方法時,完全不考慮程序的內(nèi)部結(jié)構(gòu),只依據(jù)程序的規(guī)格說明來設(shè)計測試用例。w等價類是指某個輸入域的子集合。在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的。測試某等價類的代表值就等價于對這一類其它值的測試。44w等價類劃分是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分,然后從每一部分中選取少數(shù)有代表性的數(shù)據(jù)做為測試用例。w使用這一方法設(shè)計測試用例要經(jīng)歷劃分等價類(列出等價類表)和選取測試用例兩步。45w等價類的類別: 有效等價類:是指對于程序的規(guī)格說明來說,是合理的,有意義的輸入數(shù)據(jù)構(gòu)成的集合。 無效等價類:是指對于程序的規(guī)格說明來說,是不合理的,無意義的輸入數(shù)據(jù)構(gòu)成的集合
16、。w在設(shè)計測試用例時,要同時考慮有效等價類和無效等價類的設(shè)計。46w劃分等價類的方法:(1) 如果輸入條件規(guī)定了取值范圍或值的個數(shù),則可以確立一個有效等價類和兩個無效等價類。47例如,在程序的輸入條件有如下要求: “ X的取值可以從1到999 ” 則有效等價類是“1X999”兩個無效等價類是“X1”或“X999”。在數(shù)軸上表示成: 48(2) 如果輸入條件規(guī)定了輸入值的集合,或者是規(guī)定了“必須如何”的條件,這時可確立一個有效等價類和一個無效等價類。例如,在程序設(shè)計語言中對變量標(biāo)識符規(guī)定為“以字母打頭的串”。那么所有以字母打頭的構(gòu)成有效等價類,而不在此集合內(nèi)(不以字母打頭)的歸于無效等價類。49
17、(3) 如果輸入條件是一個布爾量,則可以確定一個有效等價類和一個無效等價類。(4) 如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序要對每個輸入值分別進(jìn)行處理。這時可為 每一個輸入值確立一個有效等價類,此外針對這組值確立一個無效等價類,它是所有不允許的輸入值的集合。50例如,在教師上崗方案中規(guī)定對教授、副教授、講師和助教分別計算分?jǐn)?shù),做相應(yīng)的處理。因此可以確定4個有效等價類為教授、副教授、講師和助教,一個無效等價類,它是所有不符合以上身分的人員的輸入值的集合。51(5) 如果規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則,則可以確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。例如,某一程序設(shè)計語言規(guī)
18、定 “一個語句必須以分號;結(jié)束”。這時,可以確定一個有效等價類 “以;結(jié)束”,若干個無效等價類 “以:結(jié)束”、“以,結(jié)束”、“以 結(jié)束”等。52w確立測試用例在確立了等價類之后,建立等價類表,列出所有劃分出的等價類。53w從劃分出的等價類中按以下原則選擇測試用例:(1) 為每一個等價類規(guī)定一個唯一編號;(2) 設(shè)計一個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋的有效等價類,重復(fù)這一步,直到所有的有效等價類都被覆蓋為止;(3)設(shè)計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重復(fù)這一步,直到所有的無效等價類都被覆蓋為止。54w用等價類劃分法設(shè)計測試用例的實例在某一程序設(shè)計語言版本中規(guī)定
19、:“標(biāo)識符是由字母開頭,后跟字母或數(shù)字的任意組合構(gòu)成。有效字符數(shù)為8個,最大字符數(shù)為80個。”并且規(guī)定:“標(biāo)識符必須先說明,再使用?!?“在同一說明語句中,標(biāo)識符至少有一個?!?5用等價類劃分的方法,建立輸入等價類表:56w下面選取了9個測試用例,它們覆蓋了所有的等價類。 VAR x,T1234567:REAL; BEGIN x := 3.414; T1234567 := 2.732; . (1), (2), (4), (8), (9), (12), (14) VAR :REAL; (3) VAR x,:REAL; (5)57 VAR T12345678:REAL; (6) VAR T1234
20、5.:REAL; (7) 多于80個字符 VAR T$:CHAR; (10) VAR GOTO:INTEGER; (11) VAR 2T:REAL; (13) VAR PAR:REAL; (15) BEGIN . PAP := SIN (3.14 * 0.8) / 6; 58w辨別等價類的角度有:1.值的范圍2. 值的數(shù)量3.特殊值59等價類劃分方法的優(yōu)缺點:等價類劃分方法的優(yōu)缺點:w優(yōu)點優(yōu)點:1.只需要相對較少的測試用例;2.感覺到完整的覆蓋;3.幫助降低重復(fù)性;w缺點缺點:1.有可能缺乏特殊用例的考慮;2.需要深入全面的系統(tǒng)知識才能做到最有 效,尤其是當(dāng)子集里有特殊值。60邊界值分析邊界值
21、分析w邊界值分析也是對等價類劃分方法的補(bǔ)充。w從測試經(jīng)驗得知,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是在輸入范圍的內(nèi)部。因此針對各種邊界情況設(shè)計測試用例,可以查出更多的錯誤。61比如,在做三角形計算時,要輸入三角形的三個邊長:A、B和C。 我們應(yīng)注意到這三個數(shù)值應(yīng)當(dāng)滿足 A0、B0、C0、 ABC、ACB、BCA,才能構(gòu)成三角形。但如果把六個不等式中的任何一個大于號“”錯寫成大于等于號“”,那就不能構(gòu)成三角形。62w這里所說的邊界是指:相對于某個等價類而言,稍高于其邊界值及稍低于其邊界值的一些特定情況。w使用邊界值分析方法設(shè)計測試用例,首先應(yīng)確定邊界情況。應(yīng)當(dāng)選取正好等于,剛剛大于,剛
22、剛小于邊界的值做為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值做為測試數(shù)據(jù)。 63邊界值分析的優(yōu)缺點:優(yōu)點優(yōu)點:1.錯誤容易發(fā)生在邊界值附近;2.對多取值變量的測試比較有效;3.適合于對數(shù)據(jù)類型要求不太嚴(yán)格的語言編 寫的程序有利;缺點缺點:1.對布爾值(或邏輯變量)無效;2.不能很好地測試不同的輸入組合;64錯誤推測法錯誤推測法w靠經(jīng)驗和直覺推測程序中可能存在的各種錯誤,從而有針對性地編寫檢查這些錯誤的例子。w錯誤推測法的基本想法是:列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)它們選擇測試用例。65錯誤推測法的優(yōu)缺點:w優(yōu)點優(yōu)點:1.能很快地寫出一批測試用例;2.能體驗到程序的易
23、用性方面的問題;3.能快速并容易地切入;4.高手能迅速找出大量錯誤;w缺點缺點:1.不是一個系統(tǒng)的方法,過于主觀;2.難以知道測試的覆蓋率, 覆蓋的范圍可能不大, 可能遺漏未知的區(qū)域;3.方法沒有通用性,難以復(fù)制,因為不同的人的經(jīng) 驗和出發(fā)點都不一樣。66因果圖因果圖w如果在測試時必須考慮輸入條件的各種組合,可使用一種適合于描述對于多種條件的組合,相應(yīng)產(chǎn)生多個動作的形式來設(shè)計測試用例,這就需要利用因果圖。w因果圖方法最終生成的就是判定表。67w用因果圖生成測試用例的基本步驟:(1) 分析軟件規(guī)格說明描述中,哪些是原因 (即輸入條件或輸入條件的等價類),哪些是結(jié)果 (即輸出條件),并給每個原因和 結(jié)果賦予一個標(biāo)識符。(2) 分析軟件規(guī)格說明描述中的語義,找出原因與結(jié)果之間,原因與原因之間對應(yīng)的是什么關(guān)系? 根據(jù)這些關(guān)系,畫出因果圖。 68(3) 由于語法或環(huán)境限制,有些原因與原因之間,原因與結(jié)果之間的
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 1288-2024化學(xué)試劑四水合酒石酸鉀鈉(酒石酸鉀鈉)
- GB/T 44488-2024衛(wèi)星導(dǎo)航定位基準(zhǔn)站網(wǎng)數(shù)據(jù)處理規(guī)范
- GB/T 44552-2024粒度分布的測定氣溶膠顆粒差分電遷移率分析法
- 項目資金監(jiān)管協(xié)議
- 2024年勞務(wù)分包合同別墅屋面掛瓦
- 廣告代理公司承包經(jīng)營合同范本
- 專利技術(shù)轉(zhuǎn)讓合同范本
- 員工勞動合同書格式
- 項目借款協(xié)議模板
- 食品加工工藝學(xué)教學(xué)大綱
- 新型研發(fā)機(jī)構(gòu)備案申請表
- 血液透析患者水分控制的健康宣教
- 護(hù)理成績單模板
- DB52T 1041-2015 貴州省紅粘土和高液限土路基設(shè)計與施工技術(shù)規(guī)范
- 先天性甲狀腺功能減退癥研究白皮書
- 繪本成語故事:四面楚歌
- 孩子磨蹭和拖拉怎么辦
- 東尼 博贊經(jīng)典書系(套裝5冊):超級記憶
- DPPH和ABTS、PTIO自由基清除實驗-操作圖解-李熙燦-Xican-Li
- 高中生物教研組工作計劃(通用9篇)
- 郴州市建筑節(jié)能產(chǎn)品(材料)備案證明
評論
0/150
提交評論