無(wú)腳本測(cè)試vs腳本測(cè)試:哪種測(cè)試適合您?
譯文【51CTO.com快譯】無(wú)腳本測(cè)試是一種不需要腳本的測(cè)試自動(dòng)化方式,也是一種新方法。它旨在最大限度地減少測(cè)試人員在學(xué)習(xí)編碼和腳本方面的工作量。就像Sprint一樣,無(wú)腳本測(cè)試也是一種新的流行范例。您可能聽說(shuō)過(guò)無(wú)腳本測(cè)試,或者您想知道應(yīng)該采用無(wú)腳本測(cè)試還是腳本測(cè)試?如果選擇其中之一,那么會(huì)得到什么?別擔(dān)心,本文將消除您的困惑。但是本文不會(huì)深入探討無(wú)腳本測(cè)試技術(shù),如果對(duì)此感興趣,可以了解什么是無(wú)腳本測(cè)試及其工作原理。
腳本化測(cè)試是一種標(biāo)準(zhǔn)而強(qiáng)大的方法
腳本測(cè)試一直是軟件自動(dòng)化測(cè)試的標(biāo)準(zhǔn)方法,如今已用于大多數(shù)軟件開發(fā)周期。下圖顯示了自動(dòng)化測(cè)試市場(chǎng)規(guī)模多年來(lái)的增長(zhǎng)情況(以10億美元為單位):
隨著團(tuán)隊(duì)融入敏捷性,自動(dòng)化在軟件測(cè)試中發(fā)生了新的轉(zhuǎn)變。腳本的自動(dòng)化可以更好地執(zhí)行,并且開發(fā)的成本更低。對(duì)于某些測(cè)試,企業(yè)可以在一夜之間進(jìn)行創(chuàng)建和測(cè)試,并隨后進(jìn)行檢查。它需要仔細(xì)規(guī)劃,并由質(zhì)量保證(QA)測(cè)試人員編寫、監(jiān)控、維護(hù)測(cè)試腳本的創(chuàng)建。
無(wú)腳本測(cè)試是一種適應(yīng)的新方法
人們?nèi)缃窨梢钥吹綔y(cè)試自動(dòng)化的轉(zhuǎn)變——從腳本測(cè)試發(fā)展到無(wú)腳本測(cè)試。顧名思義,無(wú)腳本測(cè)試意味著一種不涉及腳本的測(cè)試自動(dòng)化方法?,F(xiàn)在有多種方法可以實(shí)現(xiàn)無(wú)腳本測(cè)試自動(dòng)化,一篇名為《無(wú)腳本測(cè)試不僅僅是記錄和回放:十大無(wú)腳本測(cè)試方法》的文章涵蓋這些方法:有些工具可以讓您對(duì)復(fù)雜場(chǎng)景使用腳本測(cè)試的方法,而有些工具也可以讓您通過(guò)無(wú)腳本測(cè)試方法實(shí)現(xiàn)復(fù)雜場(chǎng)景的自動(dòng)化。
下表將對(duì)無(wú)腳本測(cè)試和腳本測(cè)試進(jìn)行比較。
上表提到了對(duì)各種參數(shù)的逐點(diǎn)分析。以下詳細(xì)探討這些要點(diǎn)。
(1)腳本編寫
首先想到的最常見的比較參數(shù)是腳本編寫的過(guò)程及其強(qiáng)度。如上所述,無(wú)腳本測(cè)試不涉及編寫腳本來(lái)測(cè)試函數(shù)或大模塊。它可能不會(huì)一直是完全無(wú)腳本或無(wú)代碼的,因此編碼要求是很低的。
腳本化測(cè)試需要針對(duì)每個(gè)模塊和功能的測(cè)試腳本。這些腳本可能很復(fù)雜,也可能比較簡(jiǎn)單,具體取決于所選的測(cè)試框架。
因此,如果您的團(tuán)隊(duì)受過(guò)腳本編寫培訓(xùn),那么可以選擇保持腳本編寫。否則,將采用無(wú)腳本測(cè)試。
(2)編程知識(shí)
無(wú)腳本測(cè)試不需要您具有編程知識(shí),因?yàn)闇y(cè)試腳本的構(gòu)建是最低限度的。您可以讓測(cè)試人員或來(lái)自其他領(lǐng)域的人員在沒(méi)有任何編程知識(shí)的情況下開始實(shí)施無(wú)腳本測(cè)試。
腳本測(cè)試是通過(guò)用編程語(yǔ)言編寫腳本來(lái)完成的。因此在這種情況下,測(cè)試人員必須具備良好的編程知識(shí)。在這里,選擇取決于企業(yè)的具體情況。如果是一家初創(chuàng)公司,無(wú)腳本測(cè)試可能是一個(gè)很好的起點(diǎn),因?yàn)楣蛡蜃詣?dòng)化測(cè)試人員會(huì)花費(fèi)更多費(fèi)用。對(duì)于擁有大量自動(dòng)化測(cè)試人員的成熟企業(yè),腳本化測(cè)試可能是一個(gè)更好的選擇。
(3)腳本管理
如果您已經(jīng)編寫了并執(zhí)行了腳本,接下來(lái)就是維護(hù)。腳本的維護(hù)是當(dāng)一些現(xiàn)有功能更改或依賴項(xiàng)與新功能發(fā)生時(shí)必須在更改它們時(shí)所做的努力。在這方面,無(wú)腳本編碼可以使團(tuán)隊(duì)更加放松。如果功能發(fā)生變化,您可能需要拖放某些內(nèi)容、記錄和重放或更改基于自然語(yǔ)言處理(NLP)的語(yǔ)言。所有這些過(guò)程都不會(huì)花費(fèi)太多時(shí)間。
另一方面,當(dāng)軟件功能發(fā)生變化時(shí),腳本化測(cè)試有時(shí)會(huì)帶來(lái)噩夢(mèng)。隨著時(shí)間的推移,自動(dòng)化測(cè)試腳本隨著模塊變得過(guò)于復(fù)雜。這些測(cè)試腳本的依賴關(guān)系和流程需要測(cè)試人員花時(shí)間來(lái)理解它們。時(shí)間已經(jīng)成為軟件開發(fā)中最寶貴的資源之一,從長(zhǎng)遠(yuǎn)來(lái)看,將在維護(hù)測(cè)試腳本的同時(shí)進(jìn)行測(cè)試。
(4)相關(guān)人員
讓相關(guān)人員參與測(cè)試過(guò)程可以為測(cè)試質(zhì)量帶來(lái)改進(jìn)和更好的輸入。團(tuán)隊(duì)成員越多樣化,測(cè)試結(jié)果就會(huì)越好,無(wú)腳本測(cè)試在這里具有更多優(yōu)勢(shì),因?yàn)槠錅y(cè)試是無(wú)代碼的——人們可以很容易地參與其中。無(wú)腳本測(cè)試可能涉及業(yè)務(wù)團(tuán)隊(duì)、管理團(tuán)隊(duì)、利益相關(guān)者甚至客戶的人員。這些幾乎沒(méi)有編程知識(shí)的人可以理解測(cè)試流程,可以即興創(chuàng)作并建議過(guò)程中的更改。
然而,腳本測(cè)試的所有內(nèi)容都是用編程語(yǔ)言編寫的。因此,參與人員無(wú)法直接理解測(cè)試腳本并提出任何更改建議,只有質(zhì)量保證(QA)測(cè)試人員才能做到這一點(diǎn)。然而,分析師、經(jīng)理和客戶幫助質(zhì)量保證(QA)測(cè)試人員定義模塊的需求和最終目標(biāo)。但是,實(shí)際的測(cè)試過(guò)程只能由質(zhì)量保證(QA)團(tuán)隊(duì)完成。
因此,如果企業(yè)的客戶想要參與其中,并且沒(méi)有可以從事測(cè)試自動(dòng)化的質(zhì)量保證(QA)測(cè)試人員,那么無(wú)腳本測(cè)試將是一個(gè)更好的選擇。
(5)學(xué)習(xí)曲線
學(xué)習(xí)曲線是您從頭開始學(xué)習(xí)測(cè)試過(guò)程所需的努力。無(wú)腳本測(cè)試的學(xué)習(xí)曲線非常平緩。雖然不同的工具提供了不同的無(wú)腳本測(cè)試方法,但是文檔很詳細(xì),其過(guò)程也不算復(fù)雜。
而在另一方面,腳本測(cè)試具有非常陡峭的學(xué)習(xí)曲線。雖然文檔很全面,但涉及大量與編程相關(guān)的部分。要開始腳本化測(cè)試,測(cè)試人員必須從頭開始學(xué)習(xí)編程語(yǔ)言。然后,他們必須能夠了解編程語(yǔ)言應(yīng)用邏輯。最后,測(cè)試人員必須選擇支持其編程語(yǔ)言的軟件,并學(xué)習(xí)該軟件及其功能來(lái)執(zhí)行測(cè)試。所有這些都需要花費(fèi)一些時(shí)間和精力,從而形成陡峭的學(xué)習(xí)曲線。
(6)測(cè)試設(shè)置和執(zhí)行
測(cè)試設(shè)置和執(zhí)行是創(chuàng)建測(cè)試并執(zhí)行它們以生成最終報(bào)告所需的時(shí)間。無(wú)腳本測(cè)試不包含復(fù)雜的代碼,因此可以快速形成測(cè)試用例并生成結(jié)果。
腳本化測(cè)試創(chuàng)建需要一些時(shí)間,有時(shí)需要數(shù)天的時(shí)間,因此花費(fèi)的時(shí)間相對(duì)較長(zhǎng)。
(7)范圍
有時(shí)使用無(wú)腳本測(cè)試,不可能自動(dòng)化復(fù)雜的場(chǎng)景。這就是大多數(shù)無(wú)腳本測(cè)試自動(dòng)化工具也允許在需要時(shí)使用代碼的原因。
與無(wú)腳本測(cè)試相反,腳本測(cè)試可以應(yīng)用于各種類型的復(fù)雜性和各種測(cè)試方法的一部分。這些可以包括單元測(cè)試、集成測(cè)試和端到端測(cè)試等。如果您的唯一要求是用戶界面(UI)測(cè)試,那么無(wú)腳本測(cè)試是一個(gè)不錯(cuò)的選擇,否則腳本測(cè)試應(yīng)該是首選,或者兩者混合使用也可以。
(8)工具
這就是腳本測(cè)試和無(wú)腳本測(cè)試之間的基本區(qū)別,它們將幫助您決定選擇其中的一個(gè)。在完成后,您將需要一個(gè)可以建立所需任務(wù)的工具。無(wú)腳本測(cè)試使用的工具較少,但它們很有效。并且可以完美地完成工作。這些工具有不同的方法來(lái)定義測(cè)試并在以后進(jìn)行管理。您可以了解有關(guān)各種無(wú)代碼自動(dòng)化工具的更多信息,并確定最適合的工具。
腳本測(cè)試是一種更流行的方法,Selenium就是一個(gè)很好的工具。Selenium有很多不同的語(yǔ)言,因此不必根據(jù)軟件進(jìn)行調(diào)整。Selenium還是一個(gè)功能強(qiáng)大的開源工具,并且擁有一個(gè)非常龐大的社區(qū),可以在各個(gè)方面提供幫助。
無(wú)腳本測(cè)試還是腳本測(cè)試?選擇哪一個(gè)?
通過(guò)上面的仔細(xì)分析,相信您已經(jīng)決定選擇哪一種方法了。這兩種方法都很好,可以帶來(lái)不同的體驗(yàn)。無(wú)腳本測(cè)試更容易、更快地構(gòu)建測(cè)試,并且從未編寫過(guò)任何代碼的人員可以參與。但是無(wú)腳本測(cè)試的使用范圍有限,在需要測(cè)試驗(yàn)證碼或條形碼的情況下,將會(huì)遭遇失敗。而腳本測(cè)試更成熟,并且?guī)?lái)快速的結(jié)果。這可以應(yīng)用于敏感且需要詳盡精度測(cè)試的小模塊和軟件,但他們也有自己的漏洞。
當(dāng)您根據(jù)自己的情況考慮上述這些要點(diǎn)時(shí),最好了解需要選擇的測(cè)試類型。您可以分配任務(wù)、培訓(xùn)團(tuán)隊(duì)或花費(fèi)更多的資金,這取決于項(xiàng)目以及企業(yè)的具體情況。
原文標(biāo)題:Scriptless Testing vs Scripted Testing: Which One Is for You?,作者:Harish Rajora
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】