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

        ?

        淺議Selenium在CRM項(xiàng)目中的應(yīng)用

        2016-12-19 17:30:43劉壯飛吳金霖
        中國高新技術(shù)企業(yè) 2016年1期
        關(guān)鍵詞:自動(dòng)化測試

        劉壯飛 吳金霖

        摘要:文章提供了一種基于Selenium開源框架二次開發(fā)的方法,實(shí)現(xiàn)對Web項(xiàng)目的自動(dòng)化測試,通過測試過程中的覆蓋率、準(zhǔn)確率、命中率等方面對自動(dòng)化測試提出要求,期望通過可視化、組件化的方式來實(shí)現(xiàn)測試用例的編排和實(shí)現(xiàn),最終實(shí)現(xiàn)Web項(xiàng)目的自動(dòng)化測試驗(yàn)證工作,提升測試的質(zhì)量和測試人員的工作效率。

        關(guān)鍵詞:自動(dòng)化測試;Selenium;測試質(zhì)量;測試效率;CRM項(xiàng)目 文獻(xiàn)標(biāo)識碼:A

        中圖分類號:TP391 文章編號:1009-2374(2016)01-0035-02 DOI:10.13535/j.cnki.11-4406/n.2016.01.018

        1 背景及意義

        CRM(客戶關(guān)系管理)系統(tǒng),其業(yè)務(wù)特點(diǎn)是開發(fā)周期長,補(bǔ)丁發(fā)布次數(shù)多,需求要求緊,重復(fù)工作量大,每次的版本發(fā)布均需要做大量的回歸測試,以驗(yàn)證新上需求對現(xiàn)有業(yè)務(wù)的沖擊性,目前每次發(fā)布一個(gè)版本均需要耗費(fèi)5人日的回歸驗(yàn)證投入,不算臨時(shí)的應(yīng)急增量發(fā)布驗(yàn)證,僅按照目前一個(gè)月發(fā)2個(gè)版本,一年有24個(gè)版本,共計(jì)需要投入120人日工作量,且這部分的工作量基本上是機(jī)械性的行為,沒有任何技術(shù)含量。同時(shí),由于系統(tǒng)的特點(diǎn),在測試過程中,業(yè)務(wù)相對復(fù)雜,單純依靠人工進(jìn)行覆蓋測試,很明顯存在工作量大、測試質(zhì)量低的情況,進(jìn)而影響到產(chǎn)品的質(zhì)量,導(dǎo)致客戶滿意度降低,進(jìn)而影響產(chǎn)品的生命周期。因此,如何做好產(chǎn)品的軟件測試就成為一個(gè)亟待解決的緊迫問題。

        1.1 國內(nèi)外研究現(xiàn)狀

        目前,業(yè)界比較有名氣的是QTP、AutoRunner、Robot Framework、Watir、Selenium測試軟件。其中,QTP是一款老牌的自動(dòng)化測試工具,既能夠進(jìn)行C/S框架的測試,也能進(jìn)行B/S框架的測試,但必須要在Object Repository庫中建立Test Object對象,而且該庫還沒有辦法手工建立,必須使用SPY來抓取,或者在錄制的過程中自動(dòng)建立。而Selenimu框架是一款優(yōu)秀的開源框架,并不是單純的一個(gè)工具,它是一組工具的集合,每個(gè)工具都有其特點(diǎn)和應(yīng)用場景,并且可以非常方便地進(jìn)行二次開發(fā),以便于解決實(shí)際項(xiàng)目中碰到的特殊問題,自定義開發(fā)可行性高。

        1.2 Selenium的優(yōu)勢與不足

        Selenium是ThoughtWorks公司的一個(gè)強(qiáng)大的開源Web功能測試工具系列。Selenium與Webdriver整合后,形成的新的測試工具叫做Selenium2.x,它提供了完全不同的一種方式與瀏覽器交互。主要新功能是集成的Webdriver的API。Webdriver的設(shè)計(jì)除了解決一些Selenium-RC API的一些限制外,與Webdriver整合后,將提供一個(gè)更簡單、更簡潔的編程接口。Selenium Webdriver會(huì)更好地支持動(dòng)態(tài)的網(wǎng)頁,即頁面本身被重新加載頁面元素可能更改的網(wǎng)頁。Webdriver的目標(biāo)是提供一個(gè)設(shè)計(jì)良好的面向?qū)ο蟮腁PI,提供了更好的支持現(xiàn)代先進(jìn)的web-app測試。

        1.2.1 工作原理。Selenium2.0是利用瀏覽器原生的API,封裝成一套更加面向?qū)ο蟮腟elenium Webdriver API,直接操作瀏覽器頁面里的元素,甚至操作瀏覽器本身(截屏、窗口大小、啟動(dòng)、關(guān)閉等)。由于使用的是瀏覽器原生的API,不同的瀏覽器廠商對Web元素的操作和呈現(xiàn)多少會(huì)有一些差異,這就直接導(dǎo)致了Selenium Webdriver要分瀏覽器廠商不同而提供不同的實(shí)現(xiàn),例如Firefox就有專門的FirefoxDriver,Chrome就有專門的ChromeDriver等。

        運(yùn)行過程:(1)Webdriver啟動(dòng)目標(biāo)瀏覽器,并綁定到指定端口。該啟動(dòng)的瀏覽器實(shí)例,作為Webdriver的Remote server;(2)Client端通過CommandExcuter發(fā)送HTTPRequest給Remote server的偵聽端口(通信協(xié)議:the webriver wire protocol);(3)Remote server需要依賴原生的瀏覽器組件(如IEDriver.dll、chromedriver.exe)來轉(zhuǎn)化轉(zhuǎn)化瀏覽器的native調(diào)用。

        Remote server端使瀏覽器實(shí)現(xiàn)了Webdriver的統(tǒng)一接口,這樣Client就可以通過統(tǒng)一的restful的接口去進(jìn)行瀏覽器的自動(dòng)化操作。

        1.2.2 優(yōu)勢與不足。直接在瀏覽器中運(yùn)行,就像真實(shí)用戶所做的一樣。Selenium測試具備以下特點(diǎn):(1)Selenium框架是開源的框架,支持自定義二次開發(fā);(2)可以在Windows、Linux和Macintosh上的Internet Explorer、Mozilla和Firefox中運(yùn)行。其他測試工具都不能覆蓋如此多的平臺(tái);(3)通過編寫模仿用戶操作的Selenium測試腳本,可以從終端用戶的角度來測試應(yīng)用程序;(4)通過在不同瀏覽器中運(yùn)行測試,更容易發(fā)現(xiàn)瀏覽器的不兼容性。當(dāng)然,Selenium框架也存在不足之處,主要體現(xiàn)在以下方面:(1)主要支持的是B/S框架,對C/S框架無法支持;(2)無法真正判斷頁面上的元素時(shí)能生成完畢。

        1.3 Selenium的應(yīng)用與難點(diǎn)

        CRM系統(tǒng)主要基于JavaEE架構(gòu),前臺(tái)的頁面主要使用Ajax(js、css)等語言實(shí)現(xiàn),后臺(tái)邏輯主要是基于Spring和Hibernate。同時(shí),由于業(yè)務(wù)的靈活性特點(diǎn),沒有一款現(xiàn)有的自動(dòng)化測試框架能夠直接應(yīng)用到系統(tǒng)中來。這樣的業(yè)務(wù)特點(diǎn)和技術(shù)架構(gòu)使得應(yīng)用Selenium開源框架進(jìn)行二次開發(fā)來定制屬于CRM的自動(dòng)化測試成為必然選擇。

        1.3.1 測試過程。

        第一,研究實(shí)現(xiàn)自動(dòng)化測試案例,降低腳本維護(hù)成本。對自動(dòng)化測試的用例,需要對原有的手工測試用例進(jìn)行分析和改造,主要是要詳細(xì)確認(rèn)每個(gè)步驟的驗(yàn)證點(diǎn)。在手工測試時(shí)許多驗(yàn)證的方式是通過人眼和大腦的判斷,并且在手工用例中大多也沒有特別指明需驗(yàn)證哪些內(nèi)容,但在自動(dòng)化測試的用例中,就必須明確寫明需驗(yàn)證哪些內(nèi)容。同時(shí)為了降低腳本維護(hù)的工作量,就必須對功能點(diǎn)、模塊、流程模板等進(jìn)行抽象、封裝成測試組件,使其可以復(fù)用。對測試案例還提供了數(shù)據(jù)庫表進(jìn)行用例配置,方便修改用例數(shù)據(jù)。

        第二,降低用例失敗率、提高bug命中率。在自動(dòng)化測試案例被執(zhí)行一段時(shí)間后發(fā)現(xiàn)自動(dòng)化測試用例失敗率非常高,絕大多數(shù)用例失敗是由于測試數(shù)據(jù)準(zhǔn)備不恰當(dāng)導(dǎo)致的。由于從數(shù)據(jù)庫撈出來的測試數(shù)據(jù)存在許多未知的關(guān)聯(lián)關(guān)系,影響測試的操作步驟,導(dǎo)致用例失敗。由于無法預(yù)先排除這些數(shù)據(jù),所以只能通過不斷地執(zhí)行、分析、排除,慢慢積累來降低用例的失敗率。用例失敗率降低了,自然bug命中率就提高了。

        第三,自動(dòng)化測試推廣,提高用例覆蓋率。經(jīng)過案例執(zhí)行和分析,用例失敗率降低,可以將其在測試組中推廣試用。原來采用的是往數(shù)據(jù)庫表中插入用例的測試步驟,但這種方式較不方便,并不能提高測試效率,測試人員不愿意使用。隨后引入自動(dòng)化測試框架RobotFramework,它采用表格式可視化編程,且中文支持較好,易于理解,測試人員容易上手,因此最后使用RobotFramework+Selenium2.0來開展自動(dòng)化測試的推廣應(yīng)用,目前還在前期推廣試用階段。

        1.3.2 遇到的困難。

        第一,如何選擇自動(dòng)化測試用例,評估其自動(dòng)化的回報(bào)率。我們知道自動(dòng)化測試用例的選取,關(guān)系到自動(dòng)化測試能否被正確并且穩(wěn)定地執(zhí)行,關(guān)系到自動(dòng)化測試投入與產(chǎn)出的比。但是目前我們只是知道較模糊的一些判斷條件,比如:(1)用例的測試結(jié)果可預(yù)期;(2)用例需求穩(wěn)定;(3)用例的復(fù)雜度不要太高;(4)用例成功率對數(shù)據(jù)的依賴較低;(5)盡可能選擇現(xiàn)場可恢復(fù)的用例等。但是還沒有一個(gè)比較合適的判斷評估標(biāo)準(zhǔn),只能在實(shí)踐中去證明用例是否適合做成自動(dòng)化,這樣也就增加了自動(dòng)化測試的投入。

        第二,如何提高自動(dòng)化測試的準(zhǔn)確性,降低用例失敗率,提高bug命中率。因?yàn)闆]有辦法做到所有的測試過程完全可預(yù)知,在用例執(zhí)行過程中還是會(huì)遇到許多未知的情況,比如:(1)環(huán)境問題;(2)所準(zhǔn)備的數(shù)據(jù)影響原有測試過程;(3)無效測試數(shù)據(jù)等。

        2 總結(jié)與展望

        當(dāng)然,上述的應(yīng)用主要還是重點(diǎn)針對基于B/S框架的Java應(yīng)用進(jìn)行的一些嘗試,且在實(shí)際的應(yīng)用過程中,主要以日常的穩(wěn)定性測試的案例為主要突破口,覆蓋了CRM系統(tǒng)的主要基礎(chǔ)用例,在一定程度上保障了產(chǎn)品的健壯性。當(dāng)然,在使用過程當(dāng)中,還存在著準(zhǔn)確率和命中率不高的問題,這點(diǎn)將在后續(xù)的具體使用過程中重點(diǎn)關(guān)注。在測試用例的編排方面,目前還沒法實(shí)現(xiàn)界面化、可視化的方式進(jìn)行拖拽組織測試用例,這將在后續(xù)的研究過程中加以改進(jìn),同時(shí)將積極引入Robot Framework框架,進(jìn)一步降低自動(dòng)化測試使用門檻,讓更多的測試組成員具備自動(dòng)化測試用例編寫能力,進(jìn)而提升測試組成員的職業(yè)技能,實(shí)現(xiàn)產(chǎn)品線的“全員自動(dòng)化測試”,提升軟件的產(chǎn)品質(zhì)量。

        參考文獻(xiàn)

        [1] 布朗,等.軟件測試:原理與實(shí)踐(英文版)[M].北京:機(jī)械工業(yè)出版社,2012.

        [2] 溫素劍.零成本實(shí)現(xiàn)Web自動(dòng)化測試:基于Selenium和Bromine[M].北京:電子工業(yè)出版社,2011.

        作者簡介:劉壯飛(1981-),男,福建莆田人,北京福富軟件技術(shù)股份有限公司福州分公司項(xiàng)目經(jīng)理,研究方向:項(xiàng)目管理、自動(dòng)化測試。

        (責(zé)任編輯:陳 潔)

        猜你喜歡
        自動(dòng)化測試
        基于Java反射的APP自動(dòng)化混合測試框架的研究與實(shí)現(xiàn)
        Hadoop性能測試自動(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)化測試
        東方教育(2016年7期)2017-01-17 21:28:10
        基于多總線結(jié)構(gòu)的電路板測試系統(tǒng)設(shè)計(jì)研究
        航空航天與國防電子新形勢下自動(dòng)化測試系統(tǒng)的應(yīng)用
        基于CTI—TET和SeleniumWebdriver的Web應(yīng)用自動(dòng)化測試框架的設(shè)計(jì)與實(shí)現(xiàn)
        軟件工程(2016年8期)2016-10-25 15:45:45
        自動(dòng)化測試實(shí)現(xiàn)研究
        中國市場(2016年34期)2016-10-15 04:20:40
        天線伺服自動(dòng)化測試系統(tǒng)的設(shè)計(jì)與應(yīng)用
        一種航空交換機(jī)中CAN總線的自動(dòng)化測試方法
        国产av一区二区三区香蕉| 怡红院免费的全部视频| 丰满少妇被猛烈进入无码| 色婷婷丁香综合激情| 美女丝袜诱惑在线播放蜜桃| 亚洲综合欧美色五月俺也去| 国产熟女露脸大叫高潮| 国产精品毛片久久久久久l| 亚洲日本国产一区二区三区| 亚洲综合精品中文字幕| 99久久国产综合精品五月天| 亚洲免费观看网站| 亚洲国产精品色一区二区| 国产91清纯白嫩初高中在线观看 | 国产人妻人伦精品1国产| 国产免费一区二区三区在线观看| 亚洲色无码中文字幕| 美女露出奶头扒开内裤的视频| 天天摸夜夜摸夜夜狠狠摸| 国产精品视频一区国模私拍| 青青青草国产熟女大香蕉| 视频一区二区三区黄色| 黑色丝袜秘书夹住巨龙摩擦| 精品久久久久一区二区国产| 亚洲中文字幕第一第二页 | 一本久道久久综合狠狠操| 一区二区三区免费视频网站| 国产精品高清国产三级国产av| 十八禁视频网站在线观看| 无码专区久久综合久中文字幕| 亚洲AV成人综合五月天在线观看| 青青草激情视频在线播放| 欧洲美女黑人粗性暴交| 国产一级片毛片| 精品国产亚洲av久一区二区三区| 奇米影视色777四色在线首页| 日韩精品一区二区亚洲av| 国产AV无码专区亚洲AWWW| 99久久国内精品成人免费| 亚洲精品天堂成人片av在线播放| 亚洲亚洲网站三级片在线|