新聞中心
自動(dòng)化測(cè)試因其節(jié)約成本、提高效率、減少手動(dòng)干預(yù)等優(yōu)勢(shì)已經(jīng)日漸成為測(cè)試人員的“潮流”,從業(yè)人員日益清楚地明白實(shí)現(xiàn)自動(dòng)化框架是軟件自動(dòng)化項(xiàng)目成功的關(guān)鍵因素之一。本篇文章將從什么是真正的自動(dòng)化測(cè)試框架、自動(dòng)化腳本如何工作以及自動(dòng)化測(cè)試框架會(huì)如何在測(cè)試過程中為你提供競(jìng)爭(zhēng)優(yōu)勢(shì)三個(gè)方面進(jìn)行闡述,讓您通過這一篇文章,踏入自動(dòng)化測(cè)試框架的領(lǐng)域。

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、成都做網(wǎng)站、巴林右旗網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、巴林右旗網(wǎng)絡(luò)營銷、巴林右旗企業(yè)策劃、巴林右旗品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供巴林右旗建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
自動(dòng)化測(cè)試的優(yōu)勢(shì)
自動(dòng)化測(cè)試的流行和諸多優(yōu)勢(shì)并不意味著它是靈丹妙藥,定制型項(xiàng)目、周期短、測(cè)試易用性等情況并不適合自動(dòng)化測(cè)試。但不可否認(rèn)的是,如果認(rèn)真計(jì)劃和執(zhí)行自動(dòng)化測(cè)試框架,確實(shí)會(huì)為軟件開發(fā)和測(cè)試公司帶來以下好處:
最短時(shí)間-最大收益
構(gòu)建任何可行的自動(dòng)化測(cè)試框架和自動(dòng)化腳本都可以最大程度地減少編寫和運(yùn)行測(cè)試所花費(fèi)的時(shí)間,從而可以在短時(shí)間內(nèi)獲得最大的輸出。另外,擁有優(yōu)秀的自動(dòng)化測(cè)試框架后,人力就可以從諸如同步、錯(cuò)誤管理、本地配置,報(bào)告生成、解釋等這些常見問題中解脫出來。
可重復(fù)使用和可讀的自動(dòng)化代碼
當(dāng)你使用現(xiàn)有組件庫中提到的代碼時(shí),大可以放心,它在以后的時(shí)間內(nèi)仍然是可讀和可重復(fù)使用的,并且所有相關(guān)任務(wù)(如報(bào)告、同步和故障排除)都將變得更易訪問。
資源優(yōu)化
一些公司沒有如設(shè)想的一般從自動(dòng)化實(shí)施中受益,因?yàn)閺淖詣?dòng)化測(cè)試中獲得的效益取決于采用它的靈活性。 如果自動(dòng)化系統(tǒng)是靈活的,并且與從事各個(gè)組件的不同團(tuán)隊(duì)兼容,那么在資源優(yōu)化和知識(shí)共享方面可以提供巨大的收益。
自動(dòng)化測(cè)試框架的定義
在其他很多行業(yè)中,“自動(dòng)化”指的是通過智能算法自動(dòng)處理流程,流程運(yùn)行是很少或完全不需要人工干預(yù)。而在軟件行業(yè)中,自動(dòng)化測(cè)試指的是通過自動(dòng)化工具(授權(quán)版本或開源版本皆可)對(duì)軟件應(yīng)用程序進(jìn)行各種測(cè)試。從技術(shù)角度來說,自動(dòng)化測(cè)試框架是一組定制的、可以用來執(zhí)行腳本化測(cè)試和全面報(bào)告測(cè)試結(jié)果的交互式組件。
要成功地構(gòu)建自動(dòng)化測(cè)試框架,需要考慮到軟件質(zhì)量保障專家的建議,他們可以幫助觀察并幫助控制整個(gè)測(cè)試過程,提高測(cè)試結(jié)果的準(zhǔn)確性。經(jīng)過精心設(shè)計(jì)的自動(dòng)化測(cè)試框架能讓測(cè)試人員以一種實(shí)用、簡(jiǎn)化的方式執(zhí)行自動(dòng)化測(cè)試。
自動(dòng)化測(cè)試框架的類型
以工具為中心的框架
不管是商業(yè)自動(dòng)化工具和開源自動(dòng)化工具,都有有助于在測(cè)試環(huán)境中生成報(bào)告、測(cè)試套件和分布式測(cè)試執(zhí)行的系統(tǒng)基礎(chǔ)設(shè)施。比如Selenium 自動(dòng)化框架,該框架具有主要組件WebDriver——基于Web瀏覽器的插件,用于控制和操作 Web 瀏覽器中的應(yīng)用程序的 DOM 模型。Selenium 測(cè)試自動(dòng)化框架還擁有實(shí)用的編碼庫和記錄回放工具。
另外一個(gè)專用于工具的重要框架是 Serenity,它是圍繞 Selenium Web 驅(qū)動(dòng)程序構(gòu)建的加速器。 在這種情況下,為加快測(cè)試自動(dòng)化實(shí)施過程的速度,社區(qū)將特定組件組合在一個(gè)公共實(shí)體中。
諸如 TestComplete,Ranorex HP QTP 這些工具專用框架時(shí),就很難做出明確的判斷,因?yàn)樗鼈兌际怯蓭в袆?dòng)作模擬器、報(bào)告和腳本 IDE 的已部署基礎(chǔ)架構(gòu)預(yù)先構(gòu)建的。
以應(yīng)用為中心的框架
這種類型的框架是為實(shí)現(xiàn)某個(gè)特定應(yīng)用程序項(xiàng)目自動(dòng)化而定制的。以應(yīng)用為中心的框架支持某個(gè)指定目標(biāo)的應(yīng)用程序?qū)崿F(xiàn)測(cè)試自動(dòng)化的需求,由從開源庫構(gòu)建的組件驅(qū)動(dòng)。這種框架可以圍繞SUT創(chuàng)建友好的測(cè)試環(huán)境來運(yùn)行一些基本功能,包括部署開發(fā)的應(yīng)用程序、運(yùn)行應(yīng)用程序、測(cè)試用例執(zhí)行、直接測(cè)試結(jié)果報(bào)告和便于編碼的包裝器控件。以應(yīng)用為中心的框架還會(huì)有一個(gè)組件來支持在不同操作系統(tǒng)和瀏覽器上跨各種云環(huán)境的測(cè)試運(yùn)行。
關(guān)鍵字驅(qū)動(dòng)框架
關(guān)鍵字驅(qū)動(dòng)框架主要可以吸引缺乏編碼經(jīng)驗(yàn)的新手開發(fā)和測(cè)試人員,它既可以是以工具為中心的框架,也可以是以項(xiàng)目為中心的框架。關(guān)鍵字驅(qū)動(dòng)框架可以讓編碼不熟練的員工參與編寫、理解自動(dòng)化腳本。用于編碼的關(guān)鍵字集(如 Login、NavigateToPage、Click、TypeText)作為關(guān)鍵字存儲(chǔ)庫安裝在代碼庫里,根據(jù)提供的關(guān)鍵字引用編寫腳本的電子表格將被傳遞到關(guān)鍵字解釋器來執(zhí)行測(cè)試。
理想的自動(dòng)化測(cè)試框架的主要組件
如果要實(shí)現(xiàn)功能強(qiáng)大且性能卓越的測(cè)試自動(dòng)化框架(無論是開源還是商業(yè)的),就必須把包括構(gòu)成其核心的某些組件考慮在內(nèi)。 有些框架可能包括所有組件,也有些框架只包括其中幾個(gè),所以不必在每個(gè)框架中都涉及到下面提到的所有組件。
1. 測(cè)試基礎(chǔ)組件
a)單元測(cè)試
單元測(cè)試基礎(chǔ)組件可以作為任何自動(dòng)化測(cè)試框架的基本部分。它可以用于以下情況:
● 通過@test 或[test]等特定的形式來定義正在使用的測(cè)試方法
● 執(zhí)行影響自動(dòng)化測(cè)試最終結(jié)果的斷言
●運(yùn)行簡(jiǎn)單明了的測(cè)試
無論是從命令行、IDE、專用工具還是 CI(持續(xù)集成)系統(tǒng)運(yùn)行測(cè)試,為了確保單元測(cè)試以簡(jiǎn)單的方式運(yùn)行,單元測(cè)試庫都提供了測(cè)試運(yùn)行器。
單元測(cè)試庫支持幾乎所有編程語言,比如以下這些:Java 的 JUnit 和 TestNG,.NET 的 NUnit 和 MSTest,Python 的 unittest(前身為 PyUnit)。
b)集成和端到端測(cè)試
在執(zhí)行集成和端到端測(cè)試自動(dòng)化的同時(shí),也非常合適去實(shí)踐現(xiàn)有測(cè)試庫提供的功能。由應(yīng)用程序UI驅(qū)動(dòng)的API級(jí)測(cè)試需要有消除不必要的編碼負(fù)擔(dān)的組件,這樣能讓與被測(cè)應(yīng)用程序的交互變得更容易。因而,測(cè)試人員就不會(huì)受到連接到應(yīng)用程序、發(fā)送請(qǐng)求、接收結(jié)果響應(yīng)這些編碼工作的困擾。
這種類型的幾個(gè)重要測(cè)試組件有:Selenium(可用于主要語言)、protractor(特定于 JavaScript)、Karate DSL(Java 特定的 API 級(jí)集成測(cè)試)。
c)行為驅(qū)動(dòng)開發(fā)(BDD)
專門用于BDD的組件以行為規(guī)范為目標(biāo),以可執(zhí)行代碼的形式創(chuàng)建可執(zhí)行規(guī)范。在這部分,測(cè)試人員可以將預(yù)測(cè)行為的不同特性和場(chǎng)景轉(zhuǎn)化為代碼。盡管不像其他測(cè)試工具哪有直接跟被測(cè)應(yīng)用程序交互,但可以作為BDD過程的支持,創(chuàng)建與自動(dòng)化測(cè)試的范圍和意圖相一致的活動(dòng)文檔。BDD組件的典型例子有:cucumber(支持主要語言)、Jasmine (JavaScript)、SpecFlow (for .NET)。
2、測(cè)試數(shù)據(jù)管理
在軟件測(cè)試自動(dòng)化和測(cè)試創(chuàng)建過程中,最大的困難是如何利用測(cè)試數(shù)據(jù)管理系統(tǒng)。隨著自動(dòng)化測(cè)試數(shù)量的增加,始終存在這樣一個(gè)問題:確保執(zhí)行特定測(cè)試所需的某些測(cè)試數(shù)據(jù)在執(zhí)行測(cè)試時(shí)可用或可創(chuàng)建。目前對(duì)這種情況并沒有一個(gè)萬無一失的解決方案,這就要求采用可靠的測(cè)試數(shù)據(jù)管理方法來讓自動(dòng)化工作成功運(yùn)轉(zhuǎn)。
因此所采用的自動(dòng)化測(cè)試框架需要配置充分,以便能提供基本的補(bǔ)救措施來進(jìn)入或創(chuàng)建、清除要執(zhí)行的測(cè)試數(shù)據(jù)。解決這一問題的方法是使用適當(dāng)?shù)哪M工具,使數(shù)據(jù)更加簡(jiǎn)化、更加清晰、更易于理解。
3、mock、stubs和虛擬資產(chǎn)
在對(duì)自動(dòng)化測(cè)試進(jìn)行實(shí)踐和探索的歷程中,可能會(huì)出現(xiàn)以下情況:
●希望將模塊與在單元測(cè)試中有經(jīng)驗(yàn)的已連接組件隔離
●處理在現(xiàn)代應(yīng)用程序的集成,或端到端測(cè)試中常見的繁瑣而關(guān)鍵的依賴關(guān)系
在這些情況里,就會(huì)覺得創(chuàng)建mock、stubs和虛擬資產(chǎn)來反映連接組件的行為模式是非常必要的,還可能會(huì)發(fā)現(xiàn)處理 mock 和 stub 是一項(xiàng)大范圍、大體量的任務(wù)。無論如何,測(cè)試人員都會(huì)意識(shí)到,在開發(fā)自動(dòng)化測(cè)試框架期間選擇有用的虛擬化工具是件十分重要的事。
實(shí)現(xiàn)模式的通用機(jī)制
除了以上提及自動(dòng)化框架組件,還有一些有用的機(jī)制可以幫助創(chuàng)建、使用和維護(hù)自動(dòng)化測(cè)試,例如:
包裝器方法(Wrapper methods):使用 Selenium WebDriver 組件時(shí),創(chuàng)建自定義包裝器會(huì)讓人更輕松地處理錯(cuò)誤。 創(chuàng)建了用于 Selenium API 調(diào)用的自定義包裝后,就可以更好地處理超時(shí)、異常處理和故障報(bào)告。 這之后,創(chuàng)建了自動(dòng)化測(cè)試的人員可以重新使用,這樣就可以避開復(fù)雜流程的關(guān)注點(diǎn),專注于進(jìn)行有價(jià)值的測(cè)試。
抽象方法(Abstraction methods):抽象機(jī)制意味著可讀性的提高和冗余細(xì)節(jié)的掩蓋。例如,在創(chuàng)建 Selenium WebDriver 測(cè)試時(shí)使用頁面對(duì)象的目的是在網(wǎng)頁上公開用戶輸入操作,包括輸入憑據(jù)或單擊頁面上的某處,目標(biāo)是通過超越或繞過探索頁面特定元素的需求來實(shí)現(xiàn)高級(jí)測(cè)試方法。 此方法適用于許多類似的應(yīng)用程序和自動(dòng)化測(cè)試。
測(cè)試結(jié)果報(bào)告
在選擇將測(cè)試結(jié)果報(bào)告到自動(dòng)化框架中的庫或機(jī)制時(shí),需要將查看這份報(bào)告的目標(biāo)受眾考慮在內(nèi)。在這方面,需遵循以下幾個(gè)注意事項(xiàng):
●諸如 Junit 和 TestNG 之類的單元測(cè)試框架生成的報(bào)告主要針對(duì)如 CI(持續(xù)集成)服務(wù)器之類的接收系統(tǒng),這些系統(tǒng)最終會(huì)對(duì)其進(jìn)行解釋并以其他軟件可使用的 XML 格式進(jìn)行呈現(xiàn)。
●當(dāng)尋求使用大多數(shù)人都能理解的語言作為進(jìn)行報(bào)告的工具時(shí),你可能需要考慮使用與單元測(cè)試框架兼容的商業(yè)工具,比如用于 Junit、NUnit 和 TestNG 的 UFT-Pro。
●另一種選擇是利用諸如 ExtentReports 之類的第三方庫,該庫以易于理解的格式創(chuàng)建測(cè)試結(jié)果報(bào)告,包括通過餅形圖、圖形或圖像進(jìn)行可視化解釋。
輔助平臺(tái)
除了自動(dòng)化測(cè)試框架本身,一些跟持續(xù)集成相關(guān)的輔助平臺(tái)也會(huì)對(duì)自動(dòng)化測(cè)試有很大的幫助。比如CI可以進(jìn)行交付件部署、測(cè)試調(diào)度;源代碼平臺(tái)可管理產(chǎn)品和測(cè)試腳本的代碼;依賴管理器一般是針對(duì)某種語言類庫的依賴管理工具,比如用nexus管理公司員工開發(fā)的通用java類型;禪道ZTF包含持續(xù)集成、單元測(cè)試和版本庫管理等特性。
CI平臺(tái)
為了以更快、更連貫的方式進(jìn)行應(yīng)用程序測(cè)試,持續(xù)集成平臺(tái)可以幫助您定期構(gòu)建軟件并為新版本運(yùn)行各種測(cè)試。 當(dāng)開發(fā)和部署新功能以及更新現(xiàn)有功能時(shí),此方法使開發(fā)人員和測(cè)試人員對(duì)應(yīng)用程序質(zhì)量獲得定期反饋和迅速響應(yīng)。 當(dāng)前一些突出的持續(xù)集成平臺(tái)有TeamCity、CircleCI、Jenkins 等。
源代碼管理
與手動(dòng)測(cè)試一樣,自動(dòng)化測(cè)試也涉及編寫和存儲(chǔ)源代碼版本。 每個(gè)開發(fā)公司都有一個(gè)精選的源代碼和版本控制系統(tǒng)來保存并保護(hù)源代碼。 自動(dòng)化測(cè)試需要完善的源代碼管理系統(tǒng),該系統(tǒng)在處理生產(chǎn)代碼時(shí)會(huì)非常方便。 典型的源代碼管理示例有 Git和Subversion 。
創(chuàng)建依賴管理器
依賴性管理器的主要目的是協(xié)助收集、管理現(xiàn)有的已經(jīng)應(yīng)用在自動(dòng)化軟件解決方案 的功能中的依賴性和庫。某些工具(例如Maven和Gradle)同時(shí)充當(dāng)依賴管理器并幫助構(gòu)建工具。構(gòu)建工具旨在幫助您從源代碼和支持庫開發(fā)自動(dòng)化軟件并運(yùn)行測(cè)試。這方面的工具包括Ant,npm 和 NuGet。
禪道ZTF
ZTF支持與禪道無縫集成,可將禪道用例和自動(dòng)化測(cè)試腳本一一綁定,執(zhí)行的結(jié)果能提交到禪道中作為測(cè)試結(jié)果,執(zhí)行失敗的腳本也可以自動(dòng)創(chuàng)建bug。ZTF自動(dòng)化測(cè)試框架實(shí)現(xiàn)了與Jenkins持續(xù)集成功能打通。用戶發(fā)起任務(wù)后,通過ZTF自動(dòng)執(zhí)行測(cè)試腳本,把單元測(cè)試的結(jié)果回傳給禪道,二者合作打通了持續(xù)集成閉環(huán)。
框架的搭建和實(shí)施過程
以下是規(guī)劃實(shí)現(xiàn)自動(dòng)化測(cè)試解決方案的幾種方式:
●從客戶的角度探討自動(dòng)化的實(shí)際適用性、從各個(gè)角度檢查其外觀是否良好、并在未充分使用的技術(shù)上進(jìn)行測(cè)試。 與之相比,如果自動(dòng)化開發(fā)的努力大大超過預(yù)期的優(yōu)勢(shì),那自動(dòng)化測(cè)試就沒有什么必要。
● 密切關(guān)注被測(cè)系統(tǒng)的技術(shù),以便找到能夠完美模擬用戶行為的最合適的自動(dòng)化測(cè)試工具,這一點(diǎn)至關(guān)重要。
●建議采用基于階段的實(shí)現(xiàn)方法,其中每個(gè)階段都具有交付自動(dòng)化測(cè)試腳本的優(yōu)先級(jí),同時(shí)添加框架功能以實(shí)現(xiàn)預(yù)期的腳本執(zhí)行。
●在啟動(dòng)軟件自動(dòng)化測(cè)試之前,為了確保正確執(zhí)行自動(dòng)化決策,必須首先估算實(shí)施后的投資回報(bào)率、概念證明、運(yùn)行手動(dòng)回歸或冒煙測(cè)試的時(shí)間以及每個(gè)版本的運(yùn)行周期數(shù) 。
結(jié)論
在當(dāng)今快節(jié)奏、殘酷的軟件開發(fā)生態(tài)系統(tǒng)中,自動(dòng)化測(cè)試框架在保持軟件測(cè)試周期的速度、效率和清晰度方面起著不可或缺的作用。隨著人工智能被引入到軟件測(cè)試中,考慮采用自動(dòng)化測(cè)試框架的組織必須深入研究最終框架的設(shè)計(jì)之后才能涉足這一領(lǐng)域。良好的框架設(shè)計(jì)和使用組件的策略將為最終的自動(dòng)化測(cè)試框架奠定基礎(chǔ)。
構(gòu)建成熟、精細(xì)、靈活的自動(dòng)化測(cè)試框架體系結(jié)構(gòu)的最好方法是從小處著手,頻繁地進(jìn)行測(cè)試和審核,并逐步向更高的層次構(gòu)建擴(kuò)展版本。從早期開始準(zhǔn)備大量的自動(dòng)化測(cè)試很方便,可以更快地看到工作框架,避免之后在自動(dòng)化測(cè)試階段出現(xiàn)沖突或受損的情況。
上面闡述的指南旨在幫助軟件測(cè)試人員和公司,以讓大家從那些成功的執(zhí)行自動(dòng)化測(cè)試的項(xiàng)目中汲取經(jīng)驗(yàn)。
分享題目:自動(dòng)化測(cè)試框架知識(shí),讀這一篇就夠了!
網(wǎng)頁網(wǎng)址:http://www.5511xx.com/article/dhijhjg.html


咨詢
建站咨詢
