版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
精品文檔-下載后可編輯IxDefend協(xié)議健壯性測試技術-基礎電子檢驗設備軟件在各種條件下可實現(xiàn)持續(xù)運行狀態(tài),以及評估設備從故障中恢復正常服務所需要的時間和其他影響,就是軟件可靠性測試主要涉及的課題。
為全面評估軟件容錯性和故障恢復能力,測試需要制造或模擬一系列條件,包括內部硬件故障條件、外部惡意攻擊條件、偶發(fā)過載條件、軟件資源耗盡條件、周邊環(huán)境故障條件以及長時間正常負荷持續(xù)運行模擬。為了在產品開發(fā)的不同階段組織針對性測試,這些測試行為又被明確定義并歸類。
測試分類
1、協(xié)議健壯性測試
根據(jù)IEEE的定義,協(xié)議的健壯性(Robustness)測試分析是指系統(tǒng)或者某一組成部分在各種無效、異常輸入或者壓力環(huán)境條件下是否能夠進行正確處理和分析??梢韵胂螅鞣N異?;蛘邿o效輸入的組合數(shù)量要遠遠大于允許的正常輸入的可能組合數(shù)量。是一種以破壞性手段去嘗試運行軟件的行為,通過用戶接口的異常輸入,使用異常協(xié)議消息交互引導軟件進入未定義或未保護的狀態(tài)。協(xié)議健壯性測試的手段主要包括下面幾種方式:
(1)緩存溢出型輸入:對于一些變量字段,通過輸入超量的字符或數(shù)字使緩存定界發(fā)生困難,終溢出,系統(tǒng)停止響應或宕機。
(2)整數(shù)型輸入:對于一些類似長度字段,通過輸入邊界或極限值使條件判斷語句失效,服務終止。
(3)下溢型輸入:對于一些強制長度型字段,比如MAC地址,通過缺失或截斷部分信息,使變量拿不到足夠的賦值,從而造成邏輯失效。
(4)格式型輸入:對于一些連續(xù)字段,一般有字符定界規(guī)則,比如連續(xù)多少個全零之后表示邊界,通過違背這些規(guī)則,使程序無法完成定界,系統(tǒng)宕機;對于某些有特定格式的字段,比如字符或整數(shù),通過輸入非法格式,使程序邏輯加長或直接退出。
(5)消息次序錯型輸入:通過修改報文的出現(xiàn)次序,使系統(tǒng)產生判斷上的困難,狀態(tài)機無法完成正常轉移,造成服務延遲或等級下降。
(6)重復型輸入:在正常報文中循環(huán)產生某一特定字段信息,使程序檢測出現(xiàn)異常,并導致系統(tǒng)停止響應。
對于上述測試手段,采用的是一種新的測試方法,稱為協(xié)議模糊測試,英文名稱為“FuzzTesting”或“Fuzzing”。協(xié)議模糊測試是一種軟件測試技術,通過隨機數(shù)據(jù)輸入(Fuzz方式)到測試對象上,如果測試對象失敗,比如出現(xiàn)宕機,程序回應異常等,該缺陷就會被記錄。協(xié)議模糊測試有兩種類型,一種是隨機模糊測試(RandomFuzzing)這種方式預先假設大量的隨機數(shù)據(jù)然后輸入到被測對象上,也稱為無狀態(tài)的輸入方式,其缺點是耗費很長測試時間,測試效率低,并且和被測設備沒有交互。另外一種方式是智能模糊測試(IntelligentFuzzing),該方式采用協(xié)議有狀態(tài)交互的方式,根據(jù)協(xié)議的特點和可能的交互流程進行一定的假設性輸入參數(shù),這種方法耗時較短,執(zhí)行效率高,更容易發(fā)現(xiàn)被測試對象的缺陷和存在的問題。
通過對以上各種測試手段進行有目的的組合,以及持續(xù)、高強度的沖擊,可以檢測出系統(tǒng)的出錯、服務質量下降以及宕機的概率。概率越低,越健壯,也就是說,協(xié)議的可靠性越高。圖1是協(xié)議健壯性測試的兩種途徑示意。
對軟件系統(tǒng)而言,合法輸入組合以外的輸入往往超出正常輸入的組合,軟件運行中總會遇到一些預期之外的輸入。因此,軟件需要有嚴格的合法性檢查才能避免進入未知狀態(tài)。協(xié)議健壯行測試的目標就是盡可能找出軟件保護不周的問題。
在軟件測試的早期階段進行的參數(shù)邊界值測試就屬于健壯性測試的一部分。比如一個用戶接口接受1-100的整數(shù)輸入,那么1和100就是合法邊界,大于100和小于1的輸入都是非法輸入。其他非整數(shù)型的輸入也屬于非法值,包括故意破壞檢查輸入條件的代碼的一些組合。軟件面對的接口除了終用戶可見的部分之外,還有大量的軟件組件之間的不可見部分,以及設備之間的通信協(xié)議接口。
除了單一輸入的簡單合法性判斷,軟件在組合輸入和特定狀態(tài)下可接受輸入的定義更為復雜。為確認軟件在各種條件下的運行正常,測試需要嘗試盡可能多的組合。復雜的通信協(xié)議除了定義有邏輯化結構的報文格式,還有一系列的內部狀態(tài),要測試人員完全手工方式遍歷這些狀態(tài),并且構造所有可能的異常組合輸入條件是無法想象的,因此需要專用的測試工具和儀器專門檢測軟件對各種協(xié)議變異報文的處理,對參數(shù)的調整是測試需要關注的一個重要方面。
從系統(tǒng)測試的角度,觀測協(xié)議健壯性的測試結果是比較困難的,一般是從系統(tǒng)外部觀察整機是否存在異常,正在被測試的協(xié)議功能有沒有停止響應,正常用戶請求是否得到及時處理,設備的性能有沒有下降。而一些細微的功能異?;蛸Y源耗費,很容易被測試人員忽視,在這里,測試工具也無能為力。
以IxDefend測試TLS-Server舉例。
完成測試儀器與被測試設備的物理連接,并且將端口配置IP地址,開啟TLS-Server服務。
通過測試儀器的GUI控制界面裝入TLSServer測試套件,如圖1所示。
配置TLSServer測試所需要的參數(shù),包括被測試設備IP、TLS服務端口、超時時間等,如圖2所示。
點擊開始按鈕啟動測試運行。
在產品設計階段與功能驗證階段使用IxDefend進行健壯性與安全測試,可以盡早發(fā)現(xiàn)產品的安全漏洞,對產品的成本影響也越小。因為發(fā)現(xiàn)的問題越晚,影響的面就越寬,修改程序的難度就可能越大。首先,在產品開發(fā)驗證與測試階段使用IxDefend進行產品的健壯性測試,在過去根本就沒有很好的手段去驗證,或者采用無狀態(tài)的隨機模糊測試方法進行測試,這些工具一般都是內部自己開發(fā)的軟件,采用自己既是裁判員又是運動員的做法很不客觀,現(xiàn)在IxDefend完全改變了這種狀態(tài),使對協(xié)議沒有深入理解的普通工程師就可以進行安全性檢驗和漏洞檢查,不需要專門的協(xié)議進行各種異常設計,大大降低了健壯性測試的人員成本;其次,使用IxDefend并不需要對協(xié)議本身有級的了解,采用IxDefend簡單易用的配置以及強大的自動化測試功能,使測試工程師從繁瑣的、單調的、重復性的工作解放出來,大大提高測工作效率;第三,產品測試使用IxDefend同樣可以幫助研發(fā)隊伍在版本發(fā)布前及時發(fā)現(xiàn)產品可能存在的安全問題與各種漏洞,提高研發(fā)人員的效率與產品質量。在產品系統(tǒng)測試階段,還存在新版軟件提供了新的功能或解決了部分老的問題,但同時引入了新的安全漏洞的情況。因此,在有新版本發(fā)布前,對新的軟件版本進行全面協(xié)議健壯性測試顯得非常重要。
測試運行期間,儀器會發(fā)送事先定義好的各種異常組合,并檢查設備對這些報文的響應。一旦被測試設備失去任何響應,就記錄為失敗,并持續(xù)嘗試下面的測試用例。如圖3所示的是一個真實的運行記錄,設備在某項測試運行后發(fā)生異常,該項目被標記為紅色。測試人員可以根據(jù)該記錄重現(xiàn)問題,并將設備異常信息一并提交給開發(fā)定位具體
圖1IxDefend選擇測試套件
圖2IxDefend配置TLS-Server套件運行參數(shù)
圖3IxDefend運行結果統(tǒng)計
2、硬件故障模擬測試
通常,判斷軟件行為是否正常的先決條件之一是其是否運行在正確的硬件環(huán)境之下,因為硬件故障對軟件產生的影響往往是致命的和不可預測的。在實際情況中,越是造價昂貴且承擔重要任務的硬件系統(tǒng),其硬件的復雜度越高,故障率也更高。為了提高系統(tǒng)的可靠性,硬件在設計上會使用冗余器件的方式,但在很多情況下,硬件替換做不到對軟件透明,需要依賴軟件檢測并采取一系列措施。此外,軟件還需要設計足夠的容錯性去隔離硬件錯誤的影響范圍。在非關鍵器件停止工作之前,軟件需要盡可能保證系統(tǒng)其它功能不受影響。
對測試人員而言,了解軟件對硬件的依賴,通過制造或模擬硬件器件故障檢驗軟件行為的合理性,是可靠性測試的一個重要環(huán)節(jié)。在測試有備份硬件系統(tǒng)的產品時,測試人員往往使用硬件拔出槽位,命令重啟等方式驗證備份機制的有效性。然而,這還遠遠不夠。設備在實際運行條件下器件被拔出只是一種維護行為,很多情況下是在連續(xù)運行過程中,器件突然失效。測試人員需要驗證這些情況,以確認軟件設計的故障檢測機制和容錯機制的真實有效性。
由于硬件系統(tǒng)的具體情況不同,每個器件的故障形式和直接影響不同,是否有規(guī)避方案需要具體分析。軟件對硬件可用性的依存度往往很高,因此硬件故障測試的結果經常具有很大的爭議性。對測試結果的分析和判斷比測試設計和執(zhí)行更為重要。
現(xiàn)有的測試手段中,直接的方式是通過改動硬件線路或干預數(shù)字信號制造故障。此外,可以通過軟件加入調試命令,對一些關鍵器件的狀態(tài)進行修改,設置為非法的狀態(tài)來模擬故障。
3、壓力測試
任何設備或系統(tǒng)都是在一定的工作負荷下完成其功能。如果外部加入的工作負擔超過其能力,系統(tǒng)效能會下降甚至是停止工作。這是一種與可用性相背離的特性,卻是任何系統(tǒng)的必然屬性。很多重要系統(tǒng)是通過增加硬件成本,人為降低承諾指標來緩解這一問題,然而事實上都存在一個能力極限,除非輸入子系統(tǒng)進行了硬性限制。
為了提高設備的性價比,一般軟件系統(tǒng)不會設定承載能力的硬性約束,因此,設備都會面對超負荷工作的場景。軟件設計力爭減少超負荷運行的負面效應,使系統(tǒng)在合理壓力下能夠正常運作是可靠性的一個重要考量。雖然用戶不會要求設備能在超負荷的工作環(huán)境下連續(xù)穩(wěn)定運行,但在真實網絡中,負荷波動是無法避免的,短時間的超載運行不應該導致災難性的后果。
壓力測試就是通過制造設備的超載負荷,模擬設備在真實環(huán)境下可能遇到的場景。一臺網絡設備會有很多負載指標,驗證各個指標的超載工作能力是一項繁雜的測試工作。這些高負載的測試一般都要依賴專用的測試儀器來模擬。
一般在設備規(guī)格會寫明產品支持的IP路由表容量、轉發(fā)數(shù)據(jù)流量、ARP或MAC地址容量等指標。測試的工作就是把被測試設備與測試儀器連接,通過儀器構造與規(guī)格指標相同或略低的一項負載,再制造一個10%左右的異常波動沖擊被測設備,并觀察被測設備在加載超載負荷前、負荷中和恢復到初始設定負荷之后的實際表現(xiàn)。
不受壓力影響和能快速恢復的設備是可能被制造出來的,但是代價是必然提高硬件和軟件成本。因此一個合理的可接受的壓力反應和恢復時間,往往需要根據(jù)用戶的使用場景和可承受成本綜合考慮。
4、內存耗盡測試
與硬件發(fā)生故障類似,軟件所要面對的另一種是情況是資源枯竭。因為軟件要流暢地運行需要依賴很多外部資源,其中包括:內存、定時器、隊列、文件句柄、Socket等等。這些資源中關鍵的就是內存,因為很多資源不足可以等待,內存短缺會導致立即的操作失敗。一個良好設計的軟件系統(tǒng)需要設定內存門限,一旦內存消耗達到門限會強制一些不重要的任務退出運行而釋放資源。而且所有申請內存的任務需要自身設計保護代碼,避免沒有申請成功時誤入歧途。
資源耗盡的情況下軟件系統(tǒng)必然會產生一些功能受限的反應,只要這種情況能在資源充足后得到恢復就不構成嚴重問題。確認系統(tǒng)在資源不足時沒有異常反映,合理屏蔽了次要功能,同時確保高優(yōu)先級進程得到應得的資源就是軟件測試所要做的工作。
測試手段通常是啟動一些重要的功能和構造動態(tài)的運行負荷,然后用調試命令占用內存或啟動一些消耗型任務占用內存,以構造資源耗盡的條件,觀察被測系統(tǒng)在內存枯竭后的反應,并繼續(xù)進行操作。再通過釋放占用的內存來恢復正常條件,觀察系統(tǒng)受影響的功能是否自動恢復。
內存耗盡測試的原理非常簡單,但是因為動態(tài)分配內存的指令無處不在,測試覆蓋各種流程分支就要設定各種組合條件,存在很大執(zhí)行的難度。內存耗盡測試可能發(fā)現(xiàn)長期隱藏于軟件中的嚴重問題,徹底解決這些問題,對軟件的可靠性有很重要的意義。
5、拷機測試
拷機測試也叫燒機器,一般指對于新買的機器,如電腦、儀器,讓其不關機運行1-2天來測試軟硬件的兼容性與系統(tǒng)穩(wěn)定性。因為電子產品如果是因為硬件的性能等而出問題的話一般都是在較短的時間內就會出現(xiàn)了,如果經過這段時間了,那就說明系統(tǒng)還是比較穩(wěn)定的(當然了,如果是因為使用了很長時間而出問題那又另當別論),所以把機器買回來之后,是進行拷機,以便在保修期內發(fā)現(xiàn)問題,趁早解決,減少損失。
由于軟件固有的邏輯復雜性和系統(tǒng)測試手段的限制,有些問題只有在實際環(huán)境下經過足夠長時間運行才會出現(xiàn)??綑C測試就是在實驗室模擬設備運行的真實工作場景,通過規(guī)定負荷及偶發(fā)性過載條件下連續(xù)運行,觀測被測設備連續(xù)無故障運行時間,俘獲異常錯誤的測試。
測試所構造的工作場景能否還原真實應用,是能否提早發(fā)現(xiàn)問題的關鍵。由于用戶的應用場景千差萬別,需要用很多設備搭建組網來還原,而且必須等候足夠長的時間,這是一種高成本的測試方式,卻又不可替代。測試人員一般會采用頻繁觸發(fā)設備狀態(tài)變化的手段加速問題出現(xiàn),這對某些問題有效,卻可能隱蔽另外一些問題。
H3C的每個產品都要經過嚴格測試,其中必須進行的一項就是長時間的拷機環(huán)境測試。即使產品已經在市場正式投入使用,這套拷機環(huán)境還會持續(xù)運行,并且經常調整流量和業(yè)務規(guī)劃,以期覆蓋更多的用戶應用環(huán)境。
不運行任何軟件,是基礎的拷機,是看你的電腦的基本硬件的兼容性能!如果沒有問題,在進行運行大型程序進行拷機,比如大型游戲,可以看出來你的內存和顯卡等等硬件的工作情況!
6、收斂指標測試
對網絡設備而言,保證網絡通暢是其重要的功能之一。有些則是針對自身發(fā)生異常時實現(xiàn)冗余硬件切換,流量路徑切換或快速故障恢復的協(xié)議。針對這些情況,有一個通用的度量指標,即網絡收斂指標,是通過網絡中斷服務(或故障恢復)時間來考察設備或網絡提供的可靠性。
任何一種網絡路由協(xié)議或拓撲管理協(xié)議都是為了在動態(tài)變化的網絡中提供一個可行的流量路徑而設計的,所以收斂是一個基本屬性。從注入拓撲變化或故障發(fā)生的時間開始,網絡服務和數(shù)據(jù)流量受到影響,在拓撲收斂后路徑切換到備份網絡上,恢復網絡服務和流量所經歷的時間就是收斂時間。為加速收斂而提出的一。
附加技術可以使收斂時間縮短到毫秒級甚至在設備主控發(fā)生重啟等情況下提供不中斷的轉發(fā)服務。
圖4IGP路由收斂測試組網圖
IGP收斂的測試實例。
如圖4所示,被測試設備首先從B和C端口學
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度化工產品運輸合同(環(huán)保標準)4篇
- 二零二五版高端酒店餐飲廚房全面托管合同范本3篇
- 二零二五年度大慶市房屋買賣合同備案登記流程優(yōu)化4篇
- 2025年度成魚養(yǎng)殖與漁業(yè)科技研發(fā)合作合同4篇
- 2024維修橋施工合同范本:綠色橋梁維護工程3篇
- 二零二五年度高空作業(yè)安全免責協(xié)議及高空作業(yè)現(xiàn)場安全管理措施合同3篇
- 二零二五年度中醫(yī)食療養(yǎng)生傳承合同規(guī)范4篇
- 2025年度個人投資理財合同范本4篇
- 2025年度采礦權出讓合同范本:礦業(yè)權登記與審批流程3篇
- 個性化2024借款合同書模板
- 2024年東南亞人用疫苗市場深度研究及預測報告
- 【采購管理優(yōu)化探究文獻綜述3000字】
- 《大學生職業(yè)發(fā)展與就業(yè)指導》課程標準
- 第23課《出師表》課件(共56張)
- GB/T 3953-2024電工圓銅線
- 發(fā)電機停電故障應急預案
- 接電的施工方案
- 幼兒阿拉伯數(shù)字描紅(0-100)打印版
- 社會組織等級評估報告模板
- GB/T 12173-2008礦用一般型電氣設備
- 新媒體研究方法教學ppt課件(完整版)
評論
0/150
提交評論