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