王慧
?
計算機軟件測試方法研究
王慧
華北計算技術研究所,北京 100083
計算機軟件測試與保護技術是確保計算機軟件質量的最關鍵辦法。計算機軟件測試是增強計算機軟件質量的重點所在,同時計算機軟件測試技術也是開發電腦軟件中最關鍵的技術手段。探究計算機軟件的測試辦法,有利于掌控計算機軟件測試辦法的好壞,通過詳細的操作來改良電腦的測試辦法,提高電腦測試辦法的可行性,進而提升電腦軟件的質量。
計算機:軟件:測試方法
一直以來,怎樣提高軟件產品質量都是人們關注的重點問題之一。軟件測試是檢測軟件瑕疵的重要方法和手段,能夠將軟件潛在的技術缺陷和問題識別出來。出于不同的目的,有著不一樣的軟件測試辦法。
計算機軟件測試技術就是讓軟件在特定環境下運行,并對軟件的運行全進程展開詳盡全方位的觀察,并記錄測試進程中得出的結果以及產生的問題。等到測試完成后,匯總軟件不同層面的性能,最后給出評價。軟件的測試類型可以從性能、可靠性、安全性進行劃分。遵照軟件的用處、性質及測試項目的類型,通過測試計算機軟件,可以快速發現與處理軟件中存有的問題,使計算機系統更加完備。通過計算機軟件測試的定義,可以得出計算機軟件測試技術的意義與作用在于將計算機系統中存有的問題全部暴露出來,再針對問題進行科學處理。首先,用戶期望能發覺并解決軟件中存有的隱藏問題,且軟件測試技術與用戶的要求相吻合;其次,開發軟件的工作人員則期望能通過軟件測試技術來證實自己開發的軟件是科學合理的,不存有毛病或者隱藏問題造成系統出錯的情況[1]。
當前,人們測試計算機軟件的定義使用的是20世紀70年代的計算機軟件測試,即所謂的軟件測試是執行檢查軟件所存在的瑕疵和漏洞的過程。這也就表明計算機軟件測試的主要目的是檢測出計算機軟件所存在的瑕疵和漏洞,而不是通過執行計算機軟件測試程序證明計算機軟件的正確性和高性能。計算機軟件測試成功與否的標志主要是看通過測試有沒有發現從未發現的錯誤[2]。由于計算機軟件的瑕疵和漏洞會隨著時間和其他條件的變化而有所不同,因此在一定程度上我們所說的計算機軟件的正確性是相對的,而不是絕對的。
黑盒測試不針對軟件內部邏輯結構內容進行檢測,它按照程序使用規范和要求來檢測軟件功能是否達到說明書介紹的效果。黑盒測試也稱功能測試方法,它主要負責測試軟件功能是否正常運行。在設計測試用例時,只需考慮軟件基本功能即可,無須對其內部邏輯結構進行分析。測試用例必須對軟件所有功能進行檢測。黑盒測試可以將軟件開發過程中漏掉的功能、接口、操作指令等問題檢測出來,為程序員改進軟件功能提供指導意見。
計算機軟件的白盒測試方式又可以稱為計算機軟件的邏輯驅動測試或者計算機軟件的結構功能測試,測試計算機軟件的代碼和運營路徑,以及軟件運營進程中的全部路徑。計算機軟件在白盒測試時,測試人員要先調查計算機軟件的總體結構,保證計算機軟件的結構是完好的,通過邏輯驅動測試來獲取計算機軟件的運營速率及路徑等相關數據,并加以剖析。在對電腦軟件展開白盒測試時,還是存有一定的問題。計算機軟件的檢測人員要先剖析電腦軟件的程序是否吻合標準,白盒測試無法檢測出電腦軟件程序存有的問題。如果電腦軟件程序自身存有毛病,白盒是測試不出的,那么在測定進程中就找不出計算機軟件的問題[3]。如果計算機軟件產生數據上的錯誤,那么計算機軟件的白盒測試就難以將軟件存有的問題測試出來。在測試軟件時,還要依靠JUnit Framework等軟件展開協助測試。
在以往的測試中,由于測試時間較晚導致管理者無法快速控制軟件開發存有的風險,并且越晚越容易出現問題,最后修改時會增加每一個單位的資金投入。從成本學的層面來講,控制資金與風險是很有必要的。想要快速處理此問題就要提早檢測,早發現早處理。首先我們要邊開發邊測試,在弄清楚客戶的要求后,就要依據要求編制一個完整的軟件測試計劃,伴隨剖析進程完成軟件的測試。在開發軟件時,測試人員要快速地對軟件展開測試,并依據測試結果得出專業化的評測報告[4]。這樣,開發人員就可通過檢測后的指標來適時調整軟件,也使管理者管理起來更容易。其次,要借助迭代的方式來開發軟件,將以往軟件開發的周期劃分為不同的迭代周期。測試人員可以逐個檢測每一個迭代周期,這樣將系統測試發生的時間提前,同時降低了項目的風險及開發成本。最后,將以往的測試方式改為集中測試、系統測試和驗收測試,將整體軟件的測試劃分為開發員測試與系統測試這兩個階段。這樣做的優點在于將軟件的測試擴展至整個開發人員的工作進程。這樣就將測試發生的時間提前,通過這樣的測試辦法可提早提高軟件的測試質量,減少軟件的測試資金投入。
連續測試的靈感來源于迭代式檢測方式。迭代式方式就是將軟件劃分為不同的小部分來展開檢測,這樣開發的軟件可劃分不同的小部分,也相對容易完成目標。在連續檢測的進程中也是如此,在開發軟件的進程中可將軟件劃分為每一個小部分來逐一解決。其中這些小部分可劃分為需求、設計、編碼、集成、檢測等一連串的開發行為。這些活動可將一些新功能集中起來。連續檢測就是通過不間斷檢測的迭代方法來完成的,發覺軟件中存有的問題,讓問題能夠快速得到處理,也可讓管理者輕松控制軟件的質量。
檢測整體軟件的作用在于盡早測試、連續測試,實際上就是提前檢測時間,快速發現問題。這種測試辦法是相當繁雜的,要是僅利用人工來展開檢測,很浪費人力資源,并且極容易產生錯誤[5]。所以,智能化檢測工具是不可缺少的。智能檢測的關鍵是借助軟件測試工具來完善軟件測試流程,這個程序對各種檢測都適用。
在我國軟件事業的飛速推動下,一些高端企業將軟件的質量監督與維護當作發展的重點,所以擁有一批測試能力強的專項人才,培養一批具備高素養的軟件檢測人員是我國軟件公司發展的當務之急。這些人才可以為軟件的開發提供完好的測試程序,使企業可以從容地展開軟件的測試與開發。
總而言之,計算機軟件測試可提高軟件的性能,讓計算機軟件滿足用戶的要求,從而給用戶提供更優的服務。為了能擁有專業水準高的測試隊伍,我國要注重培養軟件測試專業人才。
[1]閆巖. 計算機軟件測試方法的分析[J]. 數字技術與應用,2017(3):244.
[2]王丹. 計算機軟件測試方法的研究[J]. 黑龍江科技信息,2016(9):167.
[3]金陽,邱禹霏,徐亮. 關于計算機軟件安全檢測方法的討論[J]. 商,2013(3):285.
[4]于海澍. 計算機軟件測試技術概述[J]. 科技資訊,2009(9):30-31.
[5]馬瑞芳,王會燃. 計算機軟件測試方法的研究[J]. 小型微型計算機系統,2003,24(12):2210-2213.
Research on Computer Software Testing Methods
Wang Hui
North China Institute of Computing Technology, Beijing 100083
Computer software testing and protection technology is the most critical way to ensure the quality of computer software. Computer software testing is the focus of enhancing the quality of computer software, and computer software testing technology is also the most critical technical means in the development of computer software. Exploring the testing methods of computer software is conducive to controlling the quality of computer software testing methods, improving the testing methods of computers through detailed operations, improving the feasibility of computer testing methods, and improving the quality of computer software.
computer; software; test method
TP311.5
A