摘要:計算機已經不僅是·種計算工具,而且在數據通信、工程設計、經濟管理、工農業生產以及醫療教育等方面均發揮著非常重要的作用。軟件是計算機系統中重要的組成部分,對軟件的開發與利用—直沒有間斷過。軟件技術是計算機系統執行任務所需的必備條件。
關鍵詞:測試技術;保護技術;計算機軟件
隨著計算機與網絡的廣泛普及,軟件作為計算機系統中的主要載體也隨之飛速發展起來。軟件是知識相對密集的一種特殊勞動產品,研發出一個軟件產品就要耗費很多的人力以及物力,并且其研發難度比較大,相對的成本也比較高。而要想推廣使用,還要加強其測試與保護的技術要求。軟件測試,主要為了發現程序執行過程中存在的錯誤,結合了軟件開發的過程中對每一階段要求以及其內部結構進行測試的用例。但是,對軟件進行復制是非常容易的一件事。這就導致出現了很多的非法復制以及盜版軟件的現象。在這樣嚴峻的形勢下,為了保障軟件開發商的權益,對軟件采取一些保護技術是不可避免的,這就要求研發人員繼續對軟件的保護技術進行探索。
1、軟件的測試技術
1.1 概念及目的
在指定的條件下完成軟件系統的測試,觀察系統運行發現其中存在的問題,記錄其測試的結果,并對測試系統的各方面進行評價的過程稱之為軟件測試。按照使用目標或性質的不同,軟件測試項目可分為:可靠性測試、適用性測試、安全性測試、性能測試、功能測試等等。軟件測試目的是找出系統設計中的錯誤,并解決相關的問題。
1.2 技術方法與應用
(1)靜態與動態的測試。根據程序的運行情況可以把測試技術分為靜態測試技術,是指在程序不運行的情況下,對系統中的需求文檔、程序源代碼以及設計文檔等—系列程序進行分析、檢查。第二類,動態測試技術,是指在程序運行的情況下,對用例進行測試并執行,對比預期的輸出與實際的輸出,發現其中存在的不足之處以及錯誤。
(2)白盒與黑盒的測試。根據源代碼的查看情況可以把測試技術分為兩類:第一類,白盒測試技術,是指了解并分析系統或者其組件內部的結構,針對設計用例,進行測試活動,白盒測試一般采取數據流或者代碼覆蓋的測試方法。第二類,黑盒測試技術,是指不需要對軟件內部的結構以及其具體的代碼進行了解與分析,而是按照規格說明書的要求進行相關的軟件測試,黑盒測試技術一般采用等價類劃分、狀態測試或者決策表的測試方式。其測試內容通常是邏輯功能測試、穩定性測試、兼容測試、壓力測試等等。
(3)其他的測試技術。第一種,回歸測試技術,是指通過測試后有問題的軟件進行了相應的修改,修改完成后還要對其進行重復測試,如果要改交整個設計就要對重新設計的相關內容進行再次測試。第二種,冒煙測試技術,是指選取軟件系統中最重要部分進行先期測試,如果最重要的部分都不能達到相關的要求,那么就可以直接廢棄,再對軟件進行重新的開發。第三種,隨機測試技術,輸入隨機的數據對系統進行測試,目的在于完全的模擬用戶操作,找出某些不易被發現的錯誤。
2、軟件的保護技術
2.1 概念及目的
軟件保護技術目的是避免合法的軟件被盜版,也就是防止軟件的具體程序被破譯。軟件保護技術大致分為兩個方面:第一是基于硬件保護的技術,第二是基于軟件保護的技術。與其他的安全產品相對來說,軟件的保護產品是其中比較特殊的,涉及內容比較廣泛,其中包含一些應用軟件、驅動、操作系統以及網絡等等。
2.2 技術方法與應用
(1)基于硬件保護的技術。設置密碼鎖,這是具有智能性質的加密產品,可以與USB接口相連。目前其通常用在商業上安保工作要求比較高的領域。與此同時,還可以將部分密鑰信息導入光盤中,當特定光盤完整的放入時,被保護的有關信息才可以顯現出來,這種方式通常用在單機的游戲軟件當中。這樣的保護方法也存在著明顯的缺點,如果光盤遭到破壞,那么相關的信息就會失去。并且要是讓有關的專業人員破譯出了源代碼,其就可以盜取里面相關的信息。
(2)基于軟件保護的技術。這種技術大致可分為四種,第一是序列號的保護。用戶下載某些軟件后,如果要想正常使用,往往要進行注冊才可以具體操作。注冊通常情況下是用戶提供個人的信息發送到相關的軟件公司,軟件公司按照所得信息制定唯一的序列號,然后將序列號反給用戶,用戶根據具體的提示完成注冊步驟。這樣的方法操作非常簡單,花費又比較低廉,所以廣泛應用在共享軟件保護技術當中。第二是Nag窗口。是指部分軟件采取彈出窗口的方式對用戶正常使用軟件進行干擾,倡導用戶購買正版。這樣的方法容易給用戶帶來不好的印象,并且也很容易被破譯,因此使用的越來越少。第三是時間限制。第四是功能限制。最常見的方式是放一個Demo版限制,對其中一些重要功能選項實施灰色化處理,讓它們不能正常使用。大致可分為兩種:試用版與正式版代碼完全一樣,這種方式風險較大,解密者只要發現被禁功能的代碼,就能使用正版的功能,因此通常情況下這種方法不被采用。第二種限制是第一種限制的改善版,解密者如果想使用正版的功能,那么只能自己進行添加功能代碼,因此,這樣的限制在保護方面有較好的效果,值得推廣。