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