• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      自動(dòng)化測(cè)試解決方案研究

      2017-08-24 02:48:34馬睿
      科技創(chuàng)新與應(yīng)用 2017年21期
      關(guān)鍵詞:自動(dòng)化測(cè)試

      馬睿

      摘 要:自動(dòng)化測(cè)試是通過(guò)編寫腳本來(lái)模擬操作,以替代手工執(zhí)行系統(tǒng)測(cè)試。文章對(duì)自動(dòng)化測(cè)試平臺(tái)架構(gòu)和Selenium自動(dòng)化測(cè)試工具進(jìn)行研究,使用三種主流語(yǔ)言編寫自動(dòng)化測(cè)試腳本,并使用不同瀏覽器進(jìn)行測(cè)試,結(jié)果表明:與傳統(tǒng)測(cè)試相比,開展自動(dòng)化測(cè)試有縮時(shí)間、降差異、提質(zhì)量、零干預(yù)等優(yōu)勢(shì)。

      關(guān)鍵詞:自動(dòng)化測(cè)試;Robot Framework;Selenium;Jenkins;持續(xù)集成

      中圖分類號(hào):F407.67 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2017)21-0049-02

      1 概述

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

      自動(dòng)化測(cè)試是把以人為驅(qū)動(dòng)的測(cè)試行為轉(zhuǎn)化為機(jī)器執(zhí)行,使軟件測(cè)試在預(yù)設(shè)條件下自動(dòng)運(yùn)行,并得出運(yùn)行結(jié)果的過(guò)程。通過(guò)自動(dòng)化的測(cè)試腳本來(lái)模擬系統(tǒng)操作及斷言預(yù)期結(jié)果來(lái)替代手工執(zhí)行測(cè)試用例,大大提高測(cè)試的效率和質(zhì)量,將測(cè)試人員從重復(fù)的用例執(zhí)行中解放出來(lái)。

      2 搭建自動(dòng)化測(cè)試平臺(tái)

      2.1 自動(dòng)化測(cè)試平臺(tái)架構(gòu)

      自動(dòng)化測(cè)試平臺(tái)由自動(dòng)化測(cè)試框架Robot Framework和Selenium、持續(xù)集成工具Jenkins、測(cè)試腳本庫(kù)SVN三部分組成。一個(gè)完整的自動(dòng)化測(cè)試作業(yè)的過(guò)程如下:

      Step1.實(shí)際運(yùn)行時(shí)測(cè)試人員編寫自動(dòng)化的測(cè)試腳本提交到SVN,觸發(fā)Jenkins從SVN服務(wù)器下載最新的測(cè)試腳本,同時(shí)啟動(dòng)測(cè)試框架開始測(cè)試腳本的執(zhí)行。在平臺(tái)中,自動(dòng)化測(cè)試不但可以通過(guò)輪詢測(cè)試腳本的更新來(lái)觸發(fā),還可以定時(shí)觸發(fā)、手工觸發(fā)或者通過(guò)其他自定義行為來(lái)觸發(fā)腳本執(zhí)行。

      Step2. Robot Framework或Selenium通過(guò)Webdriver API啟動(dòng)并控制瀏覽器訪問被測(cè)系統(tǒng),并依賴內(nèi)部的TestLibraries解析和執(zhí)行測(cè)試腳本,生成測(cè)試報(bào)告。

      Step3.測(cè)試報(bào)告和日志將被回傳至Jenkins,最終由Jenkins以郵件的形式發(fā)送給測(cè)試人員。

      2.2 Robot Framework框架優(yōu)化

      由于Robot Framework具有過(guò)于繁瑣的先天性劣勢(shì),我們對(duì)Robot Framework測(cè)試框架進(jìn)行了調(diào)整和優(yōu)化。例如將測(cè)試腳本中重復(fù)使用的測(cè)試步驟進(jìn)行提取[3]。

      以登錄功能為例,“Log In System”關(guān)鍵字為登錄系統(tǒng)的函數(shù),每個(gè)測(cè)試腳本都會(huì)使用到該函數(shù)。如不使用關(guān)鍵字,測(cè)試腳本的實(shí)現(xiàn)如圖3所示。如使用關(guān)鍵字,測(cè)試腳本的實(shí)現(xiàn)如圖4所示。通過(guò)提取關(guān)鍵字,可以提升腳本質(zhì)量,降低代碼冗余。

      在研究過(guò)程中我們共封裝了106個(gè)腳本事件,共合并代碼行數(shù)3078行,整個(gè)過(guò)程節(jié)約代碼量越1.7萬(wàn)行,大大降低了測(cè)試腳本的編寫難度,提升編寫效率。

      2.3 Selenium自動(dòng)化測(cè)試研究

      在Robot Framework測(cè)試框架研究之后,我們還對(duì)Selenium展開了研究。

      2.3.1 Selenium自動(dòng)化測(cè)試工具的研究

      Selenium是代碼驅(qū)動(dòng)類型的Web自動(dòng)化測(cè)試框架,支持多種語(yǔ)言,相對(duì)更為靈活,對(duì)測(cè)試人員的編碼能力要求較高,能夠更好地滿足個(gè)性化的測(cè)試需求。Selenium WebDriver是Selenium最新研發(fā)的,而且是目前使用最多的一款工具。我們對(duì)Selenium WebDriver進(jìn)行了研究,包括實(shí)現(xiàn)原理、常用的測(cè)試方法和Selenium的使用方法[4]。

      2.3.2 三種編程語(yǔ)言的自動(dòng)化測(cè)試腳本

      在Selenium的研究基礎(chǔ)之上,我們分別使用Java、C#和Python語(yǔ)言編寫了測(cè)試腳本進(jìn)行自動(dòng)化測(cè)試POC,以下簡(jiǎn)單介紹使用不同編程語(yǔ)言搭建Selenium測(cè)試環(huán)境并實(shí)現(xiàn)腳本的方法。

      (1)Selenium+Java。

      引入selenium-java-2.53.1.jar、selenium-server-standalone-2.53.0.jar到Java工程后,即可開始寫自動(dòng)化測(cè)試腳本,結(jié)合java的單元測(cè)試框架Junit4的annotation主鍵進(jìn)行斷言。

      (2)Selenium+C#。

      引入WebDriver.Support.dll、ThoughtWorks.Selenium.Core.dll、Selenium.WebDriverBackedSelenium.dll、WebDriver.dll到測(cè)試工程,使用.net的單元測(cè)試工具Nunit或者M(jìn)Stest進(jìn)行測(cè)試腳本的編寫,參照.net單元測(cè)試的運(yùn)行方法可以順序地運(yùn)行自動(dòng)化測(cè)試腳本并跟蹤測(cè)試運(yùn)行情況。

      (3)Selenium+Python。

      以Python實(shí)現(xiàn)測(cè)試腳本,首先需要通過(guò)pip安裝Selenium,并在項(xiàng)目中引入selenium.common.exceptions、selenium.webdriver.common.keys,selenium webdriver最后使用unittest就可以進(jìn)行腳本邏輯和斷言的編寫了。

      最終的測(cè)試結(jié)果表明,三種語(yǔ)言編寫的測(cè)試腳本對(duì)同一系統(tǒng)進(jìn)行自動(dòng)化測(cè)試得到了相同的缺陷列表,表明Selenium的自動(dòng)化測(cè)試腳本運(yùn)行結(jié)果只和腳本邏輯有關(guān),和編寫的語(yǔ)言無(wú)關(guān)。這個(gè)特性可以方便我們使用熟悉的語(yǔ)言進(jìn)行腳本編寫[5],極大地減少學(xué)習(xí)成本。

      3 自動(dòng)化測(cè)試平臺(tái)的價(jià)值

      與其他自動(dòng)化測(cè)試工具相比,我們搭建的自動(dòng)化測(cè)試平臺(tái)具有如下優(yōu)點(diǎn):支持多種編程語(yǔ)言(Java、C#、Python、Ruby、Php、Perl、JavaScript);支持多種瀏覽器測(cè)試(IE、Firefox、Chrome、Safari、Opera);支持?jǐn)?shù)據(jù)驅(qū)動(dòng)測(cè)試和關(guān)鍵字驅(qū)動(dòng)測(cè)試;開源軟件,無(wú)需采購(gòu)經(jīng)費(fèi),節(jié)約項(xiàng)目成本。

      此外,若測(cè)試失敗,平臺(tái)可自動(dòng)獲取當(dāng)前頁(yè)面快照截圖,保存失敗現(xiàn)場(chǎng);如遇突發(fā)情況可自動(dòng)發(fā)送報(bào)告、截圖發(fā)至郵箱,及時(shí)通知相關(guān)人員,便于及時(shí)、全面地了解測(cè)試結(jié)果,做到測(cè)試質(zhì)量的快速跟進(jìn)和及時(shí)反饋,主動(dòng)發(fā)現(xiàn)和作為,改變過(guò)去直接發(fā)布上線后發(fā)現(xiàn)問題的“救火式”修復(fù)。

      參考文獻(xiàn):

      [1]陳江勇,許力,張輝,等.Web自動(dòng)化測(cè)試框架的設(shè)計(jì)與實(shí)現(xiàn)[J].福建師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2013(04).

      [2]齊濤.Robot Framework自動(dòng)化測(cè)試修煉寶典[M].電子工業(yè)出版社,2015.

      [3]朱宏峰.基于關(guān)鍵字驅(qū)動(dòng)的Web自動(dòng)化測(cè)試的研究[J].硅谷,2009(24).

      [4]趙卓.Selenium自動(dòng)化測(cè)試指南[M].中國(guó)郵電出版社,2013.

      [5]程佩.基于Selenium WebDriver和Selendroid的自動(dòng)化測(cè)試的研究[D].湖北:華中師范大學(xué),2016.

      猜你喜歡
      自動(dòng)化測(cè)試
      基于Java反射的APP自動(dòng)化混合測(cè)試框架的研究與實(shí)現(xiàn)
      Hadoop性能測(cè)試自動(dòng)化研究
      數(shù)據(jù)驅(qū)動(dòng)和關(guān)鍵字驅(qū)動(dòng)的研究與應(yīng)用
      軟件(2016年4期)2017-01-20 09:56:35
      淺談空調(diào)控制器自動(dòng)化測(cè)試
      東方教育(2016年7期)2017-01-17 21:28:10
      基于多總線結(jié)構(gòu)的電路板測(cè)試系統(tǒng)設(shè)計(jì)研究
      航空航天與國(guó)防電子新形勢(shì)下自動(dòng)化測(cè)試系統(tǒng)的應(yīng)用
      基于CTI—TET和SeleniumWebdriver的Web應(yīng)用自動(dòng)化測(cè)試框架的設(shè)計(jì)與實(shí)現(xiàn)
      軟件工程(2016年8期)2016-10-25 15:45:45
      自動(dòng)化測(cè)試實(shí)現(xiàn)研究
      天線伺服自動(dòng)化測(cè)試系統(tǒng)的設(shè)計(jì)與應(yīng)用
      一種航空交換機(jī)中CAN總線的自動(dòng)化測(cè)試方法
      玛曲县| 汪清县| 湄潭县| 轮台县| 江门市| 沿河| 五华县| 呼伦贝尔市| 柳州市| 盐城市| 夏津县| 错那县| 马龙县| 琼结县| 饶阳县| 莱西市| 如皋市| 泰兴市| 朝阳市| 甘肃省| 玛沁县| 新邵县| 买车| 密山市| 扎囊县| 泗阳县| 沐川县| 芜湖市| 多伦县| 浮山县| 五原县| 肃南| 杂多县| 正阳县| 广饶县| 贵阳市| 丰县| 东源县| 苏州市| 泗阳县| 嫩江县|