趙秋鳴 湖南省腦科醫院
引言:隨著科技的發展,各種軟件走進了人們生活的方方面面,不管是政府醫院的計算機、家里用的計算機,甚至是每個人的手機中,都少不了軟件系統,因此軟件的性能以及質量的高低直接影響著人們的日常生活和工作,人們對于軟件質量的需求也在不斷地提高,為了保證軟件的有效性以及可靠性,在軟件開發中的軟件測試環節是必不可少的,只有對軟件進行了嚴格的測試,才可以排除軟件中存在的一些問題和不足,使其更好的滿足用戶的需求。本文主要針對軟件測試方法進行介紹,在此基礎上,對已有的軟件測試方法進行了分析。
軟件測試是軟件開發中的一個重要的環節,是通過執行代碼來找出軟件中存在的問題的過程。對于一個編寫完成的軟件系統而言,軟件開發者需要相關的證據來說明所開發軟件系統的可行性,這便需要進行基于規格說明的軟件測試程序,從另一個角度來說,用戶需要了解該軟件系統是否存在問題和不足,找出問題癥結所在,因此完整的軟件測試必須對以上兩點做到同時考慮。
在軟件測試過程中通常包括以下幾個問題:選擇測試用例,并且對其進行覆蓋范圍的評估,當在軟件測試過程中出現軟件系統需要發生變動時還要對測試用例進行修正。
現有的軟件測試方法中,如果按照被測軟件是否需要被運行來劃分可以將測試分為動態和靜態兩種測試方法,從另外一個角度來說,如果從是否針對待測軟件系統的具體算法和內部原理進行測試來分可以分為黑盒和白盒測試兩種。本文詳細研究了其中的動態測試和靜態測試兩種測試方法,并對其優缺點進行了分析。
靜態測試無需對待測程序進行運行,而是通過對源程序進行人工檢測或其他測試軟件對待測系統進行測試。相比于動態測試而言,靜態測試更早地對軟件進行測試,可以對源代碼進行走查以找出其中的問題,可以檢查出代碼中的具體問題,例如代碼是否具有可讀性,是否便于后期維護以及具體語句的編寫是否具有規范性,因此靜態測試是目前應用十分廣泛的一種自動化測試手段。但靜態測試存在自身的缺陷,即無法驗證程序的運行情況,也無法直觀的得出運行的結果。
與靜態測試相反,動態測試需要測試人員對待測程序進行運行,并通過相應的測試用例,找出系統中存在的問題,判斷待測軟件是否能夠正確運行以及運行結果是否符合要求。為了發現待測軟件內部的具體問題,一般需要對軟件內部的具體算法進行驗證,還需要對軟件的功能結果進行驗證,這便是測試內部問題的白盒測試以及測試結果功能的黑盒測試方法。一般而言,通常所提到的軟件測試主要是指這種需要運行程序的動態測試。
具體而言,黑盒測試的主要目的是對待測軟件的整體結構進行測試,而忽略其內部信息,通常是針對功能進行驗證。黑盒測試的操作更簡便、更適合集成性的測試。而對于白盒測試,更適合單元化的測試,可以對程序內部的每一部分進行運行驗證,了解軟件的內部結構以及功能的實現。
軟件測試是為了找出軟件系統中存在的問題并對其功能可行性進行驗證,一般需要從以下幾個步驟進行:首先第一步要對軟件進行單元測試,即對每一個單元內部進行測試,其次要進行集成測試,將各個單元集成成為系統進行全局測試,之后還需要進行確認測試,驗證系統功能是否滿足要求,即確認測試包括兩種結果,當測試結果顯示功能與要求相符合的時候,確認接受軟件,若所測試結果表明,當前軟件系統功能不滿足用戶需求的時候,用戶會選擇拒絕該軟件,該過程需要給出相應的測試報告以及軟件的使用手冊、項目總結等相關資料,最后要對系統進行相應的系統測試,通過與其他計算機以及外接設備相連接,在實際應用的環境下對整個系統進行實際的測試,以此來驗證系統的功能是否滿足需求,完成最終的測試過程。
本文對軟件開發中的軟件測試方法進行了介紹,重點介紹了軟件測試中的動態測試和靜態測試方法,針對其原理及優缺點進行了分析。只有通過軟件測試才可以驗證所開發系統是否滿足用戶要求是否具有可應用性,因此必須對軟件測試過程進行不斷優化,才能進一步促進軟件開發的順利進行。