自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

測試工具和測試自動化

網(wǎng)絡(luò) 通信技術(shù) 自動化
人類的進(jìn)化史和發(fā)展史,就是一個不斷創(chuàng)造和使用工具的歷史。

人類的進(jìn)化史和發(fā)展史,就是一個不斷創(chuàng)造和使用工具的歷史。工具是人類想象力的物理呈現(xiàn),也是社會進(jìn)步的巨大助力。對于測試而言,工具同樣不可或缺,甚至于如果想判斷某個廠商的測試水平是處于“蠻荒時代”還是已經(jīng)進(jìn)化到了“現(xiàn)代社會”,觀察其使用的測試工具就能知道個大概。事實(shí)上,很多測試項(xiàng)目,尤其是性能和穩(wěn)定性測試項(xiàng)目,必須借助測試工具才能完成;驗(yàn)證業(yè)務(wù)的大規(guī)模部署能力,沒有工具的支撐更是不可想象。舉個簡單例子,對一個可以同時接入4000個PPPoE的設(shè)備進(jìn)行測試,如果沒有測試工具,就只能搭建一個4000個客戶端的環(huán)境,這在實(shí)踐中幾乎不可實(shí)施,更何況類似測試項(xiàng)目會很多,而且每個版本都需要重復(fù)測試。

一、測試工具

伴隨著網(wǎng)絡(luò)技術(shù)的爆發(fā)式發(fā)展,種類繁多的測試工具也被開發(fā)出來,根據(jù)其主要功能,大致可以分為下面幾類*(*注:現(xiàn)在的測試工具都比較復(fù)雜,不一定能完全嚴(yán)格分類,比如Chariot和Avalanche都能提供強(qiáng)大的流量產(chǎn)生功能,又是很好的業(yè)務(wù)模擬工具)。

流量發(fā)生工具:主要用于生成大規(guī)模網(wǎng)絡(luò)流量,測試設(shè)備的轉(zhuǎn)發(fā)平面功能。這類工具有的是直接安裝在主機(jī)上的軟件,如Chariot;也有的是專用硬件,比如Spirent和IXIA等專業(yè)廠商提供的測試儀器;

協(xié)議仿真工具:主要對信令協(xié)議進(jìn)行仿真,測試設(shè)備的控制平面功能。比如路由協(xié)議仿真,MPLS相關(guān)協(xié)議仿真,認(rèn)證接入?yún)f(xié)議仿真等測試工具;

業(yè)務(wù)模擬工具:主要是對應(yīng)用層協(xié)議和客戶業(yè)務(wù)進(jìn)行模擬,測試設(shè)備的應(yīng)用和業(yè)務(wù)承載能力。一般的L4-L7的測試儀器和工具都提供了強(qiáng)大的業(yè)務(wù)模擬能力,比如Avalanche,BPS等測試儀器和Chariot軟件;

攻擊類工具:包括黑客工具、Fuzzing和Vulnerability類測試工具,測試設(shè)備的安全性和攻擊防范能力。典型的有Mu Dynamics、Codenomicon、BIFFIT、SAINT、NESSUS、nMAP以及SYN flood 等DDOS工具;

平臺類工具:一般提供的是一個二次開發(fā)平臺,有完善的集成開發(fā)環(huán)境,支持多種適合用于測試的高級計算機(jī)語言(如Perl、TCL、Python等),可進(jìn)行復(fù)雜的二次開發(fā),集成了為適應(yīng)測試而封裝和抽象的Lib庫,甚至提供一些已經(jīng)經(jīng)過實(shí)踐檢驗(yàn)的自動化測試套件,并且可以通過外部接口調(diào)用其它測試儀器和工具。類似微軟的Visual Studio開發(fā)環(huán)境,只不過它是為開發(fā)服務(wù),前者是為測試服務(wù)。平臺類工具投入巨大,主要為了滿足廠商建設(shè)自己獨(dú)特的測試能力體系的需要,一般由廠商自行開發(fā)與維護(hù)。H3C構(gòu)建了這類平臺,稱為通用測試平臺(VTP,Versatile Test Platform)。

一般來說,對于成熟的協(xié)議或應(yīng)用測試,都有優(yōu)秀的商業(yè)測試儀器和測試工具,可以滿足80%以上的測試需求。但對于最新的協(xié)議和應(yīng)用,或者特定客戶的非標(biāo)準(zhǔn)定制需求,就要求廠商具備一定的測試工具自主開發(fā)能力。以H3C為例,在802.1x協(xié)議剛開始在國內(nèi)應(yīng)用時,在大量用戶同時接入設(shè)備的條件下,設(shè)備會較大概率出現(xiàn)軟件崩潰。于是,測試團(tuán)隊(duì)自行開發(fā)出一個模擬大量802.1x用戶接入的工具,最終很快就發(fā)現(xiàn)并解決了問題,而具備類似功能的商業(yè)802.1x測試工具,大約時隔兩年后才在市場上出現(xiàn)。

H3C對于測試儀器和測試工具在優(yōu)化測試效率、提高測試水平、提升產(chǎn)品質(zhì)量方面的重要性深有體會。在這方面的投入很大。一方面,大量采購了業(yè)界先進(jìn)的商業(yè)測試儀器和工具,如Spirent、IXIA、BPS和Veriwave等公司的測試儀器和測試軟件。另一方面,通過專門的測試平臺團(tuán)隊(duì)也獨(dú)立開發(fā)了眾多的測試工具和軟件,為商業(yè)測試軟件覆蓋不到的測試需求提供支持,確保H3C能以最快的速度推出最新特性。該團(tuán)隊(duì)開發(fā)的測試工具目前已經(jīng)形成系列并成為測試工程師的重要助力,如多客戶端模擬系列工具,路由協(xié)議系列測試工具,一致性系列測試工具,綜合業(yè)務(wù)模擬系列工具等。該團(tuán)隊(duì)開發(fā)的通用測試平臺則構(gòu)建了一個公司級的自動化測試框架,提供了完善的GUI,CLI自動化測試解決方案,為H3C的全系列產(chǎn)品測試提供服務(wù)。

二、測試自動化

測試工具和測試自動化,兩者是一對孿生兄弟。測試工具的目的就是為了代替部分繁瑣的手工測試操作,或完成手工測試不可能完成的測試活動,實(shí)現(xiàn)一定程度的測試自動化。測試自動化的發(fā)展進(jìn)化和測試工具的進(jìn)步密不可分,隨著測試工具的進(jìn)步和完善,很大一部分測試工作已經(jīng)可以做到無人值守,實(shí)現(xiàn)完全意義上的自動化?;仡欁詣踊瘻y試技術(shù)的發(fā)展歷史,大致可以分為三代。

第一代,以工具為中心的自動化

時間:90年代中期之前

這一代自動化使用的測試工具,以捕捉/回放(Capture/Replay)工具最為典型,即捕獲用戶的鼠標(biāo)和鍵盤操作,并記錄下來,下次測試時可以回放這些操作,重復(fù)上次的測試。這些工具一般也提供簡單的腳本功能,測試人員還可以根據(jù)需要對記錄的腳本進(jìn)行修改,比如增加循環(huán)操作以及一些簡單的判斷條件等,以強(qiáng)化測試。不過因?yàn)槟_本語言簡單,腳本功能往往只是其中的點(diǎn)綴。如QARun,WinRunner,就是這種工具的典型代表。這代測試自動化技術(shù)有很大的局限性:

自動化程度有限。每種工具都有自己獨(dú)特的腳本語言,但又不是一個全功能的腳本語言,能自動化的操作有限,構(gòu)不成一個完整的自動化解決方案,不同工具的腳本無法共享;

對SUT(System Under Test)的變化適應(yīng)性較差。如果SUT的GUI有了變化,錄制的腳本幾乎不能再用,這在軟件總是不斷改進(jìn)和變化的時代幾乎是致命的缺陷。

第二代,以腳本為中心的自動化

時間:90年代末至21世紀(jì)初

這是自動化的個人英雄主義時代。一些測試團(tuán)隊(duì)在這個階段已經(jīng)認(rèn)識到采用統(tǒng)一腳本語言的重要性,并找到了適合測試工作的、功能完備的腳本語言,在團(tuán)隊(duì)中大力推行。但因?yàn)榻?jīng)驗(yàn)有限,缺乏良好的頂層設(shè)計,測試自動化主要依靠測試工程師的主觀能動性,八仙過海、各顯神通,每個人都是腳本工程師,測試腳本大量產(chǎn)生。

這代自動化雖然有了統(tǒng)一的腳本語言,測試工程師之間也可以進(jìn)行少量的腳本共享。但總體而言,是各自為戰(zhàn),風(fēng)格不同,質(zhì)量參差不齊。和個人測試環(huán)境密切關(guān)聯(lián)的個人自動化成果難以充分轉(zhuǎn)化為有效的團(tuán)隊(duì)平臺積累。不過,這個階段培養(yǎng)了大量的技術(shù)熟練的測試自動化工程師,為下個階段打好了人員和技術(shù)基礎(chǔ)。

第三代,以平臺為中心的自動化

時間:21世紀(jì)初至今

在第二代自動化摸索幾年后,有眼光的測試管理者和出色的測試工程師,都認(rèn)識到這種野蠻生長產(chǎn)生的腳本在可維護(hù)性、可重用性、拓?fù)溥m應(yīng)性方面都存在很大問題,不能真正形成持續(xù)有效的團(tuán)隊(duì)積累。于是,自動化測試的頂層設(shè)計被提上日程:構(gòu)建一個出色的自動化測試平臺;腳本基于邏輯拓?fù)溥M(jìn)行開發(fā),在執(zhí)行時才映射到物理拓?fù)?把常用測試操作抽象為Action word并實(shí)現(xiàn),作為通用類庫供所有測試工程師使用;制定腳本的開發(fā),驗(yàn)收,維護(hù)規(guī)范,保證腳本的一致性、通用性和可維護(hù)性。基于這個測試自動化平臺開發(fā)的腳本,才真正可轉(zhuǎn)化為有效的團(tuán)隊(duì)積累。

以H3C的測試自動化發(fā)展為例,在1999年之前,只是利用簡單的捕捉和回放測試工具,基于這些工具編寫簡單的腳本,屬于第一代自動化。1999-2002年期間,測試平臺團(tuán)隊(duì)引入了適應(yīng)通信設(shè)備測試的TCL語言,開發(fā)了通用測試平臺,但統(tǒng)一的ATF(Auto Testing Framwork)尚未成熟,處于第二代自動化階段。2003年,H3C測試團(tuán)隊(duì)發(fā)布了ATF,并啟動Testbladev1/v2腳本體系的開發(fā),這標(biāo)志著H3C的測試自動化進(jìn)入了第三代,并在實(shí)踐中不斷優(yōu)化。基于VTP和ATF,H3C已經(jīng)實(shí)現(xiàn)了80%以上的功能測試的自動化,并提供了多個性能測試、壓力測試及持久性測試的自動化測試套件。

三、展望:第四代自動化測試技術(shù)

那么是否會有第四代自動化測試技術(shù)? 回答是肯定的。下一代自動化技術(shù)必然是以網(wǎng)絡(luò)為中心的測試自動化,也可以稱之為以云為中心的測試自動化。所有的測試設(shè)備(真實(shí)的、虛擬的)、測試儀器以及測試主機(jī),通過一個測試自動化管理系統(tǒng)進(jìn)行統(tǒng)一管理,呈現(xiàn)在測試工程師面前的將是一個測試設(shè)備云。測試工程師可以遠(yuǎn)程登錄到測試自動化管理系統(tǒng),通過任務(wù)管理系統(tǒng)提交自己的自動化測試任務(wù),只需要描述清楚測試任務(wù)所需要的設(shè)備類型、設(shè)備連接的鏈路類型,需要執(zhí)行的測試套,系統(tǒng)即會按規(guī)則在測試云中進(jìn)行搜索和計算,得出什么時間能提供滿足本次測試任務(wù)所需要的測試執(zhí)行環(huán)境,測試工程師可以預(yù)約這個時間之后的任意時間運(yùn)行自動化任務(wù),并準(zhǔn)時收到自動化測試結(jié)果。

第四代自動化測試技術(shù)相對第三代,將在可管理性、易用性以及設(shè)備利用率方面有質(zhì)的飛躍,但仍然必須以穩(wěn)定可靠的測試平臺以及完善的測試腳本體系做為測試執(zhí)行的基礎(chǔ),這意味著第三代測試自動化不可跨越。否則,所謂的云測試就是無源之水。

四、結(jié)束語

測試自動化極大的提高了測試效率,使測試工程師可以從簡單重復(fù)的機(jī)械操作中解放出來,把更多精力投入到更有創(chuàng)造性的測試設(shè)計,以及更復(fù)雜的測試執(zhí)行中去。但我們也必須認(rèn)識到測試自動化的局限性。首先,自動化只是對已有測試設(shè)計的機(jī)械重復(fù),不會超出已有的測試認(rèn)知。其次,復(fù)雜測試場景下,影響測試結(jié)果的因素非常廣泛,依靠機(jī)器進(jìn)行判別很難行得通,還是必須由人來完成。

這些局限因素決定了自動化測試不可能完全替代手工測試。不過,測試工具和自動化技術(shù)在復(fù)雜環(huán)境模擬和業(yè)務(wù)模型構(gòu)造上的作用,永遠(yuǎn)無可替代,所以,即使是手工測試,一樣也離不開測試工具和測試自動化技術(shù)??梢哉f,測試工具和測試自動化的進(jìn)步推動著整個測試行業(yè)的發(fā)展。

責(zé)任編輯:遺忘者 來源: 51cto.com
相關(guān)推薦

2014-11-12 09:24:00

2011-05-30 17:50:23

分布式測試

2011-05-31 18:17:07

分布式測試

2022-07-04 09:00:36

Playwright自動化測試工具

2019-01-23 09:00:00

2022-08-08 07:35:37

云測試工具云存儲云計算

2009-07-06 10:08:03

Flex自動化

2011-11-18 09:11:21

Web

2010-08-10 14:34:37

QTPFlex

2015-04-15 13:30:54

2011-06-08 17:15:46

QTP腳本

2010-08-10 14:25:42

SilkTestFlex

2021-12-17 10:01:52

人工智能測試工具

2022-06-02 09:00:00

人工智能工具自動化測試

2020-08-07 08:10:25

開源技術(shù) 工具

2010-08-10 14:18:15

RationalFunFlex

2022-12-04 23:52:11

iOS自動化工具

2012-09-17 13:21:22

iOSAndroid自動化測試工具

2016-11-11 14:34:46

開源開源工具

2020-04-09 13:16:48

自動化工具腳本
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號