肖文濤 湖南省洞口縣第一中學
軟件測試方法的應用分析
肖文濤 湖南省洞口縣第一中學
軟件測試是軟件開發的核心,是軟件開發過程中非常關鍵的一環。本文主要對軟件測試方法在軟件開發過程中的應用進行分析。
軟件 測試方法 應用
隨著現代科學技術的不斷進步發展,軟件開發的規模不斷加大,軟件設計的復雜程度也在不斷增大,再加上隨著信息服務業的高速發展,人們對軟件產品的質量和可靠性提出了更高要求。而軟件測試則是以發現程序錯誤為目的一項測試工作,它能對軟件現存的缺陷進行有效彌補,并不斷地對軟件進行完善,進而生產出更高質量的產品。因此,在軟件實際投入運行之前,須嚴格對其進行測試工作,以保證軟件的質量和可靠性。
軟件測試方法的目的包括:發現軟件程序中的錯誤、對軟件是否符合設計要求以及是否符合合同中所要達到的技術要求進行有關驗證以及評估軟件的質量。最終實現將高質量的軟件系統交給用戶的目的。而軟件的基本測試方法主要有靜態測試和動態測試、功能測試、性能測試、黑盒測試和白盒測試等等。
軟件測試是軟件開發過程中一項不可或缺的技術工作,軟件測試的過程主要由單元測試、集成測試、系統測試與驗收測試這四個階段組成。為保證軟件測試的質量,下面從這四個階段對軟件測試方法的應用進行具體分析。
單元測試主要是對該軟件的模塊進行測試,通過測試以發現該模塊的實際功能出現不符合的情況和編碼錯誤。由于該模塊的規模不大,功能單一,結構較簡單,且測試人員可通過閱讀源程序清楚知道其邏輯結構,首先應通過靜態測試方法,比如靜態分析、代碼審查等,對該模塊的源程序進行分析,按照模塊的程序設計的控制流程圖,以滿足軟件覆蓋率要求的邏輯測試要求。另外,也可采用黑盒測試方法提出一組基本的測試用例,再用白盒測試方法進行驗證。若用黑盒測試方法所產生的測試用例滿足不了軟件的覆蓋要求,可采用白盒法增補出新的測試用例,以滿足所需的覆蓋標準。其所需的覆蓋標準應視模塊的實際具體情況而定。對一些質量要求和可靠性要求較高的模塊,一般要滿足所需條件的組合覆蓋或者路徑覆蓋標準。
集成測試是軟件測試的第二階段,在這個階段,通常要對已經嚴格按照程序設計要求和標準組裝起來的模塊同時進行測試,明確該程序結構組裝的正確性,發現和接口有關的問題,比如模塊接口的數據是否會在穿越接口時發生丟失;各個模塊之間因某種疏忽而產生不利的影響;將模塊各個子功能組合起來后產生的功能要求達不到預期的功能要求;一些在誤差范圍內且可接受的誤差由于長時間的積累進而到達了不能接受的程度;數據庫因單個模塊發生錯誤造成自身出現錯誤等等。同時因集成測試是界于單元測試和系統測試之間的,所以,集成測試具有承上啟下的作用。因此有關測試人員必須做好集成測試工作。在這一階段,一般采用的是白盒和黑盒結合的方法進行測試,驗證這一階段設計的合理性以及需求功能的實現性。
一般情況下,系統測試采用黑盒法來進行測試的,以此來檢查該系統是否符合軟件需求。本階段的主要測試內容包括健壯性測試、性能測試、功能測試、安裝或反安裝測試、用戶界面測試、壓力測試、可靠性及安全性測試等。為了有效保證這一階段測試的客觀性,必須由獨立的測試小組來進行相關的系統測試。另外,系統測試過程較為復雜,由于在系統測試階段不斷變更需求造成功能的刪除或增加,從而使程序不斷出現相應的更改,而程序在更改后可能會出現新的問題,或者原本沒有問題的功能由于更改導致出現問題。所以,測試人員必須進行回歸測試。
驗收測試是最后一個階段的測試操作,在軟件產品投入正式運行前的所要進行的測試工作。和系統測試相比而言,驗收測試與之的區別就只是測試人員不同,驗收測試則是由用戶來執行這一操作的。驗收測試的主要目標是為向用戶展示所開發出來的軟件符合預定的要求和有關標準,并驗證軟件實際工作的有效性和可靠性,確保用戶能用該軟件順利完成既定的任務和功能。通過了驗收測試,該產品就可進行發布。但是,在實際交付給用戶之后,開發人員是無法預測該軟件用戶在實際運用過程中是如何使用該程序的,所以從用戶的角度出發,測試人員還應進行Alpha測試或Beta測試這兩種情形的測試。Alpha測試是在軟件開發環境下由用戶進行的測試,或者模擬實際操作環境進而進行的測試。Alpha測試主要是對軟件產品的功能、局域化、界面、可使用性以及性能等等方面進行評價。而Beta測試是在實際環境中由多個用戶對其進行測試,并將在測試過程中發現的錯誤有效反饋給軟件開發者。所以在測試過程中用戶必須定期將所遇到的問題反饋給開發者。
軟件測試是一項較為復雜的系統工程,而軟件測試方法的應用能有力保證軟件的質量和可靠性。所以,在軟件測試的各個階段都必須按照有關要求和標準執行,只有這樣才能最終將一個合格的高質量的軟件產品提交給用戶。
[1]黃愛明.基于軟件測試的策略與測試方法應用分析[J].電腦知識與技術.2015(02)
[2]陶連.基于軟件測試策略及其測試方法的應用分析[J].科技創新與應用.2013(28)
[3]吳少君.軟件測試策略和測試方法的應用[J].硅谷.2013(15)
[4]張煥琪.軟件測試策略和測試方法的應用[J].電子商務.2011(02)