軟件工程黑盒測(cè)試.ppt_第1頁
軟件工程黑盒測(cè)試.ppt_第2頁
軟件工程黑盒測(cè)試.ppt_第3頁
軟件工程黑盒測(cè)試.ppt_第4頁
軟件工程黑盒測(cè)試.ppt_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

5 4黑盒測(cè)試的測(cè)試用例設(shè)計(jì)5 4 1等價(jià)類劃分法 等價(jià)分配 把所有可能的輸入數(shù)據(jù) 有效的和無效的 劃分成若干個(gè)等價(jià)的子集 稱為等價(jià)類別或等價(jià)區(qū)間 使得每個(gè)子集中的一個(gè)典型值在測(cè)試中的作用與這一子集中所有其它值的作用相同 可從每個(gè)子集中選取一組數(shù)據(jù)來測(cè)試程序 例 某報(bào)表處理系統(tǒng)要求用戶輸入處理報(bào)表的日期 日期限制在2003年1月至2008年12月 即系統(tǒng)只能對(duì)該段期間內(nèi)的報(bào)表進(jìn)行處理 如日期不在此范圍內(nèi) 則顯示輸入錯(cuò)誤信息 系統(tǒng)日期規(guī)定由年 月的6位數(shù)字字符組成 前四位代表年 后兩位代表月 如何用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例 來測(cè)試程序的日期檢查功能 如何劃分等價(jià)類 有效等價(jià)類 合理等價(jià)類 無效等價(jià)類 不合理等價(jià)類 劃分等價(jià)類的標(biāo)準(zhǔn) 覆蓋不相交代表性 劃分等價(jià)類的規(guī)則 1 如果輸入條件規(guī)定了取值范圍 可定義一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類 例輸入值是學(xué)生成績 范圍是0 100 0100 有效等價(jià)類0 成績 100 無效等價(jià)類成績 100 無效等價(jià)類成績 0 2 如果輸入條件代表集合的某個(gè)元素 則可定義一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類 劃分等價(jià)類的規(guī)則 3 如規(guī)定了輸入數(shù)據(jù)的一組值 且程序?qū)Σ煌斎胫底霾煌幚?則每個(gè)允許的輸入值是一個(gè)有效等價(jià)類 并有一個(gè)無效等價(jià)類 所有不允許的輸入值的集合 例 輸入條件說明學(xué)歷可為 專科 本科 碩士 博士四種之一 則分別取這四個(gè)值作為四個(gè)有效等價(jià)類 另外把四種學(xué)歷之外的任何學(xué)歷作為無效等價(jià)類 4 如果規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則 可確定一個(gè)有效等價(jià)類 符合規(guī)則 和若干個(gè)無效等價(jià)類 從不同角度違反規(guī)則 5 如已劃分的等價(jià)類各元素在程序中的處理方式不同 則應(yīng)將此等價(jià)類進(jìn)一步劃分成更小的等價(jià)類 用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例步驟 1 形成等價(jià)類表 每一等價(jià)類規(guī)定一個(gè)唯一的編號(hào) 2 設(shè)計(jì)一測(cè)試用例 使其盡可能多地覆蓋尚未覆蓋的有效等價(jià)類 重復(fù)這一步驟 直到所有有效等價(jià)類均被測(cè)試用例所覆蓋 3 設(shè)計(jì)一新測(cè)試用例 使其只覆蓋一個(gè)無效等價(jià)類 重復(fù)這一步驟直到所有無效等價(jià)類均被覆蓋 第一步 等價(jià)類劃分 輸入條件有效等價(jià)類無效等價(jià)類 報(bào)表日期的類型及長度 6位數(shù)字字符 1 有非數(shù)字字符 4 少于6個(gè)數(shù)字字符 5 多于6個(gè)數(shù)字字符 6 年份范圍 在2003 2008之間 2 小于2003 7 大于2008 8 月份范圍 在1 12之間 3 報(bào)表日期 輸入條件的等價(jià)類表 小于1 9 大于12 10 第二步 為有效等價(jià)類設(shè)計(jì)測(cè)試用例 測(cè)試數(shù)據(jù)期望結(jié)果覆蓋范圍 200306 等價(jià)類 1 2 3 輸入有效 對(duì)表中編號(hào)為1 2 3的3個(gè)有效等價(jià)類用一個(gè)測(cè)試用例覆蓋 1 6位數(shù)字字符 2 年在2003 2008之間 3 月在1 12之間 第三步 為每一個(gè)無效等價(jià)類設(shè)至少設(shè)計(jì)一個(gè)測(cè)試用例 測(cè)試數(shù)據(jù)期望結(jié)果覆蓋范圍 003MAY 等價(jià)類 4 輸入無效 20035 等價(jià)類 5 輸入無效 2003005 等價(jià)類 6 輸入無效 200105 等價(jià)類 7 輸入無效 200905 等價(jià)類 8 輸入無效 200300 等價(jià)類 9 輸入無效 200313 等價(jià)類 10 輸入無效 不能出現(xiàn)相同的測(cè)試用例 本例的10個(gè)等價(jià)類至少需要8個(gè)測(cè)試用例 例 對(duì)招干考試系統(tǒng) 輸入學(xué)生成績 子模塊設(shè)計(jì)測(cè)試錄入準(zhǔn)考證號(hào)的測(cè)試用例 準(zhǔn)考證號(hào)數(shù)據(jù)格式定義 共6為數(shù)字組成 其中第一位為專業(yè)代號(hào) 1 行政專業(yè) 2 法律專業(yè) 3 財(cái)經(jīng)專業(yè)后5位為考生順序號(hào) 編碼范圍為 行政專業(yè)準(zhǔn)考證號(hào)碼為 110001 111215法律專業(yè)準(zhǔn)考證號(hào)碼為 210001 212006財(cái)經(jīng)專業(yè)準(zhǔn)考證號(hào)碼為 310001 314015 準(zhǔn)考證號(hào)碼的等價(jià)類劃分有效等價(jià)類 1 110001 111215 2 210001 212006 3 310001 314015無效等價(jià)類 4 110000 5 111216 210000 6 212007 31000 7 314016 5 4 2邊界值分析法邊界值分析法與等價(jià)類劃分法區(qū)別 1 邊界值分析不是從某等價(jià)類中隨便挑一個(gè)作為代表 而是使這個(gè)等價(jià)類的每個(gè)邊界都要作為測(cè)試條件 2 邊界值分析不僅考慮輸入條件 還要考慮輸出空間產(chǎn)生的測(cè)試情況 被測(cè)試子域 測(cè)試內(nèi)點(diǎn) 測(cè)試外點(diǎn) 如果在懸崖峭壁邊可以自信地安全行走 平地就不在話下 如果軟件在能力達(dá)到極限時(shí)能夠運(yùn)行 那么在正常情況下就不會(huì)出什么問題 軟件邊界與懸崖很類似 輸入條件 報(bào)表日期的類型及長度 1個(gè)數(shù)字字符5個(gè)數(shù)字字符7個(gè)數(shù)字字符有1個(gè)非數(shù)字字符全部是非數(shù)字字符6個(gè)數(shù)字字符 顯示出錯(cuò)顯示出錯(cuò)顯示出錯(cuò)顯示出錯(cuò)顯示出錯(cuò)輸入有效 日期范圍 月份范圍 報(bào)表日期 邊界值分析法測(cè)試用例 測(cè)試用例說明 測(cè)試數(shù)據(jù) 期望結(jié)果 選取理由 52003520030052003 5MAY 200305 月份為1月月份為12月月份12 200301200312200300200313 200301200812200300200813 輸入有效輸入有效顯示出錯(cuò)顯示出錯(cuò) 輸入有效輸入有效顯示出錯(cuò)顯示出錯(cuò) 在有效范圍邊界上選取數(shù)據(jù) 僅有1個(gè)合法字符比有效長度少1比有效長度多1只有1個(gè)非法字符6個(gè)非法字符類型及長度均有效 最小日期最大日期剛好小于最小日期剛好大于最大日期 最小月份最大月份剛好小于最小月份剛好大于最大月份 有效等價(jià)類和用來測(cè)試getNumDaysInMonth 方法所選的有效輸入 有效等價(jià)類 一個(gè)月有31天 非閏年 1901 7 七月 一個(gè)月有31天 閏年 1904 7 七月 一個(gè)月有30天 非閏年 1901 6 六月 一個(gè)月有30天 閏年 1904 6 六月 一個(gè)月為28或29天 非閏年 1901 2 二月 月份輸入值 年份輸入值 一個(gè)月為28或29天 閏年 2 二月 1904 用來測(cè)試getNumDaysInMonth 方法的附加邊界值 等價(jià)類 可以被400整除的閏年 2000 2 二月 可以被100整除的非閏年 1900 2 二月 非正數(shù)無效月份 1291 0 正數(shù)無效月份 1315 13 月份輸入值 年份輸入值 5 4 3錯(cuò)誤推測(cè)法 errorguessing 根據(jù)經(jīng)驗(yàn) 直覺和預(yù)感來進(jìn)行測(cè)試?yán)?一定要考慮建立處理下列等價(jià)類 缺省值空白空值零值無輸入條件在已經(jīng)找到軟件缺陷的地方再找找 5 4 4因果圖法因果圖適合于描述對(duì)于多種輸入條件的組合 相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來設(shè)計(jì)測(cè)試用例 因果圖方法最終生成的是判定表 因果圖方法實(shí)例某電力公司有A B C D四類收費(fèi)標(biāo)準(zhǔn) 并規(guī)定 居民用電 100度 月按A類收費(fèi) 100度 月按B類收費(fèi)動(dòng)力用電 10000度 月 非高峰 B類收費(fèi) 10000度 月 非高峰 C類收費(fèi) 10000度 月 高峰 C類收費(fèi) 10000度 月 高峰 D類收費(fèi) 用因果圖表明輸入和輸出間的邏輯關(guān)系 1 I1 2 A B C 4 3 5 D I4 I3 I2 因 果 把因果圖轉(zhuǎn)換為判定表 組合條件 條件 原因 動(dòng)作 結(jié)果 A B C 1 2 3 1 2 3 4 5 6 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 4 1 0 1 0 5 0 0 1 1 D 0 0 0 1 1 0 0 1 0 0 0 0 測(cè)試用例 為判定表每一列設(shè)計(jì)一個(gè)測(cè)試用例 1列居民電 90度 月A2列居民電 110度 月B3列動(dòng)力電 非高峰 8000度 月B4列動(dòng)力電 非高峰 1 2萬度 月C5列動(dòng)力電 高峰 0 9萬度 月C6列動(dòng)力電 高峰 1 1萬度 月D 條件測(cè)試用例預(yù)期結(jié)果組合 輸入數(shù)據(jù) 輸出動(dòng)作 5 4 5狀態(tài)測(cè)試軟件必須測(cè)試程序的狀態(tài)及其轉(zhuǎn)換 測(cè)試軟件的邏輯流程建立狀態(tài)轉(zhuǎn)換圖減少要測(cè)試的狀態(tài)及轉(zhuǎn)換的數(shù)量 空閑 等待用戶輸入命令 按下Esc鍵顯示口令框 口令錯(cuò)誤消除 口令正確初始狀態(tài)消失 空閑 等待用戶輸入命令 按下Esc鍵 口令正確 口令錯(cuò)誤 不同形式的狀態(tài)轉(zhuǎn)換圖 在黑盒測(cè)試中 不必了解代碼中設(shè)置的地層變量 從軟件用戶的角度建立狀態(tài)圖即可 減少要測(cè)試的狀態(tài)及轉(zhuǎn)換的數(shù)量每種狀態(tài)至少訪問一次測(cè)試最常見最普遍的狀態(tài)轉(zhuǎn)換測(cè)試狀態(tài)之間最不常用的分支測(cè)試所有錯(cuò)誤狀態(tài)及其返回值 測(cè)試隨即狀態(tài)轉(zhuǎn)換失敗狀態(tài)測(cè)試找到測(cè)試軟件失敗的案例 競(jìng)爭(zhēng)條件和時(shí)序錯(cuò)亂重復(fù)壓迫重負(fù) 應(yīng)聯(lián)合使用 同時(shí)進(jìn)行 設(shè)置2Bwatch上的時(shí)間的順序圖 2Bwatch用戶 按下左和右按鈕 2Bwatch輸入 2Bwatch顯示 2Bwatch時(shí)間 時(shí)間 按下左按鈕 按下右按鈕 按下左和右按鈕 閃爍小時(shí) 閃爍分鐘 增加分鐘 刷新 提交更新時(shí)間 停止閃爍 2Bwatch設(shè)置時(shí)間功能的狀態(tài)圖和測(cè)試結(jié)果 按左按鈕按右按鈕 按左按鈕按右按鈕 4 2分鐘以后 測(cè)量時(shí)間 設(shè)置時(shí)間 電池沒電 3 按下左右按鈕 5 按下左右按鈕 蜂鳴 8 20年以后 7 20年以后 6 2 1 激勵(lì)因素 空集合 測(cè)量時(shí)間 1 初始變遷 測(cè)試的變遷 預(yù)期結(jié)果狀態(tài) 按下左邊按鈕 測(cè)量時(shí)間 2 同時(shí)按下兩個(gè)按鈕 設(shè)置時(shí)間 3 等2分鐘 測(cè)量時(shí)間 4 超時(shí) 5 5針對(duì)專門環(huán)境和應(yīng)用的測(cè)試5 5 1GUI測(cè)試常見GUI測(cè)試指南 對(duì)于窗口對(duì)于菜單和鼠標(biāo)操作對(duì)于數(shù)據(jù)項(xiàng) 5 5 2C S體系結(jié)構(gòu)的測(cè)試整體C S測(cè)試策略 三個(gè)不同層次 客戶端應(yīng)以 分離的 模式被測(cè)試 不考慮服務(wù)器和底層網(wǎng)絡(luò)的運(yùn)行 客戶端軟件和關(guān)聯(lián)的服務(wù)器端應(yīng)用被一起測(cè)試 網(wǎng)絡(luò)運(yùn)行不被明顯考慮 完整的C S體系結(jié)構(gòu) 包括網(wǎng)絡(luò)運(yùn)行和性能 被測(cè)試 C S常用測(cè)試方法客戶端應(yīng)用功能測(cè)試服務(wù)器測(cè)試 協(xié)調(diào)和數(shù)據(jù)管理功能 性能 數(shù)據(jù)庫測(cè)試事務(wù)測(cè)試網(wǎng)絡(luò)通信測(cè)試 5 5 3實(shí)時(shí)系統(tǒng)測(cè)試可采用以下四步策略 1 任務(wù)測(cè)試 2 行為測(cè)試 3 任務(wù)間測(cè)試 4 系統(tǒng)測(cè)試 1 任務(wù)測(cè)試 tasktesting 對(duì)每一個(gè)任務(wù)進(jìn)行單獨(dú)測(cè)試 白盒 黑盒測(cè)試 發(fā)現(xiàn)邏輯和功能上錯(cuò)誤 不能發(fā)現(xiàn)定時(shí)上和行為上錯(cuò)誤 2 行為測(cè)試 behavioraltesting 用CASE工具創(chuàng)建應(yīng)用系統(tǒng)模型 模擬實(shí)時(shí)系統(tǒng)行為 按類測(cè)試各種事件 如中斷 控制信號(hào) 數(shù)據(jù) 測(cè)試過的事件以隨機(jī)次序 隨機(jī)頻率送給系統(tǒng) 檢查軟件行為方面的錯(cuò)誤 3 任務(wù)間測(cè)試 intertasktesting 檢查與時(shí)間有關(guān)錯(cuò)誤 如用不同數(shù)據(jù)速率 處理負(fù)載測(cè)試相互通信的異步任務(wù) 通過消息隊(duì)列或數(shù)據(jù)存儲(chǔ)測(cè)試任務(wù)間的通信來找出數(shù)據(jù)存儲(chǔ)區(qū)錯(cuò)誤的范圍 4 系統(tǒng)測(cè)試 systemtesting 軟件 硬件組裝后 找出軟 硬件接口錯(cuò)誤 軟件測(cè)試的過程 單元測(cè)試 被測(cè)模塊 集成測(cè)試 設(shè)計(jì)信息 單元測(cè)試 被測(cè)模塊 單元測(cè)試 被測(cè)模塊 測(cè)試過的模塊 確認(rèn)測(cè)試 系統(tǒng)測(cè)試 軟件需求 其它系統(tǒng)元素 裝配好的軟件 確認(rèn)的軟件 可運(yùn)行的軟件 5 6軟件測(cè)試的步驟 軟件測(cè)試策略 單元測(cè)試 U C D R S I V ST 集成測(cè)試 確認(rèn)測(cè)試 系統(tǒng)測(cè)試 系統(tǒng)工程 軟件需求分析 軟件設(shè)計(jì) 代碼編寫 5 6 1單元測(cè)試一 單元測(cè)試的內(nèi)容主要對(duì)模塊的五個(gè)基本特性進(jìn)行評(píng)價(jià) 模塊 錯(cuò)誤處理 模塊接口 局部數(shù)據(jù)結(jié)構(gòu) 重要的執(zhí)行路徑 邊界條件 1 常見錯(cuò)誤類型 接口錯(cuò)誤I O錯(cuò)誤數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤算法錯(cuò)誤比較及控制邏輯錯(cuò)誤錯(cuò)誤處理錯(cuò)誤 2 模塊測(cè)試基本原則至少一次測(cè)試所有語句測(cè)試所有可能的執(zhí)行或邏輯路徑的組合測(cè)試每個(gè)模塊的所有入口和出口 3 確定單元測(cè)試數(shù)據(jù)集值域值類離散值值的次序集 測(cè)試順序文件和表 二 單元測(cè)試的方法單元測(cè)試一般為編碼步驟的附屬部分 模塊不是獨(dú)立的程序 自己不能運(yùn)行 要靠其它部分來調(diào)用和驅(qū)動(dòng) 要為每個(gè)單元測(cè)試開發(fā)兩個(gè)軟件 1 驅(qū)動(dòng)模塊 驅(qū)動(dòng)程序 相當(dāng)于主模塊 2 樁模塊 測(cè)試存根 連接程序 代替所測(cè)模塊調(diào)用的子模塊 單元測(cè)試的測(cè)試環(huán)境舉例 B A C D E 待測(cè)試模塊 單元測(cè)試的測(cè)試環(huán)境舉例 被測(cè)模塊B 驅(qū)動(dòng)模塊 模擬模塊A 樁模塊 測(cè)試存根 模擬模塊E 測(cè)試用例 測(cè)試結(jié)果 許多模塊不能用簡(jiǎn)單的軟件進(jìn)行充分的單元測(cè)試 此時(shí) 完全的測(cè)試可放到集成測(cè)試階段再進(jìn)行 單元測(cè)試的測(cè)試環(huán)境舉例 實(shí)際軟件 華氏到懾氏轉(zhuǎn)換模塊 溫度數(shù)據(jù) 實(shí)際配置 測(cè)試用例數(shù)據(jù) 結(jié)果 測(cè)試驅(qū)動(dòng)軟件 華氏到懾氏轉(zhuǎn)換模塊 結(jié)果 測(cè)試驅(qū)動(dòng)際配置 單元測(cè)試的測(cè)試環(huán)境舉例 溫度顯示模塊 溫度接口模塊 實(shí)際配置 測(cè)試驅(qū)動(dòng)際配置 溫度顯示模塊 程序員編寫的樁模塊 測(cè)試存根 溫度值的測(cè)試文件 5 6 2集成測(cè)試 組裝測(cè)試 集成測(cè)試需考慮的問題 數(shù)據(jù)穿越接口可能丟失 一模塊可能破壞另一模塊功能 子功能組裝可能未產(chǎn)生所要求的主功能 全程數(shù)據(jù)結(jié)構(gòu)可能出問題 誤差累積問題 集成測(cè)試方法通常采用黑盒測(cè)試技術(shù)實(shí)施策略 非漸增式測(cè)試漸增式測(cè)試 深度優(yōu)先廣度優(yōu)先 自頂向下結(jié)合自底向上結(jié)合 一 非漸增式集成方式一次就把所有通過了單元測(cè)試的模塊組合在一起進(jìn)行全程序的測(cè)試 缺點(diǎn) 發(fā)現(xiàn)錯(cuò)誤難以診斷定位 又稱 莽撞測(cè)試 二 漸增式集成方式從一個(gè)模塊開始 測(cè)一次添加一個(gè)模塊 邊組裝邊測(cè)試 以發(fā)現(xiàn)與接口相聯(lián)系的問題 自頂向下結(jié)合方式舉例 A D B E 模塊測(cè)試結(jié)合順序 C F 深度優(yōu)先 A B E C D F 廣度優(yōu)先 A B C D E F 自頂向下結(jié)合方式舉例 深度優(yōu)先 A 測(cè)試A S2 S1 S3 A 加入B S2 B S3 S4 A 加入E S2 B S3 E A 加入C C B S3 E 加入D C B D E 加入F C B D E A A F S5 自底向上結(jié)合方式舉例 A C B D F E E d1 C d3 F d4 B d2 E D d5 F 自底向上結(jié)合方式舉例 Mc D1 Ma Mb D2 D3 簇1 簇2 簇3 3 混合集成測(cè)試方法一般對(duì)軟件結(jié)構(gòu)的上層使用自頂向下結(jié)合的方法 對(duì)下層使用自底向上結(jié)合的方法 五 測(cè)試和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論