- 計算機(jī)軟件安全檢測方法 推薦度:
- 相關(guān)推薦
計算軟件的安全檢測方法
計算軟件的安全檢測方法【1】
摘要:隨著科學(xué)技術(shù)水平的不斷提高,計算機(jī)軟件在生產(chǎn)生活中的應(yīng)用也越來越廣泛,已經(jīng)深入到國民經(jīng)濟(jì)的各個領(lǐng)域,但隨之而來的軟件安全問題也正在得到大家的注意。
眾所周知,一旦軟件出現(xiàn)重大安全問題,將直接導(dǎo)致計算機(jī)文件的丟失,有的甚至造成系統(tǒng)癱瘓等更為嚴(yán)重的后果。
本文主要以計算機(jī)軟件的安全檢測為研究對象,對計算機(jī)軟件安全的檢測方法進(jìn)行了相關(guān)論述。
關(guān)鍵詞:計算機(jī)檢測方法;軟件安全;計算機(jī)安全
計算機(jī)軟件安全檢測主要是為了避免由于軟件應(yīng)用問題所產(chǎn)生的潛在的安全風(fēng)險。
近年來針對計算機(jī)的軟件安全檢測,越來越受到社會各界的重視,關(guān)于計算機(jī)軟件安全的檢測方法,也在不斷的討論與研究中被大家認(rèn)識。
本文主要針對計算機(jī)軟件的安全檢測方法進(jìn)行了相關(guān)論述,以期更好的預(yù)防計算機(jī)軟件安全問題。
一、計算機(jī)軟件安全測試的重要性分析
計算機(jī)軟件的安全檢測是在計算機(jī)軟件開發(fā)過程中的十分重要的環(huán)節(jié),計算機(jī)軟件檢測的主要目標(biāo)是為了發(fā)現(xiàn)軟件中可能存在的一些故障問題,從而可以有效的預(yù)防計算機(jī)存在的潛在風(fēng)險。
計算機(jī)的安全測試是保障計算機(jī)程序安全的有效手段。
從目前計算機(jī)安全測試的方法來看,一般是分為靜態(tài)測試和動態(tài)測試。
就計算機(jī)軟件安全測試來講,計算機(jī)軟件安全檢測是為了檢測計算機(jī)是否能夠安全運(yùn)行計算機(jī)軟件預(yù)定所預(yù)設(shè)的程序。
軟件測試的過程一般包括功能測試和滲透測試以及驗證過程這三個主要程序。
計算機(jī)軟件安全測試的安全性和一般意義上所說的軟件缺陷存在著很大區(qū)別,軟件安全檢測所側(cè)重的是軟件應(yīng)該做什么,而不是可以做什么。
在進(jìn)行計算機(jī)軟件安全檢測時,一般分為計算機(jī)安全檢測和計算機(jī)安全漏洞檢測。
計算機(jī)安全功能的測試是檢測計算機(jī)的軟件安全功能和安全功能之間的步調(diào)是否一致。
軟件的安全功能測試所涉及的內(nèi)容非常的廣泛,具體包括了機(jī)密性和授權(quán),同時還包括訪問控制及安全管理等等。
相比之下計算機(jī)軟件的安全漏洞就非常不同,主要是針對軟件中可能存在的一些缺陷進(jìn)行測試,如果不進(jìn)行相關(guān)測試。
則該缺陷很有可能會導(dǎo)致軟件日常的應(yīng)用中出現(xiàn)故障,所以,進(jìn)行計算機(jī)安全測試是十分有必要的。
二、計算機(jī)軟件安全檢測的注意事項
計算機(jī)的軟件安全測試是一個動態(tài)的測試過程,在實際操作過程中需要注意以下事項。
首先要針對所檢測的計算機(jī)軟件進(jìn)行深入的了解,了解計算性軟件的相關(guān)特性。
經(jīng)過綜合分析后,進(jìn)行選擇想對應(yīng)的檢測技術(shù)手段,本著從實際出發(fā)的角度制定出安全合理的檢測方案,方案必須經(jīng)濟(jì)合理且保證檢測的效果。
在人員配置方面,要注意檢測人員專業(yè)的多源化。
在進(jìn)行計算機(jī)的軟件安全檢測的時候,不僅僅是要配備相應(yīng)的軟件安全分析人員,同時還需要與軟件設(shè)計相關(guān)的總體設(shè)計人員,只有多方面全力配合,才能分析解決軟件測試中的多種疑難問題。
其次在進(jìn)行計算軟件安全的相關(guān)檢測時,對系統(tǒng)級以及需求級和代碼級的分析是必須進(jìn)行的。
當(dāng)軟件規(guī)模較大的時候,還要對軟件的結(jié)構(gòu)設(shè)計方面進(jìn)行必要的分析。
在進(jìn)行分析的過程中要選擇實際工作中較為合理的分析方法,一般采用仿真環(huán)境和相應(yīng)的分析工具來進(jìn)行相關(guān)的檢測工作。
計算機(jī)檢測是一個系統(tǒng)的過程,單一的方法有時候往往難以獨(dú)立完成,需要多方面技術(shù)人才的通力配合才能準(zhǔn)確無誤的完成檢測。
三、計算機(jī)軟件安全檢測方法論述
(一)計算機(jī)軟件測試的步驟
對于計算機(jī)軟件的程序來講,規(guī)模較大的軟件系統(tǒng)一般是由是由一些子系統(tǒng)共同組成的,而不同的一些子系統(tǒng)又由若干個小的模塊構(gòu)成。
計算機(jī)軟件測試一般的步驟是,先進(jìn)行一定的單元測試,就是通常所說的模塊測試,模塊測試一般是依據(jù)軟件設(shè)計中的最小單位所進(jìn)行的測試。
模塊測試的目標(biāo)是為了發(fā)現(xiàn)系統(tǒng)模塊可能存在的一些缺陷。
在模塊測試之后,將所有的模塊按照一定的程序進(jìn)行設(shè)計并組裝成系統(tǒng)。
并且需要對相關(guān)的體系進(jìn)行一定的安全測試。
在此基礎(chǔ)之上,進(jìn)一步進(jìn)行有效性的測試,有效性測試是十分必要的步驟。
有效性測試的主要目的是對軟件的性能和功能進(jìn)行檢查,檢測是否與用戶的需求相吻合。
最后的步驟是進(jìn)行系統(tǒng)測試,就是通過有效性的軟件將計算機(jī)支持軟件、數(shù)據(jù)已經(jīng)硬件等結(jié)合起來進(jìn)行測試。
(二)計算機(jī)軟件安全檢測的方法論述
1.形式化與模型的安全測試。
對于安全檢測方法來講,首先是要確立軟件的數(shù)學(xué)模型,運(yùn)用形式規(guī)格說明語言的支持來進(jìn)行形式化的規(guī)格說明。
一般經(jīng)常用到的形式規(guī)格和語言包括了基于模型語言、以及基于有限狀態(tài)的語言和基于行為的語言。
基于模型的安全的功能測試方法該方法,是對計算機(jī)的軟件行為和結(jié)構(gòu),通過建模的方式生成測試的模型。
然后以測試模型作為基礎(chǔ)進(jìn)而生成檢測,從而驅(qū)動軟件的計算機(jī)安全檢測。
一般較為常用的模型安全功能測試的方法主要有馬爾可夫鏈。
2.語法測試與故障注入的安全測試。
語法測試是對被檢測的軟件的功能接口的語法生成的軟件測試輸入的方法。
這種方法可以測試軟件對于不同類型輸入的反應(yīng)情況。
語法測試進(jìn)行測試的程序是對軟件接口的語言的識別以及定義語言的語法。
故障注入的安全性測試是利用故障分析樹和故障樹的最小割集來進(jìn)行檢測。
故障分析樹分析法使用系統(tǒng)最不應(yīng)該出現(xiàn)的時間作為頂事件,以此來尋找故障可能發(fā)生的中間事件和底事件,故障注入法可以提高檢測的自動化程度,是比較充分的計算機(jī)安全檢測方法。
3.模糊測試與基于屬性的測試。
模糊測試,目前使用較多的是基于白盒的模糊測試方法,這種方法是對傳統(tǒng)意義上的模糊測試方法的一種進(jìn)步。
這種檢測方法比較有效的結(jié)合了傳統(tǒng)的模糊測試與動態(tài)的測試方法。
而基于屬性的測試的測試方法是先確定軟件的安全編程規(guī)則,然后將確定的規(guī)則編碼做為安全屬性來驗證系統(tǒng)是不是遵守這些程序。
這種檢測方法的主要優(yōu)勢在于能夠比較有效的分析安全漏洞的擴(kuò)展性和交互性等。
四、結(jié)束語
計算機(jī)軟件的安全測試對于計算機(jī)的正常使用有著非常重要的意義,本文主要介紹了計算機(jī)軟件測試的幾種比較常見的方法,通過分析計算機(jī)軟件測試的重要意義,引起對計算機(jī)軟件安全的重視,探究出更科學(xué)合理的計算機(jī)軟件測試方法,以保證計算機(jī)軟件的安全。
參考文獻(xiàn):
[1]王維靜,王樹明,陳震,申春,彭秀增. 軟件安全的多指標(biāo)綜合評測[J].計算機(jī)工程與應(yīng)用,2006,(11)
[2]William B Bierce,Michael Harold. New Us patent gwildelines offer hope to software developers in era of diminishing copyright protection .Tolley‘s computer law And Practise,1995,Vol.11,Vol.11 (No.4)
[3]Shahid Alikhan,Raghunath Mashelkar.Intellectual Property and Competitive Strategies in the 21st Century .Kluwer Law International,2004
[4]Bernard A. Galler. Software and Intellectual Property Protection: Copyright and Patent Issues for Computer and Legal Professionals .Quorum Books,1995
計算機(jī)軟件安全檢測方法【2】
摘要:隨著現(xiàn)代科學(xué)技術(shù)的不斷發(fā)展,越來越多的領(lǐng)域需要利用計算機(jī)軟件,為了發(fā)現(xiàn)計算機(jī)軟件中的故障,才有了軟件安全檢測,并且對計算機(jī)軟件中的風(fēng)險進(jìn)行有效的避免與更正。
在如今病毒與黑客橫行的時代,維護(hù)計算機(jī)的安全更是成為一項重要的任務(wù)。
軟件的應(yīng)用越來越廣泛,規(guī)模和復(fù)雜度不斷提高,軟件中的安全缺陷與漏洞也在不斷增多,隨著使用范圍的擴(kuò)大,軟件的安全性問題也越來越多。
軟件的安全測試保證了計算機(jī)和軟件的安全性,降低了計算機(jī)的風(fēng)險。
關(guān)鍵詞:檢測;安全;軟件
隨著計算機(jī)技術(shù)的迅速發(fā)展,計算機(jī)軟件的安全隱患問題也漸漸增多,所以軟件的安全檢測也越來越重要,而軟件的安全檢測研究技術(shù)也需要進(jìn)一步加強(qiáng)。
本文重點(diǎn)闡述了關(guān)于計算機(jī)軟件檢測的一些方法和工具。
1 什么叫計算機(jī)的安全檢測
這里所說的安全檢測,是指用科學(xué)和技術(shù)的手段來發(fā)現(xiàn)軟件中出現(xiàn)的各種故障、問題和風(fēng)險,并且進(jìn)行修正、診斷,以確保計算機(jī)和軟件的安全。
具體的檢測過程中,要選擇正確而安全的檢測方法。
2 軟件的檢測應(yīng)注意以下幾點(diǎn)
(1)從軟件的特點(diǎn)和要求出發(fā),選擇軟件適合軟件的檢測方法,并且盡量使檢測人員多樣化,并從多個角度制定合理安全的檢測方法,只有多個領(lǐng)域同時配合,才能對軟件進(jìn)行更好的檢測。
(2)選擇合理的安全檢測方法,計算機(jī)軟件的安全檢測僅僅是查找程序錯誤的手段,所以如果此類軟件比較大,就應(yīng)該對這種軟件的內(nèi)部進(jìn)行分析和研究,而且要根據(jù)實際選擇不同的分析方法,這樣才合理。
3 安全檢測軟件的意義是什么
計算機(jī)軟件安全檢測的目的是為了發(fā)現(xiàn)軟件所存在的故障,并且對故障進(jìn)行修正和診斷,以此來避免和降低計算機(jī)的危險性。
2003年發(fā)生了蠕蟲病時間以及后來的熊貓燒香病毒,都給用戶帶來了風(fēng)險性。
只有做好軟件安全工作,防治漏洞被利用,才能保證用戶信息的安全性,為用戶的計算機(jī)安全保駕護(hù)航,才是軟件檢測的最終目的。
4 檢測計算機(jī)軟件的幾種方法
4.1 靜態(tài)檢測
靜態(tài)檢測是指是不實際的運(yùn)行被測試的計算機(jī)軟件,而是靜態(tài)的檢測和分析計算機(jī)的程序和代碼,檢測計算機(jī)軟件中潛在的安全問題,從而對軟件的風(fēng)險性進(jìn)行修正和診斷。
靜態(tài)檢測包含了代碼質(zhì)量和代碼檢查等幾項,它可以用軟件進(jìn)行檢測,也可以由人工進(jìn)行檢測。
很多時候靜態(tài)檢測僅僅只是作為特性分析的方法,所以,靜態(tài)檢測又被稱之為“分析”,總而言之,靜態(tài)檢測就是對被檢測的軟件或程序進(jìn)行分析的一種方法的總稱。
靜態(tài)檢測的任務(wù)包括了以下幾項:(1)檢查模塊接口的正確性;(2)檢查輸入?yún)?shù)是否有合法性檢查;(3)檢查算法的邏輯正確性;(4)檢查是否設(shè)置了適當(dāng)?shù)腻e誤處理;(5)檢查程序的風(fēng)格的一致性和規(guī)范性;(6)檢查代碼是否可以優(yōu)化;(7)檢查代碼注釋是否是完整的。
4.2 動態(tài)檢測
動態(tài)檢測又分為三種,這三種分別是灰盒測試、白盒測試、以及黑盒測試。
白盒測試又被稱為透明盒測試,它基于代碼,有一定的邏輯性。
白盒測試的目的是通過分析軟件內(nèi)部的邏輯和原理,并且對內(nèi)部的結(jié)構(gòu)進(jìn)行覆蓋性的檢測,檢查點(diǎn)隨程序的不同而不同,檢查程序是為了確定內(nèi)部的結(jié)構(gòu)與邏輯是不是與預(yù)測的一樣。
它的檢測過程共有幾項,(1)檢查設(shè)計階段;(2)檢測計劃階段;(3)檢測執(zhí)行階段;(4)檢測的結(jié)尾,里面主要有錯誤推測和因果圖,還有分析邊界的值,等等。
黑盒測試,黑盒測試又被稱為是數(shù)據(jù)驅(qū)動測試和功能測試,它根據(jù)規(guī)格說明書設(shè)計測試用例,黑盒測試不程序內(nèi)部構(gòu)造,并且是一種從用戶功能出發(fā)的測試。
黑盒測試包括幾個過程,(1)測試計劃階段;(2)測試設(shè)計階段;(3)測試執(zhí)行階段;(4)測試的結(jié)果。
黑盒測試的幾種主要方法包括等價類劃分,邊界值分析,錯誤推測和因果圖。
黑盒測試和白盒測試的對比,雖然黑盒測試的效率比白盒測試要高,黑盒測試由于不涉及程序內(nèi)部,所以只能觀察到軟件的表面現(xiàn)象,而白盒測試則相反,白盒測試能發(fā)現(xiàn)程序內(nèi)部的問題和風(fēng)險,比如誤差累計等方面。
兩種測試相比較,黑盒測試的性能與白盒測試相比有較大差異。
4.3 形式化的軟件檢測法
形式化檢測的基本思想是建立軟件的數(shù)學(xué)模型,所以這種測試方法必須要求測試者了解數(shù)學(xué)的模型,所以大體上將它分為兩類,一類是模型測試,另一類是定理證明。
模型檢測用狀態(tài)遷移系統(tǒng)S描述軟件的行為,通過自動搜索S中的不滿足公式F的狀態(tài)來發(fā)現(xiàn)計算機(jī)軟件中所帶的危險性。
4.4 語法軟件測試
語法測試是要求被測軟件接口要與語法生成對接,檢測被測軟件對各類輸入的響應(yīng),目的在于發(fā)現(xiàn)一些很可能會導(dǎo)致電腦崩潰的一些軟件缺陷,如不能存儲、或者數(shù)組發(fā)生變化等缺陷,語法測試不但能發(fā)現(xiàn)這些缺陷,還提高系統(tǒng)的可靠性和穩(wěn)定性。
4.5 模糊測試
這種模糊測試的功能是發(fā)現(xiàn)系統(tǒng)中的一些高危漏洞,模糊測試在安全檢測中顯得尤為重要,就目前來看,一般應(yīng)用的模糊測試都是基于白盒的安全測試。
目前來看,雖然采用模糊測試中的功能可以發(fā)現(xiàn)其它的軟件測試法很難發(fā)現(xiàn)的一些安全缺陷,但模糊測試很沒有穩(wěn)定性,而且不可靠。
4.6 故障測試
該測試方法最主要的特點(diǎn)是高度靈活性,一方面,它可以對軟件的可靠性和安全性進(jìn)行測試,另一方面,它也能實現(xiàn)軟件方法的故障注入測試技術(shù),雖然該軟件具有靈活性和突破性,但是也存在故障的有效注入、故障的精確模擬、通用性等等問題,所以仍有待改善和提高。
綜上所述,計算機(jī)的安全檢測在計算機(jī)安全體系中屬于不能缺少重要部分,計算機(jī)軟件安全檢測方法技術(shù)還有待提高,因為它是計算機(jī)軟件的安全保障,能夠為計算機(jī)的運(yùn)行和工作保駕護(hù)航。
安全性測試一般要重點(diǎn)考慮SQL注入和XSS,這是最容易攻擊的漏洞。
安全測試的工具可采取各類方法,一個好的檢測方法應(yīng)該要滿足明確性、廣泛性、易用性、客觀性等要求。
5 安全檢測的最終目的
安全檢測是保障軟件和計算機(jī)安全的重要工作之一。
計算機(jī)軟件安全檢測是通過對軟件測試、計算、考核與驗證來最終分析和確定軟件是否不會為使用者帶來威脅。
廣大的技術(shù)人員和測試人員,以及軟件開發(fā)員要充分認(rèn)識到軟件安全檢測的重要性,只有不斷提高安全檢測的技術(shù),才能更好的為廣大的用戶服務(wù)。
6 總結(jié)
綜上所述,當(dāng)今計算機(jī)技術(shù)飛速發(fā)展,黑客和病毒也泛濫成災(zāi),為了防止計算機(jī)的安全被威脅,而軟件安全檢測方法主要就是對軟件進(jìn)行一系列的分析、計算,檢測,從而得出結(jié)論,判斷出軟件設(shè)計中是否存在一定的危險性,并且排除威脅,對軟件進(jìn)行隔離或者改善。
網(wǎng)絡(luò)時代飛速發(fā)展的今天,軟件的可行與否直接關(guān)系到整個網(wǎng)絡(luò)的安全,也成為大多數(shù)網(wǎng)民和用戶所關(guān)注的問題。
技術(shù)人員只有不斷開拓和研發(fā)新技術(shù),才能使計算機(jī)和軟件的風(fēng)險大大降低,軟件的安全性已經(jīng)不容小視,并且越來越受到人們的重視,安全測試軟件的技術(shù)也在不斷的發(fā)展與進(jìn)步。
參考文獻(xiàn):
[1]高婷.計算機(jī)軟件安全檢測技術(shù)研究[J].計算機(jī)光盤軟件與應(yīng)用,2012(17):73-74.
[2]王兵兵.計算機(jī)軟件安全檢測存在問題及方法探討[J].計算機(jī)光盤軟件與應(yīng)用,2011(20):116-116.
[3]周曉成.關(guān)于計算機(jī)軟件安全檢測技術(shù)的研究[J].計算機(jī)光盤軟件與應(yīng)用,2011(23):87-87.
[4]肖俊.計算機(jī)軟件安全檢測方法分析[J].科技資訊,2012(3):32-32.
[5]朱巖.淺析計算機(jī)軟件安全檢測存在問題及方法[J].科技創(chuàng)新與應(yīng)用,2012(11):51-51.
[6]王俊民.關(guān)于計算軟件的安全檢測方法探究[J].計算機(jī)光盤軟件與應(yīng)用,2012(4):51-51,47.
計算機(jī)軟件安全檢測方法【3】
摘 要:計算機(jī)技術(shù)的迅猛發(fā)展使得計算機(jī)軟件的應(yīng)用領(lǐng)域不斷擴(kuò)大,在看到計算機(jī)軟件為我們生活帶來便利的同時,我們更應(yīng)該注意到計算機(jī)軟件中存在的漏洞和風(fēng)險。
對此,我們要加強(qiáng)對軟件安全性能的測試。
本文通過分析計算機(jī)軟件中存在的主要漏洞和風(fēng)險,介紹了幾種比較實用的安全檢測方法,為提高軟件的安全性能提供了一些建議。
關(guān)鍵詞:計算機(jī);軟件;安全
對計算機(jī)軟件進(jìn)行安全測試主要是為了確保軟件的安全性能與最初的設(shè)計一致,提升軟件的自我防御能力。
它并不能證明應(yīng)用程序中沒有錯誤,而是為了在危險來臨之前,找出并更正軟件中存在的問題。
1 計算機(jī)軟件存在的漏洞和風(fēng)險
1.1 軟件加密不可靠
加密主要存有以下弱點(diǎn):(1)加密算法不夠嚴(yán)密,容易被破解;(2)加密鎖受處理能力的限制,無法為軟件提供強(qiáng)有力的保護(hù);(3)數(shù)據(jù)簽名工作做得不好,數(shù)據(jù)常常被攻擊者更改。
因此,在對軟件進(jìn)行安全測試時,要重點(diǎn)測試軟件的加密弱點(diǎn)。[1]
1.2 錯誤處理
一般來說,錯誤處理會返回部分信息給軟件使用者。
在這個過程中,如果調(diào)用了一些不該有的功能,那么這些信息就有可能被其他人利用,一些黑客甚至?xí)ㄟ^分析這類錯誤信息來制定攻擊策略。
1.3 權(quán)限設(shè)置問題
一般來說,在對軟件進(jìn)行設(shè)計時,要分權(quán)限。
在軟件中分配操作員的權(quán)限,可以規(guī)劃操作員的操作權(quán)限,可以使操作人員在工作中只能操作他權(quán)力范圍內(nèi)的工作內(nèi)容,出現(xiàn)問題可以找到負(fù)責(zé)人。
但是如果賦予的權(quán)限過大,那么操作人員就很可能越過權(quán)限去做一些危害安全的操作。
權(quán)限過大是設(shè)計空間過大造成的。
因此,測試人員在測試應(yīng)用程序的權(quán)限時,應(yīng)注意檢查設(shè)計空間的大小。
2 常用的安全檢測方法
2.1 滲透測試
滲透測試其本質(zhì)是以測試工具為輔,憑借測試人員的攻防能力和經(jīng)驗,模擬黑客攻擊的過程,提前發(fā)現(xiàn)軟件存在的問題,并及時地予以更正。
它的優(yōu)點(diǎn)在于:它能站在攻擊方的角度,深度挖掘軟件中存在的安全漏洞,一般發(fā)現(xiàn)的問題都是真實存在且極為嚴(yán)重的。
但也正因為這樣,測試人員在選取測試工具時,要格外小心,盡量選擇可控制、不具備攻擊性的工具。
因為如果選擇不當(dāng),將會導(dǎo)致病毒和木馬的入侵和擴(kuò)散,給整個系統(tǒng)的運(yùn)行帶來不利影響。
此外,滲透測試還存在一些缺點(diǎn):它的成果大多取決于測試人員的攻防能力和經(jīng)驗。
它所模擬的測試數(shù)據(jù)存有局限性,覆蓋率不高。
2.2 靜態(tài)測試
與其他測試方法相比,靜態(tài)測試并不是通過運(yùn)行被檢測軟來完成的,而是通過分析源程序的語法、結(jié)構(gòu)等來檢測軟件的編程是否合符標(biāo)準(zhǔn)。
此類測試方法既可以靠測試人員完成,也可以通過某些特定的軟件工具自動完成,比較常見的靜態(tài)測試工具有:Log scope、PRQA兩種。
與動態(tài)測試相比,它具有快速找到安全漏洞,返工成本低、覆蓋率和查錯率高等優(yōu)點(diǎn)。
但是,它測試所需要的時間也很長。[2]
2.3 黑盒測試
所謂黑盒測試就是把軟件看作一個黑箱子,測試人員不需要知道這個黑箱子里面裝的是什么、黑箱是怎么操作的,即不需要花心思去了解軟件的內(nèi)部構(gòu)造。
測試人員需要做的就是嚴(yán)格把關(guān)黑箱的進(jìn)出口,即僅僅需要了解軟件的輸入和輸出結(jié)果。
這樣一來,為測試人員減少了很多測試工序和測試時間,測試人員的工作與編程人員的工作完全是分開的。
但是,如果完全像軟件使用者一樣去使用和操作軟件,也會產(chǎn)生一些問題。
首先測試人員只能對一小部分輸入進(jìn)行測試,不能對所有輸入進(jìn)行測試。
其次,測試人員在測試軟件時,采用的測試用例很可能是開發(fā)人員已經(jīng)使用過的,測試效率不高。
再者,它并不能對軟件的某個程序段進(jìn)行單獨(dú)測試,而這類程序段或許存在錯誤。
因此,本文認(rèn)為測試人員在使用黑盒測試方法時,應(yīng)該按照以下四個步驟來判斷程序的正確性:(1)認(rèn)真審視軟件的行為是否處于正常范圍;(2)仔細(xì)檢查輸出結(jié)果的正確性;(3)輸入各種信息,結(jié)合(1)和(2)來觀測軟件的反應(yīng)程度;(4)時常對軟件的關(guān)鍵部位進(jìn)行診斷。
2.4 白盒測試
如果黑盒測試是中醫(yī),那么白盒測試就是西醫(yī)了。
與黑盒測試相比,白盒測試方法是把被軟件產(chǎn)品視為一個打開的盒子,需要測試人員去理解軟件的內(nèi)部結(jié)構(gòu)以及運(yùn)行方式。
測試人員需要利用某些測試工具,跟蹤并檢查某個輸入信息進(jìn)入軟件之后對軟件的影響、軟件是如何處理這些影響以及處理方式是否符合標(biāo)準(zhǔn)。
比如對于一個與SQL Server數(shù)據(jù)庫連接的軟件系統(tǒng)來說,可以簡單地把程序的作用看作是:把用戶輸入的數(shù)據(jù)通過SQL命令請求后臺數(shù)據(jù)庫,數(shù)據(jù)庫把請求的數(shù)據(jù)返回給程序的界面層展示給用戶。
可以把SQL Server自帶的工具事件探查器當(dāng)成是一個檢查SQL數(shù)據(jù)傳輸?shù)木軆x器,它可以記錄軟件客戶端與服務(wù)器數(shù)據(jù)庫之間交互的所有舉動,測試人員能清楚地知道軟件究竟發(fā)揮了什么作用。
白盒測試的優(yōu)點(diǎn)在于它能幫助測試人員熟悉代碼的每條路徑,檢查出藏于代碼中的錯誤。
但是它也有缺點(diǎn),那就是測試成本高,無法檢測代碼中遺漏的路徑和數(shù)據(jù)敏感性錯誤。
2.5 灰盒測試方法
灰盒測試綜合了白盒測試和黑盒測試的特點(diǎn)。
主要表現(xiàn)為:它既要檢測輸出、輸入是否正確,又要關(guān)注程序內(nèi)部運(yùn)行狀態(tài)。
如有時輸出是正確的,但內(nèi)部早已出現(xiàn)了錯誤,如果采用白盒測試方法來測試,效率會非常低,在此種情況下,就需要采取灰盒測試方法。[3]
與黑、白盒測試方法相比,灰盒測試有以下幾個特點(diǎn):(1)利用灰盒測試方法,測試人員能更為全面地了解軟件產(chǎn)品;(2)與白盒測試相比,灰盒測試因為程序代碼的改變而導(dǎo)致用例無效的幾率更低;(3)與白盒測試相比,灰盒測試方法需要測試人員去了解程序的代碼邏輯。
利用灰盒測試方法進(jìn)行測試需要注意以下幾點(diǎn)問題:(1)灰盒測試是從軟件的整體出發(fā)的。
因此,測試人員在進(jìn)行測試設(shè)計時,要從軟件的整體出發(fā);(2)將灰盒測試用于單元測試,而非集成測試;(3)灰盒測試方法需要測試人員深入了解產(chǎn)品的代碼邏輯。
因此,在測試時,業(yè)務(wù)邏輯圖是非常重要的,測試人員需要按照業(yè)務(wù)邏輯圖來劃分功能點(diǎn),并擴(kuò)展用例。
3 各種測試方法之間的聯(lián)系
無論是黑盒測試,還是白盒測試。
他們都不是絕對的靜態(tài)或者動態(tài)測試方法。
如測試人員在利用黑盒測試方法,運(yùn)行程序,看輸入輸出時,黑盒測試就有可能是動態(tài)測試;測試人員在利用黑盒測試方法,不運(yùn)行程序,只看界面時,黑盒測試也有可能是靜態(tài)測試。
測試人員在利用白盒測試方法,運(yùn)行程序并且分析代碼結(jié)構(gòu)時,白盒測試有可能是動態(tài)測試;測試人員在利用白盒測試方法,不運(yùn)行程序,只靜態(tài)察看代碼時,白盒測試也有可能是靜態(tài)測試。
4 結(jié)束語
總之,計算機(jī)軟件的安全直接影響到人民的隱私、財產(chǎn)安全。
安全測試對于提高計算機(jī)的使用效率,維護(hù)用戶的利益非常重要。
社會各界在關(guān)注計算機(jī)軟件性能的同時,更應(yīng)該注意提高軟件的安全性能。
參考文獻(xiàn):
[1]高曉.論軟件的破解與保護(hù)策略[J].長春工程學(xué)院學(xué)報(自然科學(xué)版),2013(03).
[2]郭向英,劉景煒.匯編語言自動單元測試工具設(shè)計方法研究[J].質(zhì)量與可靠性,2006(03).
[3]張衛(wèi)祥,劉文紅.灰盒測試方法的實踐與研究[J].飛行器測控學(xué)報,2010(06).
【計算軟件的安全檢測方法】相關(guān)文章:
計算機(jī)軟件安全檢測方法10-05
計算機(jī)軟件安全檢測技術(shù)10-05
計算機(jī)軟件安全漏洞檢測10-05
漏洞檢測在計算機(jī)軟件安全中的應(yīng)用09-30
測試軟件安全的方法10-05
計算機(jī)軟件安全檢測技術(shù)分析論文范文10-08
分析計算機(jī)實用檢測維修方法10-01