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

        ?

        混合型自動化測試框架中的對象識別技術(shù)的研究

        2010-05-11 00:46:02周晨良
        微型電腦應(yīng)用 2010年7期
        關(guān)鍵詞:描述性測試用例數(shù)據(jù)表

        周晨良

        0 引言

        如今軟件測試行業(yè)迅猛崛起,不僅是手工測試,而且對于自動化測試的需求與日俱增,企業(yè)級的軟件對于其質(zhì)量要求控制非常嚴(yán)格,并且會根據(jù)業(yè)務(wù)情況頻繁更新。因此,自動化回歸測試越來越多的被應(yīng)用到企業(yè)級的軟件測試流程中去,隨之而來的自動化測試工具也不斷推陳出新,自動化測試框架理論日趨成熟,從數(shù)據(jù)驅(qū)動(Data Driven Testing),關(guān)鍵字驅(qū)動(Keyword driven Testing),到最新的Hybrid Framework混合型的測試框架,這些有助于提高自動化測試效率的理論正越來越受到測試人員的推崇。

        在自動化測試的過程中,重中之重是對象的識別,因此對于混合型模式的對象識別技術(shù)的研究,越來越受到人們的關(guān)注。本文將以自動化腳本創(chuàng)建銷售報(bào)表流程為例,研究如何將對象倉庫技術(shù)與描述性對象識別技術(shù)象結(jié)合,建立合理高效的對象識別方法,從而優(yōu)化混合型模式的自動化測試。

        1 混合型框架中的對象識別技術(shù)

        1.1 對象識別

        在面向?qū)ο蟮木幊讨?,類和對象是最基本的單位,而所有的操作都是圍繞著他們展開的,在自動化測試腳本的設(shè)計(jì)中,同樣也有所謂的對象,它們就是待測軟件在可視化界面上所展現(xiàn)出來的控件,最簡單的例如Text Box,Radio Button,Data Grid等,如果被待測系統(tǒng)使用到了諸如Siebel,SAP系統(tǒng)中的一些較高級的控件,那么通過一些插件,這些對象也能被自動化測試工具所辨別。MERCK銷售報(bào)表系統(tǒng)使用了基于sap的PeopleSoft,因此在對象識別上存在一定的難度,而只有對象能夠被識別,那之后的基于對象的各種測試方法、操作才能得以實(shí)現(xiàn),因此,在自動化測試中,對象的識別及抓取,是測試順利進(jìn)行的不可或缺的前提條件。

        但是隨著各種開發(fā)技術(shù)的不斷推陳出新,一些不常用的控件對象,不能被自動化代碼識別,即使是一些常用的語言及控件,由于版本更新等原因,如果自動化軟件沒有及時(shí)更新,也會導(dǎo)致辨識不了對象的情況,自動化測試中的關(guān)鍵之一,就是對對象識別的研究及設(shè)計(jì)。

        1.2 對象倉庫及描述性對象

        (1)對象倉庫

        在此次MERCK銷售報(bào)表系統(tǒng)中,大量的使用了對象倉庫的對象識別技術(shù),對象倉庫,是一種較新的對象存儲技術(shù),大多數(shù)的自動化軟件,能夠?qū)ο髠}庫提供可視化支持,比如win runner及quick test professional等,是一種比較高級的對象存儲體系,他們通過在應(yīng)用程序中選擇對象,然后將控件的的屬性及屬性值更新保存到倉庫中,對象按其層次分別存貯在對應(yīng)的層級之上,這樣系統(tǒng)就“認(rèn)識”了這個(gè)控件。

        測試程序執(zhí)行時(shí),會自動查詢對象倉庫中的對象數(shù)據(jù),并自動定位到目標(biāo)以執(zhí)行操作,相對比較方便簡單,由于CBAT的宗旨之一就是提高可維護(hù)性,因此我們著重研究的,是當(dāng)控件的屬性由于需求變更而變化時(shí),對象倉庫如何進(jìn)行對應(yīng)的修改,以及測試執(zhí)行時(shí)如何調(diào)用。

        當(dāng)對象被一一安置到對象倉庫中后,對于對象的識別就比較簡單了,由于自動化代碼的調(diào)用方式是:對象.操作(數(shù)據(jù)),例如:

        Browser("Oracle BI Answers").Page("Oracle BI Answers").Frame("ViewUI 0").Link("OK").Click

        以上代碼完成的操作,就是對某個(gè)頁面中的“OK" 按鈕執(zhí)行點(diǎn)擊操作.

        (2)描述性對象

        有別于對象倉庫,描述性對象沒有事先對對象進(jìn)行存儲,而是通過描述性代碼,結(jié)合對象屬性值加以動態(tài)識別,原因之一即對象不能被識別,對象不能識別的原因有以下一些:

        ● 測試運(yùn)行到某一步時(shí),窗口上有相同類型且名稱相同的控件

        ● 被測軟件使用了第三方控件,自動化測試軟件不能識別

        ● 對象是動態(tài)的

        原因之二是由于大多數(shù)自動化測試需要的,一些對象會根據(jù)測試用例的不同目的作出調(diào)整,同一個(gè)對象在不通用例中的屬性會變化,導(dǎo)致識別困難。鑒于以上一些技術(shù)難點(diǎn),所以我們引入描述性對象的方法,它的工作原理也是:對象操作(數(shù)據(jù)),不同之處在于其中“對象”又細(xì)分為:對象屬性.屬性值,例如:

        Innerhtml(button1).click.

        該代碼執(zhí)行搜索,當(dāng)測試運(yùn)行到此步時(shí),系統(tǒng)搜索當(dāng)前頁面上對象屬性為innerhtml且屬性值為button1的控件,并加以定位并執(zhí)行操作,系統(tǒng)對象情況更復(fù)雜時(shí),可以使用多屬性定位:

        (Innerhtml(button1),index(8).click.

        在本次的描述性對象方法腳本中,我們使用了如下的代碼結(jié)構(gòu):

        Function Attribute(P_Attribute,V_Attribute)

        Attribute=P_Attribute

        Attribute_value=V_Attribute

        vAttribute(P_Attribute).Value=V_Attribute

        Set Attribute=vAttribute

        End Function

        在設(shè)計(jì)測試用例時(shí),就可以通過外部數(shù)據(jù)表來傳遞對象的屬性及操作。

        1.3 混合型對象的識別

        以上兩種技術(shù)在外部數(shù)據(jù)表的支持下,可以相結(jié)合使用,在一般情況下,腳本可以按照對象屬性來識別大多數(shù)對象,而對于多變及復(fù)雜對象,可以通過將控件的屬性及屬性值保存在外部數(shù)據(jù)表中,調(diào)用描述性對象函數(shù)來進(jìn)行編譯并返回對象,如圖1所示,測試人員不用去對象庫中修改對象的屬性,只需修改對象數(shù)據(jù)表即可。

        圖1 混合型對象識別工作流程

        將這兩種識別方式加以混合利用以達(dá)到最佳的擴(kuò)展性及維護(hù)性,以解決以下一些基本的問題:

        · 控件部分屬性同名,同值

        · 非主流控件不能識別

        · 動態(tài)控件

        · 測試關(guān)鍵字的維護(hù)性提高

        · 低耦合

        2 應(yīng)用實(shí)例

        2.1 根據(jù)Merck銷售報(bào)表生成流程確定對象識別類型,該報(bào)表的生成流程如圖2所示:

        圖2 銷售報(bào)表生成流程

        自動化腳本在運(yùn)行自動生成報(bào)表的過程中,每一個(gè)步驟都需要對應(yīng)的操作對象,如 表1中所示,有些對象是直接調(diào)用對象倉庫的,而有些則是需要描述性程序來翻譯的。

        表1 銷售報(bào)表生成流程中的控件操作

        2.2 設(shè)計(jì)對應(yīng)的外部數(shù)據(jù)表(測試用例):

        外部數(shù)據(jù)表可以是任意形式的數(shù)據(jù)源,如SQL server,oracle,xml及excel等,測試人員按一定格式,填入測試數(shù)據(jù)即相當(dāng)于編寫測試用例,具體的格式參照表2所示。

        表2 銷售報(bào)表生成流程中的外部數(shù)據(jù)

        2.3 描述性對象識別腳本(部分):

        Function SubCategory(P_SubCategory,V_SubCategory)

        Dim vSubCategory

        Set SubCategory=nothing

        Set vSubCategory=Description.Create()

        If Instr(P_SubCategory,",")>0 Then

        P_SubCategory_Array=Split(P_SubCategory,",",-1,1)

        V_SubCategory_Array=Split(V_SubCategory,",",-1,1)

        vSubCategory(P_SubCategory_Array(0)).Value=V_SubC ategory_Array(0)

        vSubCategory(P_SubCategory_Array(1)).Value=V_SubC ategory_Array(1)

        Set SubCategory=vSubCategory

        Else

        vSubCategory(P_SubCategory).Value=V_SubCategory

        Set SubCategory=vSubCategory

        End If

        End Function

        3 總結(jié)

        本文以美國Merck公司的銷售報(bào)表自動化測試設(shè)計(jì)為例,研究了如何用對象倉庫及描述性對象相結(jié)合的方式在來識別對象。這種混合型模式既延續(xù)了對象倉庫的便捷又整合了描述性對象的強(qiáng)大擴(kuò)展性,在項(xiàng)目初期版本測試及發(fā)布時(shí),許多未能識別的對象問題得到了解決,使得自動化測試框架成功應(yīng)用,之后的二期三期的后續(xù)開發(fā)中,前期的對象倉庫可以被復(fù)用,而描述性對象又為新的對象提供了預(yù)留擴(kuò)展接口,使得系統(tǒng)需求的變更,對自動化測試代碼造成的影響降到最低,測試人員對于代碼的維護(hù)及測試用例開,發(fā)執(zhí)行等步驟大大簡化,提供了強(qiáng)有力的支持。

        [1]楊根興等.軟件質(zhì)量保證.測試與評價(jià),[M]北京:清華大學(xué)出版社,2007.

        [2]Kanglin Li,Mengqi Wu高效軟件測試自動化,[M]北京:電子工業(yè)出版社,2004.

        [3]Kanglin Li,Mengqi Wu圖形用戶界面測試自動化,[M]北京:電子工業(yè)出版社,2005.

        [4]陳能技,QTP自動化測試實(shí)踐,[M]北京:電子工業(yè)出版社,2008.

        [5]貝克,測試驅(qū)動開發(fā)(注釋版),[M]北京:人民郵電出版社.

        猜你喜歡
        描述性測試用例數(shù)據(jù)表
        虛構(gòu)人名的內(nèi)涵意義分析*——描述性理論面臨的挑戰(zhàn)和反駁
        基于SmartUnit的安全通信系統(tǒng)單元測試用例自動生成
        湖北省新冠肺炎疫情數(shù)據(jù)表
        黨員生活(2020年2期)2020-04-17 09:56:30
        基于列控工程數(shù)據(jù)表建立線路拓?fù)潢P(guān)系的研究
        基于混合遺傳算法的回歸測試用例集最小化研究
        淺析獨(dú)立主格結(jié)構(gòu)在大學(xué)英語四六級段落翻譯中的運(yùn)用
        考試周刊(2016年90期)2016-12-01 19:39:34
        一種基于英文網(wǎng)頁描述性信息的摘要算法
        淺談?wù)Z文課堂中引讀的運(yùn)用
        基于依賴結(jié)構(gòu)的測試用例優(yōu)先級技術(shù)
        圖表
        人妻体内射精一区二区三区 | 黄色一区二区三区大全观看| 亚洲成av人片在久久性色av| 香蕉蜜桃av一区二区三区| 蜜桃18禁成人午夜免费网站| 日日躁夜夜躁狠狠躁| 三叶草欧洲码在线| 亚洲欧美在线播放| 九九99久久精品午夜剧场免费| 热久久这里只有| 成人无码网www在线观看| 亚洲成人av在线播放不卡 | 2018天天躁夜夜躁狠狠躁| 亚洲精品国偷拍自产在线观看| 亚洲精品无码永久在线观看你懂的| 成人免费毛片aaaaaa片| 国产精品一区高清在线观看| 国内自拍视频在线观看| 国产愉拍91九色国产愉拍| 日本h片中文字幕在线| 亚洲一区二区三区中文字幂| 国产激情在观看| 风流少妇一区二区三区91| 国产日产久久高清ww| 精品无码久久久久久国产| 无码国产精品一区二区免费97| 国产一区二区内射最近人| 国产白色视频在线观看| 亚洲综合色无码| 国产精品人妻一区夜夜爱| 无码国产精品第100页| 久久视频在线视频精品| 日本亚洲视频一区二区三区| 无码国产伦一区二区三区视频| 色婷婷日日躁夜夜躁| 蜜臀av中文人妻系列| 国产三级视频不卡在线观看 | 中文字幕乱码熟妇五十中出| 精品一区二区三区免费播放| 久久久窝窝午夜精品| 美女极度色诱视频国产免费|