摘要:計(jì)算機(jī)軟件的質(zhì)量和安全需要依靠計(jì)算機(jī)軟件測(cè)試技術(shù)與保護(hù)技術(shù)來(lái)實(shí)現(xiàn)。本文分別介紹了計(jì)算機(jī)軟件測(cè)試技術(shù)與保護(hù)技術(shù)的概念、目的,并對(duì)測(cè)試技術(shù)、保護(hù)技術(shù)進(jìn)行了具體的介紹,旨在促進(jìn)二者的進(jìn)一步發(fā)展,從而推動(dòng)計(jì)算機(jī)技術(shù)的整體進(jìn)步。
關(guān)鍵詞:計(jì)算機(jī)軟件;測(cè)試技術(shù);保護(hù)技術(shù)
中圖分類(lèi)號(hào):TP312 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 18-0000-02
1 軟件測(cè)試技術(shù)
1.1 軟件測(cè)試的概念和目的
(1)軟件測(cè)試:在具體的指定條件下去完成測(cè)試系統(tǒng)或者組件的操作,通過(guò)觀(guān)察發(fā)現(xiàn)問(wèn)題、記錄測(cè)試結(jié)果,并對(duì)測(cè)試系統(tǒng)或組件的各個(gè)方面做出評(píng)價(jià)的一系列過(guò)程。根據(jù)應(yīng)用目標(biāo)或者特性的不同,可以將軟件測(cè)試分為以下幾類(lèi):可靠性測(cè)試、安全性測(cè)試、適用性測(cè)試、健壯性測(cè)試、功能測(cè)試、性能測(cè)試等。
(2)軟件測(cè)試的根本目的在于找出錯(cuò)誤,解決問(wèn)題。用戶(hù)希望通過(guò)軟件測(cè)試來(lái)發(fā)現(xiàn)軟件中隱藏的問(wèn)題,以此決定是否購(gòu)買(mǎi)該產(chǎn)品;軟件開(kāi)發(fā)者則希望通過(guò)軟件測(cè)試證明軟件中不存在隱藏的問(wèn)題,可以滿(mǎn)足用戶(hù)的要求,堅(jiān)定用戶(hù)購(gòu)買(mǎi)的決心。
1.2 軟件測(cè)試與軟件質(zhì)量的關(guān)系
人們的生活和計(jì)算機(jī)已經(jīng)密不可分,軟件種類(lèi)呈幾何級(jí)增長(zhǎng),復(fù)雜程度也在與日俱增,保證軟件的質(zhì)量成了開(kāi)發(fā)者和用戶(hù)共同關(guān)心的課題。軟件質(zhì)量保證貫穿于整個(gè)的軟件開(kāi)發(fā)周期。軟件質(zhì)量保證的方法是多種多樣的,其中當(dāng)屬軟件測(cè)試最具代表性。相當(dāng)部分軟件公司已經(jīng)給予了軟件測(cè)試足夠的重視,據(jù)傳微軟的軟件測(cè)試人員的數(shù)量竟是軟件開(kāi)發(fā)人員的兩倍。未來(lái)相當(dāng)長(zhǎng)的一段時(shí)間內(nèi),軟件測(cè)試都將是軟件質(zhì)量的重要保障。
1.3 軟件測(cè)試技術(shù)的具體應(yīng)用
(1)軟件測(cè)試階段。軟件測(cè)試可分為四個(gè)階段:一、單元測(cè)試,在相對(duì)隔離的環(huán)境條件下,測(cè)試單個(gè)的、獨(dú)立的軟件模塊,找出它的缺陷。二、集成測(cè)試,以單位測(cè)試為基礎(chǔ),即將各個(gè)模塊組裝完成后,測(cè)試各個(gè)模塊接口有無(wú)問(wèn)題。三、系統(tǒng)測(cè)試,將軟件系統(tǒng)和其他組成部分作為一個(gè)整體,確保各組成部分不但能獨(dú)自接受測(cè)試,而且在各組成部分協(xié)調(diào)的情況下也無(wú)錯(cuò)誤發(fā)生。四、驗(yàn)收測(cè)試,用戶(hù)、軟件開(kāi)發(fā)人員、質(zhì)量保證人員都要參與,且以用戶(hù)為中心。測(cè)試內(nèi)容有:功能測(cè)試、強(qiáng)度測(cè)試、用戶(hù)操作測(cè)試、安全測(cè)試等。
(2)靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試。按是否運(yùn)行程序可將測(cè)試技術(shù)分為兩種:一、靜態(tài)測(cè)試,即不運(yùn)行程序的狀態(tài)下,對(duì)系統(tǒng)中的有關(guān)文檔(需求文檔、設(shè)計(jì)文檔、程序源代碼等)進(jìn)行研讀、分析、檢查。二、動(dòng)態(tài)測(cè)試,該種測(cè)試需要運(yùn)行程序,選擇測(cè)試用例并執(zhí)行,然后比對(duì)預(yù)期輸出、實(shí)際輸出,發(fā)現(xiàn)其中的問(wèn)題、錯(cuò)誤。
(3)白盒測(cè)試與黑盒測(cè)試。按是否可以查看源代碼可將測(cè)試技術(shù)分為兩種:一、白盒測(cè)試,先是分析并了解系統(tǒng)或組件的內(nèi)部結(jié)構(gòu),以此設(shè)計(jì)針對(duì)性的測(cè)試用例,開(kāi)展測(cè)試活動(dòng),白盒測(cè)試通?;跀?shù)據(jù)流、控制流或者代碼覆蓋測(cè)試。二、黑盒測(cè)試,該測(cè)試不必對(duì)軟件的內(nèi)部結(jié)構(gòu)、具體代碼進(jìn)行了解,而是以規(guī)格說(shuō)明書(shū)為基礎(chǔ)進(jìn)行的軟件測(cè)試,黑盒測(cè)試技術(shù)包括等價(jià)類(lèi)劃分、決策表、狀態(tài)測(cè)試、基于經(jīng)驗(yàn)的測(cè)試等。測(cè)試的內(nèi)容包括邏輯功能測(cè)試、兼容測(cè)試、穩(wěn)定性測(cè)試、壓力測(cè)試等。
(4)其他測(cè)試技術(shù)。其他常見(jiàn)的測(cè)試技術(shù)有:一、回歸測(cè)試,當(dāng)軟件的錯(cuò)誤之處完成修改后,有時(shí)候需要重復(fù)測(cè)試之前的測(cè)試用例,有時(shí)候則需要重新設(shè)計(jì)測(cè)試用例再進(jìn)行測(cè)試?;貧w測(cè)試存在于軟件的整個(gè)生命周期,包括白盒回歸和黑盒回歸。二、冒煙測(cè)試,指的是軟件測(cè)試團(tuán)隊(duì)選取軟件系統(tǒng)中最為主要的功能開(kāi)展先期測(cè)試,若主要功能都不滿(mǎn)足要求,那么可以直接否決,然后重新開(kāi)發(fā)。三、隨機(jī)測(cè)試,輸入的測(cè)試數(shù)據(jù)全部都是隨機(jī)生成的,目的是通過(guò)模擬用戶(hù)操作,以找出某些邊緣性的錯(cuò)誤。
2 軟件保護(hù)技術(shù)
2.1 軟件保護(hù)技術(shù)的概念及目的
軟件保護(hù)技術(shù)的根本目的在于防止合法軟件被盜版,即防止被破解。軟件保護(hù)技術(shù)可以概括為兩個(gè)方面:一、基于硬件的保護(hù)方式。二、基于軟件的保護(hù)方式。相較其他安全產(chǎn)品而言,軟件保護(hù)產(chǎn)品是較為特殊的,涉及的內(nèi)容十分廣泛,包括應(yīng)用軟件、操作系統(tǒng)、驅(qū)動(dòng)、網(wǎng)絡(luò)等。軟件保護(hù)產(chǎn)品屬于一個(gè)綜合的技術(shù)范疇,單一的某個(gè)方面是難以評(píng)判其安全與否的。
2.2 基于硬件的保護(hù)方式
(1)加密狗(加密鎖)。加密狗也被稱(chēng)為加密鎖,是一種智能性加密產(chǎn)品,可以同并口、串口或者USB接口相連。加密狗在安全性方面比基于軟件的保護(hù)方式更具優(yōu)勢(shì),但也存在一定的劣勢(shì),比如易用性不理想、價(jià)格較高等。加密狗目前常用于商業(yè)上對(duì)于安保需求較高的領(lǐng)域。
(2)光盤(pán)、軟盤(pán)保護(hù)。被保護(hù)軟件將一部分的密鑰信息存放于光盤(pán)或者軟盤(pán)中,當(dāng)特定光盤(pán)或軟盤(pán)完整且存在時(shí),被保護(hù)軟件才可以正常工作,這一方式常應(yīng)用于單機(jī)游戲軟件。這種保護(hù)方式的原理是:隱藏一個(gè)密鑰于光盤(pán)的光軌上,使光盤(pán)刻錄機(jī)不能復(fù)制該密鑰,從而達(dá)到阻止“盜版”的目的。這種保護(hù)方式有兩個(gè)缺點(diǎn):一、若原盤(pán)損壞,用戶(hù)則無(wú)法繼續(xù)使用該軟件。二、容易被具有專(zhuān)業(yè)知識(shí)的黑客找出判斷代碼處,用修改可執(zhí)行文件的方法越過(guò)該段密碼,從而破解軟件。
2.3 基于軟件的保護(hù)方式
(1)序列號(hào)保護(hù)。用戶(hù)下載某共享軟件到自己的電腦后,若想要完全正常使用,通常需要注冊(cè)操作才可以。注冊(cè)的過(guò)程一般是用戶(hù)將私人信息(如賬號(hào)名)發(fā)送給提供軟件的公司,軟件公司根據(jù)得到的信息制定一個(gè)具有唯一性的序列號(hào),并把序列號(hào)反饋給用戶(hù),用戶(hù)按照提示執(zhí)行注冊(cè)步驟,在相應(yīng)的欄位輸入注冊(cè)信息、序列號(hào),最后通過(guò)驗(yàn)證才能正常完整使用。這種加密方式操作簡(jiǎn)單,花費(fèi)較低,因而廣泛應(yīng)用于網(wǎng)絡(luò)共享軟件的保護(hù)。
(2)Nag窗口。所謂的Nag窗口指的是部分軟件通過(guò)彈出窗口的方式干擾用戶(hù)的正常使用,促使用戶(hù)購(gòu)買(mǎi)正版。彈出的時(shí)機(jī)有的是通過(guò)定時(shí)來(lái)實(shí)現(xiàn),有的是判斷操作是否重要來(lái)實(shí)現(xiàn)。這種方式容易給用戶(hù)留下壞印象,而且容易被破解,所以應(yīng)用越來(lái)越少。
(3)時(shí)間限制。在軟件保護(hù)方式中,時(shí)間限制在目前仍然是相當(dāng)常見(jiàn)的,通常分為兩類(lèi):一、單次運(yùn)行超過(guò)一定的時(shí)長(zhǎng)便自動(dòng)關(guān)閉;二、對(duì)使用天數(shù)或者使用次數(shù)進(jìn)行限制。
(4)功能限制。放出一個(gè)Demo版是最為常見(jiàn)的功能限制方式,將其中相對(duì)重要的功能選項(xiàng)進(jìn)行灰色化處理,使其不能使用。功能限制主要分為兩種:一、試用版、正式版二者代碼完全一樣,只是禁用了試用版的相關(guān)功能。這種功能限制存在風(fēng)險(xiǎn),解密者只需要找到并修改這些被禁用功能的代碼,便可獲得正式版的功能。所以這種方法一般不被采用。二、第二種功能限制是第一種功能限制的改良版,不僅禁用試用版中的相關(guān)功能,且不將這部分的功能代碼置于試用版中。解密者若想獲得正式版的功能,只能通過(guò)自己添加功能代碼的方式。所以該種功能限制在保護(hù)方面效果良好,建議選用。
(5)反反匯編、反調(diào)試技術(shù)。此類(lèi)技術(shù)可以結(jié)合前文提到的六種保護(hù)技術(shù)共同使用,從而達(dá)到加強(qiáng)保護(hù)效果的目的。該類(lèi)技術(shù)的存在就是為了防止Cracker使用SoftICE、IDA等調(diào)試器靜態(tài)或動(dòng)態(tài)跟蹤、分析、破解需要被保護(hù)的軟件。
3 結(jié)語(yǔ)
計(jì)算機(jī)軟件測(cè)試技術(shù)與保護(hù)技術(shù),對(duì)于保證軟件的質(zhì)量和安全而言至關(guān)重要,這兩種技術(shù)的進(jìn)步與完善是用戶(hù)和軟件開(kāi)發(fā)人員的共同追求。
參考文獻(xiàn):
[1]王立新.軟件測(cè)試數(shù)據(jù)的高效生成及測(cè)試方法研究[D].東華大學(xué),2011.
[2]孫偉.軟件測(cè)試技術(shù)發(fā)展模式探討[J].長(zhǎng)春理工大學(xué)學(xué)報(bào),2012,4.
[3]周迪卿.計(jì)算機(jī)軟件保護(hù)技術(shù)探析[J].科技創(chuàng)新導(dǎo)報(bào),2010,3.
計(jì)算機(jī)光盤(pán)軟件與應(yīng)用2012年18期