




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、單元測試 單元測試(模塊測試)的元素 對程序中較小構成元素單個子程序或過程進行測試 動機 單元測試減輕了調試的難度,因為錯誤一旦發現,就知道它在哪個具體的模塊中 單元測試提供了同時測試多個模塊的可能,將并行工程引入了軟件測試。 目的 將模塊的功能與定義模塊的功能規格說明或接口規格說明進行比較,揭示出模塊與其規格說明之間存在的矛盾。第1頁/共18頁單元測試針對的問題 模塊接口:檢查進出單元的數據流是否正確 局部數據結構:測試內部數據是否完整?例如:不正確的類型說明,錯誤的初始化等。 路徑測試:發現由于不正確的判定或不正常的控制流而產生的錯誤,例如:不正確的邏輯操作或優先級,不適當地修改循環變量。
2、 邊界條件:測試邊界處程序是否正確工作? 出錯處理:測試出錯處理措施是否有效?例如:提供的錯誤信息不足,難以找到錯誤原因等。第2頁/共18頁5.1 測試用例的設計 需要的信息 模塊的規格說明:模塊的輸入和輸出以及模塊的功能 模塊的源代碼 測試用例的設計方法 單元測試總體上是面向白盒測試的(靜態、動態) 后續測試針對較大的元素不易進行白盒測試 后續測試著眼于發現其他類型的錯誤,不一定與程序邏輯結構有關 使用一種或多種白盒測試方法分析模塊的邏輯結構,然后使用黑盒測試方法對照模塊的規格說明補充測試用例第3頁/共18頁5.2 增量測試 測試單獨的模塊可能需要一個特殊的驅動模塊和一個或多個樁模塊 驅動模
3、塊是為測試編寫的一個小模塊,用來將測試用例驅動或傳輸數據到被測模塊。驅動模塊還需要向測試人員顯示被測模塊的結果。 樁模塊充當被測模塊調用的模塊,模擬該模塊的功能,接受被測模塊的調用指令。 例如測試模塊B時需要一個驅動模塊,和一個模擬模塊E的樁模塊ABDCFE第4頁/共18頁5.2 增量測試 單元測試除了要考慮如何設計一個有效的測試用例集之外,還有一個重要問題,就是模塊組裝方式 兩類測試方法 非增量測試:先獨立地測試每個模塊,然后再將所有這些模塊組裝成完整的程序測試,又稱為崩潰(big-bang)測試。 增量測試:將被測模塊組裝到測試完成的模塊集合中,然后再進行測試。注:在進行增量模塊測試時,單
4、元測試和集成是同步進行的,集成測試就是模塊測試的隱含部分,往往并不作為一個獨立的測試步驟。第5頁/共18頁非增量測試和增量測試增量測試非增量測試工作量?。菏褂们懊鏈y試過的模塊來取代非增量測試中所需要的驅動模塊或樁模塊。工作量較大:要設計驅動模塊和樁模塊可以較早發現模塊中與不匹配接口、不正確假設等編程錯誤。到了測試過程的最后階段,模塊之間才能“互相看到”容易進行調試,新出現的錯誤往往與最近添加的模塊有關直到整個程序組裝之后,模塊之間接口相關的錯誤才會浮現,難以定位測試可以進行地更徹底,每個模塊經受了更多的檢驗使用驅動模塊和樁模塊而非實際模塊,對被測試模塊的測試只影響自身在測試上花費的時間多,設計
5、驅動模塊和樁模塊所用時間少測試時間少,但設計驅動模塊和樁模塊需要大量時間并行性差可以同時并行測試很多模塊第6頁/共18頁5.3 自頂向下測試與自底向上測試 自頂向下測試 從程序的頂部或初始模塊開始測試。選擇后續模塊進行增量測試的原則是:至少一個調用該模塊的模塊事先經過了測試。有多種可能的測試序列時,應該考慮先測試關鍵模塊和I/O模塊 為了測試上層模塊,需要設計樁模塊,樁模塊通常要向被測模塊提供測試數據,如讀取外部數據文件 自底向上測試 從不調用其他模塊的終端模塊開始測試,選擇下一個模塊進行增量測試的原則是:該模塊調用的所有的模塊都已經事先經過了測試。 為了測試低層模塊,需要為它們設計驅動模塊:
6、即包含著有效的測試輸入、調用被測模塊且顯示輸出的模塊。第7頁/共18頁例子 圖中共有12個模塊A到L 模塊I包含IO的寫操作 模塊J包含IO的讀操作ACDBJIHGFLKE第8頁/共18頁自頂向下的增量測試 首先測試模塊A,需要設計代表模塊B,C,D的樁模塊;如圖 接著用實際模塊代替樁模塊,如B,并添加B的樁模塊;如圖 增量的序列有多種可能,例如:ABFJDICGEKHL,加入I后如圖AstubCstubDstubBstubFstubEBJFDstubHI第9頁/共18頁自頂向下的增量測試中的樁模塊顯示跟蹤信息顯示傳遞信息返回一個值根據輸入返回一個值ABCD第10頁/共18頁自底向上的增量測試
7、 第一步是測試E,J,G, K,L和I中的部分或全部模塊,既可以串行也可以并行進行;需要設計驅動模塊,有的驅動模塊可以供幾個測試模塊使用 接著測試的模塊序列有多種可能,如果接下來是測試較關鍵的模塊F,H,則用它們代替相應的驅動模塊,并加入它們的驅動模塊,如圖JDriverDriverLKIDriverFDriverDDriverH第11頁/共18頁自底向上的增量測試中的驅動模塊調用從屬模塊調用從屬模塊,并傳遞參數調用從屬模塊,并要求得到參數兼有B,C的功能ABCD第12頁/共18頁自頂向下測試和自底向上測試的比較自頂向下自頂向下優點如果主要缺陷發生在程序頂層將非常有利早期程序框架可以進行演示,
8、即提早發現主要的控制問題缺點必須開發樁模塊樁模塊可能要比最初表現的更復雜創建測試環境可能很難,甚至無法實現觀測測試輸出比較困難自底向上自底向上優點如果主要的缺陷發生在程序的底層將非常有利提早發現程序當中的主要算法問題測試環境比較容易建立觀測測試輸出比較容易缺點必須開發驅動模塊直到最后一個模塊添加進去,程序才形成一個整體第13頁/共18頁5.4 執行測試 審核測試用例 當測試用例造成模塊輸出的實際結果與預期結果不匹配的情況時,存在兩種可能:該模塊存在錯誤,或者測試用例不正確。因此,執行測試前應審核測試用例集。 使用自動化測試工具可以減少測試過程中的勞動,如流程分析工具等。 執行測試時,應該查找程
9、序的副作用,即模塊是否執行了不該執行的操作。 程序員不應測試自己編寫的模塊,最好交換測試;編寫調用模塊的程序員是測試被調模塊的最佳人選。 模塊測試的目的不是證明模塊能夠正確地運行,而是證明模塊中存在著錯誤。第14頁/共18頁單元測試的通過準則p命名符合規則p控制流程正確;p變量存取無誤差;p所有軟件單元達到質量度量指標;p功能與設計說明一致;p性能達到軟件設計指標;p覆蓋測試達到規定的覆蓋率;p對發現的問題已進行修改并通過回歸測試。第15頁/共18頁單元測試與集成測試 每個模塊完成單元測試后,需要按照結構圖把它們連接起來,進行集成測試。 集成測試往往不作為一個獨立的測試步驟,尤其對增量式模塊測試而言,它是其中的隱含部分。 集成測試人員應包括具有兩種背景的人員:熟知模塊的內部細節,并能從足夠高的層次上觀察整個系統 集成測試的內容 單元間的接口測試 全局數據結構測試 邊界和人為條件下的性能 軟件功能模塊的功能測試
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 簽定禁業協議書
- 煙臺大學法學院協議書
- 退賠諒解協議書
- 荒地合作協議書
- 男人分工協議書
- 聘用副總協議書
- 蘇聯撤軍協議書
- 租船傭金協議書
- 菜品保密協議書
- 材料員勞務聘用協議書
- 關愛父母健康知到章節答案智慧樹2023年哈爾濱商業大學
- 陜西全過程工程咨詢服務合同示范文本
- 公路水運工程施工企業(主要負責人和安全生產管理人員)考核大綱及模擬題庫
- 1KV送配電調試報告
- GB/T 5801-2020滾動軸承機制套圈滾針軸承外形尺寸、產品幾何技術規范(GPS)和公差值
- FZ/T 93029-2016塑料粗紗筒管
- 2022年12月山東省普通高中學業水平合格性考試語文仿真模擬試卷C(答題卡)
- 塑膠原料來料檢驗指導書
- 人教版音樂三年級下冊知識總結
- 共點力平衡的應用-完整版PPT
- 系桿拱橋工程測量施工方案
評論
0/150
提交評論