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