




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、編輯ppt1軟件測試工程師培訓軟件測試方法論編輯ppt2主要內容n1 軟件測試方法概述n2 軟件測試規范 n3 軟件測試用例設計黑盒測試n4 軟件測試用例設計白盒測試n5小結編輯ppt31 軟件測試方法概述n1.1 軟件測試活動及信息流n1.2 測試方法n1.3 生成測試用例的信息來源n1.4 小結編輯ppt41.1 軟件測試活動及信息流n測試是從大量的測試用例中選擇有限的測試用例發現軟件中的大部分缺陷的一種技術n好的測試用例的4個特性:n檢測軟件質量的有效性,是否能發現缺陷,或至少可能發現缺陷;n可仿效的測試用例可以測試很多內容,因而減少測試用例的數量;n經濟性,測試用例的執行、分析和調試是
2、否經濟1.測試用例的可修改性,每次軟件修改后對測試用例的維護成本編輯ppt5測試活動 標 識 標 志 測 試 條 件 ( 確 定 測 試 什 么 ) 和 測 試 的 優 先 級 設 計 設 計 測 試 用 例 ( 確 定 怎 么 測 試 ) 開 發 開 發 測 試 ( 設 計 腳 本 、 數 據 等 ) 執 行 執 行 測 試 用 例 將 測 試 結 果 與 比 較 期 望 進 行 比 較 編輯ppt6測試活動n1 測試條件取決于被測試驗證的項目或事件。如等價劃分、邊界值分析、因果圖等。測試條件是被測環境的描述,可以用多種方式描述:如簡單的語言,表格項形式或類似于流圖的圖表形式;標識測試條件的
3、活動最好與開發活動(即V模型左邊的活動)并行開展編輯ppt7測試活動n2 設計測試用例確定“怎樣測試”。測試用例(test case)是按一定順序執行的與測試目標(test object, 測試理由或目的)相關的一系列測試。測試用例設計將產生許多測試所包括的輸入值、期望結果及其他任何運行測試的有關信息,如環境要求。期望輸出包括應輸出或建立的內容,應修改或更新或應刪除的內容。期望輸出集可以是一個很大的集合。編輯ppt8測試活動n一個測試用例 測試用例:POS1036 先決條件: 作為數據輸入員注冊到定單系統顯示的主菜單 數據庫系統必須含有標準數據集合 確保系統中沒有其他活躍的新定單活動 步驟 輸
4、入 期望輸出 測試條件 1 建立用任何一個標準的訂單項建立一個新訂單,設置訂單數為 100 顯示訂單確認信息 VB10 VB20 2 確認訂單 打印具有正確細目購置訂單 VB10 3 打印新訂單報表 打印的新訂單報表就是新創建的訂單 VB10 VB23 4 取消訂單 打印正確的取消購置訂單信息 VB8 5 打印新訂單報表 無打印訂單輸出 VB8 編輯ppt9測試活動n3 開發測試用例包括準備測試腳本、測試輸入、測試數據以及期望輸出。測試腳本(test script)是 具有正規語法的數據和指令的集合,在測試執行自動工具使用中,通常以文件形式保存;必須先完成測試用例的先決條件(precondit
5、ion),然后再執行測試。測試用例可能要求專門的硬件或軟件,如網絡環境或打印機等;期望輸出可以組成成文件形式用于自動工具。對于手動測試,期望輸出僅僅只是簡單地記錄在手工測試過程或腳本中。設置用于自動比較的期望輸出比設置用于手工測試的期望輸出復雜得多。在自動工具中要求每項內容都要拼寫正確,而在手工測試中要求沒這么嚴格。 測試開發的任何工作可以提前進行(相對V模型左邊的活動進行),以后可以節省時間。編輯ppt10測試活動n4 執行測試用例 對于手動測試來講,測試者按事先準備好的手工過程進行測試,測試者輸入數據、觀察輸出、記錄發現的問題。 對于自動測試,可能只需要啟動測試工具,并告訴工具執行哪些測試
6、用例; 測試執行只能在軟件開發完成后進行,即V模型右邊的活動。編輯ppt11測試活動n5 將測試結果與期望輸出進行比較應該對每次測試的實際輸出進行分析研究,判斷軟件功能是否正確。該驗證可以是非正的測試者主觀判斷,也可以是將實際輸出與期望輸出進行嚴格準確的比較。一些信息比較,如可以在執行測試時進行顯示屏幕上的信息,另一些輸出比較,如修改數據庫記錄,只能在測試執行結束后進行。自動測試一般結合了這兩種方法。編輯ppt12測試階段的信息流 被測模塊 設 軟 系統 客 計 件 其他 戶 信 需 元素 參 息 求 與 被測模塊 被測模塊 單元測試 單元測試 單元測試 集成測試 確認測試 系統測試 驗收測試
7、 已 經 測試 過 的模塊 已集成的軟件 已確認的軟件 可交付的軟件 編輯ppt13測試階段的信息流測試階段的輸入信息有兩類:n軟件配置:這是測試的對象,包括需求說明書、設計說明書和被測的源程序等。n測試配置:包括測試計劃、測試步驟、測試用例(測試數據),以及具體實施測試的測試程序、測試工具等 編輯ppt141.2 測試方法n靜態方法n動態方法 n黑盒測試n白盒測試編輯ppt15靜態方法和動態方法 n靜態方法的主要特征是在用計算機測試源程序時,計算機并不真正運行被測試的程序,只對被測程序進行特性分析。因此,靜態方法常稱為“分析”,靜態分析是對被測程序進行特性分析的一些方法的總稱。n動態方法的主
8、要特征是計算機必須真正運行被測試的程序,通過輸入測試用例,對其運行情況(輸入/輸出的對應關系)進行分析。 編輯ppt16黑盒測試 黑盒測試(Blackbox Testing)又稱功能測試、數據驅動測試或基于規格說明的測試,是一種從用戶觀點出發的測試。用這種方法進行測試時,被測程序被當作一個黑盒,在不考慮程序內部結構和內部特性,測試者只知道該程序輸入和輸出之間的關系或程序的功能的情況下,依靠能夠反映這一關系和程序功能的需求規格說明書考慮確定測試用例和推斷測試結果的正確性。軟件的黑盒測試被用來證實軟件功能的正確性和可操作性。 編輯ppt17白盒測試 白盒測試(Whitebox Testing)又稱
9、結構測試、邏輯驅動測試或基于程序的測試。它依賴于對程序細節的嚴密檢驗,針對特定條件和/與循環集設計測試用例,對軟件的邏輯路經進行測試。在程序的不同點檢驗“程序的狀態”以判定其實際情況是否和預期的狀態相一致。軟件的白盒測試用來分析程序的內部結構。編輯ppt18白盒測試n白盒測試要求對某些程序的結構特性做到一定程度的覆蓋,或者說是“基于覆蓋的測試” 。最為常見的程序結構覆蓋有 :n語句覆蓋:它要求被測程序的每一可執行語句在測試中盡可能都檢驗過,這是最弱的邏輯覆蓋準則;n分支覆蓋或判定覆蓋:要求程序中所有判定的分支盡可能得到檢驗;n條件覆蓋:當判定式中含有多個條件時,要求每個條件的取值均得到檢驗;n
10、判定條件覆蓋:同時考慮條件的組合值及判定結果的檢驗;n路徑覆蓋:只考慮對程序路徑的全面檢驗。取得測試覆蓋的方法程序插裝 編輯ppt19白盒測試n既然黑盒測試是測試軟件與需求的一致性,為什么還要白盒測試?n編程是容易發生邏輯錯誤和作出不正確的假設n如對執行路徑假設不正確,會產生設計錯誤,白盒測試能發現這樣的錯誤n錄入錯誤是隨機的編輯ppt20黑盒測試與白盒測試的比較 黑 盒 測 試白 盒 測 試測 試 規 劃根據用戶的規格說明,即針對命令、信息、報表等用戶界面及體現它們的輸入數據與輸出數據之間的對應關系,特別是針對功能進行測試。根據程序的內部結構,比如語句的控制結構,模塊間的控制結構以及內部數據
11、結構等進行測試。特點優 點能站在用戶立場上進行測試。能夠對程序內部的特定部位進行覆蓋測試。缺 點不能測試程序內部特定部位。如果規格說明有誤,則無法發現。 無法檢驗程序的外部特性。 無法對未實現規格說明的程序內部欠缺部分進行測試。方 法 舉 例基于圖的測試等價類劃分邊值分析比較測試語句覆蓋判定覆蓋條件覆蓋判定/條件覆蓋基本路徑覆蓋循環覆蓋模塊接口測試編輯ppt21測試階段與測試方法測試階段目的執行者測試方法單元測試查找獨立模塊中邏輯錯誤、數據錯誤和算法錯誤軟件工程師白盒測試集成測試查找模塊之間接口錯誤軟件工程師測試人員白盒測試、自頂向下或自底向上確認測試確認軟件是否滿足軟件需求測試人員黑盒測試模
12、擬用戶操作系統測試對系統中各個組成部分進行綜合性檢驗測試人員黑盒測試模擬用戶操作回歸測試確認軟件變更后是否仍滿足軟件需求測試人員黑盒測試模擬用戶操作測試與測試用戶黑盒測試模擬用戶操作驗收測試確認軟件是否滿足用戶需求用戶、項目組測試人員黑盒測試模擬用戶操作編輯ppt221.3測試信息來源n基于軟件規約生成測試用例n基于軟件設計生成測試用例n基于程序生存測試用例編輯ppt231.4小結n軟件測試主要工作就是確定合適的測試用例;n測試過程貫穿在整個軟件開發活動中;n測試方法: 動態、靜態、黑盒、白盒等編輯ppt242軟件測試用例設計黑盒測試n2.0 概述n2.1 等價類劃分n2.2 因果圖 n2.3
13、 邊值分析 n2.4 判定表驅動測試n2.5 正交實驗設計法n2.6 自動測試用例生成方法n2.7 小結 編輯ppt25 2.0 概述n這種方法是把看做,測試人員完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求規格說明書,檢查程序的功能是否符合它的功能說明。n黑盒測試又叫做或。編輯ppt26n黑盒測試方法是在程序接口上進行測試,主要是為了發現以下錯誤:n ?n 在接口上,? ?n (例如數據文件)?n ?n ?黑盒測試目標編輯ppt27n用黑盒測試發現程序中的錯誤,必須在中確定測試數據,來檢查程序是否都能產生正確的輸出。n但這是的。編輯ppt28n假設一個程序P有輸入量X和Y及輸出量Z
14、。在字長為32位的計算機上運行。若X、Y取整數,按黑盒方法進行窮舉測試:n可能采用的 測試數據組: 232232 264 n如果測試一 組數據需要1毫秒,一年工作365 24小時,完成所有測試需5億年。編輯ppt292.1 測試用例設計方法等價等價類劃分類劃分n選取測試用例n等價類劃分的辦法是把程序的輸入域劃分成若干部分,然后從每個部分中選取少數代表性數據當作測試用例。n在分析需求規格說明的基礎上劃分等價類,列出等價類表。 編輯ppt302.1.1 等價類n所謂等價類是指某個輸入域的集合。它表示,如果用集合中的一個輸入條件作為測試數據進行測試不能發現程序中的錯誤,那么使用集合中的其它輸入條件進
15、行測試也不可能發現錯誤。也就是說,對揭露程序中的錯誤來說,集合中的每個輸入條件是等效的。 編輯ppt31有效等價類和無效等價類n在考慮等價類時,應該注意區別兩種不同的情況:n*有效等價類:有效等價類指的是對程序的規格說明是有意義的、合理的輸入數據所構成的集合。在具體問題中,有效等價類可以有一個,也可以是多個。n*無效等價類:無效等價類指對程序的規格說明是不合理的或無意義的輸入數據所構成的集合。對于具體的問題,無效等價類至少應有一個,也可能有多個。編輯ppt32等價類n輸入條件 有效等價類 無效等價類n輸入條件:項數可以從1到999 n有效等價類為“1項數999” n無效等價類為“項數999”
16、編輯ppt332.1.2 經典例子n“輸入三個整數作為三邊的邊長構成三角形。當此三角形為一般三角形、等腰三角形及等邊三角形時,分別做計算” n注意輸入和輸出條件有效等價類型 號碼 無效等價類 號碼 12 13 14 15 16 17 整數 1 a 為非整數 一邊為非整數 b 為非整數 c 為非整數 a,b 為非整數 兩邊為非整數 b,c 為非整數 a,c 為非整數 三邊 a,b,c 均為非整數 18 19 20 21 22 23 24 三個數 2 只給 a 只給一邊 只給 b 只給 c 只給 ab 只給兩邊 只給 b,c 只給 ac 給出三個以上 25 26 27 28 29 30 31 非零
17、數 3 a 為 0 一邊為零 b 為 0 c 為 0 a,b 為 0 二邊為零 b,c 為 0 a,c 為 0 三邊 a,b,c 均為 0 32 33 34 35 36 37 38 輸 入 條 件 輸 入 三 個 整 數 正數 4 a0 一邊0 b0 c0 a0 且 b0 二邊0 a0 且 c0 b0 且 c0 三邊均0:a0 且 b0 且 cc b+ca a+cb 5 6 7 a+b0 a+b=0 b+ca b+c=a a+cb a+c=b 45 構成等腰 三角形 a=b b=c 且兩邊之和 a=c 大于第三邊 8 9 10 輸 出 條 件 構成等腰 三角形 a=b=c 11 表 4.1 例
18、 1 的等價類型表 編輯ppt34有效等價類n 覆蓋有效等價類的測試用例:na b c 覆蓋等價類號碼n3 4 5 (1)-(7)n4 4 5 (1)-(7),(8)n4 5 5 (1)-(7),(9) n5 4 5 (1)-(7),(10)n4 4 4 (1)-(7),(11)編輯ppt35無效等價類編輯ppt362. 1.3 問題討論n問題:給出下面的有效和無效等價類n輸入條件:“統計全國各省、市、自治區的人口” n輸入條件:“標識符應以字母開頭” n輸入條件:長度為1-20的字符串n輸入條件:數據庫中的值域, CHAR(20), NOT NULL編輯ppt372. 2 測試方法因果圖因果
19、圖 n采用因果圖方法(Cause一Effect Graphics)能夠幫助我們按一定步驟,高效率地選擇測試用例,同時還能為我們指出,程序規格說明描述中存在著什么問題。 編輯ppt382. 2.1因果圖介紹 n4種符號分別表示了規格說明中向4種因果關系 n因果圖中使用了簡單的邏輯符號,以直線聯接左右結點。左結點表示輸入狀態(或稱原因),右結點表示輸出狀態(或稱結果)。 nCi表示原因,通常置于圖的左部;ei表示結果,通常在圖的右部。ci和ei均可取值0或1,0表示某狀態不出現,1表示某狀態出現。 (a)恒等 (b)非 V A (c)或 (d)與 圖 4.1 因果圖的基本符號 C1 e1 C1 e
20、1 C1 e1 C2 C2 C3 C1 e1 編輯ppt39關系n恒等:若ci是1,則ei也是1;否則ei為0。n非:若ci是1,則ei是0;否則ei是1。n或:若c1或c2或c3是1,則ei是1;否則ei為0。“或”可有任意個輸入。n與:若c1和c2都是1,則ei為1;否則ei為0。“與”也可有任意個輸入。編輯ppt40約束 n輸入狀態相互之間還可能存在某些依賴關系 n某些輸入條件本身不可能同時出現。輸出狀態之間也往往存在約束 編輯ppt41輸入條件約束類型n 對于輸入條件的約束有以下4類:n E約束(異):a和b中至多有一個可能為1,即a和b不能同時為1。n I約束(或):a、b和c中至少
21、有一個必須是1,即 a、b 和c不能同時為0。n O約束(唯一);a和b必須有一個,且僅有1個為1。nR約束(要求):a是1時,b必須是1,即不可能a是1時b是0。編輯ppt42輸出條件約束類型n輸出條件的約束只有:nM約束(強制):若結果a是1,則結果b強制為0。編輯ppt432. 2.2 步驟 n 分析程序規格說明的描述中,哪些是原因,哪些是結果。原因常常是輸入條件或是輸入條件的等價類。而結果是輸出條件。n分析程序規格說明的描述中語義的內容,并將其表示成連接各個原因與各個結果的“因果圖”。編輯ppt44步驟n由于語法或環境的限制,有些原因和結果的組合情況是不可能出現的。為表明這些特定的情況
22、,在因果圖上使用若干個特殊的符號標明約束條件。n把因果圖轉換成判定表。 n把判定表中每一列表示的情況寫成測試用例。編輯ppt452. 2.3 例子n軟件規格說明書n “第一列字符必須是A或B,第二列字符必須是一個數字,在此情況下進行文件的修改。但如果第一列字符不正確,則給出信息L,如果第二列字符不是數字,則給出信息M。”編輯ppt46原因和結果n原因:n 1第一列字符是A;n 2第一列字符是B;n 3第二列字符是一數字。n 結果:n 21修改文件;n 22 給出信息L;n 23給出信息M。編輯ppt47因果圖和具有約束的因果圖 n11為中間節點;n考慮到原因1和原因2不可能同時為1,因此在因果
23、圖上施加E約束。編輯ppt48判定表 n根據因果圖建立如下的判定表 表中8種情況的左面兩列情況中,原因和原因同時為1,這是不可能出現的,故應排除這兩種情況。表的最下一欄給出了6種情況的測試用例,這是我們所需要的數據。 1 2 3 4 5 6 7 8 1 1 1 1 1 0 0 0 0 2 1 1 0 0 1 1 0 0 3 1 0 1 0 1 0 1 0 條件 11 / / 1 1 1 1 0 0 原 因 22 / / 0 0 0 0 1 1 21 / / 1 0 1 0 0 0 動作 23 / / 0 1 0 1 0 1 結 果 測試 用例 / / / / A3 A8 AM A? B5 B4
24、 BN B! C2 X6 DY P; 編輯ppt492. 2.4 討論n在較為復雜的問題中,這個方法常常是十分有效的,它能有力地幫助我們確定測試用例 n如果哪個開發項目在設計階段就采用了判定表,也就不必再畫因果圖,而是可以直接利用判定表設計測試用例了。編輯ppt502. 3 測試用例設計方法邊值邊值分析分析 n在軟件設計和程序編寫中,常常對于規格說明中的輸入域邊界或輸出域邊界不夠注意,以致形成一些差錯。實踐證明,在設計測試用例時,對邊界附近的處理必須給予足夠的重視,為檢驗邊界附近的處理專門設計測試用例,常常取得良好的測試效果。 編輯ppt512. 2.1 邊值分析遵循的原則 n如果輸入條件規定
25、了取值范圍,或是規定了值的個數,應以該范圍的邊界內及剛剛超出范圍的邊界外的值,或是分別對最大、最小個數及稍小于最小、稍大于最大個數作為測試用例。例如,如果程序的規格說明中規定:“重量在10公斤至50公斤范圍內的郵件,其郵費計算公式為”。作為測試用例,我們應取10及50,還應取10.01,49.99,9.99及50.01等。如果另一問題規格說明規定:“某輸入文件可包含1至255個記錄,”,則測試用例可取1和255,還應取0及256等。編輯ppt52遵循以下幾條原則n針對規格說明的每個輸出條件使用前面的第(1)條原則。例如,某程序的規格說明要求計算出“每月保險金扣除額為0至116525元”,其測試
26、用例可取000及11652、還可取一001及116526等。如果另一程序屬于情報檢索系統,要求每次”最多顯示1條情報摘要”,這時我們應考慮的測試用例包括1和4,還應包括0和5等。 編輯ppt53遵循以下幾條原則n如果程序規格說明中提到的輸入或輸出域是個有序的集合(如順序文件、表格等),就應注意選取有序集的第一個和最后一個元素作為測試用例。 n分析規格說明,找出其它的可能邊界條件。 編輯ppt542. 2.2 例子n 某一為學生考試試卷評分和成績統計的程序,其規格說明指出了對程序的要求:n 程序的輸入文件由80個字符的一些記錄組成,這些記錄分為三組:n 標題n 這一組只有一個記錄,其內容為輸出報
27、告的名字。n 試卷各題標準答案記錄n 每個記錄均在第80個字符處標以數字“2”。該組的第一個記錄的第1至第3個字符為題目編號(取值為1一999)。第10至第59個字符給出第1至第50題的答案(每個合法字符表示一個答案)。該組的第2,第3個記錄相應為第51至第100,第101至第150,題的答案。n 每個學生的答卷描述n 該組中每個記錄的第80個字符均為數字“3”。每個學生的答卷在若干個記錄中給出。如甲的首記錄第1至第9字符給出學生姓名及學號,第10至第59字符列出的是甲所做的第1至第50題的答案。若試題數超過50,則第2,第3紀錄分別給出他的第51至第100,第101至第150題的解答。然后是
28、學生乙的答卷記錄。 若學生最多為200人,輸入數據的形式如圖4。15所示。 編輯ppt55n學生考卷評分和成績統計程序輸入數據的形式 編輯ppt56n 該程序應給出4個輸出報告,即: n 按學生學號排序,每個學生的成績(答對的百分比)和等級報告。n 按學生得分排序,每個學生的成績。n 平均分數,最高與最低分之差。n 按題號排序,每題學生答對的百分比。編輯ppt57輸入條件 測試用例 輸入文件 空輸入文件 標題 無標題記錄 只有 1 個字符的標題 具有 80 個字符的標題 出題個數 除了 1 個題 除了 50 個題 除了 51 個題 除了 100 個題 除了 999 個題 沒有出題 題目是非數值
29、量 答案記錄 標題記錄后沒有標準答案記錄 標準答案記錄多 1 個 標準答案記錄少 1 個 學生人數 學生人數為 0 學生人數為 1 學生人數為 200 學生人數為 201 學生答題 某學生只有 1 個答卷記錄,但有兩個標準答案記錄 該學生是文件中的第 1 個學生 該學生是文件中的最后 1 個學生 學生答題 某學生有 2 個答卷記錄,但只有 1 個標準答案記錄 該學生是文件中的第 1 個學生 該學生是文件中的最后 1 個學生 輸出條件 測試用例 學生得分 所有學生得分相同 所有學生得分不同 一些學生(不是全部)得分相同(用以計算等級) 1 個學生得 0 分 1 個學生得 100 分 輸出報告 (
30、1),(2) 1 個學生編號最小(檢查排序) 1 個學生編號最大 學生數恰好使報告印滿一頁(檢查打印) 學生數使報告 1 頁打印不夠,恰好多 1 人 輸出報告 (3) 平均值取最大值(所有學生都得滿分) 平均值為 0(所有學生都得 0 分) 標準偏差取最大值(1 學生得 0 分,1 學生得 100 分) 標準偏差相同(所有學生得分相同) 輸出報告(4) 所有學生都答對第 1 題 所有學生都答錯第 1 題 所有學生都答對最后 1 題 所有學生都答錯最后 1 題 題數恰好使報告打印在 1 頁上 報告打印完 1 頁后,恰剩 1 題未打 編輯ppt582. 4 判定表驅動測試判定表驅動測試 n在一些數
31、據處理問題中,某些操作是否實施依賴于多個邏輯條件的取值。也即在這些邏輯條件取值的組合所構成的多種情況下,分別執行不同的操作。處理這類問題的一個非常有力的分析和表達工具是判定表(Decision Table)。 編輯ppt592. 3.1 例子1n一張關于科技書閱讀指南的判定驅動表:3個問題8種情況 1 2 3 4 5 6 7 8 你覺得疲倦嗎? Y Y Y Y N N N N 你對內容感興趣嗎? Y Y N N Y Y N N 問 題 書中內容使你胡涂嗎? Y N Y N Y N Y N 請回到本章開頭重讀 x x 繼續讀下去 x x 跳到下一章去讀 x x 建 議 停止閱讀,請休息 x x
32、”讀書指南”判定表 編輯ppt60判定表組成n條件樁(Condition Stub)n動作樁(Action Stub)n條件項(Condition Entity)n動作項(Action Entity) 編輯ppt61規則及規則合并n任何一個條件組合的特定取值及其相應要執行的操作稱為規則。在判定表中貫穿條件項和動作項的一列就是一條規則。顯然,判定表中列出多少組條件取值,也就有多少條規則,即條件項和動作項有多少列。 n化簡 就是規則合并有兩條或多條規則 具有相同的動作, 并且其條件項之間 存在著極為相似的關系 兩條規則合并成一條 兩條規則的進一步合并 編輯ppt62一個規則合并的例子n一個規則合并
33、的例子 1 2 3 4 你覺得疲倦嗎? - - Y N 你對內容感興趣嗎? Y Y N N 問 題 書中內容使你胡涂嗎? Y N - - 請回到本章開頭重讀 x 繼續讀下去 X 跳到下一章去讀 x 建 議 停止閱讀,請休息 x 化減后的”讀書指南”判定表 編輯ppt632. 3.2 例子2n問題要求:”對功率大于50馬力的機器、維修記錄不全或已運行10年以上的機器,應給予優先的維修處理” n假定,“維修記錄不全”和“優先維修處理”均已在別處有更嚴格的定義 n按5步建立判定表 編輯ppt64建立判定表的步驟n確定規則的個數。這里有3個條件,每個條件有兩個取值,故應有2*2*2=8種規則。n列出所
34、有的條件茬和動作茬。 n填人條件項。為防止遺漏可從最后1行條件項開始,逐行向上填滿乙如第三行是: Y N Y N Y N Y N第二行是: Y Y N N Y Y N N等等。 編輯ppt65建立判定表的步驟n填人動作樁和動作頂。這樣便得到形如圖的初始判定表。 1 2 3 4 5 6 7 8 功率大于 50 馬力嗎? Y Y Y Y N N N N 維修記錄不全嗎? Y Y N N Y Y N N 條 件 運行超過 10 年嗎? Y N Y N Y N Y N 進行優先處理 x x X X X 動 作 作其他處理 X x x 初始判定表 編輯ppt66建立判定表的步驟n化簡。合并相似規則后得到
35、圖。 1 2 3 4 5 功率大于 50 馬力嗎? Y Y Y N N 維修記錄不全嗎? Y N N - - 條 件 運行超過 10 年嗎? - Y N Y N 進行優先處理 x x X 動 作 作其他處理 x x 化減后的判定表 編輯ppt672. 3.3 判定表在功能測試中的應用 n一軟件規格說明n(1)當條件1和條件2滿足,并且條件3和條件4不滿足,或者當條件1、3和條件4滿足時,要執行操作1。n(2)在任一個條件都不滿足時,要執行操作2。n(3)在條件1不滿足,而條件4被滿足時,要執行操作3。 編輯ppt68規則n只給出了16種規則中的4種 根據規格說明得到的判定表 默許的規則 規 則
36、1 規 則1 規 則1 規 則1 條 件1 Y Y N N 條 件2 Y - N - 條 件3 N Y N - 條 件4 N Y N Y 操 作1 x x 操 作2 x 操 作3 x 根 據 規 則 說 明 得 到 的 判 定 表 規 則5 規 則 6 規 則 7 規 則 8 條 件 1 - N Y Y 條 件 2 - Y Y N 條 件 3 Y N N N 條 件 4 N N Y - 默 許 操 作 x x x x 默 許 的 規 則 編輯ppt692.3.4 判定表的優點和缺點n優點:它能把復雜的問題按各種可能的情況一一列舉出來,簡明而易于理解,也可避免遺漏。n缺點:不能表達重復執行的動作
37、,例如循環結構。 其他?編輯ppt70使用判定表設計測試用例的Beizer條件n規格說明以判定表形式給出,或是很容易轉換成判定表。n條件的排列順序不會也不應影響執行哪些操作。n規則的排列順序不會也不應影響執行哪些操作。n每當某一規則的條件已經滿足,并確定要執行的操作后,不必檢驗別的規則。n如果某一規則得到滿足要執行多個操作,這些操作的執行順序無關緊要。nB。Beizer提出這5個必要條件的目的是為了使操作的執行完全依賴于條件的組合。其實對于某些不滿足這幾條的判定表,同樣可以借以設計測試用例,只不過尚需增加其它的測試用例罷了。 編輯ppt712.5正交實驗設計法n把軟件功能測試作為實驗的一種,從
38、大量的實驗點中選出適量有代表性的點,應用依據伽羅瓦理論導出的“正交表”,合理安排實驗的一種科學的實驗設計方法。n從規約中找出影響其功能實現的操作對象和外部因素作為因子,因子的取值作為狀態,構造因素分析表,利用正交表進行各因子的專題組合,構造有效的測試數據集,并由此建立因果圖。編輯ppt722.6 自動測試用例設計n一些測試工具可以進行部分測試用例自動化,“測試輸入生成工具”,該方法也可以用于某些場合,但自動工具不可能完全替代智力的測試活動;n自動方式可以生成大量的測試用例,但他不區分哪些測試是最重要的。這些要求有創造力的智力活動只能由測試人員完成。n所有測試生成工具依賴于生成測試的算法,工具比
39、使用相同算法的測試人員的測試更徹底、更精確,但人工測試時可以考慮附加測試。編輯ppt73三種測試輸入生成工具n基于代碼測試輸入生成n基于界面測試生成n基于規格說明測試生成編輯ppt74基于代碼測試輸入生成n通過檢測軟件代碼結構生成測試輸入。通過代碼的路徑由判斷點確定的段組成。自動生成每個路徑段邏輯覆蓋條件的輪廓文件。與覆蓋工具一起使用較好。n只產生測試輸入,還需要對測試輸出進行比較,不能判斷軟件產生的輸出是否正確,只是說明代碼應該做什么。也不能發現丟失的代碼n另一種方法:可以生成滿足較小變化測試準則的測試。變化測試(Mutation test)是指代碼或輸入做較小的改變,檢測系統是否可以正確地
40、處理或測試稍微改變的版本。該方法可以檢查系統的容錯能力和測試套件的充分性。 規 格 說 明 期 望 輸 出 測 試 輸 入 代 碼 測 試 輸 出 編輯ppt75基于界面測試生成n用于某些定義好的界面如GUI或Web應用生成測試。如果屏幕含有各種菜單、按鈕及檢查框,則工具生成訪問每個控件的測試事例。n還可以測試Internet和Intranet頁面。工具可激活WWW頁面的每個鏈接,然后對每頁做相同的測試;該方法對于發現某類缺陷是有效的,可以部分生成期望輸出,即連接存在或斷開狀況,但不能判斷連接是否在正確的位置;n該方法可以執行部分測試事例設計活動,產生測試輸出,對于檢測“roll-call”即
41、某個東西確實在某處確實有用。手工測試非常枯燥,應該采用自動測試。 規 格 說 明 期 望 輸 出 測 試 輸 入 代 碼 測 試 輸 出 編輯ppt76基于規格說明測試生成n在規格說明形式化并可被工具分析的前提下,基于規格說明測試工具可以生成測試輸入及期望結果;如果面向對象規格說明足夠嚴格的話,這種工具還可以進行面向對象規格說明的測試。n例如,如果一個輸入域的允許范圍被嚴格定義,那么工具可以產生邊界值以及有效等價類和無效等價類的樣值。n某些基于規格說明的工具可以進行結構化的英文規格說明或因果圖的測試,可以發現一些規格說明的缺陷,如規格說明含混或冗長n好處是檢查軟件應該做什么,而不是軟件做了什么
42、。n從規格說明中推導測試用例越枯燥,則這類工具的潛力就越大。 規 格 說 明 期 望 輸 出 測 試 輸 入 代 碼 測 試 輸 出 編輯ppt77自動測試用例生成的優點n自動化測試用例生成用于設計的繁瑣部分,如激活每個菜單項或者從已知的數據范圍計算邊界值;n可以生成針對源程序的一套完成的測試用例(代碼、界面和規格說明)n可以發現某種類型的缺陷,如丟失連接,非工作窗口項或者不符合規格說明的軟件;編輯ppt78自動測試用例生成的限制n基于代碼方法不能生成期望輸出n基于界面方法只能產生部分期望輸出n基于代碼和基于界面方法不能發現規格說明的缺陷;n基于規格說明的方法依賴于規格說明的質量;n所有的方法
43、可以產生大量的測試,而實際操作起來比較困難;n測試前仍需要專家判斷產生的測試的必要性,并考慮任何工具都無法產生的測試;編輯ppt792.7小結n理解和熟練使用4種進行測試用例設計的方法:等價類劃分、因果圖、邊值分析、判定表驅動;n自動測試用例設計的原理和方法,編輯ppt804、 軟件測試用例設計白盒測試n3.0 概述n3.1 程序結構分析n3.2 邏輯覆蓋n3.3 路徑分析n3.4 域測試n3.5 程序插裝n3.6 程序變異n3.7 小結編輯ppt81n此方法,它允許測試人員利用程序內部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。n通過在不同點檢查程序的狀態,確定實際
44、的狀態是否與預期的狀態一致。因此白盒測試又稱為結構測試或邏輯驅動測試。編輯ppt82n軟件人員使用白盒測試方法,主要想對程序模塊進行如下的檢查:n 對程序模塊的至少測試一次;n 對,;n 在循環的邊界和運行界限內執行循環體;n 測試,等。編輯ppt83n對一個具有的程序,。給出一個小程序的流程圖,它包括了一個執行20次的循環。n包含的不同執行路徑數達520條,對每一條路徑進行測試需要1毫秒,假定一年工作365 24小時,要想把所有路徑測試完,需3170年。編輯ppt84編輯ppt85n基本路徑測試方法把覆蓋的路徑數壓縮到一定限度內,。n它是在程序控制流圖的基礎上,方法。設計出的測試用例要保證在
45、測試中,程序的每一個可執行語句至少要執行一次。編輯ppt86n符號為控制流圖的一個結點,表示一個或多個無分支的PDL語句或源程序語句。箭頭為邊,表示控制流的方向。編輯ppt87n在選擇或多分支結構中,分支的匯聚處應有一個匯聚結點。n邊和結點圈定的區域叫做區域,當對區域計數時,圖形外的區域也應記為一個區域。n如果判斷中的條件表達式是由一個或多個邏輯運算符 (OR, AND, NAND, NOR) 連接的復合條件表達式,則需要改為一系列。編輯ppt88編輯ppt89編輯ppt90n程序的環路復雜性給出了,這是確保程序中每個可執行語句至少執行一次所必需的測試用例數目的上界。n從控制流圖來看,一條獨立
46、路徑是至少包含有一條在其它獨立路徑中從未有過的邊的路徑。編輯ppt91n例如,在圖示的控制流圖中,一組獨立的路徑是path1:1 - 11path2:1 - 2 - 3 - 4 - 5 - 10 - 1 - 11path3:1 - 2 - 3 - 6 - 8 - 9 - 10 - 1 - 11path4:1 - 2 - 3 - 6 - 7 - 9 - 10 - 1 - 11n路徑 path1,path2,path3,path4組成了控制流圖的一個基本路徑集。編輯ppt92n導出測試用例,。 n根據判斷結點給出的條件,選擇適當的數據以保證某一條路徑可以被測試到 。編輯ppt93n每個,。如果所有
47、測試用例都執行完畢,則可以確信程序中所有的可執行語句至少被執行了一次。n必須注意,一些獨立的路徑(如例中的路徑1),往往不是完全孤立的,有時它是程序正常的控制流的一部分,這時,這些路徑的測試可以是另一條路徑測試的一部分。編輯ppt94n n n n n n 。邏輯覆蓋是以的設計測試用例的技術。它屬白盒測試。編輯ppt95編輯ppt96L1(ace)A B A XA1021andandorA B A A B X A102101andandorandandA B A B X A20101andorandand編輯ppt97L2 (abd) =A B A X1021andandorA B A X10
48、21orandand= A A X B A X121021andandorandandA X B A X11021andorandand編輯ppt98L3 (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 X110201andorandorand編輯ppt99L4 (acd)A B A X A1021andandorA B A X A1021andandand編輯ppt100n語句覆蓋就是設計若干個測試用例,運行被測程序,使得。n在圖例中,正好所有的可執行語句
49、都在上,所以選擇設計測試用例,就可以覆蓋所有的可執行語句。編輯ppt101n測試用例的設計格式如下【輸入的(A, B, X),輸出的(A, B, X)】n為圖例設計滿足的測試用例是:【(2, 0, 4),(2, 0, 3)】 覆蓋 ace【L1】A B A B XA20101andorandand編輯ppt102n判定覆蓋就是設計若干個測試用例,運行被測程序,使得。n判定覆蓋又稱為。n對于圖例,如果選擇和,就可得滿足要求的測試用例:編輯ppt103n【(2, 0, 4),(2, 0, 3)】覆蓋 ace【L1】【(1, 1, 1),(1, 1, 1)】覆蓋 abd【L2】A X B A X11
50、021andorandandA B A B X A20101andorandand編輯ppt104n如果選擇路徑L3和L4,還可得另一組可用的測試用例:【(2, 1, 1),(2, 1, 2)】覆蓋 abe【L3】【(3, 0, 3),(3, 1, 1)】覆蓋 acd【L4】A X B A B X110201andorandorandA B A X A1021andandand編輯ppt105n條件覆蓋就是設計若干個測試用例,運行被測程序,使得程序中。n在圖例中,我們事先可對所有條件的取值加以標記。例如,n對于第一個判斷:n 條件 A1 取真為 ,取假為 條件 B0 取真為 ,取假為T1T1T
51、2T2編輯ppt106n對于第二個判斷:n 條件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)T3T3T4T4T T T T1234T T T T1234T T T T1234編輯ppt107或 測 試 用 例覆蓋分支 條件取值【(1, 0, 3),(1, 0, 4)】 L3(b, e) 【(2, 1, 1),(2, 1, 2)】 L3(b, e) T T T T1234T T T T1234編輯ppt108n判定條件覆蓋就是設計足夠的測試用例,使得,同時。編輯ppt109 測 試 用 例 覆蓋分支 條件取值【(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 X A20101andorandandA X B A X11021andorandand編輯ppt110編輯ppt111n條件組合覆蓋就是設計足夠的測試用例,運行被測程序,使得
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版二年級上冊數學期末測試卷(含答案)
- 《亞洲音韻》教學反思
- 退休職工商務活動協作協議
- 一年級數學計算題專項練習匯編
- 進出口貨物委托運輸合同
- 門面房出租合同書
- 通信工程施工分包合同
- 網絡游戲平臺用戶成長激勵協議
- 環境整治改造施工協議
- 主任助理工作計劃(5篇)
- 2024年民航安全檢查員(五級)資格理論考試題庫(重點500題)
- 冀教版五年級數學下冊教學課件 第五單元 長方體和正方體的體積整理與復習
- 公車拍賣拍賣工作方案
- 2023年山東高考政治試卷附答案
- C語言課程設計-家庭財務管理系統
- 二升三應用題100道
- 典當管理手冊
- 患者安全和護理風險管理
- 宮腔鏡相關知識考核試題及答案
- 七年級語文下冊知識梳理與能力訓練 06 古代詩歌五首理解性默寫與練習
- 山東省濟寧市任城區2024屆八年級語文第二學期期末監測試題含解析
評論
0/150
提交評論