亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Selenium的自動化測試研究

        2016-07-26 06:22:04陳斌仙陳佳麗陳阿妹龍巖學(xué)院福建龍巖364012

        陳斌仙,陳佳麗,陳阿妹(龍巖學(xué)院,福建 龍巖 364012)

        ?

        基于Selenium的自動化測試研究

        陳斌仙,陳佳麗,陳阿妹
        (龍巖學(xué)院,福建 龍巖 364012)

        摘 要:隨著軟件產(chǎn)品的普及和發(fā)達(dá),自動化測試已越來越多地被應(yīng)用于軟件開發(fā)的各個階段,為高質(zhì)量的軟件產(chǎn)品提供了保障.本文在已有研究的基礎(chǔ)之上,給出了自動化測試的定義、發(fā)展歷程及框架,研究了自動化測試工具Selenium的構(gòu)成、工作原理及使用環(huán)境,并分析了利用Selenium對具體實例進(jìn)行測試的過程.本文的研究工作對高校《軟件測試》課程的理論和實踐教學(xué)都有一定的指導(dǎo)作用.

        關(guān)鍵詞:Selenium;測試框架;自動化測試;測試腳本

        為了保證軟件產(chǎn)品的質(zhì)量,在軟件開發(fā)的各個階段(包括需求分析、設(shè)計、實現(xiàn)及發(fā)布等階段)都需要引入軟件測試工作,以期盡早地盡可能多地發(fā)現(xiàn)系統(tǒng)中存在的缺陷,最大限度確保軟件產(chǎn)品的質(zhì)量.20世紀(jì)90年代初期以前,大部分的測試工作都是由手工測試來完成,但是隨著大數(shù)據(jù)時代的到來,編程語言越來越豐富,軟件開發(fā)模型越來越多樣化,軟件產(chǎn)品也越來越復(fù)雜,龐大和重復(fù)性的輸入輸出數(shù)據(jù)給手工測試帶來了極大的挑戰(zhàn),尤其是對產(chǎn)品的升級版本進(jìn)行測試時,大量的人力被花費在之前進(jìn)行過的重復(fù)性的測試之上,浪費了大量的人力、物力和財力[1].在這種情況之下,自動化測試的概念應(yīng)運而生.經(jīng)過過去二十多年的發(fā)展,在軟件測試領(lǐng)域中不僅形成了先進(jìn)的自動化測試的概念,同時也誕生了形形色色的自動化測試軟件和工具,更是為軟件產(chǎn)品的質(zhì)量提供了強(qiáng)有力的保障.本文正是基于此,在已有研究的基礎(chǔ)之上,對自動化測試的定義、發(fā)展歷程及框架進(jìn)行了概述,對測試工具Selenium的相關(guān)應(yīng)用進(jìn)行了研究,并結(jié)合常用實例描述了其詳細(xì)的工作流程.

        1 自動化測試概述

        1.1 自動化測試定義

        自動化測試是指在測試活動中僅需由測試人員根據(jù)測試需求開發(fā)出測試腳本,不需用戶參與即可自動執(zhí)行的測試程序.所開發(fā)的測試腳本可以用于單元測試階段,用來測試某個具體的類或方法,還可以用于集成測試階段,用來測試整個程序的功能.總之,對軟件進(jìn)行自動化測試的過程就是用程序(即測試腳本)測試源程序、用代碼(即編輯后的測試腳本)指導(dǎo)測試流程、用腳本的執(zhí)行取代人工測試的過程.

        1.2 自動化測試發(fā)展歷程

        自動化測試技術(shù)的發(fā)展歷經(jīng)以下4個階段.

        (1)簡單的錄制、編輯、編程與回放階段.即通過自動化測試工具對所需執(zhí)行的操作進(jìn)行錄制,對錄制的腳本進(jìn)行編程,執(zhí)行編輯后的腳本,實現(xiàn)自動化回放功能.適用于被測系統(tǒng)功能變化較少的情況.

        (2)數(shù)據(jù)驅(qū)動的測試階段[2].模擬并使用真實生活中的實例作為測試數(shù)據(jù),并使用專門的數(shù)據(jù)文件進(jìn)行讀取和存儲,在測試腳本中可針對不同的測試用例,引入這些測試數(shù)據(jù)及相應(yīng)的變量.

        (3)關(guān)鍵字驅(qū)動的測試階段[3].在數(shù)據(jù)驅(qū)動測試的基礎(chǔ)上,從測試工具中分離出一種改進(jìn)的測試用例設(shè)計方案,其主要思想是:將腳本和數(shù)據(jù)區(qū)分,將外面界面對象和內(nèi)部測試元素區(qū)分,同時也將測試描述與具體實現(xiàn)細(xì)節(jié)進(jìn)行區(qū)分.

        (4)模型驅(qū)動的測試階段[4].每一個模型等同于一個測試場景,通過不同的場景設(shè)計不同的初始化條件,為用戶設(shè)計出更加清晰、準(zhǔn)確的測試用例,所構(gòu)建的測試模型將減少測試用例的維護(hù)工作,實現(xiàn)資源的重利用.

        1.3 自動化測試框架

        所謂自動化測試框架,即在自動化測試過程中所使用的框架,可理解為由一個或多個自動化測試基本模塊、管理模塊及統(tǒng)計模塊等所組成的工具集合.該工具集合要么提供最基礎(chǔ)的自動化功能測試模塊,如:Selenium、Watir等,當(dāng)使用它們打開一個被測頁面時,通過模擬鼠標(biāo)和鍵盤,點擊或操作該頁面中的被測對象,驗證該對象的屬性是否正確,以此判斷整個程序的正確性;或者提供自動化測試執(zhí)行和管理所需的模塊,如:Robot、STAF等,它們并不為自動化測試提供基礎(chǔ)支撐,而僅僅用于組織、管理和執(zhí)行那些已經(jīng)設(shè)計好的測試用例,如:Robot框架就可以集成Selenium框架[5].

        2 自動化測試工具

        2.1 Selenium構(gòu)成

        Selenium是一套由Thought Works員工所開發(fā)的、開源的測試工具,主要用于解決在功能測試或驗收測試中Junit無法勝任的自動化測試中的問題,尤其是在代碼層面之上,當(dāng)面臨Web系統(tǒng)與用戶之間進(jìn)行交互時所需進(jìn)行的回歸測試、集成測試及冒煙測試等.可支持不同操作系統(tǒng)之下多種瀏覽器及各瀏覽器的不同版本,同時也支持各類編程語言,目前已有Selenium1.0和Selenium 2.0兩個版本,其中Selenium 2.0集成了WebDriver[6],為解決復(fù)雜Web頁面中重新加載和動態(tài)網(wǎng)頁等問題提供了支持.

        Selenium中主要包括:Selenium Core、Selenium IDE、Selenium Remote Control(RC)及 Selenium Grid等模塊,其構(gòu)成如下圖1所示.

        圖1 Selenium構(gòu)成

        2.2 Selenium工作原理

        Selenium是一套在網(wǎng)絡(luò)環(huán)境中使用的測試工具集合,所有配置好的命令均可在瀏覽器中運行,以達(dá)到直接模擬用戶操作的目的.具體的架構(gòu)如下圖2所示.

        圖2 Selenium架構(gòu)

        2.3 Selenium使用環(huán)境

        利用Selenium進(jìn)行Web自動化測試時,需首先搭建測試所需的各類環(huán)境,具體的使用環(huán)境如下表1所示.

        表1 Selenium的使用環(huán)境

        3 基于Selenium的測試過程

        本節(jié)以下內(nèi)容主要描述利用Selenium針對具體實例進(jìn)行測試的過程.

        3.1 分析實例系統(tǒng)測試需求

        本文擬采用的被測對象是QQ郵箱的常用模塊——用戶登錄模塊,這也是Web應(yīng)用中最常見的測試對象.具體的測試需求點如下表2所示.

        表2 實例系統(tǒng)測試需求

        3.2 設(shè)計測試用例

        根據(jù)上述測試需求,對測試需求1涉及到的部分測試用例進(jìn)行設(shè)計,結(jié)果如下表3所示.

        3.3 錄制測試過程

        使用Selenium IDE錄制所需腳本,步驟如下:

        表3 測試需求1對應(yīng)的測試用例

        Step1:在Firefox中添加Selenium IDE插件;

        Step2:將待測網(wǎng)頁的 URL地址——https://mail.qq.com/,填入Selenium IDE的Baseurl欄中,點擊錄制按鈕開始錄制;

        Step3:在Firefox中訪問上述Baseurl網(wǎng)頁,并模擬正常登錄過程,填寫賬號、密碼等信息,再點擊登錄按鈕進(jìn)入QQ郵件頁面;

        Step4:上述過程都記錄在Selenium IDE中,所得腳本如下圖3所示.至此,錄制過程結(jié)束.

        圖3 Selenium IDE界面

        其中,Command代表所執(zhí)行的操作,Target代表操作的對象,Value代表所輸入的值.Selenium IDE主要通過這三個參數(shù),來定位網(wǎng)頁元素,從而完成腳本的錄制過程.

        3.4 生成測試腳本

        在Selenium IDE中,選擇“文件→Export Test Case As…→Java/JUnit4/WebDriver”操作,將IDE 與Selenium 2.0相結(jié)合,同時完成IDE向Web-Driver之Java腳本的轉(zhuǎn)化,并進(jìn)一步生成Junit 4框架格式的腳本文件.

        3.5 執(zhí)行并分析測試結(jié)果

        編輯并調(diào)試好3.4節(jié)的測試腳本之后,在E-clipse IDE中運行該腳本時,WebDriver會自動啟動瀏覽器Firefox,同時“https://mail.qq.com/”網(wǎng)頁會被打開,然后在賬號和密碼處分別自動填上3.2節(jié)測試用例01中的輸入項,即賬號:2956521682,密碼:sele123456,并自動單擊“登錄”按鈕,跳轉(zhuǎn)至QQ郵箱頁面.此時的測試結(jié)果是“登錄成功并跳轉(zhuǎn)成功”,與該測試用例的預(yù)期輸出相符合.故斷言成功,測試通過.

        修改測試用例腳本,將密碼改為3.2節(jié)測試用例02中的輸入值后,再次運行該腳本,會發(fā)現(xiàn)有錯誤提示,此時斷言失敗,測試不能通過.

        4 總結(jié)

        本文在已有的研究基礎(chǔ)之上,給出了自動化測試的定義、發(fā)展歷程及框架,研究了自動化測試工具Selenium的構(gòu)成、工作原理及使用環(huán)境,并結(jié)合具體的實例給出了利用Selenium的進(jìn)行測試的工作過程.本文的研究工作對高?!盾浖y試》教學(xué)有一定的指導(dǎo)作用.值得注意的是,盡管自動化測試在針對大量重復(fù)性測試工作方面提供了重要的解決方案,但在該過程中,測試人員的主要時間和精力都花在如何編寫、如何調(diào)試以及如何優(yōu)化維護(hù)測試代碼之上,這將導(dǎo)致軟件測試有可能偏離原始的軌跡[7].因此,在實施軟件測試的過程中,要正確認(rèn)識自動化測試,并能根據(jù)真實的用戶需求,將手工測試與自動化測試有機(jī)地結(jié)合在一起,發(fā)揮各自的作用,提高測試效率.

        參考文獻(xiàn):

        〔1〕Glenford J.Myers,Tom Badgett,Corey Sandler.軟件測試的藝術(shù)(原書第3版)[M].北京:機(jī)械工業(yè)出版社,2013.

        〔2〕張?zhí)?基于Selenium的Web自動化測試[D].北京:北京交通大學(xué),2014.

        〔3〕Priya Gupta,Prafullakumar Surve.Model based Approach to Assist Test Case Creation,Execution,and Maintenance for Test Automation[C].Proceedings of the First International Workshop on End-to-End Test Script Engineering, New York,USA,2011,1-7.

        〔4〕秦海光.基于Selenium自動化測試框架的改進(jìn)與應(yīng)用[D].北京:中國科學(xué)院大學(xué),2014.

        〔5〕黃華林.使用Selenium進(jìn)行Web應(yīng)用自動化測試的研究[J].電腦開發(fā)與應(yīng)用,2012,25(4):54-56.

        〔6〕吳伶琳.基于Selenium的軟件自動化測試的研究與應(yīng)用[J].計算機(jī)與現(xiàn)代化,2013(2):65-68.

        〔7〕武劍潔.軟件測試使用教程——方法與實踐(第2版)[M].北京:電子工業(yè)出版社,2012.

        中圖分類號:TP311.5

        文獻(xiàn)標(biāo)識碼:A

        文章編號:1673-260X(2016)05-0019-03

        收稿日期:2016-03-09

        基金項目:福建省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目(201511312007);福建省中青年教師教育科研項目(JA15489);龍巖學(xué)院第三批教學(xué)改革項目(2014JY29)

        通訊作者:陳佳麗,女,湖北仙桃人,龍巖學(xué)院信息工程學(xué)院講師,研究方向:軟件測試,信息安全

        在线观看av片永久免费| 中文字幕人成乱码中文乱码| 人妻有码中文字幕在线 | 一区二区三区中文字幕p站| 无码少妇一区二区性色av| 日韩大片高清播放器大全| 国精品无码一区二区三区在线蜜臀| 朝鲜女子内射杂交bbw| 婷婷色综合成人成人网小说| 日韩精品资源在线观看免费| 国产午夜精品视频在线观看| 人妻少妇进入猛烈时中文字幕| 青草内射中出高潮| 亚洲天堂第一区| 日本精品人妻一区二区三区 | 女性女同性aⅴ免费观女性恋| av无码久久久久久不卡网站| 日本不卡在线一区二区三区视频| 伊人五月亚洲综合在线| 日本亚洲视频一区二区三区| 精品免费久久久久久久| 欧美一区波多野结衣第一页| 国产激情视频在线观看你懂的| 亚洲毛片在线免费视频| 免费a级毛片无码| 中文字幕无码人妻丝袜| 国产偷国产偷亚洲高清| 亚洲精品成人无限看| 国产无遮挡a片又黄又爽| 久久99久久99精品观看| 午夜av天堂精品一区| 999国内精品永久免费观看| 国产小视频网址| 国产AV无码专区亚洲AWWW| 青青草中文字幕在线播放| 夜夜揉揉日日人人青青| 国产91成人精品亚洲精品| 日韩精品免费一区二区中文字幕| 精品国产亚洲亚洲国产| 少妇厨房愉情理伦bd在线观看| 99热成人精品免费久久|