保證DevOps與持續(xù)交付質(zhì)量的九大測(cè)試工具
譯文【51CTO.com快譯】在整個(gè)應(yīng)用程序開(kāi)發(fā)的生命周期中,DevOps是一套強(qiáng)調(diào)協(xié)作、溝通和自動(dòng)化的實(shí)踐集。而持續(xù)交付(Continuous Delivery)則允許團(tuán)隊(duì)一旦完成了持續(xù)測(cè)試后,就能及時(shí)地發(fā)布出新的版本。
可見(jiàn),這兩種方法都指向的是同一個(gè)目標(biāo):在計(jì)劃階段,從不同團(tuán)隊(duì)那里獲得大量的反饋,以便更好地關(guān)注細(xì)節(jié),從而在盡可能短的周期內(nèi)成功地發(fā)布應(yīng)用程序。
可以說(shuō),只有保證軟件持續(xù)且可重復(fù)的發(fā)布,能夠確保向最終用戶(hù)快速地交付出具有穩(wěn)定質(zhì)量的軟件。因此,自動(dòng)化在DevOps和持續(xù)交付中起著至關(guān)重要的作用。另外,通過(guò)自動(dòng)化DevOps和持續(xù)交付,您的組織還能夠降低業(yè)務(wù)的風(fēng)險(xiǎn)。
可見(jiàn),我們需要快速和定制化的測(cè)試,以符合DevOps與持續(xù)交付的目標(biāo)。而傳統(tǒng)的測(cè)試方法和工具顯然無(wú)法滿(mǎn)足DevOps和持續(xù)交付的標(biāo)準(zhǔn)。我們需要通過(guò)對(duì)各種功能的評(píng)估,根據(jù)端到端的自動(dòng)化測(cè)試要求,選擇出適合于敏捷開(kāi)發(fā)環(huán)境的自動(dòng)化測(cè)試工具。
下面我為您列出了一系列能夠有助于按時(shí)轉(zhuǎn)化代碼,并能夠保證軟件交付質(zhì)量的自動(dòng)化測(cè)試工具。
1. 帶Robot Framework的Selenium
Selenium無(wú)疑是最受歡迎的Web自動(dòng)化測(cè)試工具。其開(kāi)源的特性是被廣泛使用的原因之一。您可以使用不同的語(yǔ)言在Selenium中實(shí)施各種框架,從而為自動(dòng)化測(cè)試提供更多的功能。
Selenium能夠支持多種操作系統(tǒng)(Windows、Mac、Linux)和多種瀏覽器(Chrome、火狐、IE和Headless類(lèi)型瀏覽器)。我們可以運(yùn)用多種語(yǔ)言(如Java、Groovy、Python、C#、PHP、Ruby和Perl)來(lái)開(kāi)發(fā)出不同的測(cè)試腳本。
Selenium內(nèi)置了許多工具和框架,您可以啟用它們來(lái)進(jìn)行持續(xù)測(cè)試。Robot Framework是Selenium用來(lái)進(jìn)行持續(xù)測(cè)試的一種最常用的框架。通過(guò)Robot,您可以運(yùn)行各種自動(dòng)化測(cè)試,包括由Selenium Webdriver所提供的、基于UI元素和API的測(cè)試。
Selenium既可以使用關(guān)鍵字驅(qū)動(dòng)的方法進(jìn)行驗(yàn)收測(cè)試,也可以進(jìn)行驗(yàn)收測(cè)試驅(qū)動(dòng)式的開(kāi)發(fā)(Acceptance Test-Driven Development,ATDD)。通過(guò)使用Python和Java所實(shí)現(xiàn)的附加測(cè)試庫(kù),其測(cè)試功能得到了進(jìn)一步擴(kuò)展。而Robot Framework不僅可以用于Web應(yīng)用的測(cè)試,也可被用來(lái)測(cè)試Android和iOS的應(yīng)用。
但是,Selenium本身并不能滿(mǎn)足所有的持續(xù)測(cè)試需求。它需要與大量的工具相集成,以滿(mǎn)足在軟件開(kāi)發(fā)生命周期(SDLC)中的不同目的。此外,Selenium還需要使用者具有高級(jí)的編程技能,并愿意花費(fèi)專(zhuān)門(mén)的時(shí)間與精力,來(lái)構(gòu)建自動(dòng)化框架,以滿(mǎn)足其特定的測(cè)試需求。
更多信息請(qǐng)瀏覽:https://www.seleniumhq.org/
2. Testsigma
Testsigma是一個(gè)統(tǒng)一的、以AI驅(qū)動(dòng)測(cè)試的自動(dòng)化平臺(tái)。它采用Shift-Left方法,將持續(xù)測(cè)試集成到了端到端的持續(xù)交付生態(tài)系統(tǒng)之中。Testsigma通過(guò)減少自動(dòng)化測(cè)試技術(shù)中的復(fù)雜性,為功能和自動(dòng)化團(tuán)隊(duì)帶來(lái)了更多的靈活性。
功能測(cè)試人員可以輕松地使用自然語(yǔ)言,編寫(xiě)出簡(jiǎn)化的代碼,來(lái)進(jìn)行自動(dòng)化測(cè)試。Testsigma 通過(guò)可重用的步驟組合、與集中對(duì)象存儲(chǔ)庫(kù)(Centralized Object Repository)最大限度地提高了測(cè)試代碼的重用性。同時(shí)它通過(guò)使用AI,來(lái)大幅降低了與測(cè)試有關(guān)的維護(hù)開(kāi)銷(xiāo)。
Testsigma能夠與各種開(kāi)源的或第三方工具相集成。它支持上千種不同“設(shè)備+瀏覽器+操作系統(tǒng)”組合的云端測(cè)試環(huán)境,以不斷滿(mǎn)足各種的動(dòng)態(tài)測(cè)試需求。
Testsigma能為企業(yè)級(jí)的自動(dòng)化測(cè)試、和持續(xù)測(cè)試提供所有必需的功能,其中包括:數(shù)據(jù)驅(qū)動(dòng)測(cè)試、跨瀏覽器測(cè)試、可重用性測(cè)試套件、測(cè)試計(jì)劃與數(shù)據(jù)管理、電子郵件與Slack通知、并行測(cè)試執(zhí)行、集中對(duì)象/元素存儲(chǔ)庫(kù)、綜合報(bào)告、與CI工具的集成、以及自動(dòng)化Bug報(bào)告等。
作為一款基于云端的自動(dòng)化測(cè)試工具,Testsigma為Web、移動(dòng)Web、Android、iOS應(yīng)用、以及RESTful服務(wù)提供了各種類(lèi)型的應(yīng)用支持。
更多信息請(qǐng)瀏覽:https://testsigma.com/
3. IBM Rational Functional Tester
RFT是另一種能夠進(jìn)行功能、API、性能和回歸測(cè)試的工具。Rational Functional Tester使用記錄和回放來(lái)創(chuàng)建自動(dòng)化的功能測(cè)試,并將預(yù)期結(jié)果與執(zhí)行時(shí)系統(tǒng)所產(chǎn)生的實(shí)際結(jié)果相比較。
IBM支持廣泛的應(yīng)用程序,并能夠與IBM Rational Quality Manager等工具相集成。另外,IBM Rational Test Workbench還支持在API級(jí)別、用戶(hù)界面級(jí)別、以及整個(gè)系統(tǒng)級(jí)別進(jìn)行回歸測(cè)試,以實(shí)現(xiàn)在DevOps或持續(xù)交付生命周期內(nèi)的各種測(cè)試目標(biāo)。
更多信息請(qǐng)瀏覽:https://www.ibm.com/in-en/marketplace/rational-functional-tester
4. Tricentis Tosca
Tricentis Tosca是一個(gè)持續(xù)測(cè)試的平臺(tái)。它能夠加速測(cè)試,并跟上敏捷開(kāi)發(fā)與DevOps的節(jié)奏。Tricentis Tosca通過(guò)運(yùn)用基于模型的測(cè)試方法,來(lái)簡(jiǎn)化腳本的維護(hù)。Tosca能夠全天候地持續(xù)執(zhí)行多種測(cè)試。
Tricentis Tosca使用了基于風(fēng)險(xiǎn)的測(cè)試設(shè)計(jì),并通過(guò)有效的測(cè)試用例,來(lái)識(shí)別出每個(gè)測(cè)試用例的風(fēng)險(xiǎn)占比。它通過(guò)基于模型的自動(dòng)化測(cè)試,既最大化了可重用性,又提高了可維護(hù)性。
通過(guò)服務(wù)虛擬化,Tosca能夠訪問(wèn)處于軟件開(kāi)發(fā)生命周期(SDLC)中早期的系統(tǒng),從而執(zhí)行完全、可靠和持續(xù)的測(cè)試。
同時(shí),Tricentis Tosca能夠無(wú)縫地與常見(jiàn)的企業(yè)軟件環(huán)境、和持續(xù)集成的開(kāi)發(fā)工作流相互進(jìn)行集成。
更多信息請(qǐng)瀏覽:https://www.tricentis.com/software-testing-tools/
5. UFT
統(tǒng)一功能測(cè)試(Unified Functional Test,UFT)是一款流行的跨平臺(tái)自動(dòng)化測(cè)試工具。您可以使用關(guān)鍵字和手動(dòng)腳本來(lái)執(zhí)行測(cè)試。它支持與CI工具的集成,提供了對(duì)Web、移動(dòng)和API的測(cè)試功能,并具有智能對(duì)象的識(shí)別能力。
UFT 使用VBScript來(lái)作為其腳本語(yǔ)言。它通過(guò)可重用的測(cè)試組件,來(lái)減少冗長(zhǎng)的測(cè)試步驟。您可以輕松地將手動(dòng)測(cè)試轉(zhuǎn)換為遵從Shift-Left的自動(dòng)化測(cè)試,并在多臺(tái)電腦和設(shè)備上執(zhí)行。
更多信息請(qǐng)瀏覽:https://software.microfocus.com/en-us/products/unified-functional-automated-testing/overview
6. Parasoft
該工具能夠讓用戶(hù)執(zhí)行Shift-Left測(cè)試工作,并加快軟件的開(kāi)發(fā)周期(SDLC),以滿(mǎn)足市場(chǎng)對(duì)軟件應(yīng)用的日益增長(zhǎng)需求。
此持續(xù)測(cè)試平臺(tái)允許用戶(hù)通過(guò)Web界面來(lái)創(chuàng)建、管理和部署虛擬的測(cè)試環(huán)境,并將其與持續(xù)集成的系統(tǒng)相集成。同時(shí),通過(guò)與端到端測(cè)試的整合、該測(cè)試管理環(huán)境降低了時(shí)間與成本,從而有助于提供可靠的軟件產(chǎn)品。
Parasoft可以隨時(shí)提供對(duì)現(xiàn)實(shí)測(cè)試環(huán)境的訪問(wèn)。通過(guò)在早期階段發(fā)現(xiàn)并消除缺陷,它保證了更好的項(xiàng)目質(zhì)量。
更多信息請(qǐng)瀏覽:https://www.parasoft.com/
7. TestComplete
TestComplete使測(cè)試人員能夠?yàn)閃indows、Web、Android和iOS的應(yīng)用創(chuàng)建自動(dòng)化的測(cè)試。它使用關(guān)鍵字驅(qū)動(dòng)的操作,來(lái)記錄和編寫(xiě)腳本、手動(dòng)創(chuàng)建測(cè)試,并自動(dòng)回放錯(cuò)誤記錄。
前面提到的Selenium只能在瀏覽器(和使用Appium的移動(dòng)應(yīng)用)中執(zhí)行測(cè)試,但是TestComplete卻能支持Windows的各種應(yīng)用。
通過(guò)對(duì)自定義擴(kuò)展和插件的支持,您能夠按需擴(kuò)展TestComplete的各種函數(shù)。在保持開(kāi)發(fā)和部署節(jié)奏的同時(shí),您的團(tuán)隊(duì)將不需要為質(zhì)量、速度和成本而彼此糾結(jié)。
更多信息請(qǐng)瀏覽:https://smartbear.com/product/testcomplete/overview/
8. SeaLights
SeaLights是一個(gè)能夠用來(lái)持續(xù)發(fā)布軟件產(chǎn)品的平臺(tái)。他們極致地縮短了軟件的發(fā)布周期,并在提高可靠性的同時(shí),簡(jiǎn)化整體測(cè)試。
SeaLights有利于量化回歸、API和集成測(cè)試的代碼覆蓋率。同時(shí),它能自動(dòng)地在所有的測(cè)試工具和環(huán)境中,維護(hù)與測(cè)試相關(guān)的狀態(tài)與質(zhì)量指標(biāo)。另外,它也有助于識(shí)別出代碼黑洞,即一些未經(jīng)測(cè)試的、或高風(fēng)險(xiǎn)的單位和功能代碼,從而確保了那些未經(jīng)測(cè)試和驗(yàn)證的代碼流入生產(chǎn)環(huán)境。
更多信息請(qǐng)瀏覽:https://www.sealights.io/
9. Watir
Watir僅限于Web版本的應(yīng)用,而且只能在Windows上執(zhí)行一些簡(jiǎn)單且易于維護(hù)的測(cè)試。
Watir是一款開(kāi)源的、基于Ruby庫(kù)的Web自動(dòng)化測(cè)試工具。Watir支持跨瀏覽器的測(cè)試,包括火狐、Opera、IE和headless類(lèi)型。同時(shí),它也支持?jǐn)?shù)據(jù)驅(qū)動(dòng)的測(cè)試,能夠與諸如RSpec、Cucumber和Test/Unit等BBD工具相集成。
集成了Cucumber和CI工具的Watir框架,將有助于您實(shí)現(xiàn)在DevOps和持續(xù)交付生命周期中的各種測(cè)試目標(biāo)。
更多信息請(qǐng)瀏覽:http://watir.com/
您的選擇
DevOps和持續(xù)交付(CD)源于敏捷開(kāi)發(fā),它們不但改變了軟件的交付方式,也是對(duì)持續(xù)集成(CI)的實(shí)踐與擴(kuò)展。上面提到的各種自動(dòng)化測(cè)試工具,旨在改進(jìn)軟件的交付過(guò)程,并確保軟件發(fā)布的可靠性。它們通過(guò)系統(tǒng)的、可重復(fù)的和更頻繁的發(fā)布方式,向最終用戶(hù)保證了軟件的質(zhì)量。
在當(dāng)今不斷變化的業(yè)務(wù)需求環(huán)境中,我們需要具備敏捷開(kāi)發(fā)的思維和流程,以保證DevOps和持續(xù)交付的落地。因此,只有選擇正確的自動(dòng)化測(cè)試工具,我們才能跟蹤項(xiàng)目的進(jìn)度,保持較短的發(fā)布周期,并持續(xù)將可操作的反饋提供給組織的內(nèi)部團(tuán)隊(duì)。
原文標(biāo)題:Best Automated Testing Tools(Top 10)forDevOpsand Continuous Delivery,作者:Lavanya C
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】