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

下載本文檔

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

文檔簡介

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

評論

0/150

提交評論