軟件測試筆記(十七)迴歸測試的介紹和工具選擇

前言

在測試階段,在每次迭代的時候,咱們須要迴歸檢驗下前期完成的功能,來保證新的提交沒有致使系統功能的衰退。因此迴歸測試在整個測試的生命週期中起到了很是重要的做用。javascript

迴歸測試的定義

在新功能發佈後,對已經測試的程序功能進行重複測試,以發現因爲正在測試的軟件或其餘相關或不相關的軟件組件的更改而引入或發現的任何缺陷。java

簡單地說,咱們經過對新發布後的應用程序功能從新執行測試來進行迴歸,以評估修改後的代碼是否破壞了先前工做的任何東西。每當咱們修改應用程序時,咱們都應該進行迴歸測試。web

迴歸測試使開發人員確信,在修改生產代碼以後,沒有任何功能被破壞。它確保沒有意外的反作用。數據庫

什麼時候去作迴歸測試?

當生產代碼被修改時,咱們都會進行軟件迴歸測試。一般,咱們在如下狀況下執行迴歸測試:編程

  1. 當新功能添加到應用程序時。示例:一個網站有一個登陸功能,容許用戶只使用電子郵件登陸。如今,新功能看起來像是「提供了一個新功能,可使用微信登陸」。
  2. 當有變動需求時。示例:從以前可用的登陸頁中刪除「記住密碼」。
  3. 當有缺陷修復時。示例:假設登陸按鈕在登陸頁面中不起做用,測試人員報告缺陷,指出登陸按鈕已損壞。一旦開發人員修復了這個缺陷,測試人員就會測試它,以確保登陸按鈕是否按照預期的結果工做。同時測試人員迴歸測試與登陸按鈕相關的其餘功能。
  4. 當出現性能問題修復時。示例:加載主頁須要5秒鐘將加載時間縮短到2秒,咱們須要保證主頁相關的迴歸測試都能正常經過。
  5. 當環境發生變化時。示例:將數據庫從MySQL更新爲Oracle。
  6. 當有代碼重構的時。

咱們已經瞭解了什麼是迴歸,何時作迴歸。如今讓咱們看看怎麼作。api

迴歸測試如何作?

迴歸測試一般很是繁瑣和耗時。咱們在每次部署後都會進行迴歸,所以自動化測試用例比每次手動運行測試用例更容易。若是咱們有數千個測試用例,那麼最好爲咱們在每一個構建上集成所作的自動化測試腳本(迴歸測試)。瀏覽器

自動化迴歸測試是最佳實踐,能夠節省大量時間並在夜間運行構建。微信

迴歸測試的工具

Ranorex(付費):

Ranorex Studio是一個集桌面、移動和web於一體的自動化測試工具,受到全球4000多家公司的信賴該應用程序提供了無代碼測試自動化,使初學者可以直接測試,以及一個完整的IDE。框架

特色:

1.  可靠的對象標識,即便對於具備動態id的web元素也是如此。
2.  可共享對象存儲庫。
3.  使用可重用代碼模塊減小測試維護。
4.  跨平臺和跨瀏覽器測試。
5.  使用內置的Selenium WebDriver在Selenium Grid上並行測試或分發。
6.  可定製,易於閱讀的測試報告。
7.  啓用視頻報告以查看在不從新運行測試的狀況下致使測試失敗的緣由。
8.  與完整的測試工具鏈集成:Azure DevOps、Jira、Jenkins、TestRail、Git等等。

Selenium(開源):

Selenium多是Web應用程序最流行的開源測試自動化框架。Selenium起源於2000年代,通過十多年的發展,已經成爲Web自動化測試人員的首選自動化框架。Selenium已經成爲Katalon Studio、Watir、dragor和Robot framework等其餘開源測試自動化工具的核心框架。less

Selenium支持多種系統環境(Windows、Mac、Linux)和瀏覽器(Chrome、Firefox、IE和Headless瀏覽器)它的腳本能夠用各類編程語言編寫,如Java、Groovy、Python、C#、PHP、Ruby和Perl。雖然對測試人員具備靈活性,他們能夠編寫複雜的測試腳本,以知足不一樣級別的複雜性,但它須要提升編程技巧和努力來構建自動化框架和庫以知足特定測試需求。

UFT(付費):

UFT(Unified Functional Testing)是著名的商業功能測試工具。它爲跨平臺的桌面、web和移動應用程序的API、web服務和GUI測試提供了全面的功能集。該工具具備先進的基於圖像的對象識別功能、可重用的測試組件和自動化文檔。

UFT使用Visual Basic腳本編寫測試過程和對象控制。UFT與業務流程測試和質量中心集成,該工具經過與諸如Jenkins之類的CI工具集成來支持CI。

Sahi Pro(付費):

(付費):
Sahi Pro幫助自動化web應用程序的功能測試Sahi Pro默認支持web應用程序和REST API自動化。Sahi Pro很是適合對具備大量AJAX和動態內容的複雜web 2.0應用程序進行跨瀏覽器/多瀏覽器測試。Sahi Pro運行在任何支持javascript的現代瀏覽器上它支持您測試web瀏覽器、桌面和移動應用程序它是一個面向測試人員的自動化迴歸測試工具。

特色:

1.  內置的Excel框架,讓您的業務分析師和非技術專業人士有助於測試。
2.  簡單而強大的api
3.  對象獲取器和記錄器
4.  自動記錄和報告
5.  並行和分佈式回放
6.  持續集成
7.  在任何操做系統上測試任何瀏覽器
8.  測試任何Windows桌面應用程序
9.  測試任何iOS和Android、本機和混合應用程序

TestComplete(付費):

由SmartBear完成的TestComplete是一個強大的商業測試工具,用於web、移動和桌面測試。它支持各類腳本語言,如JavaScript、VBScript、Python和C++腳本。與Katalon Studio同樣,測試人員可使用TestComplete執行關鍵字驅動和數據驅動的測試,該工具還提供了一個易於使用的錄製和回放功能。

與UTF同樣,TestComplete的GUI對象識別功能能夠自動檢測和更新UI對象,這有助於減小在AUT更改時維護測試腳本的工做量在CI過程當中,它還與Jenkins集成。

Watir(開源):

Watir是一個基於Ruby庫的web自動化測試的開源測試工具。Watir支持跨瀏覽器測試,包括Firefox、Opera、headless browser和IE。它還支持數據驅動測試,並與諸如RSpec、Cucumber和Test/Unit等BBD工具集成。

IBM Rational Functional Tester(付費):

IBM RFT是一個用於功能和迴歸測試的數據驅動測試平臺。它支持不少的應用程序,如.Net、Java、SAP、Flex和Ajax。RFT使用Visual Basic.Net和Java做爲腳本語言。用戶對AUT的操做,經過應用程序屏幕截圖以腳本格式記錄。

RFT的另外一個有趣的特性是它與IBM Jazz應用程序生命週期管理系統(如ibmrationalteamconcert和Rational Quality Manager)的集成。

總結

這裏咱們聊了什麼是迴歸測試,迴歸測試切入的時間點,以及如何才能高效的去執行咱們的迴歸測試以及一些基本的迴歸測試的工具。但願能夠對你們有所幫助,若是你們對於迴歸測試有什麼好的測試想法和測試工具的推薦,請在留言區回覆。

相關文章
相關標籤/搜索