成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

自動化測試框架指南

tulayang / 1601人閱讀

摘要:基于各種測試的理想測試自動化框架的主要組成部分是測試庫單元測試單元測試庫可用于塑造任何測試自動化框架的重要組成部分。構(gòu)建工具旨在幫助您從源代碼和支持庫開發(fā)自動化軟件,并運(yùn)行測試。


任何成功的自動化測試過程的關(guān)鍵組成部分都是測試自動化框架。降低維護(hù)成本,測試工作效率提升和提高質(zhì)量保證團(tuán)隊(duì)的投資回報(bào)率ROI是優(yōu)化敏捷流程時所提供的主要優(yōu)勢之一。

出于以下原因,自動化對于高效的測試過程至關(guān)重要:

  • 提高測試效率
  • 降低維護(hù)成本
  • 盡可能的人工干預(yù)
  • 盡可能大測試范圍
  • 代碼的可重用性

軟件開發(fā)領(lǐng)域的管理人員對實(shí)現(xiàn)自動化框架如何使他們的業(yè)務(wù)受益有了廣泛的了解,并且在這個領(lǐng)域的許多人已經(jīng)開始經(jīng)常使用框架一詞,它是成為軟件自動化項(xiàng)目成功的關(guān)鍵。

但是對于許多人來說,問題仍然存在:測試自動化框架和自動化腳本到底是什么?它是如何相互協(xié)助工作的,框架可以為測試過程帶來哪些優(yōu)勢?

定義測試自動化

在任何行業(yè)中,自動化通常被解釋為自動處理流程,而這些流程幾乎不需要人工干預(yù)。在軟件行業(yè),測試自動化意味著使用許可版本或開源的自動化工具對軟件應(yīng)用程序執(zhí)行各種測試。用技術(shù)術(shù)語來說,測試自動化框架是一組定制的交互式組件,它們有助于執(zhí)行腳本化測試和全面報(bào)告測試的結(jié)果。

為了成功構(gòu)建自動化框架,必須考慮軟件質(zhì)量保證專家的建議,這些建議將幫助控制和監(jiān)視整個測試過程并提高結(jié)果的準(zhǔn)確性。經(jīng)過仔細(xì)改進(jìn)的自動化框架允許測試人員以實(shí)用、簡化的方式執(zhí)行自動化測試。

不同類型的框架

根據(jù)團(tuán)隊(duì)要如何創(chuàng)建框架和目標(biāo)自動化需求,可能會想到各種可能的答案。

以工具為中心的框架

商業(yè)自動化工具和開源自動化工具都具有自己的系統(tǒng)基礎(chǔ)結(jié)構(gòu),可幫助在其測試環(huán)境中生成報(bào)告,測試套件和分布式測試執(zhí)行。一個示例是Selenium自動化框架,該框架具有主要組件WebDriver,該組件充當(dāng)基于Web瀏覽器的插件,以在Web瀏覽器中控制和操作應(yīng)用程序的DOM模型。Selenium測試自動化框架還另外具有有用的編碼庫和記錄回放工具。

另一個特定于工具的重要框架示例是Serenity,它圍繞Selenium Webdriver構(gòu)建并且是加速器。在這種情況下,為了加快測試自動化實(shí)施過程的速度,社區(qū)將特定組件組合在一起。

當(dāng)涉及到諸如QTP、RF之類的工具專用框架時,很難做出明確的決定,因?yàn)樗鼈兌际怯蓭в心M操作,報(bào)告和腳本IDE的基礎(chǔ)架構(gòu)預(yù)先構(gòu)建的。

面向項(xiàng)目的框架

定制了此類自動化框架,以實(shí)現(xiàn)特定應(yīng)用程序項(xiàng)目的自動化。特定于項(xiàng)目的框架支持某些目標(biāo)應(yīng)用程序測試自動化要求,并由從開源庫構(gòu)建的組件驅(qū)動。它創(chuàng)建了一個測試友好的環(huán)境,以運(yùn)行某些基本功能。這些包括部署開發(fā)的應(yīng)用程序,運(yùn)行該應(yīng)用程序,執(zhí)行測試用例,直接測試結(jié)果報(bào)告以及簡化編碼的包裝程序控制。專注于特定項(xiàng)目的框架還應(yīng)該具有一個組件,以支持在不同的OS和瀏覽器上的各種云環(huán)境中進(jìn)行測試運(yùn)行。此類測試框架常見于跨瀏覽器測試。

關(guān)鍵字驅(qū)動的框架

關(guān)鍵字驅(qū)動的框架是那些旨在以較少的編碼量吸引開發(fā)人員和測試人員的框架。它們可能是特定于工具或針對項(xiàng)目的框架,使技能不足的員工可以編寫和理解自動化腳本。用于編碼的關(guān)鍵字集(例如Login,NavigateToPage,Click,TypeText)被安裝為代碼庫中的關(guān)鍵字存儲庫。測試人員根據(jù)提供的關(guān)鍵字引用編寫腳本的電子表格將傳遞到關(guān)鍵字解釋器,并執(zhí)行測試。

完美測試自動化框架的主要組件

如果您希望實(shí)現(xiàn)功能強(qiáng)大且性能卓越的測試自動化框架(無論是開源還是商業(yè)的),則必須考慮包括構(gòu)成其核心的某些成分。不必在每個框架中都包含下面提到的所有組件。

基于各種測試的理想測試自動化框架的主要組成部分是:

測試庫

單元測試

單元測試庫可用于塑造任何測試自動化框架的重要組成部分。您需要它用于:

  • 通過特定的形式注釋(如@Test等)定義使用的測試方法
  • 執(zhí)行影響自動化測試最終結(jié)果的斷言
  • 運(yùn)行簡單明了的測試

無論您是從命令行、IDE、專用工具還是CI(連續(xù)集成)系統(tǒng)運(yùn)行測試,以確保單元測試都以直觀的方式運(yùn)行,單元測試庫可提供測試運(yùn)行程序。

集成和端到端測試

在執(zhí)行集成和端到端測試自動化時,通常建議保證現(xiàn)有測試庫提供的功能是健康的。由應(yīng)用程序的UI驅(qū)動的API級別的測試需要使與被測應(yīng)用程序進(jìn)行交互變得更加容易的組件,因?yàn)樗瞬槐匾木幋a負(fù)擔(dān)。因此,盡量不專注于以下方面的編碼工作:

  • 連接到應(yīng)用程序
  • 發(fā)送請求
  • 接收結(jié)果回應(yīng)

行為驅(qū)動開發(fā)

專用于BDD的庫以行為規(guī)范為目標(biāo),以可執(zhí)行代碼的形式創(chuàng)建可執(zhí)行規(guī)范。在這里,可以將不同的功能和預(yù)期行為場景轉(zhuǎn)換為代碼,盡管它們不能像測試工具直接與被測應(yīng)用程序進(jìn)行交互那樣工作。它們可作為BDD流程的支持,以創(chuàng)建與自動化測試的范圍和意圖一致的實(shí)時文檔。一組BDD庫的典型示例為:

測試數(shù)據(jù)管理

在軟件測試自動化和測試創(chuàng)建過程中,最大的挑戰(zhàn)是利用測試數(shù)據(jù)管理系統(tǒng)。隨著自動化測試數(shù)量的增加,始終存在確保執(zhí)行特定測試所需的某些測試數(shù)據(jù)可用或創(chuàng)建的問題。面臨的挑戰(zhàn)是,沒有針對此問題的萬無一失的解決方案,這需要一種可靠的測試數(shù)據(jù)管理方法來使自動化工作取得成功。

解決此問題的一種方法是擁有合適的moco工具,以使數(shù)據(jù)更加簡化,清晰和易于消化。

mock,Stubs和虛擬化

軟件測試中的虛擬化

在探索和研究自動化測試的許多想法時,可能會遇到以下情況:

  • 想將模塊與通常在單元測試中經(jīng)歷過的連接組件隔離開

  • 需要處理應(yīng)用程序的集成或端到端測試中常見的繁瑣和關(guān)鍵的依賴關(guān)系

在這種情況下,您會覺得創(chuàng)建反映所連接組件行為模式的mock和Stubs以及虛擬化至關(guān)重要。處理這些內(nèi)容是一項(xiàng)艱巨的任務(wù),在開發(fā)自動化測試框架的過程中選擇有用的虛擬化工具至關(guān)重要。

實(shí)施模式的通用機(jī)制

除了上面討論的自動化框架組件之外,還有一些有用的機(jī)制可幫助創(chuàng)建,使用和維護(hù)自動化測試,例如:

  • 包裝器方法:使用Selenium Webdriver組件時,創(chuàng)建自定義包裝器可使錯誤處理更加容易,可以更好地處理超時,異常處理和故障報(bào)告。

  • 抽象方法:抽象機(jī)制代表提高可讀性和掩蓋多余的實(shí)現(xiàn)細(xì)節(jié)。例如,在創(chuàng)建Selenium WebDriver測試時使用頁面對象的目的是在網(wǎng)頁上公開用戶輸入操作,包括輸入憑據(jù)或單擊頁面上的某處。目標(biāo)是通過超越或繞過探索頁面特定元素的需求來實(shí)現(xiàn)高級測試方法。此方法適用于許多類似的應(yīng)用程序和自動化測試。

測試結(jié)果報(bào)告

在選擇用于將測試結(jié)果報(bào)告到自動化框架中的庫或機(jī)制時,應(yīng)該主要關(guān)注將要閱讀或查看所生成報(bào)告的目標(biāo)受眾。在這方面,我們可以提出幾個注意事項(xiàng):

  • 諸如JUnit和TestNG之類的單元測試框架生成的報(bào)告主要針對諸如CI(持續(xù)集成)服務(wù)器之類的接收系統(tǒng),這些系統(tǒng)最終會對其進(jìn)行解釋并以其他軟件可使用的XML格式進(jìn)行呈現(xiàn)。

  • 當(dāng)我們尋求具有人類最易理解的語言的報(bào)告功能的工具時,需要考慮使用與單元測試框架兼容的商業(yè)工具,例如用于Junit的UFT Pro、NUnit和TestNG。

  • 另一種選擇是利用諸如ExtentReports之類的第三方庫,該庫以人類易于理解的格式創(chuàng)建測試結(jié)果報(bào)告,包括通過餅圖,圖形或圖像進(jìn)行的視覺解釋。

CI平臺

為了以更快,更統(tǒng)一進(jìn)行應(yīng)用程序測試,持續(xù)集成平臺可以幫助團(tuán)隊(duì)構(gòu)建軟件并定期為新版本運(yùn)行各種測試。當(dāng)開發(fā)和部署新功能以及更新現(xiàn)有功能時,此方法使開發(fā)人員和利益相關(guān)者有機(jī)會就應(yīng)用程序質(zhì)量獲得定期反饋和更快的響應(yīng)。

源代碼管理

與手動測試一樣,自動化測試也涉及編寫和存儲源代碼和測試用例版本。每個開發(fā)公司都有一個精選的源代碼和版本控制系統(tǒng)來保存和保護(hù)源代碼。自動化測試需要完善的源代碼管理系統(tǒng),該系統(tǒng)在處理生產(chǎn)代碼時會派上用場。任何開發(fā)人員都會給出的一些典型的源代碼管理示例是Git,Mercurial,Subversion和TFS。

創(chuàng)建依賴關(guān)系管理器

依賴關(guān)系管理器的主要目的是協(xié)助收集和管理在自動化軟件解決方案的功能中使用的現(xiàn)有依賴關(guān)系和庫的過程。某些工具(例如Maven和Gradle)同時充當(dāng)依賴項(xiàng)管理器并幫助構(gòu)建工具。構(gòu)建工具旨在幫助您從源代碼和支持庫開發(fā)自動化軟件,并運(yùn)行測試。其他依賴工具包括Ant,NPM和NuGet。

建立和實(shí)施框架的過程

有幾種方法可以計(jì)劃實(shí)現(xiàn)自動化測試解決方案的方法。

  • 從用戶的角度探討自動化的實(shí)際適用性。從各個角度檢查它是否如PPT中所講(避免PPT自動化的最佳實(shí)踐),在使用中的技術(shù)上對其進(jìn)行測試。

  • 密切關(guān)注被測系統(tǒng)的技術(shù),以找到能夠完美模擬用戶行為的最合適的測試自動化工具,這一點(diǎn)至關(guān)重要。

  • 建議采用基于階段的實(shí)現(xiàn)方法,其中每個階段都具有交付自動化測試腳本的優(yōu)先級,同時添加框架功能以實(shí)現(xiàn)預(yù)期的腳本執(zhí)行。

  • 在啟動軟件測試自動化之前,為確保正確執(zhí)行自動化決策,必須首先計(jì)算和估算實(shí)施后的投資回報(bào)率,運(yùn)行手動回歸或冒煙測試的時間以及每個版本的運(yùn)行周期。

對測試自動化框架的必然需求

描述和說明軟件測試自動化框架和腳本如何完善測試過程,這并不總是意味著它可以成功地為所有致力于自動化的人工作。但是,無可否認(rèn)的是,如果詳細(xì)地計(jì)劃和正確執(zhí)行測試自動化框架,則會為軟件開發(fā)和測試公司帶來以下好處:

  • 最少的時間,最大的收益:構(gòu)建任何可行的測試自動化框架和自動化腳本都是為了最大程度地減少編寫和運(yùn)行測試所需的時間,從而在短時間內(nèi)提供最大的輸出。有了出色的自動化框架,您就可以擺脫通常的擔(dān)憂,例如同步,錯誤管理,本地配置,報(bào)告生成,解釋和許多其他挑戰(zhàn)。

  • 可重用和可讀的自動化代碼:使用現(xiàn)有組件庫中提到的代碼時,它會在未來一段時間保持可讀性和可重用性,并且所有相關(guān)任務(wù)(如報(bào)告,同步和故障排除)將變得更易于訪問。

  • 資源優(yōu)化:從創(chuàng)建自動化測試中獲得的效率取決于其采用的靈活性。如果自動化系統(tǒng)是靈活的,并且與從事不同組件的不同團(tuán)隊(duì)兼容,則在資源優(yōu)化和知識共享方面可以提供巨大的收益。

結(jié)論

在當(dāng)今快節(jié)奏,殘酷的軟件開發(fā)生態(tài)系統(tǒng)中,自動化測試和腳本在維持軟件測試周期的速度,效率和明晰度中起著不可或缺的作用。隨著自動化測試技術(shù)被灌輸?shù)杰浖y試中,考慮采用測試自動化框架的組織必須深入研究最終框架的設(shè)計(jì),然后才能涉足這一領(lǐng)域。精心設(shè)計(jì)的框架設(shè)計(jì)和要使用的組件策略將為最終測試自動化框架奠定基礎(chǔ)。

塑造測試自動化框架成熟,成熟,靈活的體系結(jié)構(gòu)的最佳方法是從小處著手,頻繁進(jìn)行測試和審查,然后逐步提高以構(gòu)建擴(kuò)展版本。在實(shí)現(xiàn)自動化測試框架時,一種推薦的方法是找到一種可以快速輕松地適應(yīng)流程和工作流程的工具。尋找一種不僅靈活而且可以支持多種應(yīng)用程序和語言的工具,因?yàn)檫@將使QA團(tuán)隊(duì)無論其背景或技能如何都能做出有效的貢獻(xiàn)。

以上筆者的經(jīng)歷更像一張橫向的知識網(wǎng),創(chuàng)建了一個交流平臺 914172719 ,群內(nèi)有各種技術(shù)同行交流、學(xué)習(xí)資料、面試經(jīng)驗(yàn)等。其中用到j(luò)enkins、docker、moutebank、python編程等,還需要花更多的精力去深入學(xué)習(xí),當(dāng)每項(xiàng)技能都能掌握到一定深度,才能稱為一個完整的知識體系。

最后: 可以關(guān)注公眾號:傷心的辣條 ! 進(jìn)去有許多資料共享!資料都是面試時面試官必問的知識點(diǎn),也包括了很多測試行業(yè)常見知識,其中包括了有基礎(chǔ)知識、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫、抓包工具專題、接口測試工具、測試進(jìn)階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續(xù)集成、測試架構(gòu)開發(fā)測試框架、性能測試、安全測試等。

如果我的博客對你有幫助、如果你喜歡我的博客內(nèi)容,請 “點(diǎn)贊” “評論” “收藏” 一鍵三連哦!


好文推薦

轉(zhuǎn)行面試,跳槽面試,軟件測試人員都必須知道的這幾種面試技巧!

面試經(jīng):一線城市搬磚!又面軟件測試崗,5000就知足了…

面試官:工作三年,還來面初級測試?恐怕你的軟件測試工程師的頭銜要加雙引號…

什么樣的人適合從事軟件測試工作?

那個準(zhǔn)點(diǎn)下班的人,比我先升職了…

測試崗反復(fù)跳槽,跳著跳著就跳沒了…

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/118893.html

相關(guān)文章

  • 轉(zhuǎn)行測試的看過來!0基礎(chǔ)~動化測試,我整理的超全學(xué)習(xí)指南...

    摘要:在這個階段,學(xué)習(xí)工具什么的,重點(diǎn)在于接口測試的學(xué)習(xí),所有的工具的學(xué)習(xí),都是在為了接口測試的學(xué)習(xí)做鋪墊。接口測試工具的使用。 很多朋友想要入行軟件測試,但是都不知道該怎么學(xué)。 抽個時間簡單的給大家說下,對于0基礎(chǔ)的朋友,應(yīng)該怎么去學(xué)習(xí)軟件測試。 學(xué)習(xí)軟件測試有2條路可以選。 最省事的當(dāng)然是找個...

    Hanks10100 評論0 收藏0
  • JS測試與接入CI指南

    摘要:能夠?qū)崿F(xiàn)準(zhǔn)確直接的測試,并立即看到測試結(jié)果,進(jìn)行調(diào)整。面對復(fù)雜的項(xiàng)目,對代碼的修改有可能會牽一發(fā)動全身,代碼的改動可能會影響到其他部分的功能,自動化測試能幫我們整體檢查一遍。測試的結(jié)果能夠當(dāng)做一個代碼質(zhì)量的依據(jù)。 js代碼自動化的測試有什么好處? 1、開發(fā)者在寫測試腳本的時候,能夠更好的理解代碼的的功能,返回值等等。 2、能夠?qū)崿F(xiàn)準(zhǔn)確直接的測試,并立即看到測試結(jié)果,進(jìn)行調(diào)整。 3、面對...

    Jaden 評論0 收藏0
  • 現(xiàn)代后端開發(fā)者必備技能-2018版

    摘要:現(xiàn)在開始創(chuàng)建一個包并分發(fā)給其他人使用,并確保遵循你迄今為止學(xué)到的標(biāo)準(zhǔn)和最佳實(shí)踐。第步實(shí)踐對于練習(xí),繼續(xù)編寫單元測試,以完成目前為止所做的實(shí)際任務(wù),特別是你在步驟中所做的練習(xí)。 今天的Web開發(fā)與幾年前完全不同,有很多不同的東西可以很容易地阻止任何人進(jìn)入Web開發(fā)。這是我們決定制作這些循序漸進(jìn)的視覺指南的原因之一,這些指南展示了更大的圖景,并讓任何人清楚了解他們在網(wǎng)頁開發(fā)中扮演的角色。 ...

    eternalshallow 評論0 收藏0
  • 【譯文】PHP-DI和依賴注入的最佳實(shí)踐

    摘要:在構(gòu)造函數(shù)中注入依賴性在中作為服務(wù)的控制器這是痛苦的,當(dāng)你有個以上的依賴項(xiàng),你的構(gòu)造函數(shù)是行樣板代碼在屬性中注入依賴性這是我們建議的解決方案。 PHP-DI是用PHP編寫的、強(qiáng)大的和實(shí)用的、框架無關(guān)的依賴注入容器。這是一個關(guān)于如何使用PHP-DI和依賴注入的最佳實(shí)踐指南。 文章來源于PHP-DI,作者:Matthieu Napoli和貢獻(xiàn)者。PHP-DI是用PHP編寫的、強(qiáng)大的和實(shí)用的...

    ivydom 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<