軟件測試的定義及常用軟件測試方法介紹.doc
《軟件測試的定義及常用軟件測試方法介紹.doc》由會員分享,可在線閱讀,更多相關《軟件測試的定義及常用軟件測試方法介紹.doc(5頁珍藏版)》請在裝配圖網上搜索。
軟件測試的定義及常用軟件測試方法介紹 一、 軟件測試的定義 1.定義:使用人工或者自動手段來運行或測試某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或弄清預期結果與實際結果之間的差別。 2.內容:軟件測試主要工作內容是驗證(verification)和確認(validation ),下面分別給出其概念: 驗證(verification)是保證軟件正確地實現(xiàn)了一些特定功能的一系列活動, 即保證軟件以正確的方式來做了這個事件(Do it right) 1.確定軟件生存周期中的一個給定階段的產品是否達到前階段確立的需求的過程 2.程序正確性的形式證明,即采用形式理論證明程序符合設計規(guī)約規(guī)定的過程 3.評市、審查、測試、檢查、審計等各類活動,或對某些項處理、服務或文件等是否和規(guī)定的需求相一致進行判斷和提出報告。 確認(validation)是一系列的活動和過程,目的是想證實在一個給定的外部環(huán)境中軟件的邏輯正確性。即保證軟件做了你所期望的事情。(Do the right thing) 1.靜態(tài)確認,不在計算機上實際執(zhí)行程序,通過人工或程序分析來證明軟件的正確性 2.動態(tài)確認,通過執(zhí)行程序做分析,測試程序的動態(tài)行為,以證實軟件是否存在問題。 軟件測試的對象不僅僅是程序測試,軟件測試應該包括整個軟件開發(fā)期間各個階段所產生的文檔,如需求規(guī)格說明、概要設計文檔、詳細設計文檔,當然軟件測試的主要對象還是源程序。 二、軟件測試常用方法 1. 從是否關心軟件內部結構和具體實現(xiàn)的角度劃分: a. 黑盒測試 黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把程序看作一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,在程序接口進行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息。黑盒測試著眼于程序外部結構,不考慮內部邏輯結構,主要針對軟件界面和軟件功能進行測試。 黑盒測試是以用戶的角度,從輸入數據和輸出數據的對應關系出發(fā)進行測試的,很明顯,如果本身設計有問題或者說明規(guī)格有錯誤,用黑盒測試是發(fā)現(xiàn)不了的。 黑盒測試法注重于測試軟件的功能需求,主要試圖發(fā)現(xiàn)下列幾類錯誤。 功能不正確或遺漏; 界面錯誤; 輸入和輸出錯誤; 數據庫訪問錯誤; 性能錯誤; 初始化和終止錯誤等。 從理論上講,黑盒測試只有采用窮舉輸入測試,把所有可能的輸入都作為測試情況考慮,才能查出程序中所有的錯誤。實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但可能的輸入進行測試。這樣看來,完全測試是不可能的,所以我們要進行有針對性的測試,通過制定測試案例指導測試的實施,保證軟件測試有組織、按步驟,以及有計劃地進行。黑盒測試行為必須能夠加以量化,才能真正保證軟件質量,而測試用例就是將測試行為具體量化的方法之一。具體的黑盒測試用例設計方法包括等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、判定表驅動法、正交試驗設計法、功能圖法等。 b.白盒測試 白盒測試也稱結構測試或邏輯驅動測試,它是按照程序內部的結構測試程序,通過測試來檢測產品內部動作是否按照設計規(guī)格說明書的規(guī)定正常進行,檢驗程序中的每條通路是否都能按預定要求正確工作。 這一方法是把測試對象看作一個打開的盒子,測試人員依據程序內部邏輯結構相關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試,通過在不同點檢查程序的狀態(tài),確定實際的狀態(tài)是否與預期的狀態(tài)一致。 白盒測試的測試方法有代碼檢查法、靜態(tài)結構分析法、靜態(tài)質量度量法、邏輯覆蓋法、基本路徑測試法、域測試、符號測試、Z路徑覆蓋、程序變異。 白盒測試的實施步驟: 1.測試計劃階段:根據需求說明書,制定測試進度。 2.測試設計階段:依據程序設計說明書,按照一定規(guī)范化的方法進行軟件結構劃分和設計測試用例。 3.測試執(zhí)行階段:輸入測試用例,得到測試結果。 4.測試總結階段:對比測試的結果和代碼的預期結果,分析錯誤原因,找到并解決錯誤。 白盒測試的優(yōu)點: 迫使測試人員去仔細思考軟件的實現(xiàn); 可以檢測代碼中的每條分支和路徑; 揭示隱藏在代碼中的錯誤; 對代碼的測試比較徹底; 最優(yōu)化; 白盒測試的缺點: 無法檢測代碼中遺漏的路徑和數據敏感性錯誤; 不驗證規(guī)格的正確性; c.灰盒測試 灰盒測試,是介于白盒測試與黑盒測試之間的,可以這樣理解,灰盒測試關注輸出對于輸入的正確性,同時也關注內部表現(xiàn),但這種關注不象白盒那樣詳細、完整,只是通過一些表征性的現(xiàn)象、事件、標志來判斷內部的運行狀態(tài),有時候輸出是正確的,但內部其實已經錯誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會很低,因此需要采取這樣的一種灰盒的方法。 2. 從軟件開發(fā)的過程按階段劃分有 a.單元測試 單元測試(unit testing),是指對軟件中的最小可測試單元進行檢查和驗證。對于單元測試中單元的含義,一般來說,要根據實際情況去判定其具體含義,如C語言中單元指一個函數,Java里單元指一個類,圖形化的軟件中可以指一個窗口或一個菜單等??偟膩碚f,單元就是人為規(guī)定的最小的被測功能模塊。單元測試是在軟件開發(fā)過程中要進行的最低級別的測試活動,軟件的獨立單元將在與程序的其他部分相隔離的情況下進行測試。 b.集成測試 集成測試,也叫組裝測試或聯(lián)合測試。在單元測試的基礎上,將所有模塊按照設計要求(如根據結構圖〕組裝成為子系統(tǒng)或系統(tǒng),進行集成測試。實踐表明,一些模塊雖然能夠單獨地工作,但并不能保證連接起來也能正常的工作。程序在某些局部反映不出來的問題,在全局上很可能暴露出來,影響功能的實現(xiàn)。 c.確認測試 確認測試的目的是向未來的用戶表明系統(tǒng)能夠像預定要求那樣工作。經集成測試后,已經按照設計把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經基本排除了,接著就應該進一步驗證軟件的有效性,這就是確認測試的任務,即軟件的功能和性能如同用戶所合理期待的那樣。 確認測試又稱有效性測試。有效性測試是在模擬的環(huán)境下,運用黑盒測試的方法,驗證被測軟件是否滿足需求規(guī)格說明書列出的需求。任務是驗證軟件的功能和性能及其他特性是否與用戶的要求一致。對軟件的功能和性能要求在軟件需求規(guī)格說明書中已經明確規(guī)定,它包含的信息就是軟件確認測試的基礎。 d.系統(tǒng)測試 系統(tǒng)測試,英文是System Testing。是將已經確認的軟件、計算機硬件、外設、網絡等其他元素結合在一起,進行信息系統(tǒng)的各種組裝測試和確認測試,系統(tǒng)測試是針對整個產品系統(tǒng)進行的測試,目的是驗證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案。系統(tǒng)測試發(fā)現(xiàn)問題之后要經過調試找出錯誤原因和位置,然后進行改正。是基于系統(tǒng)整體需求說明書的黑盒類測試,應覆蓋系統(tǒng)所有聯(lián)合的部件。對象不僅僅包括需測試的軟件,還要包含軟件所依賴的硬件、外設甚至包括某些數據、某些支持軟件及其接口等。 系統(tǒng)測試的步驟: 【Step1】 制定系統(tǒng)測試計劃 系統(tǒng)測試小組各成員共同協(xié)商測試計劃。測試組長按照指定的模板起草《系統(tǒng)測試計劃》。該計劃主要包括: 測試范圍(內容) 測試方法 測試環(huán)境與輔助工具 測試完成準則 人員與任務表 項目經理審批《系統(tǒng)測試計劃》。該計劃被批準后,轉向【Step2】。 【Step2】 設計系統(tǒng)測試用例 系統(tǒng)測試小組各成員依據《系統(tǒng)測試計劃》和指定的模板,設計(撰寫)《系統(tǒng)測試用例》。 測試組長邀請開發(fā)人員和同行專家,對《系統(tǒng)測試用例》進行技術評審。該測試用例通過技術評審后,轉向【Step3】。 【Step3】 執(zhí)行系統(tǒng)測試 系統(tǒng)測試小組各成員依據《系統(tǒng)測試計劃》和《系統(tǒng)測試用例》執(zhí)行系統(tǒng)測試。 將測試結果記錄在《系統(tǒng)測試報告》中,用“缺陷管理工具”來管理所發(fā)現(xiàn)的缺陷,并及時通報給開發(fā)人員。 【Step4】 缺陷管理與改錯 從【Step1】至【Step3】,任何人發(fā)現(xiàn)軟件系統(tǒng)中的缺陷時都必須使用指定的“缺陷管理工具”。該工具將記錄所有缺陷的狀態(tài)信息,并可以自動產生《缺陷管理報告》。 開發(fā)人員及時消除已經發(fā)現(xiàn)的缺陷。 開發(fā)人員消除缺陷之后應當馬上進行回歸測試,以確保不會引入新的缺陷。 e.驗收測試 驗收測試,系統(tǒng)開發(fā)生命周期方法論的一個階段,這時相關的用戶和/或獨立測試人員根據測試計劃和結果對系統(tǒng)進行測試和接收。它讓系統(tǒng)用戶決定是否接收系統(tǒng)。它是一項確定產品是否能夠滿足合同或用戶所規(guī)定需求的測試。這是管理性和防御性控制。 至此軟件測試的定義及常用方法已經介紹完畢了,但軟件測試遠遠不只這么簡單,上面列出的只是一些基本的概念,只有自己深入的去學習才能學的更多,走的更遠。 完結- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 軟件 測試 定義 常用軟件 方法 介紹
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://zhongcaozhi.com.cn/p-6690436.html