- 相關推薦
軟件測試方法概述
隨著軟件系統規模的持續擴大,需求日益復雜,對軟件質量的要求也越來越高。然而,現實中軟件系統的質量卻不盡如人意,所以采取有效的軟件測試是保證軟件質量、提高軟件可靠性的重要手段。為了保證所提交的軟件產品能夠滿足客戶的需求以及在使用中的可靠性,必須對所開發的軟件產品進行系統而全面的測試。因此,對軟件測試的研究成為計算機技術的一個重要研究課題。下面我們大家一起聊聊軟件測試方法概述吧!
摘 要:軟件在開發過程中不可避免的要出現各種錯誤,為了最大限度地確保其質量必須進行軟件測試。文章即對軟件測試的主要方法進行了介紹與說明,以供參考。
關鍵詞:軟件質量;軟件測試;黑盒測試;白盒測試
1、引言
隨著計算機技術的迅速發展和越來越廣泛深入地應用于國民經濟和社會生活的各個方面,隨著軟件系統的規模和復雜性與日俱增,軟件的生產成本和軟件中存在的缺陷和故障造成的各類損失也大大增加,甚至會帶來災難性的后果。軟件質量問題已成為所有使用軟件和開發軟件的人關注的焦點。
由于軟件是人腦的高度智力化的體現和產品這一特殊性,不同于其他科技和生產領域,因此軟件與生俱來就有可能存在著缺陷。如何防止和減少這些可能存在的問題呢?回答是進行軟件測試。
測試是最有效的排除和防止軟件缺陷與故障的手段,并由此促進了軟件測試理論與技術實踐的快速發展,新的測試理論、測試方法、測試技術手段在不斷涌出,軟件測試機構和組織也在迅速產生和發展,由此軟件測試技術職業也同步完善和健全起來。
無論怎樣強調軟件測試的重要性和它對軟件可靠性的影響都是不過分的。在開發大型軟件系統過程中,我們力求在每一個階段結束之前通過嚴格的技術審查,盡可能早地發現并糾正差錯,如果在軟件投入生產性運行之前,沒有發現并糾正軟件中的大部分差錯,則這些差錯終究會在生產過程中暴露出來的,那時不僅改正這些差錯的代價更高,而且往往會造成很惡劣的后果。測試的目的就是在軟件投入生產運行之前,盡可能多地發現錯誤。
2、軟件測試的基本問題
一個軟件生命周期包括:制定計劃、需求分析定義、軟件設計、程序編碼、軟件測試、軟件運行、軟件維護、軟件停用等8個階段。
軟件測試的根本目的是為了保證軟件質量。軟件質量是指與軟件產品滿足規定的和隱含的需求的能力有關的特征或特征的全體。軟件質量反映以下三個方面:
1)軟件需求是度量軟件質量的基礎。
2)在各種標準中定義開發準則,用來指導軟件人員用工程化的方法來開發軟件。
3)往往會有一些隱含的需求沒有明確地提出。如果軟件只滿足那些精確定義的需求,而沒有滿足這些隱含的需求,軟件質量也不能得到保證。
軟件質量內涵包括:正確性、可靠性、可維護性、可讀性、結構化、可測試性、可移植性、可擴展性、用戶界面友好性、易學、易用、健壯性。
3、軟件測試的原則
1)盡早地和及時地測試應作為軟件開發人員的座右銘,測試應當從軟件產品開發初始階段即開始。
2)測試用例應當由測試數據和與之對應的預期結果這兩部分組成。
3)在程序提交測試后,應當由專門的測試人員進行測試,避免由程序設計者自行檢查程序。
4)測試用例應包括合理的輸入條件和不合理的輸入條件。
5)嚴格執行測試計劃,排除測試的隨意性。
6)充分注意測試當中的群體現象,測試經驗表明,約一半(47%)的錯誤僅與系統中4%的程序模塊有關。
7)應對每一個測試結果做全面的檢查。
8)保存測試計劃、測試用例、出錯統計和最終分析報告,為維護工作提供充分的資料。
4、軟件測試的種類及方法
軟件測試的種類大致可以分為人工測試和基于計算機的測試。而基于計算機的測試又可公為黑盒測試和白盒測試。這些測試方法在軟件開發的最后檢測階段有著重要的作用。
4.1黑盒測試
黑盒測試又稱功能測試。黑盒測試顧名思義就是將被測系統看成一個黑盒,完全不考慮程序的內部結構和處理過程,從外界取得輸入,然后再輸出。也就是,黑盒測試是在程序接口進行的測試,它只是檢查程序功能是否能按照規格說明書的規定正常使用,程序是否能適當地接收輸入數據產生正確的輸出信息,并保持外部信息的完整性。
黑盒測試在測試時,把程序看作一個不能打開的黑盆子,在完全不考慮程序內部結構和內部特性的情況下,測試者在程序接口進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息,并且保持外部信息(如數據庫或文件)的完整性。黑盒測試方法主要有等價類劃分、邊值分析、因果圖、錯誤推測等。
4.2白盒測試
白盒測試也稱結構測試,白盒測試需要知道產品內部工作過程,可以通過測試來檢測產品內部動作是否按照規格說明書的規定正常進行。也就是說,完全了解程序的結構和處理過程。這種方法按照程序內部的邏輯測試程序,檢驗程序中的每條通路是否都有能按預定要求正確工作,而不顧它的功能。白盒測試的主要方法有邏輯驅動、基本路徑測試等,主要用于軟件驗證。
粗略看起來,不論采用上述哪種測試方法,都不可能把所有可能的輸入數據都拿來進行所謂的窮舉測試,因為可能的測試輸入數據數目往往達到天文數字。因為不可能窮盡測試,所以軟件測試不可能發現程序中的所有錯誤,也就是說,通過測試并不能證明程序是正確的。但是,我們的目的是要通過測試保證軟件的可靠性,盡可能地發現錯誤并糾下錯誤,提高軟件的質量,因此,必須仔細考試設計測試方案,力爭用盡可能多的測試發現盡可能多的錯誤。
參考文獻:
[1]許靜,陳宏剛,王慶人等.軟件測試方法簡述與展望[J].計算機工程與應用,2003,39(13):75-78.
[2]戴凌宸,張朕榮,黎豐澤等.傳統的軟件測試方法淺析[J].科技風,2011,(16):136-137.
[3]董潔,孫惠娟.軟件測試方法及面向對象軟件的測試[J].河南科技:上半月,2011,(9):45-46.
[4]馬海云,魏凱斌.一種新的軟件測試方法的研究[J].自動化與儀器儀表,2010,(3):4-5.
[5]崔賽英.基于結構化軟件測試方法探究[J].軟件導刊,2011,10(12):32-34.
[6]周小涵,丁曉明.一種基于構件的嵌入式實時軟件測試方法[J].科學技術與工程,2010,10(13):3116-3120.
【軟件測試方法概述】相關文章:
測試軟件安全的方法10-05
軟件測試方法有哪些10-26
軟件測試中綜合測試的基本方法10-26
軟件測試簡歷10-06
軟件項目實施方案概述10-02
軟件測試實習報告11-25
軟件測試專業簡歷10-07
軟件測試簡歷模板10-06
軟件測試的實習報告05-19