測(cè)試工具和測(cè)試自動(dòng)化
人類的進(jìn)化史和發(fā)展史,就是一個(gè)不斷創(chuàng)造和使用工具的歷史。工具是人類想象力的物理呈現(xiàn),也是社會(huì)進(jìn)步的巨大助力。對(duì)于測(cè)試而言,工具同樣不可或缺,甚至于如果想判斷某個(gè)廠商的測(cè)試水平是處于“蠻荒時(shí)代”還是已經(jīng)進(jìn)化到了“現(xiàn)代社會(huì)”,觀察其使用的測(cè)試工具就能知道個(gè)大概。事實(shí)上,很多測(cè)試項(xiàng)目,尤其是性能和穩(wěn)定性測(cè)試項(xiàng)目,必須借助測(cè)試工具才能完成;驗(yàn)證業(yè)務(wù)的大規(guī)模部署能力,沒有工具的支撐更是不可想象。舉個(gè)簡單例子,對(duì)一個(gè)可以同時(shí)接入4000個(gè)PPPoE的設(shè)備進(jìn)行測(cè)試,如果沒有測(cè)試工具,就只能搭建一個(gè)4000個(gè)客戶端的環(huán)境,這在實(shí)踐中幾乎不可實(shí)施,更何況類似測(cè)試項(xiàng)目會(huì)很多,而且每個(gè)版本都需要重復(fù)測(cè)試。
一、測(cè)試工具
伴隨著網(wǎng)絡(luò)技術(shù)的爆發(fā)式發(fā)展,種類繁多的測(cè)試工具也被開發(fā)出來,根據(jù)其主要功能,大致可以分為下面幾類*(*注:現(xiàn)在的測(cè)試工具都比較復(fù)雜,不一定能完全嚴(yán)格分類,比如Chariot和Avalanche都能提供強(qiáng)大的流量產(chǎn)生功能,又是很好的業(yè)務(wù)模擬工具)。
流量發(fā)生工具:主要用于生成大規(guī)模網(wǎng)絡(luò)流量,測(cè)試設(shè)備的轉(zhuǎn)發(fā)平面功能。這類工具有的是直接安裝在主機(jī)上的軟件,如Chariot;也有的是專用硬件,比如Spirent和IXIA等專業(yè)廠商提供的測(cè)試儀器;
協(xié)議仿真工具:主要對(duì)信令協(xié)議進(jìn)行仿真,測(cè)試設(shè)備的控制平面功能。比如路由協(xié)議仿真,MPLS相關(guān)協(xié)議仿真,認(rèn)證接入?yún)f(xié)議仿真等測(cè)試工具;
業(yè)務(wù)模擬工具:主要是對(duì)應(yīng)用層協(xié)議和客戶業(yè)務(wù)進(jìn)行模擬,測(cè)試設(shè)備的應(yīng)用和業(yè)務(wù)承載能力。一般的L4-L7的測(cè)試儀器和工具都提供了強(qiáng)大的業(yè)務(wù)模擬能力,比如Avalanche,BPS等測(cè)試儀器和Chariot軟件;
攻擊類工具:包括黑客工具、Fuzzing和Vulnerability類測(cè)試工具,測(cè)試設(shè)備的安全性和攻擊防范能力。典型的有Mu Dynamics、Codenomicon、BIFFIT、SAINT、NESSUS、nMAP以及SYN flood等DDOS工具;
平臺(tái)類工具:一般提供的是一個(gè)二次開發(fā)平臺(tái),有完善的集成開發(fā)環(huán)境,支持多種適合用于測(cè)試的高級(jí)計(jì)算機(jī)語言(如Perl、TCL、Python等),可進(jìn)行復(fù)雜的二次開發(fā),集成了為適應(yīng)測(cè)試而封裝和抽象的Lib庫,甚至提供一些已經(jīng)經(jīng)過實(shí)踐檢驗(yàn)的自動(dòng)化測(cè)試套件,并且可以通過外部接口調(diào)用其它測(cè)試儀器和工具。類似微軟的Visual Studio開發(fā)環(huán)境,只不過它是為開發(fā)服務(wù),前者是為測(cè)試服務(wù)。平臺(tái)類工具投入巨大,主要為了滿足廠商建設(shè)自己獨(dú)特的測(cè)試能力體系的需要,一般由廠商自行開發(fā)與維護(hù)。H3C構(gòu)建了這類平臺(tái),稱為通用測(cè)試平臺(tái)(VTP,Versatile Test Platform)。
一般來說,對(duì)于成熟的協(xié)議或應(yīng)用測(cè)試,都有優(yōu)秀的商業(yè)測(cè)試儀器和測(cè)試工具,可以滿足80%以上的測(cè)試需求。但對(duì)于最新的協(xié)議和應(yīng)用,或者特定客戶的非標(biāo)準(zhǔn)定制需求,就要求廠商具備一定的測(cè)試工具自主開發(fā)能力。以H3C為例,在802.1x協(xié)議剛開始在國內(nèi)應(yīng)用時(shí),在大量用戶同時(shí)接入設(shè)備的條件下,設(shè)備會(huì)較大概率出現(xiàn)軟件崩潰。于是,測(cè)試團(tuán)隊(duì)自行開發(fā)出一個(gè)模擬大量802.1x用戶接入的工具,最終很快就發(fā)現(xiàn)并解決了問題,而具備類似功能的商業(yè)802.1x測(cè)試工具,大約時(shí)隔兩年后才在市場(chǎng)上出現(xiàn)。
H3C對(duì)于測(cè)試儀器和測(cè)試工具在優(yōu)化測(cè)試效率、提高測(cè)試水平、提升產(chǎn)品質(zhì)量方面的重要性深有體會(huì)。在這方面的投入很大。一方面,大量采購了業(yè)界先進(jìn)的商業(yè)測(cè)試儀器和工具,如Spirent、IXIA、BPS和Veriwave等公司的測(cè)試儀器和測(cè)試軟件。另一方面,通過專門的測(cè)試平臺(tái)團(tuán)隊(duì)也獨(dú)立開發(fā)了眾多的測(cè)試工具和軟件,為商業(yè)測(cè)試軟件覆蓋不到的測(cè)試需求提供支持,確保H3C能以最快的速度推出最新特性。該團(tuán)隊(duì)開發(fā)的測(cè)試工具目前已經(jīng)形成系列并成為測(cè)試工程師的重要助力,如多客戶端模擬系列工具,路由協(xié)議系列測(cè)試工具,一致性系列測(cè)試工具,綜合業(yè)務(wù)模擬系列工具等。該團(tuán)隊(duì)開發(fā)的通用測(cè)試平臺(tái)則構(gòu)建了一個(gè)公司級(jí)的自動(dòng)化測(cè)試框架,提供了完善的GUI,CLI自動(dòng)化測(cè)試解決方案,為H3C的全系列產(chǎn)品測(cè)試提供服務(wù)。
二、測(cè)試自動(dòng)化
測(cè)試工具和測(cè)試自動(dòng)化,兩者是一對(duì)孿生兄弟。測(cè)試工具的目的就是為了代替部分繁瑣的手工測(cè)試操作,或完成手工測(cè)試不可能完成的測(cè)試活動(dòng),實(shí)現(xiàn)一定程度的測(cè)試自動(dòng)化。測(cè)試自動(dòng)化的發(fā)展進(jìn)化和測(cè)試工具的進(jìn)步密不可分,隨著測(cè)試工具的進(jìn)步和完善,很大一部分測(cè)試工作已經(jīng)可以做到無人值守,實(shí)現(xiàn)完全意義上的自動(dòng)化。回顧自動(dòng)化測(cè)試技術(shù)的發(fā)展歷史,大致可以分為三代。
評(píng)論