李峙
中國電子技術標準化研究院 北京 100176
隨著現(xiàn)代化的不斷發(fā)展,信息化程度不斷加深,計算機軟件測試技術的水平愈發(fā)提高,邁入了新的發(fā)展階段??茖W規(guī)范的進行軟件測試可以促進計算機軟件開發(fā)進行自我迭代形成良性循環(huán),有效提升軟件開發(fā)的總體質(zhì)量。
計算機軟件測試保障著計算機軟件的正常使用,軟件開發(fā)者在軟件開發(fā)與編程過程中經(jīng)常會出現(xiàn)一些細小的漏洞與錯誤。這些錯誤難以被發(fā)現(xiàn),卻會影響軟件的正常使用,甚至改變軟件的性質(zhì),而要解決這一類問題,最簡單高效的方法是通過軟件測試,對軟件進行全方位的設計檢測、編程檢測,以期及時發(fā)現(xiàn)具體的問題,并加以修正。由于計算機軟件存在兼容性問題,部分計算機軟件與硬件不兼容,會導致無法運行的問題,因此對兼容性進行及時排查也是十分必要的,運用軟件測試獲取軟件運行效率與性能的同時,可以考察軟件與硬件的兼容性,從而明晰計算機軟件的兼容程度與實用程度。計算機軟件測試還包括安全測試,計算機網(wǎng)絡存在許多木馬病毒,它們會依附于計算機軟件,進而攻擊計算機系統(tǒng),會導致系統(tǒng)卡頓、癱瘓等問題。因此在計算機軟件進行測試的過程中,還要進行安全性測試,測試人員要考察計算機軟件的防攻擊能力,以提升其安全運行的能力,保障計算機軟件的正常使用與計算機系統(tǒng)的安全,防止木馬病毒入侵,避免產(chǎn)生不必要的損失[1]。
當前測試計算機軟件的具體包括黑盒測試、白盒測試等方法。其中,比較常用的一種測試方法是黑盒測試。黑盒測試可以檢測出軟件的各項功能是否正常,同時黑盒測試也稱為功能測試。黑盒測試把軟件程序看成一個無法開啟的黑盒子,而不需要去考慮其內(nèi)部的結構與特征,只需要測試軟件程序的接口。采用黑盒測試的方法主要是依據(jù)軟件設計驗證實現(xiàn)測試的量化問題,也可以通過采用等價類劃分法、邊界值分析法、錯誤推測法以及因果圖法等方式去實現(xiàn)。而對于白盒測試,它主要是通過了解程序內(nèi)部的具體結構特征來測試軟件程序,同時也被稱為邏輯驅(qū)動測試或結構測試。與黑盒測試相比,白盒測試是把軟件程序看作是可以打開的盒子,通過盒子內(nèi)部的結構調(diào)整以及測試邏輯的方式達到測試軟件的目的[2]。
軟件的測試與開發(fā)是相互交融的兩面,合理的軟件測試可以保障軟件開發(fā)的效率與可行度。目前,我國的計算機軟件測試與開發(fā)流程大致如下:在對一款計算機軟件進行立項后,由用戶方提供詳細的軟件需求,開發(fā)團隊對其整理形成完備的軟件需求規(guī)格說明書,團隊按照規(guī)格說明書對其進行開發(fā),在開發(fā)過程基本完成后,由測試團隊對軟件的功能性、運行效率、穩(wěn)定性、可移植性等方面進行測試,確保軟件能夠正常運行,輔助提升軟件的兼容性,確保軟件能夠在市面上絕大多數(shù)的應用平臺上正常運行,以滿足用戶的需求,之后對軟件的安全性進行測試,優(yōu)化軟件的邏輯內(nèi)核,提升其安全防護能力,阻止木馬病毒入侵,以保障計算機軟件的安全使用,進而保護用戶計算機系統(tǒng)的安全。具體而言,測試人員在測試過程中時會輸入一串隨機的數(shù)據(jù)進入被測試程序,觀察程序?qū)τ跀?shù)據(jù)的處理能力與精確度,同時還會輸入一些特定的數(shù)據(jù)參數(shù),以提升軟件數(shù)據(jù)處理的精確程度,從側(cè)面驗證了程序的可用性與可靠性。軟件若通過了隨機與特定數(shù)據(jù)參數(shù)測試,則說明軟件測試基本完成,繼而協(xié)助開發(fā)團隊對軟件進行后期的易用性與安全性優(yōu)化,若沒有通過則說明軟件開發(fā)仍存在缺陷和漏洞,需要及時修正或推翻重做。目前,我國已經(jīng)擁有了一些優(yōu)秀的計算機軟件測試程序,其科學性和實用性在通過大量測試案例驗證后也得到了廣泛證明,但由于軟件開發(fā)生態(tài)的原因,還存在一定的漏洞和缺陷,精確程度不夠高,出現(xiàn)了測試流程單一、部分軟件錯誤無法被檢測出來等問題,軟件測試的針對性仍有待加強,其中的技術差距需要得到重視與彌補[3]。
計算機軟件測試中存在的問題主要是由于技術不足與生態(tài)環(huán)境差異所導致的,針對這一問題,可以通過提升技術水平,改善計算機軟件生態(tài)環(huán)境來解決。第一,針對計算機軟件測試行業(yè)的技術薄弱環(huán)節(jié),行業(yè)可以加大資金投入,積極引進軟件測試行業(yè)的專業(yè)型人才,以提升行業(yè)的整體技術水平;還應定期對在崗的軟件測試人員進行培訓,如設立技術講座、組織技術競賽等,以提升在崗人員的技術水平,從而提升行業(yè)的整體水準;除此之外,還應培養(yǎng)行業(yè)的創(chuàng)新意識,提升創(chuàng)新能力,關注國內(nèi)外專業(yè)的軟件測試社區(qū),鼓勵行業(yè)人才多接觸軟件測試方面的新知識,提出新理論并運用于實踐中,以檢測其可行性,從而提升軟件測試的工作效率;還應對過去的測試工作進行回顧,總結優(yōu)秀的軟件測試案例與不足之處,以期提取軟件測試的高效方法,避開軟件測試的雷區(qū),降低測試工作的成本,提升精確度,保障計算機軟件的正常運行與安全使用。第二,應逐步改善計算機軟件開發(fā)的生態(tài)環(huán)境,制定相關的規(guī)章制度,以標準化、系統(tǒng)化的理念對行業(yè)進行規(guī)范,剔除行業(yè)中的低劣軟件、虛假軟件,以凈化軟件開發(fā)以及測試的生態(tài)環(huán)境;還應在國內(nèi)建立軟件測試的信息交流平臺,以保障各類優(yōu)秀的計算機軟件可以在平臺上得到流動,使各軟件開發(fā)團隊都可以及時獲取新興的開發(fā)理念與手段,消除地區(qū)差異所帶來的信息不對等現(xiàn)象,全面提升計算機軟件開發(fā)行業(yè)的整體實力,以期提高軟件開發(fā)的生態(tài)環(huán)境質(zhì)量,為我國的計算機軟件測試技術與開發(fā)應用提供動力。
綜上所述,在對計算機軟件進行測試的過程中,要遵循科學的原則,根據(jù)計算機編程邏輯進行逐步排查,優(yōu)化計算機軟件的邏輯內(nèi)核與使用界面,還要為軟件添加安全保護措施,以保障軟件的正常運行與安全使用,從而為我國計算機行業(yè)軟件測試與開發(fā)應用提供支持。