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

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

2016-12-19 17:30:43劉壯飛吳金霖

劉壯飛 吳金霖

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

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

中圖分類號(hào):TP391 文章編號(hào):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)是開(kāi)發(fā)周期長(zhǎng),補(bǔ)丁發(fā)布次數(shù)多,需求要求緊,重復(fù)工作量大,每次的版本發(fā)布均需要做大量的回歸測(cè)試,以驗(yàn)證新上需求對(duì)現(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ī)械性的行為,沒(méi)有任何技術(shù)含量。同時(shí),由于系統(tǒng)的特點(diǎn),在測(cè)試過(guò)程中,業(yè)務(wù)相對(duì)復(fù)雜,單純依靠人工進(jìn)行覆蓋測(cè)試,很明顯存在工作量大、測(cè)試質(zhì)量低的情況,進(jìn)而影響到產(chǎn)品的質(zhì)量,導(dǎo)致客戶滿意度降低,進(jìn)而影響產(chǎn)品的生命周期。因此,如何做好產(chǎn)品的軟件測(cè)試就成為一個(gè)亟待解決的緊迫問(wèn)題。

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

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

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

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

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

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

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

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

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

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

1.3.1 測(cè)試過(guò)程。

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

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

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

1.3.2 遇到的困難。

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

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

2 總結(jié)與展望

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

參考文獻(xiàn)

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

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

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

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

主站蜘蛛池模板: 成人福利在线观看| 国产精品毛片一区视频播| 欧美成人日韩| 日本免费一区视频| 新SSS无码手机在线观看| 欧美特黄一免在线观看| 精品久久香蕉国产线看观看gif| 日本欧美视频在线观看| 嫩草在线视频| 精品伊人久久久香线蕉| 免费无码又爽又黄又刺激网站| 色综合天天操| 国产黄色片在线看| 91综合色区亚洲熟妇p| 亚洲资源在线视频| 青草视频在线观看国产| 国产精品999在线| 国产亚洲欧美另类一区二区| 久久国产亚洲欧美日韩精品| 亚洲首页在线观看| 国产流白浆视频| 国产97公开成人免费视频| 91福利国产成人精品导航| 亚洲国产日韩在线成人蜜芽| 国产精品三级专区| 亚洲精品视频免费| 乱人伦中文视频在线观看免费| 9啪在线视频| 日日拍夜夜操| 久久女人网| 欧美成人午夜视频| 婷婷色婷婷| 欧日韩在线不卡视频| 91麻豆精品视频| а∨天堂一区中文字幕| 自慰高潮喷白浆在线观看| 六月婷婷激情综合| 97久久精品人人做人人爽| 制服丝袜国产精品| 午夜高清国产拍精品| 亚洲AV无码一区二区三区牲色| 制服丝袜亚洲| 青青青伊人色综合久久| 伊人色综合久久天天| 国产色网站| 热99精品视频| 国模极品一区二区三区| 欧美伊人色综合久久天天| 91免费片| 91精品aⅴ无码中文字字幕蜜桃 | 中文字幕 欧美日韩| 蜜桃臀无码内射一区二区三区 | 国产SUV精品一区二区6| 女人一级毛片| 超清无码一区二区三区| 91最新精品视频发布页| 欧美一道本| 亚国产欧美在线人成| 九九精品在线观看| 亚洲国产综合精品一区| 国产尤物视频在线| 日韩不卡高清视频| 久草视频中文| 国产三级韩国三级理| 久久精品国产一区二区小说| 亚洲欧美国产高清va在线播放| 一级黄色片网| 伊人AV天堂| 找国产毛片看| 亚洲人成网址| 一级毛片在线直接观看| 国产又黄又硬又粗| 一级毛片不卡片免费观看| 亚洲毛片在线看| 自慰网址在线观看| 亚洲色欲色欲www在线观看| 成人福利在线视频免费观看| 国产精品自在线拍国产电影| 国产超碰在线观看| 欧美www在线观看| 国产伦精品一区二区三区视频优播 | 日韩美一区二区|