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

        ?

        No Coding自動(dòng)化測(cè)試框架

        2016-05-14 13:40:44鮮文軍
        中國(guó)科技縱橫 2016年6期

        【摘 要】現(xiàn)階段電網(wǎng)軟件測(cè)試方面仍然處于傳統(tǒng)手工測(cè)試階段,為了有效解決常見自動(dòng)化測(cè)試工具普遍存在的使用成本高、測(cè)試用例有效性低,以對(duì)不同Web技術(shù)測(cè)試方案不統(tǒng)一等問(wèn)題。我們需要提供一個(gè)測(cè)試框架,來(lái)跨越“技術(shù)”與“用戶”之間的鴻溝,簡(jiǎn)化腳本的編寫和維護(hù)工作、及時(shí)全面的回歸測(cè)試、穩(wěn)定性測(cè)試、兼容性測(cè)試成為可能,并將測(cè)試人員從日常大量的重復(fù)性工作中解放出來(lái),可以把更多的精力投入到針對(duì)業(yè)務(wù)場(chǎng)景的測(cè)試設(shè)計(jì)、用戶體驗(yàn)測(cè)試、性能測(cè)試、安全性測(cè)試等工作中。

        【關(guān)鍵詞】軟件自動(dòng)化測(cè)試 自動(dòng)生成測(cè)試用例 自動(dòng)生成測(cè)試腳本

        【Abstract】 Currently, for the software testing ,the manual testing is still the main approach in Power Grid Company. The usual automation testing tools are highly cost, low effectiveness of test case, different test scheme for different Web technology. To solve these problems above, we should supply a new automation testing framework which can cross the divide between “technology” and “customer”, to make coding and maintaining script easier and regression testing, stability testing, compatibility testing comprehensive and timely. Let our quality testing engineer focus on the work of test design, user experience test, load test, and security test.

        【Keywords】Software automation testing, automation test case, automation test script.

        1 引言

        現(xiàn)在的軟件項(xiàng)目中,對(duì)于測(cè)試工作,總是有更多的測(cè)試需要去做,功能需求改變后需要測(cè)試新的功能,測(cè)試不同的配置,或者是測(cè)試一個(gè)新的平臺(tái)。但是隨著項(xiàng)目時(shí)間的逼近,分配給每個(gè)測(cè)試周期的時(shí)間也就變少,而最后,我們發(fā)現(xiàn),測(cè)試工程師的時(shí)間往往都集中在了驗(yàn)證修正的缺陷上面。

        為了有效解決常見自動(dòng)化測(cè)試工具普遍存在的使用成本高、測(cè)試用例有效性低,以及對(duì)不同Web技術(shù)測(cè)試方案不統(tǒng)一等問(wèn)題。我們需要提供一個(gè)測(cè)試框架,來(lái)跨越“技術(shù)”與“用戶”之間的鴻溝,簡(jiǎn)化腳本及斷言條件的編寫和維護(hù)工作、提高對(duì)UI框架和業(yè)務(wù)編碼規(guī)范的支持程度,從而降低成本、提升效率。

        現(xiàn)有的自動(dòng)化測(cè)試框架,大多數(shù)采用的是“錄制/回訪”機(jī)制。首先,使用錄制功能,手動(dòng)操作一遍需要測(cè)試的動(dòng)作,自動(dòng)化測(cè)試框架會(huì)將所有的動(dòng)作,包括數(shù)據(jù)轉(zhuǎn)換為腳本,這樣一個(gè)完整的測(cè)試腳本就此生成。但是,這種方式,無(wú)法應(yīng)對(duì)需求多變的軟件項(xiàng)目,往往一個(gè)頁(yè)面上的UI改變,隨之而來(lái)的便是腳本的改動(dòng),這時(shí)需要測(cè)試人員需要打開測(cè)試腳本,定位修改。這樣,測(cè)試腳本的維護(hù)往往占用了大量的時(shí)間,使得自動(dòng)化測(cè)試工作效率低下。

        再次,維護(hù)測(cè)試腳本,需要測(cè)試人員有著一定的編程知識(shí),這對(duì)于不是專注于開發(fā)工作的測(cè)試人員,往往修改測(cè)試腳本便意味著需要掌握一門新的編程語(yǔ)言,了解編程思想,加大了測(cè)試人員的工作量,使其無(wú)法專注于測(cè)試的本質(zhì)工作。因此,如何選擇一個(gè)合適的測(cè)試自動(dòng)化框架,是一個(gè)自動(dòng)化測(cè)試小組開始啟動(dòng)前需要最優(yōu)先考慮得一個(gè)問(wèn)題。

        2 自動(dòng)化測(cè)試框架原理

        在自動(dòng)化測(cè)試中,測(cè)試用例設(shè)計(jì)的好壞是關(guān)于這個(gè)自動(dòng)化測(cè)試是否成功的重要因素之一。一個(gè)好的測(cè)試用例,能夠找到軟件被測(cè)軟件中更多的缺陷,使得軟件質(zhì)量能夠得到更好的保障。在這個(gè)軟件測(cè)試過(guò)程中,絕大部分時(shí)間都是花在測(cè)試用例的設(shè)計(jì)和測(cè)試用例的執(zhí)行上,而其中公共測(cè)試用例在整個(gè)測(cè)試用例中占據(jù)了很大部分的比例。結(jié)果平時(shí)的工作實(shí)踐,將公共測(cè)試用例部分的規(guī)則提取出來(lái),形成公共測(cè)試用例生成規(guī)則庫(kù),根據(jù)界面不同的組件,自動(dòng)組合生成公共測(cè)試用例和測(cè)試腳本,可以大大減少測(cè)試工作人員的工作量,提高測(cè)試的工作效率。測(cè)試框架需要應(yīng)對(duì)需求變化,根據(jù)界面快速編寫測(cè)試用例。應(yīng)對(duì)設(shè)計(jì)/開發(fā)的變化,隔離對(duì)技術(shù)實(shí)現(xiàn)((UI框架、頁(yè)面樣式/布局)的依賴)。應(yīng)對(duì)環(huán)境的變化,支持跨瀏覽器穩(wěn)定回放。

        3 跨平臺(tái)應(yīng)用自動(dòng)化測(cè)試框架

        根據(jù)上面對(duì)自動(dòng)化測(cè)試框架關(guān)鍵成功因素的分析,結(jié)合在軟件測(cè)試方面的實(shí)踐,提出一個(gè)跨平臺(tái)應(yīng)用的自動(dòng)化測(cè)試框架。在這里首先闡述該自動(dòng)化測(cè)試框架的體系結(jié)構(gòu)。如圖1。

        圖1中的Dorado開發(fā)框架,業(yè)務(wù)移動(dòng)化平臺(tái),網(wǎng)站開發(fā)框架中,已經(jīng)做到了高度組件化,使得NoCoding自動(dòng)化測(cè)試框架能夠容易定位頁(yè)面元素,提取公共測(cè)試用例組成部分。NoCoding自動(dòng)化測(cè)試框架使用Selenium進(jìn)行元素交互,TestNG管理測(cè)試用例,DBunit進(jìn)行數(shù)據(jù)庫(kù)初始化工作。

        3.1 自動(dòng)生成測(cè)試用例和測(cè)試腳本

        分析我們工作中的測(cè)試用例,可以看出,增、刪、改、查這些公共測(cè)試用例占了很大一部分,這些公共測(cè)試用例與業(yè)務(wù)無(wú)關(guān),只與組件功能相關(guān)(如:對(duì)于一個(gè)表單來(lái)說(shuō),一個(gè)常用的公共測(cè)試用例是:輸入必填字段后提交),將測(cè)試用例中的公共部分提取出來(lái),設(shè)置為一個(gè)公共測(cè)試用例生成的規(guī)則庫(kù)。測(cè)試系統(tǒng)時(shí),將待測(cè)系統(tǒng)的頁(yè)面組件提?。ㄗ址斎肟颍峤话粹o等),根據(jù)公共測(cè)試用例生成庫(kù)規(guī)則,將測(cè)試用例自動(dòng)生成,并自動(dòng)轉(zhuǎn)化為測(cè)試腳本。這樣,當(dāng)界面組件更改時(shí),只需要更新一下,便可以自動(dòng)將測(cè)試用例和測(cè)試腳本生成,節(jié)省了測(cè)試人員維護(hù)腳本的工作量。

        3.2 手動(dòng)生成測(cè)試用例和測(cè)試腳本

        因?yàn)楣矞y(cè)試用例無(wú)法覆蓋到系統(tǒng)業(yè)務(wù)方面的需求,所以提供了手動(dòng)生成測(cè)試用例的方法,測(cè)試人員可以像搭積木一樣編寫測(cè)試用例,以圖2為例。

        當(dāng)我們?cè)谌粘y(cè)試的工作時(shí),看到上面的頁(yè)面,是否會(huì)在心中默念:賬號(hào)”輸入***、“密碼”輸入***、“姓名”輸入***、“性別”選擇***、生日”輸入***、國(guó)籍”選擇***,點(diǎn)擊“保存”按鈕。

        類似的,當(dāng)我們?nèi)粘J褂酶鞣N系統(tǒng)時(shí),心里還會(huì)默念:“展開/收攏”樹(Tree)的某個(gè)節(jié)點(diǎn)、關(guān)閉某個(gè)Tab頁(yè)、數(shù)據(jù)表格(Grid)的下一頁(yè)/上一頁(yè)、 選中數(shù)據(jù)表格(Grid)的某一行……

        在跨平臺(tái)應(yīng)用自動(dòng)化測(cè)試框架中,我們不需要知道Webdriver腳本語(yǔ)言的寫法,我們只需要將頁(yè)面組件和動(dòng)作拖拽,然后像搭積木一樣的組合我們的測(cè)試用例,并自動(dòng)轉(zhuǎn)換為相應(yīng)的自動(dòng)化測(cè)試腳本。

        可以看到,圖3上面的測(cè)試用例設(shè)計(jì)方法和我們?cè)谌粘I钪惺褂玫恼Z(yǔ)言習(xí)慣是一樣的。這樣,測(cè)試工作人員并不需要具備開發(fā)人員的編程技能和編程思想,就可以寫出自動(dòng)化測(cè)試腳本,使得開發(fā)人員能夠有更多的時(shí)間和精力去專注于編寫好的測(cè)試用例,找出系統(tǒng)中更多的缺陷。

        3.3 兼容性測(cè)試

        Selenium,一個(gè)開源的自動(dòng)化測(cè)試框架,可以通過(guò)錄制和手動(dòng)編寫生成線性的測(cè)試腳本,測(cè)試腳本可以直接在瀏覽器中運(yùn)行,就像真是用戶所做的一樣。Selenium測(cè)試可以在Windows,Linux上的Internet Explorer,Chrome,F(xiàn)ireFox中運(yùn)行。更為重要的是Selenium支持提供了強(qiáng)大的Webdriver API,可以支持多種語(yǔ)言、Java、Ruby、Python等。

        4 自動(dòng)化測(cè)試框架技術(shù)方案

        圖4自動(dòng)化測(cè)試流程

        使用Selenium中的webdriver api封裝待測(cè)系統(tǒng)中的組件模塊,將每個(gè)組件的操作封裝,比如組件中的打開、輸入、提交等操作。系統(tǒng)和測(cè)試人員可以根據(jù)不同的測(cè)試組件選擇相對(duì)應(yīng)的方法去生成測(cè)試腳本。之所以選擇它的原因是它是開源的,且有強(qiáng)大的元素定位功能,可以通過(guò)name、id、xpath、css等方式定位元素,而且它測(cè)試直接在瀏覽器中運(yùn)行,就像真實(shí)用戶所做的一樣。Selenium測(cè)試可以在 Windows、Linux上的 Internet Explorer、Mozilla和 Firefox 中運(yùn)行。更重要的是Selenium支持多種語(yǔ)言、JAVA、Ruby、Python等。

        使用TestNG來(lái)管理測(cè)試用例,TestNG是一個(gè)測(cè)試 Java應(yīng)用程序的新框架。我選擇TestNG是因?yàn)樗且环N基于注釋的測(cè)試框架,它有如下幾個(gè)有點(diǎn):

        參數(shù)化:

        一個(gè)被測(cè)試方法根據(jù)不同的入?yún)⒔M合出20個(gè)CASE,根據(jù)數(shù)據(jù)驅(qū)動(dòng)測(cè)試的思想,我們只需要寫一個(gè)測(cè)試方法,然后準(zhǔn)備20種參數(shù)組合的數(shù)據(jù)。

        失敗和重運(yùn)行:

        一旦 TestNG中出現(xiàn)失敗,它就會(huì)創(chuàng)建一個(gè) XML配置文件,對(duì)失敗的測(cè)試加以說(shuō)明。如果利用這個(gè)文件執(zhí)行 TestNG運(yùn)行程序,TestNG就只運(yùn)行失敗的測(cè)試。所以,1000項(xiàng)測(cè)試有3項(xiàng) Failed,這種場(chǎng)景你只需重新運(yùn)行三個(gè)失敗的測(cè)試腳本,而不是整個(gè)測(cè)試套件。

        自動(dòng)化測(cè)試中,某些測(cè)試用例可能需要前置數(shù)據(jù)才能完成,同樣在每次測(cè)試過(guò)后,我們的系統(tǒng)中會(huì)產(chǎn)生大量的測(cè)試數(shù)據(jù),而這些數(shù)據(jù)可能會(huì)影響到我們的測(cè)試結(jié)果,所以往往,我們可能需要一個(gè)“干凈”的數(shù)據(jù)庫(kù)。所以,在本自動(dòng)化測(cè)試框架中,引入DBUnit,它通過(guò)有效地管理測(cè)試場(chǎng)景中的數(shù)據(jù)簡(jiǎn)化了使用數(shù)據(jù)庫(kù)的工作。其設(shè)計(jì)理念就是在測(cè)試之前,備份數(shù)據(jù)庫(kù),然后給對(duì)象數(shù)據(jù)庫(kù)植入我們需要的準(zhǔn)備數(shù)據(jù),最后,在測(cè)試完畢后,讀入備份數(shù)據(jù)庫(kù),回溯到測(cè)試前的狀態(tài)。

        5 結(jié)語(yǔ)

        跨平臺(tái)自動(dòng)化測(cè)試框架可以應(yīng)用在各種不同類型項(xiàng)目的測(cè)試過(guò)程。當(dāng)然作為一個(gè)自動(dòng)測(cè)試框架,其結(jié)構(gòu)也是開放的,不固定的,使用時(shí)可以根據(jù)項(xiàng)目自身的特點(diǎn)對(duì)其進(jìn)行擴(kuò)展和改進(jìn)。

        參考文獻(xiàn):

        [1] Mosley DJ,PoseyBA.軟件測(cè)試自動(dòng)化 Just Enough Software Test Automation[M].鄧波,黃麗娟,曹青春譯.北京:機(jī)械工業(yè)出版社,2003.

        作者簡(jiǎn)介:鮮文軍(1982一),男,青海西寧人,本科,工程師,主要電網(wǎng)調(diào)度自動(dòng)化工作。

        欧美高大丰满freesex| 亚洲熟女乱综合一区二区| 国内熟女啪啪自拍| 极品嫩模高潮叫床| 国产69精品久久久久999小说| 亚洲熟妇无码av另类vr影视| 国产偷窥熟女精品视频| 欧美亚洲尤物久久综合精品| 人禽无码视频在线观看| 亚洲AV秘 无码二区在线| 99成人无码精品视频| 日韩偷拍一区二区三区视频 | 精品无码人妻一区二区三区| 最新国产乱视频伦在线| 国产精品黄色片在线观看| 亚洲一区二区视频蜜桃| 国产黄色一级大片一区二区 | 亚洲欧美日韩综合久久| 综合无码一区二区三区四区五区| 日韩美无码一区二区三区| 国产三级在线观看高清| 日本免费大片一区二区三区 | 一边摸一边做爽的视频17国产| 国产乱对白刺激视频| 国产精品久久久久久亚洲av | 青青草视频华人绿色在线| 久久精品人妻中文av| 99久久精品费精品国产一区二| 欧美亚洲国产一区二区三区| 国产真实伦在线观看| 无码不卡高清毛片免费| 午夜男女视频一区二区三区| 亚洲国产精品高清一区| 亚洲av无码一区二区三区乱子伦| 在线亚洲人成电影网站色www| 国产高清一级毛片在线看| 日本一级片一区二区三区| 欧美精品无码一区二区三区| 国外精品视频在线观看免费 | 国产成人精品人人做人人爽| 亚洲国产综合久久精品|