999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

自動化測試解決方案研究

2017-08-24 02:48:34馬睿
科技創新與應用 2017年21期

馬睿

摘 要:自動化測試是通過編寫腳本來模擬操作,以替代手工執行系統測試。文章對自動化測試平臺架構和Selenium自動化測試工具進行研究,使用三種主流語言編寫自動化測試腳本,并使用不同瀏覽器進行測試,結果表明:與傳統測試相比,開展自動化測試有縮時間、降差異、提質量、零干預等優勢。

關鍵詞:自動化測試;Robot Framework;Selenium;Jenkins;持續集成

中圖分類號:F407.67 文獻標志碼:A 文章編號:2095-2945(2017)21-0049-02

1 概述

目前主流的測試手段原始,基本上都是通過手工方式進行各類測試,每次軟件版本更新時項目組耗費大量時間和精力去重復執行測試用例,甚至不少軟件為趕上線進度,不回歸測試原有功能即發布上線的情況,軟件質量卻很難有顯著的提升。而軟件維護占去了軟件生命周期80%的時間,我們迫切的需要找到方法解決日常維護工作中遇到的上述問題,即引入自動化測試技術。

自動化測試是把以人為驅動的測試行為轉化為機器執行,使軟件測試在預設條件下自動運行,并得出運行結果的過程。通過自動化的測試腳本來模擬系統操作及斷言預期結果來替代手工執行測試用例,大大提高測試的效率和質量,將測試人員從重復的用例執行中解放出來。

2 搭建自動化測試平臺

2.1 自動化測試平臺架構

自動化測試平臺由自動化測試框架Robot Framework和Selenium、持續集成工具Jenkins、測試腳本庫SVN三部分組成。一個完整的自動化測試作業的過程如下:

Step1.實際運行時測試人員編寫自動化的測試腳本提交到SVN,觸發Jenkins從SVN服務器下載最新的測試腳本,同時啟動測試框架開始測試腳本的執行。在平臺中,自動化測試不但可以通過輪詢測試腳本的更新來觸發,還可以定時觸發、手工觸發或者通過其他自定義行為來觸發腳本執行。

Step2. Robot Framework或Selenium通過Webdriver API啟動并控制瀏覽器訪問被測系統,并依賴內部的TestLibraries解析和執行測試腳本,生成測試報告。

Step3.測試報告和日志將被回傳至Jenkins,最終由Jenkins以郵件的形式發送給測試人員。

2.2 Robot Framework框架優化

由于Robot Framework具有過于繁瑣的先天性劣勢,我們對Robot Framework測試框架進行了調整和優化。例如將測試腳本中重復使用的測試步驟進行提取[3]。

以登錄功能為例,“Log In System”關鍵字為登錄系統的函數,每個測試腳本都會使用到該函數。如不使用關鍵字,測試腳本的實現如圖3所示。如使用關鍵字,測試腳本的實現如圖4所示。通過提取關鍵字,可以提升腳本質量,降低代碼冗余。

在研究過程中我們共封裝了106個腳本事件,共合并代碼行數3078行,整個過程節約代碼量越1.7萬行,大大降低了測試腳本的編寫難度,提升編寫效率。

2.3 Selenium自動化測試研究

在Robot Framework測試框架研究之后,我們還對Selenium展開了研究。

2.3.1 Selenium自動化測試工具的研究

Selenium是代碼驅動類型的Web自動化測試框架,支持多種語言,相對更為靈活,對測試人員的編碼能力要求較高,能夠更好地滿足個性化的測試需求。Selenium WebDriver是Selenium最新研發的,而且是目前使用最多的一款工具。我們對Selenium WebDriver進行了研究,包括實現原理、常用的測試方法和Selenium的使用方法[4]。

2.3.2 三種編程語言的自動化測試腳本

在Selenium的研究基礎之上,我們分別使用Java、C#和Python語言編寫了測試腳本進行自動化測試POC,以下簡單介紹使用不同編程語言搭建Selenium測試環境并實現腳本的方法。

(1)Selenium+Java。

引入selenium-java-2.53.1.jar、selenium-server-standalone-2.53.0.jar到Java工程后,即可開始寫自動化測試腳本,結合java的單元測試框架Junit4的annotation主鍵進行斷言。

(2)Selenium+C#。

引入WebDriver.Support.dll、ThoughtWorks.Selenium.Core.dll、Selenium.WebDriverBackedSelenium.dll、WebDriver.dll到測試工程,使用.net的單元測試工具Nunit或者MStest進行測試腳本的編寫,參照.net單元測試的運行方法可以順序地運行自動化測試腳本并跟蹤測試運行情況。

(3)Selenium+Python。

以Python實現測試腳本,首先需要通過pip安裝Selenium,并在項目中引入selenium.common.exceptions、selenium.webdriver.common.keys,selenium webdriver最后使用unittest就可以進行腳本邏輯和斷言的編寫了。

最終的測試結果表明,三種語言編寫的測試腳本對同一系統進行自動化測試得到了相同的缺陷列表,表明Selenium的自動化測試腳本運行結果只和腳本邏輯有關,和編寫的語言無關。這個特性可以方便我們使用熟悉的語言進行腳本編寫[5],極大地減少學習成本。

3 自動化測試平臺的價值

與其他自動化測試工具相比,我們搭建的自動化測試平臺具有如下優點:支持多種編程語言(Java、C#、Python、Ruby、Php、Perl、JavaScript);支持多種瀏覽器測試(IE、Firefox、Chrome、Safari、Opera);支持數據驅動測試和關鍵字驅動測試;開源軟件,無需采購經費,節約項目成本。

此外,若測試失敗,平臺可自動獲取當前頁面快照截圖,保存失敗現場;如遇突發情況可自動發送報告、截圖發至郵箱,及時通知相關人員,便于及時、全面地了解測試結果,做到測試質量的快速跟進和及時反饋,主動發現和作為,改變過去直接發布上線后發現問題的“救火式”修復。

參考文獻:

[1]陳江勇,許力,張輝,等.Web自動化測試框架的設計與實現[J].福建師范大學學報(自然科學版),2013(04).

[2]齊濤.Robot Framework自動化測試修煉寶典[M].電子工業出版社,2015.

[3]朱宏峰.基于關鍵字驅動的Web自動化測試的研究[J].硅谷,2009(24).

[4]趙卓.Selenium自動化測試指南[M].中國郵電出版社,2013.

[5]程佩.基于Selenium WebDriver和Selendroid的自動化測試的研究[D].湖北:華中師范大學,2016.

主站蜘蛛池模板: 国模沟沟一区二区三区| 99er精品视频| 久久黄色小视频| 日本成人精品视频| 国产日韩欧美在线视频免费观看| 波多野结衣一区二区三视频| 中文字幕乱码二三区免费| 国模私拍一区二区| 国产91精品调教在线播放| 九色在线视频导航91| 波多野结衣亚洲一区| 国产成人无码久久久久毛片| 国产成熟女人性满足视频| 国产AV无码专区亚洲精品网站| 四虎永久免费网站| 国产欧美另类| 青青青亚洲精品国产| 国产乱人伦精品一区二区| 色综合日本| 国产手机在线小视频免费观看| 国产精品大白天新婚身材| jizz亚洲高清在线观看| 韩日免费小视频| 久久久久久高潮白浆| 91福利免费| 国产成人成人一区二区| 最新亚洲av女人的天堂| 国产亚洲精品97AA片在线播放| 成人午夜免费观看| 国产视频a| 91丝袜乱伦| 国产麻豆va精品视频| 91视频区| 色综合激情网| 久久国产精品麻豆系列| 亚洲欧美成人综合| 国产精品视频a| 刘亦菲一区二区在线观看| 99精品高清在线播放| 极品私人尤物在线精品首页 | 亚洲福利一区二区三区| a亚洲天堂| 一区二区午夜| 久热中文字幕在线| 国产乱码精品一区二区三区中文| 亚洲h视频在线| 欧美全免费aaaaaa特黄在线| jizz在线免费播放| 一本二本三本不卡无码| 97免费在线观看视频| 欧类av怡春院| 波多野结衣国产精品| 国产91在线|日本| 婷婷综合缴情亚洲五月伊| 丁香婷婷久久| 色视频国产| 日日碰狠狠添天天爽| av在线手机播放| 91在线播放免费不卡无毒| 99久久人妻精品免费二区| 精品成人一区二区| 国产欧美精品专区一区二区| 亚洲资源站av无码网址| 欧美成人一区午夜福利在线| 婷五月综合| 伊人色婷婷| 一级爆乳无码av| 在线观看国产黄色| 97超爽成人免费视频在线播放| 久久精品这里只有国产中文精品| 曰AV在线无码| 一区二区三区毛片无码| 在线国产91| 中文字幕免费播放| 天天色综合4| 国产成人亚洲精品蜜芽影院| 午夜国产在线观看| 很黄的网站在线观看| 国产成人超碰无码| 国产精品自在在线午夜| 91精品国产一区自在线拍| 国产成人精品优优av|