成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

自動化回歸測試全接觸:概念、方法和實踐

譯文
開發(fā) 測試 自動化
在本文中,我們將從回歸測試的概念入手,討論其實施的重要性,以及那些實現(xiàn)自動化測試的方法與優(yōu)秀實踐。

【51CTO.com快譯】眾所周知,在軟件開發(fā)的生命周期中,開發(fā)人員往往需要修改已有代碼,或?qū)⑿鹿δ芤肽繕?biāo)系統(tǒng)。不過,此類更改可能會通過影響現(xiàn)有功能對系統(tǒng)造成破壞。因此,我們需要執(zhí)行一系列測試,以驗證新的代碼對系統(tǒng)不會造成負(fù)面影響。這便是回歸測試。

在本文中,我們將從回歸測試的概念入手,討論其實施的重要性,以及那些實現(xiàn)自動化測試的方法與優(yōu)秀實踐。

什么是回歸測試?

回歸測試(https://en.wikipedia.org/wiki/Regression_testing)是一種軟件的測試形式,能夠涵蓋軟件系統(tǒng)中的各種功能性和非功能性的元素。我們可以在執(zhí)行如下操作后,通過它來發(fā)現(xiàn)潛在的問題或錯誤。

  • 部署新的功能
  • 添加新的模塊
  • 修復(fù)現(xiàn)有缺陷
  • 重構(gòu)程序代碼
  • 更改系統(tǒng)配置
  • 改善應(yīng)用程序的性能

針對上述任何事件,如果采用手動的方式測試整個系統(tǒng),顯然既費時又費力。開發(fā)團隊往往希望通過自動化測試的方式,來加快整個工作流程,以實現(xiàn)每修改一次代碼,都能執(zhí)行一系列預(yù)先開發(fā)好的測試腳本。據(jù)此,他們能夠在進行連續(xù)性回歸測試的同時,降低測試的總體成本,減少人為錯誤,并保持更高的準(zhǔn)確性。

為何要使用自動化回歸測試?

如前文所述,我們在對每個系統(tǒng)組件進行下一階段開發(fā)之前,需要對其進行徹底的測試,否則就會積累所謂的技術(shù)債(technical debt)。這不僅成本高昂,而且對于開發(fā)工作流程來說也是危害極大的。

值得注意的是,錯誤的修復(fù)成本會在軟件開發(fā)的各個階段呈指數(shù)性增長(請參考:https://www.nist.gov/system/files/documents/director/planning/report02-3.pdf),并且會在產(chǎn)品發(fā)布的時候高達30倍以上。下圖是此類費用隨時間增加的統(tǒng)計圖。

可見,通過在開發(fā)的早期階段進行徹底的測試,不但可以及時地發(fā)現(xiàn)錯誤,還能夠避免糾正錯誤所帶來的高昂成本。這也正是自動化回歸測試發(fā)揮作用的地方。當(dāng)然,除了改進錯誤檢測的效率,自動化回歸測試還能夠為開發(fā)工作、及其流程帶來如下好處:

  • 更高的測試覆蓋范圍 - 自動化能夠讓我們通過運行更多的回歸測試,來檢查系統(tǒng)的各個方面。顯然,這是手動回歸測試所無法達到的徹底水平。
  • 更高的測試投資回報率 - 盡管自動化測試有時會引發(fā)更高的初期投資,但是從長遠來看,由于軟件開發(fā)和維護是一個連續(xù)性的過程,因此自動化回歸測試往往可以在可預(yù)見的將來,為團隊節(jié)省大量的時間與金錢,并能收獲更大的回報。
  • 更少的人力成本 - 使用自動化測試平臺時,團隊只需一名QA(質(zhì)量檢測)工程師即可測試腳本。相反,手動回歸測試將需要數(shù)名專業(yè)人員,才能達到相似的效果。因此,自動化大幅減少了回歸測試所需的總體時間和人力成本。
  • 增強的穩(wěn)定性 - 手動回歸測試的結(jié)果,往往取決于團隊中QA專家的專業(yè)知識和測試方法。而自動化卻能夠確保用相同的專業(yè)技術(shù),來測試整個系統(tǒng)的方方面面。
  • 重復(fù)性 - 自動化回歸測試可以按需隨時執(zhí)行,而無需顧及QA團隊是否有時間和精力。而手動測試則需要為每個新項目配備足夠的QA人員。

如何執(zhí)行自動化回歸測試?

正如執(zhí)行任何其他類型的自動化軟件測試一樣,我們需要遵循預(yù)定義的測試路線,才能成功地完成回歸測試。

正所謂“工欲善其事,必先利其器”,我們在執(zhí)行自動化回歸測試前,首先也是最重要的一步是:選擇合適的工具。目前市場上的自動化回歸測試工具林林總總,其中比較流行的包括Selenium、TestCompleteRanorex StudioPerfecto

接著,我們可以按照如下四步來開展自動執(zhí)行回歸測試:

  • 發(fā)現(xiàn)和計劃 - 首先概述產(chǎn)品將要發(fā)布的范圍,確定哪些測試用例可能會被包含在回歸測試的套件中。
  • 設(shè)計和開發(fā) – 在確定測試項目需包含的所有任務(wù)后,開始為每個測試用例編寫自動化的腳本。
  • 測試執(zhí)行 – 運行測試,并在執(zhí)行過程中識別錯誤。
  • 測試結(jié)束 - 最后,記錄和提交測試報告,進而執(zhí)行其他的后續(xù)測試。

自動化回歸測試的方法

目前,業(yè)界通常會使用如下三種方法,來執(zhí)行自動化回歸測試(請參見--https://ieeexplore.ieee.org/document/10189)。您該具體選擇哪種方法,則完全取決于開發(fā)的優(yōu)先級、代碼庫的大小、以及可用在測試中的資源。

  • 全部重新測試 - 有時候,在代碼庫上執(zhí)行所有現(xiàn)有的回歸測試是一種最佳選擇。盡管需要初期大量的投入,但是只要設(shè)計合理,就能夠發(fā)現(xiàn)一些不需要回歸的環(huán)節(jié)。當(dāng)然,客觀地說,該方法對于大型代碼庫幾乎是不可行的。
  • 基于優(yōu)先級重新測試 – 按照重要性和緊迫性的順序,執(zhí)行測試用例。在確定具有最高優(yōu)先級的測試用例時,往往需要QA專家給出專家意見。而且,優(yōu)先級測試應(yīng)涵蓋所有關(guān)鍵的代碼路徑,以發(fā)現(xiàn)那些嚴(yán)重的錯誤。
  • 選擇性重新測試 - 您可以選擇回歸測試套件中的一個子集來執(zhí)行,而不是重新運行整個測試套件。在后續(xù)的回歸周期中,您只需執(zhí)行那些可以在代碼庫上復(fù)用的測試用例,并將過時的用例剔除出去。

此外,您還可以使用混合回歸測試技術(shù),即:先執(zhí)行優(yōu)先級測試,然后再運行其他必要的測試,以避免遺漏并實現(xiàn)全覆蓋。

自動化回歸測試的實例

如前所述,我們可以根據(jù)對代碼庫所進行的更改,來采用不同形式的回歸測試。有些是在添加新的功能后執(zhí)行,而有些是在修復(fù)了系統(tǒng)中已知錯誤后執(zhí)行。下面,讓我們來討論回歸測試的一些實際案例:

  • 場景1:假設(shè)有一個具有數(shù)據(jù)庫管理功能的應(yīng)用,其核心功能有三個,即:數(shù)據(jù)添加、數(shù)據(jù)保存、以及數(shù)據(jù)刪除。當(dāng)我們在新版本中,引入允許用戶對數(shù)據(jù)進行修改的“數(shù)據(jù)更新”功能時,則需要通過執(zhí)行回歸測試,來確保該功能不會影響到既有的“添加”、“保存”和“刪除”功能。
  • 場景2:某個系統(tǒng)具有管理員、版主、客戶和作者,四個角色模塊。如果管理員模塊出現(xiàn)了錯誤,那么就會導(dǎo)致作者使用其憑據(jù),以版主的身份登錄到后臺系統(tǒng)中。因此,測試團隊需要反饋開發(fā)團隊修復(fù)該錯誤。而在實施了有效修復(fù)后,測試團隊將再次檢查系統(tǒng),以確保具有修復(fù)功效的代碼能夠正常工作,且不會影響到其他模塊與功能(該過程便是回歸測試)。

根據(jù)上述的場景,我們來討論其中的登錄驗證功能,即:用戶輸入其登錄憑據(jù)(如用戶名和密碼),然后單擊登錄按鈕。其中,用于測試此功能的分步實施代碼如下:

如下代碼則展示了當(dāng)我們對該功能性代碼進行測試時,生成的具有登錄功能的類:

上述代碼實為手動回歸測試的示例。如果我們使用諸如Perfecto之類的自動化回歸測試工具,則無需對測試腳本進行硬編碼。我們只需做到:首先,確定可能用到的回歸測試,并記錄每個測試用例的工作流程。接著,使用Perfecto儀表板對測試方案進行建模。如下圖所示,我們可以讓Perfecto協(xié)助將工作流程轉(zhuǎn)換為測試腳本。

在工作流程準(zhǔn)備就緒后,我們即可執(zhí)行測試并捕獲結(jié)果。而在完成測試之后,Perfecto將返回對應(yīng)的測試通過或失敗狀態(tài),并為每個執(zhí)行的命令提供詳細(xì)的反饋。據(jù)此,您可以相繼開展分析測試結(jié)果,生成報告,以及重新測試更改等工作。

自動執(zhí)行回歸測試的最佳做法

在執(zhí)行回歸測試時,開發(fā)團隊往往會碰到包括:時間與資源有限,測試時間過長,測試用例增多等各方面的挑戰(zhàn)。為了避免“踩坑”,并能夠成功地完成自動化回歸測試,我在此為您羅列了如下實踐建議:

  • 選用可靠的自動化工具,以擴大測試的范圍,并利用其自動化的優(yōu)勢。
  • 在整個項目中采用常規(guī)化的測試方案。
  • 通過獨立可重用的回歸測試,以節(jié)省時間。
  • 在修改代碼庫后,應(yīng)重新運行過往已成功完成的測試。
  • 通過定期更新回歸測試包,以確保與更新的產(chǎn)品版本相對應(yīng)。
  • 為每個新發(fā)現(xiàn)的錯誤編寫各種測試。
  • 確保所有集成測試用例都被包含在回歸測試的套件中。

希望上述實踐經(jīng)驗?zāi)軌驇椭交亻_展回歸測試,并獲得預(yù)期的結(jié)果。

小結(jié)

回歸測試是在減少潛在技術(shù)債,并改善軟件項目維護態(tài)勢的有效方法。借助自動化測試工具,開發(fā)團隊不但能夠簡化測試的整體工作量,并且可以確保產(chǎn)品在交付到生產(chǎn)環(huán)境之前的穩(wěn)定性與代碼質(zhì)量。

原文標(biāo)題:All You Need To Know About Automating Regression Tests,作者: Dickson Mwendia

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2020-04-28 09:00:00

測試測試自動化

2019-01-23 09:00:00

2021-09-03 09:56:18

鴻蒙HarmonyOS應(yīng)用

2023-07-12 15:41:18

2010-07-02 11:00:53

GSMP協(xié)議

2023-03-20 15:14:39

視覺回歸測試軟件開發(fā)

2012-12-24 22:54:31

2022-09-12 16:02:32

測試企業(yè)工具

2020-08-21 07:00:00

DevOpsIT開發(fā)

2017-08-29 09:57:26

SaaS產(chǎn)品自動化

2009-07-02 15:07:40

Java認(rèn)證考試

2012-10-10 09:12:54

Windows Sys

2024-06-12 10:59:34

測試自動化軟件開發(fā)

2025-04-03 08:25:26

2023-02-07 08:11:15

2021-09-07 09:00:00

開發(fā)測試工具

2012-02-27 17:34:12

Facebook自動化

2022-02-17 10:37:16

自動化開發(fā)團隊預(yù)測

2013-05-16 10:58:44

Android開發(fā)自動化測試

2014-04-16 14:15:01

QCon2014
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 午夜免费 | 一级片av | av在线电影网 | 激情91| 日韩欧美一区在线 | 国产一区二区影院 | www.亚洲国产精品 | 国产精品久久毛片av大全日韩 | 国产原创在线观看 | av免费入口| 久久草在线视频 | 国产乱码精品一区二区三区五月婷 | 久久国产精品久久国产精品 | 五月天综合网 | 日韩欧美一区二区三区免费观看 | 日韩一区欧美一区 | 午夜精品导航 | 欧美久久久| 成人不卡视频 | 欧美一级大片免费观看 | 亚洲视频www | 精品中文在线 | 亚洲成人自拍 | 国产精品亚洲成在人线 | 福利在线看 | 欧美精品一二三区 | 欧美成人第一页 | 久久久妇女国产精品影视 | 国产一区 日韩 | 美女福利视频一区 | 99亚洲精品 | 日韩在线免费 | 国产一区二区不卡 | 午夜欧美 | 成人av在线播放 | 色橹橹欧美在线观看视频高清 | 日韩福利在线观看 | 亚洲国产一区视频 | 少妇午夜一级艳片欧美精品 | 国产精品久久久久久久久图文区 | 青青草综合网 |