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