測(cè)試工具和測(cè)試自動(dòng)化
第一代,以工具為中心的自動(dòng)化
時(shí)間:90年代中期之前
這一代自動(dòng)化使用的測(cè)試工具,以捕捉/回放(Capture/Replay)工具最為典型,即捕獲用戶的鼠標(biāo)和鍵盤操作,并記錄下來,下次測(cè)試時(shí)可以回放這些操作,重復(fù)上次的測(cè)試。這些工具一般也提供簡單的腳本功能,測(cè)試人員還可以根據(jù)需要對(duì)記錄的腳本進(jìn)行修改,比如增加循環(huán)操作以及一些簡單的判斷條件等,以強(qiáng)化測(cè)試。不過因?yàn)槟_本語言簡單,腳本功能往往只是其中的點(diǎn)綴。如QARun,WinRunner,就是這種工具的典型代表。這代測(cè)試自動(dòng)化技術(shù)有很大的局限性:
自動(dòng)化程度有限。每種工具都有自己獨(dú)特的腳本語言,但又不是一個(gè)全功能的腳本語言,能自動(dòng)化的操作有限,構(gòu)不成一個(gè)完整的自動(dòng)化解決方案,不同工具的腳本無法共享;
對(duì)SUT(System Under Test)的變化適應(yīng)性較差。如果SUT的GUI有了變化,錄制的腳本幾乎不能再用,這在軟件總是不斷改進(jìn)和變化的時(shí)代幾乎是致命的缺陷。
第二代,以腳本為中心的自動(dòng)化
時(shí)間:90年代末至21世紀(jì)初
這是自動(dòng)化的個(gè)人英雄主義時(shí)代。一些測(cè)試團(tuán)隊(duì)在這個(gè)階段已經(jīng)認(rèn)識(shí)到采用統(tǒng)一腳本語言的重要性,并找到了適合測(cè)試工作的、功能完備的腳本語言,在團(tuán)隊(duì)中大力推行。但因?yàn)榻?jīng)驗(yàn)有限,缺乏良好的頂層設(shè)計(jì),測(cè)試自動(dòng)化主要依靠測(cè)試工程師的主觀能動(dòng)性,八仙過海、各顯神通,每個(gè)人都是腳本工程師,測(cè)試腳本大量產(chǎn)生。
這代自動(dòng)化雖然有了統(tǒng)一的腳本語言,測(cè)試工程師之間也可以進(jìn)行少量的腳本共享。但總體而言,是各自為戰(zhàn),風(fēng)格不同,質(zhì)量參差不齊。和個(gè)人測(cè)試環(huán)境密切關(guān)聯(lián)的個(gè)人自動(dòng)化成果難以充分轉(zhuǎn)化為有效的團(tuán)隊(duì)平臺(tái)積累。不過,這個(gè)階段培養(yǎng)了大量的技術(shù)熟練的測(cè)試自動(dòng)化工程師,為下個(gè)階段打好了人員和技術(shù)基礎(chǔ)。
第三代,以平臺(tái)為中心的自動(dòng)化
時(shí)間:21世紀(jì)初至今
在第二代自動(dòng)化摸索幾年后,有眼光的測(cè)試管理者和出色的測(cè)試工程師,都認(rèn)識(shí)到這種野蠻生長產(chǎn)生的腳本在可維護(hù)性、可重用性、拓?fù)溥m應(yīng)性方面都存在很大問題,不能真正形成持續(xù)有效的團(tuán)隊(duì)積累。于是,自動(dòng)化測(cè)試的頂層設(shè)計(jì)被提上日程:構(gòu)建一個(gè)出色的自動(dòng)化測(cè)試平臺(tái);腳本基于邏輯拓?fù)溥M(jìn)行開發(fā),在執(zhí)行時(shí)才映射到物理拓?fù)?;把常用測(cè)試操作抽象為Action word并實(shí)現(xiàn),作為通用類庫供所有測(cè)試工程師使用;制定腳本的開發(fā),驗(yàn)收,維護(hù)規(guī)范,保證腳本的一致性、通用性和可維護(hù)性。基于這個(gè)測(cè)試自動(dòng)化平臺(tái)開發(fā)的腳本,才真正可轉(zhuǎn)化為有效的團(tuán)隊(duì)積累。
以H3C的測(cè)試自動(dòng)化發(fā)展為例,在1999年之前,只是利用簡單的捕捉和回放測(cè)試工具,基于這些工具編寫簡單的腳本,屬于第一代自動(dòng)化。1999-2002年期間,測(cè)試平臺(tái)團(tuán)隊(duì)引入了適應(yīng)通信設(shè)備測(cè)試的TCL語言,開發(fā)了通用測(cè)試平臺(tái),但統(tǒng)一的ATF(Auto Testing Framwork)尚未成熟,處于第二代自動(dòng)化階段。2003年,H3C測(cè)試團(tuán)隊(duì)發(fā)布了ATF,并啟動(dòng)Testbladev1/v2腳本體系的開發(fā),這標(biāo)志著H3C的測(cè)試自動(dòng)化進(jìn)入了第三代,并在實(shí)踐中不斷優(yōu)化?;赩TP和ATF,H3C已經(jīng)實(shí)現(xiàn)了80%以上的功能測(cè)試的自動(dòng)化,并提供了多個(gè)性能測(cè)試、壓力測(cè)試及持久性測(cè)試的自動(dòng)化測(cè)試套件。
三、展望:第四代自動(dòng)化測(cè)試技術(shù)
那么是否會(huì)有第四代自動(dòng)化測(cè)試技術(shù)?回答是肯定的。下一代自動(dòng)化技術(shù)必然是以網(wǎng)絡(luò)為中心的測(cè)試自動(dòng)化,也可以稱之為以云為中心的測(cè)試自動(dòng)化。所有的測(cè)試設(shè)備(真實(shí)的、虛擬的)、測(cè)試儀器以及測(cè)試主機(jī),通過一個(gè)測(cè)試自動(dòng)化管理系統(tǒng)進(jìn)行統(tǒng)一管理,呈現(xiàn)在測(cè)試工程師面前的將是一個(gè)測(cè)試設(shè)備云。測(cè)試工程師可以遠(yuǎn)程登錄到測(cè)試自動(dòng)化管理系統(tǒng),通過任務(wù)管理系統(tǒng)提交自己的自動(dòng)化測(cè)試任務(wù),只需要描述清楚測(cè)試任務(wù)所需要的設(shè)備類型、設(shè)備連接的鏈路類型,需要執(zhí)行的測(cè)試套,系統(tǒng)即會(huì)按規(guī)則在測(cè)試云中進(jìn)行搜索和計(jì)算,得出什么時(shí)間能提供滿足本次測(cè)試任務(wù)所需要的測(cè)試執(zhí)行環(huán)境,測(cè)試工程師可以預(yù)約這個(gè)時(shí)間之后的任意時(shí)間運(yùn)行自動(dòng)化任務(wù),并準(zhǔn)時(shí)收到自動(dòng)化測(cè)試結(jié)果。
第四代自動(dòng)化測(cè)試技術(shù)相對(duì)第三代,將在可管理性、易用性以及設(shè)備利用率方面有質(zhì)的飛躍,但仍然必須以穩(wěn)定可靠的測(cè)試平臺(tái)以及完善的測(cè)試腳本體系做為測(cè)試執(zhí)行的基礎(chǔ),這意味著第三代測(cè)試自動(dòng)化不可跨越。否則,所謂的云測(cè)試就是無源之水。
四、結(jié)束語
測(cè)試自動(dòng)化極大的提高了測(cè)試效率,使測(cè)試工程師可以從簡單重復(fù)的機(jī)械操作中解放出來,把更多精力投入到更有創(chuàng)造性的測(cè)試設(shè)計(jì),以及更復(fù)雜的測(cè)試執(zhí)行中去。但我們也必須認(rèn)識(shí)到測(cè)試自動(dòng)化的局限性。首先,自動(dòng)化只是對(duì)已有測(cè)試設(shè)計(jì)的機(jī)械重復(fù),不會(huì)超出已有的測(cè)試認(rèn)知。其次,復(fù)雜測(cè)試場景下,影響測(cè)試結(jié)果的因素非常廣泛,依靠機(jī)器進(jìn)行判別很難行得通,還是必須由人來完成。
這些局限因素決定了自動(dòng)化測(cè)試不可能完全替代手工測(cè)試。不過,測(cè)試工具和自動(dòng)化技術(shù)在復(fù)雜環(huán)境模擬和業(yè)務(wù)模型構(gòu)造上的作用,永遠(yuǎn)無可替代,所以,即使是手工測(cè)試,一樣也離不開測(cè)試工具和測(cè)試自動(dòng)化技術(shù)??梢哉f,測(cè)試工具和測(cè)試自動(dòng)化的進(jìn)步推動(dòng)著整個(gè)測(cè)試行業(yè)的發(fā)展。 熱式質(zhì)量流量計(jì)相關(guān)文章:熱式質(zhì)量流量計(jì)原理 流量計(jì)相關(guān)文章:流量計(jì)原理
評(píng)論