日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
自動(dòng)化回歸測(cè)試全接觸:概念、方法和實(shí)踐

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

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

什么是回歸測(cè)試?

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

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

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

為何要使用自動(dòng)化回歸測(cè)試?

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

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

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

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

如何執(zhí)行自動(dòng)化回歸測(cè)試?

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

正所謂“工欲善其事,必先利其器”,我們?cè)趫?zhí)行自動(dòng)化回歸測(cè)試前,首先也是最重要的一步是:選擇合適的工具。目前市場(chǎng)上的自動(dòng)化回歸測(cè)試工具林林總總,其中比較流行的包括Selenium、TestComplete、Ranorex Studio和Perfecto。

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

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

自動(dòng)化回歸測(cè)試的方法

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

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

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

自動(dòng)化回歸測(cè)試的實(shí)例

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

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

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

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

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

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

自動(dòng)執(zhí)行回歸測(cè)試的最佳做法

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

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

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

小結(jié)

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


網(wǎng)站名稱:自動(dòng)化回歸測(cè)試全接觸:概念、方法和實(shí)踐
網(wǎng)站鏈接:http://www.5511xx.com/article/cdjjpgd.html