圖1 軟件測試的生命周期
軟件測試在軟件生存期中橫跨兩個階段。在軟件編碼階段,當編寫出一個模塊后,通常要對它進行必要的測試(稱為單元測試),這時測試與編碼屬于同一個階段。在編碼階段結束后,對軟件系統還要進行各種綜合測試(集成測試與系統測試),這是一個獨立階段,即軟件測試階段。在這個測試階段又有兩種性質不同的測試:研制單位內部進行的集成測試和系統測試與用戶(或第三方)進行的驗收性測試。
在軟件測試生命周期內,錯誤在軟件開發的每個階段都可能被帶入。在軟件測試中,某些錯誤被發現、分類、隔離,最終被糾正。由于軟件不斷被修改,所以這個過程是一個反復進行的過程。
三、測試方法和流程
軟件測試方法主要有黑箱測試方法與白箱測試兩類。黑箱測試又稱功能測試、數據驅動測試或基于規格說明的測試,是在完全不考慮程序內部結構和內部特性的情況下,檢查輸入與輸出之間關系是否符合要求。白箱測試又稱結構測試、邏輯驅動測試或基于程序的測試,是在已知程序內部結構的情況下設計測試用例的測試方法。顯然,白箱測試適合在單元測試中運用,而在獨立測試階段多采用黑箱測試方法。
測試用例(Test case)實際上是對軟件運行過程中所有可能存在的目標、運動、行動、環境和結果的描述,是對客觀世界的一種抽象。設計測試用例即設計針對特定功能或組合功能的測試方案,并編寫成文檔。測試用例應該體現軟件工程的思想和原則。測試用例的選擇既要有一般情況,也應有極限情況以及最大和最小的邊界值情況。因為測試的目的是暴露應用軟件中隱藏的缺陷,所以在設計選取測試用例和數據時要考慮那些易于發現缺陷的測試用例和數據,結合復雜的運行環境,在所有可能的輸入條件和輸出條件中確定測試數據,來檢查應用軟件是否都能產生正確的輸出。
軟件測試所得到的數據經過處理以后,可以用來作為評估軟件系統是否滿足用戶需求的依據。軟件測試階段的信息流如圖2所示:
文章來源于領測軟件測試網 http://www.kjueaiud.com/