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

        ?

        QTP自動化測試對象庫的設(shè)計(jì)、研究和實(shí)現(xiàn)

        2014-02-12 21:41:08
        關(guān)鍵詞:庫中腳本名稱

        (天津商務(wù)職業(yè)學(xué)院,天津 300221)

        一、QTP簡介

        目前軟件的自動化測試,由于其高效率、低成本的特點(diǎn),在多數(shù)的軟件企業(yè)中越來越受到重視。自動化測試在一些傳統(tǒng)的軟件企業(yè)的軟件生命周期中沒有占到太大的比重,但是對于在一些對軟件質(zhì)量要求較高,發(fā)布版本較為頻繁的項(xiàng)目中,使用了自動化測試用例與否,自動化測試用例所占的比率,是關(guān)系項(xiàng)目成敗的一個重要因素。

        QTP(Quick Test Professional)是眾多自動化測試軟件的較為優(yōu)秀的一個,目前很多軟件企業(yè)都在使用。QTP是一種基于GUI對象技術(shù)實(shí)現(xiàn)的工具,因此QTP的自動化腳本實(shí)現(xiàn)的功能是對應(yīng)用程序界面的操作,即多程序中對象的操作。因此,界面上的操作對象能否準(zhǔn)確的被識別,關(guān)系到自動化測試能否正常自動執(zhí)行。對象庫指的是自動化測試項(xiàng)目中被測試對象的集合,對象庫在QTP中的地位尤為重要。QTP是的實(shí)現(xiàn)原理是查找應(yīng)用程序界面或Web頁面中的控件ID及屬性判斷與測試對象是否匹配。QTP對于使用不同語言和平臺編寫的程序會采取不同的對象識別方法來識別測試對象,但這些方法都有一個共同點(diǎn),那就是通過對比測試對象的屬性來判斷區(qū)分對象。

        二、QTP對象庫的概念

        QTP中的對象可以分為兩種,一種是QTP的測試對象(Test Object),測試對象一般在第一次使用QTP錄制腳本時會自動保存在QTP的本地對象庫中;另外一種是應(yīng)用程序界面的實(shí)際對象(Runtime Object),這些實(shí)際對象是構(gòu)成測試應(yīng)用程序?qū)嶓w的重要部分。

        在QTP的實(shí)際使用過程中,QTP腳本對對象的操作步驟有如下三步:

        1.根據(jù)腳本中對象名稱找到對象庫中的對象,即Test Object的對象。

        2.根據(jù)找到的對象中的關(guān)鍵屬性查找Runtime Object中的對象,也就是在程序中尋找需要進(jìn)行操作的對象。

        3.如果在步驟(1)和步驟(2)中查找到的對象相互匹配,那么QTP就會對該對象進(jìn)行操作,否則會提示對象出錯,不對此對象進(jìn)行操作。

        QTP對象庫的就是用來識別測試對象的,因此QTP腳本的核心就是對象庫,若沒有對象庫或?qū)ο髱旃芾砘靵y,QTP腳本就失去了自動化測試的意義。在實(shí)際的編程過程中,是沒有對象庫概念的,實(shí)際上是把對象庫中的對象分散到QTP腳本中去,測試執(zhí)行中對象識別的原理沒有任何變換。

        能否有一個良好的對對象庫的設(shè)計(jì)、維護(hù)和管理,不僅關(guān)系到自動化測試的效率,還有可能關(guān)系到自動化測試的成敗。

        三、創(chuàng)建對象庫

        QTP自動化測試腳本中的對象庫分為兩個部分,一部分稱作本地對象庫,即Local Object,一般指的是在第一次錄制腳本時,QTP自動生成的對象庫,QTP會保存在本地對象庫中;另外一部分稱作共享對象庫,即Share Object。

        本地對象庫中的對象作用范圍僅限于當(dāng)前QTP腳本的Test和Action,如果其他QTP腳本的Test和Action也需要使用這些對象,那就必須在其他腳本中再添加一次,這樣每次創(chuàng)建一個新Test和Action時都需要添加這些對象,這樣會大大降低測試效率。因此,需要有一種方法能將每次錄制腳本時產(chǎn)生的本地對象導(dǎo)出到一個專門的文件中,作為一個共享文件給其他Test和Action使用,共享對象庫就應(yīng)運(yùn)而生。有了共享對象庫后,其他的Test和Action使用這些對象時,可直接引用該對象庫即可。

        當(dāng)一個對象庫文件文件中的一些對象需進(jìn)行更改時,只需要修改這個對象庫文件即可,并不需要對使用這個對象庫文件的所有QTP腳本進(jìn)行更改。這樣更方便維護(hù),最大限度的提高了效率;另外,一旦一個對象庫創(chuàng)建完畢,若被測對象的功能有了變化,仍然需要對這些對象庫文件進(jìn)行更新維護(hù)。對象庫一般分為三層:即Browser層、Page層和Control層。在某些特殊情況下,例如Web頁面存在Frame框架時,對象庫可能存在四層或者更多層。

        由于QTP錄制腳本時自動捕捉到的對象名稱不規(guī)范且易重復(fù),造成維護(hù)和使用不便,因此,在捕捉完對象后,建議對所有的對象進(jìn)行重命名,命名規(guī)則如下:

        1.名稱應(yīng)與所對應(yīng)的對象相關(guān),看到名稱即可知道對象的作用;

        2.如果一個對象中包含動作,則對象名稱應(yīng)為:動作名+對象名;

        3.必須是英文名,采用駝峰標(biāo)識格式書寫;

        4.名稱不包含特殊符號,例如“/”、“,”、“@”等;

        5.名稱應(yīng)不超過15字符。

        四、管理對象庫

        對于使用QTP做為自動化測試工具的測試項(xiàng)目來說,其對象庫的管理在整個自動化測試過程中,占有非常重要的地位。特別是對于一個大型的應(yīng)用系統(tǒng),其界面的對象多而雜,一個統(tǒng)一、有序的對象倉庫非常有利于腳本的快速開發(fā),以及團(tuán)隊(duì)成員間的協(xié)作。 對于一個對象庫,不允許同時有多個人維護(hù)一個對象,同樣也不建議一些對象處于無人維護(hù)的狀態(tài)。在某些特殊的場景下,需要多個人同時維護(hù)同一個對象庫,這只能通過讓他們都進(jìn)行維護(hù),各自保存一份副本,然后在后期進(jìn)行比較合并即可。對比兩個對象庫文件,常用的對比工具為:BeyondCompare。

        在BeyondCompare中,左側(cè)和右側(cè)分別加載了兩個對象庫文件,兩個文件地位相等,無主次關(guān)系。對比順序?yàn)榘凑諆蓚€對象庫文件的樹形節(jié)點(diǎn)展開,逐個節(jié)點(diǎn)逐層對比,如先對比第一層Browser層,若Browser層的兩個名稱和屬性一致,則再對比Page層,以此類推。當(dāng)?shù)竭_(dá)一個節(jié)點(diǎn)的末梢時,再判斷對象庫文件中的對象名稱和屬性是否一致,根據(jù)如下幾種情況進(jìn)行分析:

        1.當(dāng)一個對象的名稱和屬性對比結(jié)果一致時,可判斷兩個對象庫中的對象是相同的。

        2.若在一個文件的對象結(jié)構(gòu)下包含一個對象,而另一個文件中沒有該對象,則認(rèn)為后者文件中此對象缺失。

        3.若對象名稱不同,但是對象結(jié)構(gòu)和屬性均一致,則認(rèn)為這兩個對象為類似對象。該現(xiàn)象出現(xiàn)的原因可能是在創(chuàng)建對象庫時發(fā)生了命名錯誤導(dǎo)致。

        4.若兩個對象名稱和結(jié)構(gòu)均一致,但是對象屬性不同,則可認(rèn)為這兩個對象非同一對象。

        5.若兩個對象的名稱和屬性均一致,但是對象結(jié)構(gòu)不相同,此類對比不做判斷。

        對象對比完成后,測試人員可根據(jù)對比結(jié)果,結(jié)合實(shí)際情況進(jìn)行分析,重新修改對象庫文件,這樣才能達(dá)到對象庫唯一性的目的。

        但是,若對比的兩個對象差異很大,此時單純使用比較工具對比后進(jìn)行人工維護(hù)會極大程度降低管理對象庫的效率。因此需要引入另一款對象合并工具。

        QTP提供了一個Reporsitories Merge Utility,可以實(shí)現(xiàn)對象庫的合并功能。與比較工具不同的是,若對對象庫進(jìn)行合并,就需要設(shè)定對象的主次關(guān)系,在一般情形下,主對象庫一般選擇為主干對象庫,而從對象庫往往為分支對象庫,這與版本控制原理相同。工具會根據(jù)一些規(guī)則對對象庫進(jìn)行合并:

        (1)若在主對象庫中存在一個對象,在從對象庫中沒有,則不會合并。

        (2)若在從對象庫中存在一個對象,在主對象庫中沒有,則將該對象合并入主對象庫。

        (3)若在主從對象庫中對象的名稱和屬性不同,則會有測試人員判斷是否何如主對象庫。

        Reporsitories Merge Utility對于有多個節(jié)點(diǎn)相同的兩個對象庫,進(jìn)行合并操作的時候經(jīng)常會出現(xiàn)主從對象庫中對象的名稱和屬性不同情況,因此,在測試的時候,會出現(xiàn)節(jié)點(diǎn)沒有自動添加進(jìn)來,需要手動添加的情況。不過對于其他情況,還是可以做到添加新對象到統(tǒng)一的對象庫中,把多人開發(fā)的結(jié)果集中到一起管理。

        五、結(jié)束語

        綜上所述,若選擇合適的對象庫技術(shù),在實(shí)際的測試項(xiàng)目中能夠?qū)ο筮M(jìn)行高效、合理的管理,這不僅能夠提升自動化測試的效率,還能夠最大限度地降低測試成本。

        參考文獻(xiàn):

        [1]陳能技.軟件自動化測試成功之道[M].北京:人民郵電出版社,2010.

        [2]E測試工作室.QTP項(xiàng)目應(yīng)用與進(jìn)階[M].北京:化學(xué)工業(yè)出版社,2009.

        [3]陸璐,王柏勇.軟件自動化測試技術(shù)[M].北京:清華大學(xué)出版社,2006.

        猜你喜歡
        庫中腳本名稱
        酒駕
        動物城堡
        動物城堡
        安奇奇與小cool 龍(第二回)
        數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
        電子測試(2018年14期)2018-09-26 06:04:24
        快樂假期
        智能盤庫在自動化立體庫中的探索和應(yīng)用
        滬港通一周成交概況
        滬港通一周成交概況
        滬港通一周成交概況
        免费精品人妻一区二区三区| 久久亚洲欧洲无码中文| 亚洲色成人网一二三区| 自拍视频在线观看成人| 国模91九色精品二三四| 亚洲日韩精品一区二区三区| 亚洲av无码之日韩精品| 国产高潮流白浆免费观看不卡| 亚洲天堂一区二区三区| 色天使久久综合网天天| 一本色综合久久| 精品国产91天堂嫩模在线观看| 国产大学生自拍三级视频| 色熟妇人妻久久中文字幕 | 日本岛国一区二区三区四区| 国产精品国产三级国产专播| 色窝窝免费播放视频在线| 亚洲最稳定资源在线观看| 国产一区二区三区在线观看黄| 公与淑婷厨房猛烈进出| 国产99久久亚洲综合精品| 亚欧乱色束缚一区二区三区| 男女视频一区二区三区在线观看 | 欧美亚洲综合激情在线| 精品一区二区亚洲一二三区| 亚洲在线视频免费视频| 亚洲精品无码av中文字幕| 免费一级黄色大片久久久| 少妇精品无码一区二区三区| 中文字幕五月久久婷热| 漂亮人妻被强了中文字幕| 国产又a又黄又潮娇喘视频| 亚洲人成7777影视在线观看| 亚洲素人日韩av中文字幕| 末成年人av一区二区| 老熟妇乱子伦av| 国产成人一区二区三区高清| 中文字幕人妻久久久中出| 97人人超碰国产精品最新| 麻豆国产巨作AV剧情老师 | 激情精品一区二区三区|