軟件測試——模塊(單元)測試_第1頁
軟件測試——模塊(單元)測試_第2頁
軟件測試——模塊(單元)測試_第3頁
軟件測試——模塊(單元)測試_第4頁
軟件測試——模塊(單元)測試_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

模塊 單元 測試 測試單個子程序或過程 單元測試 單元測試 模塊測試 的元素對程序中較小構(gòu)成元素 單個子程序或過程進(jìn)行測試動機(jī)單元測試減輕了調(diào)試的難度 因?yàn)殄e誤一旦發(fā)現(xiàn) 就知道它在哪個具體的模塊中單元測試提供了同時測試多個模塊的可能 將并行工程引入了軟件測試 目的將模塊的功能與定義模塊的功能規(guī)格說明或接口規(guī)格說明進(jìn)行比較 揭示出模塊與其規(guī)格說明之間存在的矛盾 單元測試針對的問題 模塊接口 檢查進(jìn)出單元的數(shù)據(jù)流是否正確局部數(shù)據(jù)結(jié)構(gòu) 測試內(nèi)部數(shù)據(jù)是否完整 例如 不正確的類型說明 錯誤的初始化等 路徑測試 發(fā)現(xiàn)由于不正確的判定或不正常的控制流而產(chǎn)生的錯誤 例如 不正確的邏輯操作或優(yōu)先級 不適當(dāng)?shù)匦薷难h(huán)變量 邊界條件 測試邊界處程序是否正確工作 出錯處理 測試出錯處理措施是否有效 例如 提供的錯誤信息不足 難以找到錯誤原因等 5 1測試用例的設(shè)計(jì) 需要的信息模塊的規(guī)格說明 模塊的輸入和輸出以及模塊的功能模塊的源代碼測試用例的設(shè)計(jì)方法單元測試總體上是面向白盒測試的 靜態(tài) 動態(tài) 后續(xù)測試針對較大的元素不易進(jìn)行白盒測試后續(xù)測試著眼于發(fā)現(xiàn)其他類型的錯誤 不一定與程序邏輯結(jié)構(gòu)有關(guān)使用一種或多種白盒測試方法分析模塊的邏輯結(jié)構(gòu) 然后使用黑盒測試方法對照模塊的規(guī)格說明補(bǔ)充測試用例 5 2增量測試 測試單獨(dú)的模塊可能需要一個特殊的驅(qū)動模塊和一個或多個樁模塊驅(qū)動模塊是為測試編寫的一個小模塊 用來將測試用例驅(qū)動或傳輸數(shù)據(jù)到被測模塊 驅(qū)動模塊還需要向測試人員顯示被測模塊的結(jié)果 樁模塊充當(dāng)被測模塊調(diào)用的模塊 模擬該模塊的功能 接受被測模塊的調(diào)用指令 例如測試模塊B時需要一個驅(qū)動模塊 和一個模擬模塊E的樁模塊 5 2增量測試 單元測試除了要考慮如何設(shè)計(jì)一個有效的測試用例集之外 還有一個重要問題 就是模塊組裝方式兩類測試方法非增量測試 先獨(dú)立地測試每個模塊 然后再將所有這些模塊組裝成完整的程序測試 又稱為崩潰 big bang 測試 增量測試 將被測模塊組裝到測試完成的模塊集合中 然后再進(jìn)行測試 注 在進(jìn)行增量模塊測試時 單元測試和集成是同步進(jìn)行的 集成測試就是模塊測試的隱含部分 往往并不作為一個獨(dú)立的測試步驟 非增量測試和增量測試 5 3自頂向下測試與自底向上測試 自頂向下測試從程序的頂部或初始模塊開始測試 選擇后續(xù)模塊進(jìn)行增量測試的原則是 至少一個調(diào)用該模塊的模塊事先經(jīng)過了測試 有多種可能的測試序列時 應(yīng)該考慮先測試關(guān)鍵模塊和I O模塊為了測試上層模塊 需要設(shè)計(jì)樁模塊 樁模塊通常要向被測模塊提供測試數(shù)據(jù) 如讀取外部數(shù)據(jù)文件自底向上測試從不調(diào)用其他模塊的終端模塊開始測試 選擇下一個模塊進(jìn)行增量測試的原則是 該模塊調(diào)用的所有的模塊都已經(jīng)事先經(jīng)過了測試 為了測試低層模塊 需要為它們設(shè)計(jì)驅(qū)動模塊 即包含著有效的測試輸入 調(diào)用被測模塊且顯示輸出的模塊 例子 圖中共有12個模塊A到L模塊I包含IO的寫操作模塊J包含IO的讀操作 自頂向下的增量測試 首先測試模塊A 需要設(shè)計(jì)代表模塊B C D的樁模塊 如圖接著用實(shí)際模塊代替樁模塊 如B 并添加B的樁模塊 如圖增量的序列有多種可能 例如 ABFJDICGEKHL 加入I后如圖 自頂向下的增量測試中的樁模塊 顯示跟蹤信息 顯示傳遞信息 返回一個值 根據(jù)輸入返回一個值 自底向上的增量測試 第一步是測試E J G K L和I中的部分或全部模塊 既可以串行也可以并行進(jìn)行 需要設(shè)計(jì)驅(qū)動模塊 有的驅(qū)動模塊可以供幾個測試模塊使用接著測試的模塊序列有多種可能 如果接下來是測試較關(guān)鍵的模塊F H 則用它們代替相應(yīng)的驅(qū)動模塊 并加入它們的驅(qū)動模塊 如圖 自底向上的增量測試中的驅(qū)動模塊 調(diào)用從屬模塊 調(diào)用從屬模塊 并傳遞參數(shù) 調(diào)用從屬模塊 并要求得到參數(shù) 兼有B C的功能 自頂向下測試和自底向上測試的比較 5 4執(zhí)行測試 審核測試用例當(dāng)測試用例造成模塊輸出的實(shí)際結(jié)果與預(yù)期結(jié)果不匹配的情況時 存在兩種可能 該模塊存在錯誤 或者測試用例不正確 因此 執(zhí)行測試前應(yīng)審核測試用例集 使用自動化測試工具可以減少測試過程中的勞動 如流程分析工具等 執(zhí)行測試時 應(yīng)該查找程序的副作用 即模塊是否執(zhí)行了不該執(zhí)行的操作 程序員不應(yīng)測試自己編寫的模塊 最好交換測試 編寫調(diào)用模塊的程序員是測試被調(diào)模塊的最佳人選 模塊測試的目的不是證明模塊能夠正確地運(yùn)行 而是證明模塊中存在著錯誤 單元測試的通過準(zhǔn)則 命名符合規(guī)則控制流程正確 變量存取無誤差 所有軟件單元達(dá)到質(zhì)量度量指標(biāo) 功能與設(shè)計(jì)說明一致 性能達(dá)到軟件設(shè)計(jì)指標(biāo) 覆蓋測試達(dá)到規(guī)定的覆蓋率 對發(fā)現(xiàn)的問題已進(jìn)行修改并通過回歸測試 單元測試與集成測試 每個模塊完成單元測試后 需要按照結(jié)構(gòu)圖把它們連接起來 進(jìn)行集成測試 集成測試往往不作為一個獨(dú)立的測試步驟 尤其對增量式模塊測試而言 它是其中的隱含部分 集成測試人員應(yīng)包括具有兩種背景的人員 熟知模塊的內(nèi)部細(xì)節(jié) 并能從足夠高的層次上觀察整個系統(tǒng)集成測試的內(nèi)容單元間的接口測試全局?jǐn)?shù)據(jù)結(jié)構(gòu)測試邊界和人為條件下的性能軟件功能模塊的功能測試

溫馨提示

  • 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

提交評論