摘 要:計算機軟件測試的根本目的在于找出錯誤,解決問題。軟件保護技術的根本目的在于防止合法軟件被盜版,防止被破解。計算機軟件測試技術與保護技術,對于保證軟件的質(zhì)量和安全而言至關重要,這兩種技術的進步與完善是用戶和軟件開發(fā)人員的共同追求。本文就計算機軟件的測試技術和保護技術進行了探討。
關鍵詞:計算機軟件;測試技術;保護技術;硬件;軟件
中圖分類號:TP311.53
軟件的測試是分階段的,就目前的這種測試可分為以下幾個階段:首先是把軟件的各個模塊進行相應的隔離開來,將隔離開來的一個個的軟件模塊進行測試,嘗試從中發(fā)現(xiàn)是否存在問題,然后將之前分開的每個模塊重裝成完整的軟件,看是不是接口方面存在什么遺漏,其次就是把所裝好的軟件與其他系統(tǒng)的各個部分組裝成一個完好的整體,將這個整體進行測試,保證其在使用時的完好性,最后進入到驗收階段,關于軟件所有的相關人員都必須參加,對使用軟件的客戶進行包括安全測試、強度測試、功能測試等實證測試。
1 計算機軟件測試技術
1.1 靜態(tài)測試與動態(tài)測試
按是否運行程序可將測試技術分為兩種:1、靜態(tài)測試。即不運行程序的狀態(tài)下,對系統(tǒng)中的有關文檔(需求文檔、設計文檔、程序源代碼等)進行研讀、分析、檢查;2、動態(tài)測試。該種測試需要運行程序,選擇測試用例并執(zhí)行,然后比對預期輸出、實際輸出,發(fā)現(xiàn)其中的問題、錯誤。
1.2 黑盒測試
黑盒測試也稱之為功能測試,是對軟件能不能正常使用其功能進行測試。黑盒測試,顧名思義就是把測試的軟件比作一個無法被打開的黑盒,只通過外部的輸入端與輸出端的檢測,來對一個軟件能不能正常的使用其功能進行測試。黑盒測試存在嚴重的局限性,它無法分析其內(nèi)部結(jié)構和造成問題的來源,就沒辦法從根本出發(fā)解決問題。所以黑盒測試所能測試的問題相當有限,只能對軟件功能上的不完整與錯誤、顯示界面上的失誤、初始化或者終止端的問題以及性能上原本就存在的缺陷進行測試。所以在要從根本上解決問題,就必須尋找到新的測試方法以保證軟件的使用功能。
黑盒測試是將所有可能的輸入方式都進行測試,通過這種全面性的測試,就可以盡可能的找到所有的問題,然后加以完善。這種全面性的測試也包括一些隱藏的輸入端,對于一個軟件所有的輸入進行測試。所以說,完全性的檢測是沒有辦法在實際測試中使用的,只有通過多種專門測試某種功能的測試方法對軟件進行測試,多次的測試與完善后才能確保軟件的準確使用性能。
黑盒測試是要求在對軟件進行測試的時候?qū)τ谒锌赡艹霈F(xiàn)的問題量化,保證軟件在后期使用時問題最小化、最少化。在上面所描述的測試用例就是在測試過程中進行量化的方法之一,還有判定表驅(qū)動法、邊界值分析法、因果圖法、等價類劃分法、錯誤推測法、正交試驗設計法、功能圖法等等方式。
1.3 白盒測試
白盒測試是測試軟件內(nèi)部個部分的功能能否按照原本的設計意圖運行。測試在所設計的軟件內(nèi)部每個部分、每個部分之間的接口處是不是按照之前設計意圖運行。通過白盒測試可以知道軟件在哪個部分出現(xiàn)問題,然后對癥下藥,對所發(fā)生的問題進行完善。通過這種方式確保軟件的能夠在使用出現(xiàn)的問題最小,提高軟件的開發(fā)效率。
1.4 其他測試技術
計算機軟件測試其他常見的測試技術有:(1)回歸測試。當軟件的錯誤之處完成修改后,有時候需要重復測試之前的測試用例,有時候則需要重新設計測試用例再進行測試?;貧w測試存在于軟件的整個生命周期,包括白盒回歸和黑盒回歸;(2)冒煙測試。指的是軟件測試團隊選取軟件系統(tǒng)中最為主要的功能開展先期測試,若主要功能都不滿足要求,那么可以直接否決,然后重新開發(fā);3、隨機測試。輸入的測試數(shù)據(jù)全部都是隨機生成的,目的是通過模擬用戶操作,以找出某些邊緣性的錯誤。
2 計算機軟件保護技術
2.1 基于硬件的保護方式
2.1.1 加密狗(加密鎖)
加密狗是一種特殊的加密實體產(chǎn)品,也叫做加密鎖,它可以通過串口、并口以及USB接口與電腦相連。通過這種連接達到加密的目的,這種保護方法比其他的軟件保護方法更加有效。但是由于其的性價比較為高昂,只有部分要求安全性非常高的地區(qū)或者企業(yè)才會使用。
2.1.2 光盤、軟盤保護
光盤、軟盤保護是指要保護的軟件的部分信息以密匙的方式存入到光盤或者軟盤之中,當光盤、軟盤遭到破壞時受保護的軟件業(yè)會遭到破壞,從而達到軟件的保護。這不禁讓我們想到單機的光盤游戲,的確,光盤游戲是這種保護方法的主要應用,通過這種方法阻止不法份子對光盤內(nèi)容進行剽竊。但是這種保護方式存在著很大的問題:首先,只能是確保受保護軟件的不被泄露,而在一定程度上無法保證軟件的安全性,當光盤或者軟盤遭到破壞時,軟件同時也會被破壞;其二,這種保護方式容易被相關人士所破解,安全度數(shù)很低。
2.2 基于軟件的保護方式
2.2.1 序列號保護
現(xiàn)在通常的網(wǎng)絡共享軟件的保護方式是通過軟件公司專門設置一個特定的序列碼來對所具有的的軟件本身以及軟件的所有權與使用權的保護。具體的序列號保護方法是用戶在想使用某個軟件時,需要提供自己的信息,而軟件將信息傳遞到軟件公司,公司將特定的序列號給用戶,而用戶通過序列號就能正常的使用該軟件的相關功能。由于這種方法操作過程相對簡便,經(jīng)濟效益也相對的高,所以受到了廣大用戶以及軟件公司的使用。
2.2.2 Nag窗口
Nag窗口是指有少數(shù)的軟件在用戶使用過程中彈出相應窗口來阻止用戶的使用,在用戶購來正式版之后這個窗口彈出的設定權就在用戶手中。這個方法實則在讓用戶去購買正式版來促進消費。而這個促進消費的方式卻不如人意,造成用戶被迫消費的現(xiàn)象。所以已經(jīng)漸漸淡出人們的視線。
2.2.3 時間限制
時間限制在軟件的保護方法中還是經(jīng)常被使用。時間限制有著它的優(yōu)勢。我們常用的時間限制包括使用次數(shù)和使用天數(shù)的限制以及在一次運行過程中最多的運行時間限制,在超過這個時間限制,該軟件就會被保護起來。
2.2.4 功能限制
功能限制最通常的方法就是放出一個Demo版,灰色化處理其中較為重要的功能選項。讓其無法使用這部分的功能。最初的功能限制是具有相當?shù)娘L險的,其只是禁止了試用版的部分功能,因為正式版與試用版的代碼相同,破解者在找到這部分代碼并將其改變,就能夠使用到正式版的全部功能。這就使得功能限制有相當大的風險。而后通過改變試用版與正式版的使用代碼,讓試用版的相關功能的代碼不能在正式版中使用。破解者要想得到正式版的功能,只能在正式版中加入自己的代碼。這大大增加了功能的最大限制化,讓功能能夠得到徹底的限制,達到限制的目的。
2.2.5 反匯編、反調(diào)試技術
這種技術是預防在Cracker使用Soft ICE、IDA等調(diào)試器破解、靜態(tài)或動態(tài)跟蹤、分析需要被保護的軟件,它可以與上面所談及的幾種保護技術一起使用,可以加強這些技術在保護時的效果。
3 結(jié)束語
綜上所述,隨著軟件行業(yè)的不斷發(fā)展,人們對軟件功能要求不斷提高的同時,對軟件質(zhì)量問題也日漸關注,計算機軟件測試與保護技術是保證軟件質(zhì)量的有效手段。因此,我們應加大對軟件測試和保護技術的研究力度,為軟件行業(yè)的發(fā)展打下堅實的基礎。
參考文獻:
[1]陶靜.計算機軟件測試技術的淺析[J].通訊世界,2013(09):92-93.
[2]郭滔.面向?qū)ο筌浖y試技術研究[J].科技信息,2011(03):499,480.
[3]孫偉.軟件測試技術發(fā)展模式探討[J].長春理工大學學報,2012(04):235-236.
[4]于大弘.淺談計算機軟件測試技術與深度開發(fā)模式[J].中國新技術新產(chǎn)品,2013(21):18.
[5]楊悅.基于根本原因分析的軟件測試技術架構[J].科學技術與工程,2013(24):7210-7214.
[6]徐暉.計算機軟件測試技術與深度開發(fā)應用探討[J].計算機光盤軟件與應用,2012(20):205-206.
作者單位:河南經(jīng)貿(mào)職業(yè)學院 信息管理系,鄭州 450000