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

        ?

        迭代模式中基于可復(fù)用構(gòu)件的自動(dòng)化測(cè)試框架研究

        2012-11-15 07:36:22張燕華賈永娜
        中國測(cè)試 2012年5期
        關(guān)鍵詞:測(cè)試用例測(cè)試數(shù)據(jù)腳本

        張燕華,賈永娜

        (1.西藏民族學(xué)院信息工程學(xué)院,陜西 咸陽 712082;2.思特沃克軟件技術(shù)(北京)有限公司,北京 100007)

        0 引 言

        迭代開發(fā)模式相對(duì)于傳統(tǒng)的開放模式,具有可以控制項(xiàng)目風(fēng)險(xiǎn)、允許需求變動(dòng)、保證項(xiàng)目開放進(jìn)度等優(yōu)點(diǎn),使其在軟件項(xiàng)目開發(fā),尤其是商業(yè)軟件項(xiàng)目開發(fā)中得到了廣泛的應(yīng)用[1]。目前雖然大規(guī)模的軟件項(xiàng)目開發(fā)都采用迭代的開發(fā)模式來降低項(xiàng)目風(fēng)險(xiǎn),但是還沒有形成一套完整的關(guān)于迭代開發(fā)模式下自動(dòng)化測(cè)試的理論和方法。為打破這種軟件測(cè)試技術(shù)和理論落后于軟件開發(fā)的現(xiàn)狀,對(duì)迭代開發(fā)模式下的自動(dòng)化測(cè)試技術(shù)的研究就非常有必要。

        為降低測(cè)試腳本的維護(hù)開銷,使自動(dòng)化測(cè)試在迭代開發(fā)模式下更加有效,把構(gòu)件復(fù)用技術(shù)、分離邏輯和實(shí)現(xiàn)等知識(shí)應(yīng)用到軟件的自動(dòng)化測(cè)試框架設(shè)計(jì)之中,提出了迭代模式中基于可復(fù)用構(gòu)件的自動(dòng)化測(cè)試框架(automation test framework based on reused component in iterative model,AFRI)。AFRI借鑒了現(xiàn)有測(cè)試框架的優(yōu)點(diǎn),提出了更加適合迭代開發(fā)模式的測(cè)試流程和設(shè)計(jì)方法,吸收復(fù)用技術(shù)、分離邏輯和實(shí)現(xiàn)以及測(cè)試數(shù)據(jù)與測(cè)試腳本等思想,提高了測(cè)試框架的復(fù)用性、可維護(hù)性,降低了后期的開發(fā)和維護(hù)成本。

        1 迭代模式中基于可復(fù)用構(gòu)件的自動(dòng)化測(cè)試框架設(shè)計(jì)

        在迭代開發(fā)模式中,往往把整個(gè)項(xiàng)目分解為多個(gè)階段性的小迭代。尤其是在需求變化快、工期緊的商業(yè)軟件開發(fā)環(huán)境中,每次迭代之后,都要進(jìn)行全面的測(cè)試[2-4]。所以,測(cè)試工作成為迭代開發(fā)項(xiàng)目整體質(zhì)量和進(jìn)度控制的關(guān)鍵點(diǎn)。測(cè)試工作的每個(gè)環(huán)節(jié)都要有很好的繼承性和可復(fù)用性,而復(fù)用技術(shù)按照可復(fù)用的抽象程度,可以分為代碼復(fù)用、設(shè)計(jì)的復(fù)用、分析的復(fù)用、測(cè)試信息的復(fù)用4個(gè)級(jí)別。

        本文提出的可復(fù)用技術(shù)涉及測(cè)試過程中的許多環(huán)節(jié),例如對(duì)測(cè)試用例和測(cè)試數(shù)據(jù)的復(fù)用,以及對(duì)自動(dòng)化測(cè)試框架中測(cè)試腳本的復(fù)用,這都是為了與迭代開發(fā)模式的特性保持一致。

        1.1 AFRI的系統(tǒng)結(jié)構(gòu)分析

        迭代模式中基于可復(fù)用構(gòu)件的測(cè)試框架AFRI主要分為元素層、管理層、腳本層、集成層4層,其結(jié)構(gòu)示意如圖1所示。

        圖1 AFRI系統(tǒng)結(jié)構(gòu)圖

        1.1.1 元素層

        該層的主要作用是建立測(cè)試腳本和待測(cè)程序中界面元素之間的聯(lián)系。通過把實(shí)際的界面元素抽象到元素層,可以使測(cè)試人員通過調(diào)用元素層中的對(duì)象,來操作待測(cè)程序中的界面元素,從而實(shí)現(xiàn)工作分工。如果開發(fā)和測(cè)試遵守統(tǒng)一的界面標(biāo)準(zhǔn),則在每次迭代的過程中,軟件開發(fā)和界面元素的提取工作可以同時(shí)進(jìn)行。當(dāng)待測(cè)程序界面有所改動(dòng)時(shí),只要改動(dòng)元素層中被改動(dòng)的界面元素對(duì)象就可以很快地適應(yīng)新的需求。

        1.1.2 管理層

        管理層的作用是為元素層中的對(duì)象定義相應(yīng)的操作接口,例如:對(duì)dropdownlist的點(diǎn)擊,以及對(duì)其中item的選擇動(dòng)作;對(duì)文本編輯框的輸入、粘貼、刪除、全選等編輯動(dòng)作。管理層的接口與元素層對(duì)象相互對(duì)應(yīng),每個(gè)元素都應(yīng)該有自己的操作管理集合,但不一定是一對(duì)一的關(guān)系,要根據(jù)具體情況對(duì)管理層的操作接口進(jìn)行分類,權(quán)衡每個(gè)管理集合的操作范圍和種類。管理接口完成后,可在后期的測(cè)試工作中得到復(fù)用。由于每種界面元素的操作方式是一定的,即管理層提供的接口是固定的,腳本層中不同的測(cè)試腳本可能會(huì)操作同一個(gè)界面元素,這種重復(fù)的操作通過復(fù)用管理層中相應(yīng)的操作接口即可完成。

        1.1.3 腳本層

        腳本層的作用是根據(jù)前期設(shè)計(jì)好的測(cè)試用例,完成對(duì)被測(cè)軟件的功能和業(yè)務(wù)邏輯的驗(yàn)證。腳本層包括測(cè)試數(shù)據(jù)、場(chǎng)景測(cè)試腳本和測(cè)試結(jié)果驗(yàn)證腳本3部分。測(cè)試數(shù)據(jù)集合不但要提供測(cè)試腳本需要的輸入數(shù)據(jù),同時(shí)也要提供測(cè)試結(jié)果校驗(yàn)數(shù)據(jù)。一個(gè)場(chǎng)景測(cè)試腳本只是完成一個(gè)特定的測(cè)試場(chǎng)景。整個(gè)過程中,測(cè)試腳本從測(cè)試數(shù)據(jù)文件內(nèi),讀取測(cè)試數(shù)據(jù),然后調(diào)用管理層中操作相關(guān)界面元素的管理接口,完成測(cè)試用例所描述的操作序列,最后通過測(cè)試結(jié)果校驗(yàn)?zāi)_本對(duì)測(cè)試結(jié)果進(jìn)行校驗(yàn)。

        1.1.4 集成層

        集成層的主要功能是根據(jù)不同測(cè)試階段的測(cè)試目的集成不同的測(cè)試腳本。例如:冒煙測(cè)試,只需要從宏觀上驗(yàn)證被測(cè)程序的基本功能,其對(duì)應(yīng)的測(cè)試腳本集合相對(duì)較小,可設(shè)為{a1,a2,a3,a4,…,ak};而集成測(cè)試需要驗(yàn)證被測(cè)程序各個(gè)功能模塊集成后的功能和性能,其測(cè)試腳本集合除了要包含每個(gè)模塊的功能測(cè)試腳本外,還要包含驗(yàn)證各個(gè)模塊之間接口的功能測(cè)試腳本,可以設(shè)為{a4,a5,a6,…ak,…an},且有 n>k,但同時(shí),這兩個(gè)測(cè)試集合都有共同的測(cè)試腳本集合{a4,a5,a6,…ak},所以不需要重復(fù)的開發(fā)測(cè)試腳本{a4,a5,a6,…ak},只需要根據(jù)不同的測(cè)試目的,從腳本層中選擇需要的測(cè)試腳本組成測(cè)試腳本集合。由此可見,腳本層在后期的測(cè)試工作中也得到了復(fù)用。

        1.2 AFRI的測(cè)試流程

        測(cè)試的實(shí)施過程要從需求說明書開始[5]。根據(jù)需求說明書設(shè)計(jì)軟件功能說明,然后制定測(cè)試計(jì)劃、設(shè)計(jì)測(cè)試用例、開發(fā)測(cè)試腳本,最后進(jìn)行集中測(cè)試和缺陷管理。在迭代開發(fā)模式中,測(cè)試工作也是迭代進(jìn)行的?;贏FRI系統(tǒng)進(jìn)行測(cè)試的流程如圖2所示。

        圖2 基于AFRI的測(cè)試流程圖

        1.3 迭代中測(cè)試用例的生成算法

        迭代開發(fā)過程中,軟件的功能說明和用戶需求,隨著每次的迭代而逐漸完善和增加,而在迭代比較頻繁的開發(fā)中,需求的變動(dòng)也是經(jīng)常的;所以,測(cè)試用例的可復(fù)用性也至關(guān)重要[6-7]。本文針對(duì)迭代開發(fā)中以功能界面為基礎(chǔ)的特點(diǎn),提出了以被測(cè)軟件界面元素為基本單位,基于UML順序圖模型的測(cè)試用例生成方法。該方法不但能夠在每次的迭代中復(fù)用前期迭代中產(chǎn)生的界面組件,還可以復(fù)用該界面組件對(duì)應(yīng)的測(cè)試數(shù)據(jù)。

        在順序圖中,場(chǎng)景被定義為在相互交互的對(duì)象間傳遞的一個(gè)消息序列[8],每個(gè)消息序列代表用例的一個(gè)可能的事件流。在順序圖中可以詳細(xì)地說明前置條件和后置條件,以及一個(gè)消息序列涉及到的參數(shù),如界面元素,而這些參數(shù)序列又可以產(chǎn)生一個(gè)或多個(gè)描述測(cè)試場(chǎng)景的有向無環(huán)圖。例如,一個(gè)成績錄入系統(tǒng)中,老師登陸系統(tǒng),并更改某個(gè)學(xué)生成績的操作序列,可以用如圖3所示的UML順序圖表示。

        圖3 更改成績操作順序圖

        基于UML順序圖生成測(cè)試用例的過程包括:按照功能說明畫出完整的順序圖(包括前置條件、后置條件、約束條件、消息序列,以及參數(shù)等信息),根據(jù)順序圖中的信息得到所有測(cè)試場(chǎng)景有向無環(huán)圖(尤其是每個(gè)消息序列中,每個(gè)參數(shù)所對(duì)應(yīng)的測(cè)試數(shù)據(jù)),采用兩因素組合覆蓋的方式遍歷整個(gè)測(cè)試場(chǎng)景有向無環(huán)圖,最后生成測(cè)試用例。由圖3的部分操作信息所生成的測(cè)試場(chǎng)景有向無環(huán)圖如圖4所示。

        圖4主要描述了圖3中的login和search事件所生成的測(cè)試場(chǎng)景的有向無環(huán)圖,主要驗(yàn)證login和search的功能點(diǎn)。對(duì)于change和browse事件的測(cè)試場(chǎng)景生成方法是完全相同的。圖中節(jié)點(diǎn)分為4類:1,0,-1,-2,分別對(duì)應(yīng)該層界面元素可以選取的 4種測(cè)試數(shù)據(jù)集合,其中只有1代表有效的測(cè)試數(shù)據(jù)。樹的每一層都描述了一個(gè)界面元素所對(duì)應(yīng)的測(cè)試數(shù)據(jù),而對(duì)于按鈕節(jié)點(diǎn),只有在前面的輸入信息組件中輸入有效的數(shù)據(jù)才可以通過,其他無效的輸入都不會(huì)通過按鈕節(jié)點(diǎn)到達(dá)下一層。例如,對(duì)于password層,只有有效數(shù)據(jù)1連接到下一層,而無效數(shù)據(jù)-1和空值0都不可能成功登陸,所以沒有一條連到下層的線段。這樣,就可以過濾掉無效輸入數(shù)據(jù)所產(chǎn)生的組合序列,從而大大減少測(cè)試用例集合中有效測(cè)試用例的數(shù)量。

        圖4 相應(yīng)測(cè)試場(chǎng)景的有向無環(huán)圖

        2 基于AFRI進(jìn)行測(cè)試的收益分析

        以某軟件公司的軟件M為測(cè)試對(duì)象,驗(yàn)證了AFRI的可行性。采用Douglas Hoffman所提出的自動(dòng)化收益分析方法,充分考慮到了除了測(cè)試工作之外的其他額外花銷。

        式中:ΔBa——自動(dòng)化測(cè)試相對(duì)于手工測(cè)試的額外回報(bào)。

        ΔCa——自動(dòng)化測(cè)試相對(duì)于手工測(cè)試的額外支出。

        使用AFRI系統(tǒng)進(jìn)行自動(dòng)化測(cè)試的收益情況,可以通過圖5直觀地表示。

        從圖5中可以看出,使用AFRI系統(tǒng)進(jìn)行自動(dòng)化測(cè)試在第一次發(fā)布時(shí),收益為0.7712,入不敷出,還沒有收益;但在后面的迭代過程中,自動(dòng)化測(cè)試表現(xiàn)出了較好的效益,而且隨著自動(dòng)化測(cè)試復(fù)用次數(shù)的增加,效益逐漸增加,并趨于平緩。這說明使用AFRI系統(tǒng)進(jìn)行自動(dòng)化測(cè)試,可以在后期的迭代中得到更高的收益,尤其是測(cè)試構(gòu)件復(fù)用率高、功能需求變動(dòng)較少的情況。但在測(cè)試腳本變的龐大時(shí),收益的增長幅度就變小了,這是由后期的測(cè)試腳本維護(hù)量變大、自動(dòng)化測(cè)試固定支出增多等原因造成的。框架設(shè)計(jì)開發(fā)活動(dòng)是一個(gè)迭代的、逐步遞增的過程,好的框架一般是多次迭代及辛苦努力的結(jié)晶。要得到更好的收益,需要根據(jù)具體的測(cè)試環(huán)境進(jìn)行多次的迭代開發(fā)和改進(jìn)。

        圖5 基于AFRI的自動(dòng)化測(cè)試收益分析圖

        3 結(jié)束語

        AFRI為自動(dòng)化測(cè)試提供了一個(gè)有效框架,尤其是對(duì)迭代開發(fā)模式中的自動(dòng)化測(cè)試工作具有較強(qiáng)的理論價(jià)值和實(shí)際意義。通過測(cè)試過程中得到的實(shí)際測(cè)試數(shù)據(jù),使用目前成熟的自動(dòng)化測(cè)試收益分析方法,證明了迭代開發(fā)模式中AFRI系統(tǒng)進(jìn)行自動(dòng)化測(cè)試收到了很好的效益,可以達(dá)到一次開發(fā)、長期收益的效果。

        [1]Paul C J.軟件測(cè)試[M].北京:機(jī)械工業(yè)出版社,2003.

        [2]朱菊,王志堅(jiān),楊雪.基于數(shù)據(jù)驅(qū)動(dòng)的軟件自動(dòng)化測(cè)試框架[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006,16(5):68-70.

        [3]古樂,史九林.軟件測(cè)試技術(shù)概論[M].北京:清華大學(xué)出版社,2004:216-217.

        [4]Chen J J, Subramaniam S, GUI A.Environment to manipulate FSMs for testing GUI-based applications in java [C]∥Proceedings of the 34th Hawaii International Conference on System Sciences,2001:1-10.

        [5]Burnstein I,Suwanasart T,Carlson C.Developing a testing maturity model:Part I[J].Journal of Defense Software Engineering,1996,9(8):21-24.

        [6]Kuhn D R,Reilly M J.An investigation of the applicability of design of experiments to software testing[C]∥Proceedings of the 27th Annual NASA Goddard/IEEE Software Engineering Workshop,2003:4-6.

        [7]黃雨田,聶麗琴,段富,等.用例需求分析技術(shù)的應(yīng)用[J].太原理工大學(xué)學(xué)報(bào),2005,36(2):224-227.

        [8]飛思科技產(chǎn)品研發(fā)中心.實(shí)用軟件測(cè)試方法與應(yīng)用[M].北京:電子工業(yè)出版社,2003.

        猜你喜歡
        測(cè)試用例測(cè)試數(shù)據(jù)腳本
        酒駕
        安奇奇與小cool 龍(第二回)
        基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
        測(cè)試數(shù)據(jù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
        數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
        基于混合遺傳算法的回歸測(cè)試用例集最小化研究
        快樂假期
        基于自適應(yīng)粒子群優(yōu)化算法的測(cè)試數(shù)據(jù)擴(kuò)增方法
        空間co-location挖掘模式在學(xué)生體能測(cè)試數(shù)據(jù)中的應(yīng)用
        體育科技(2016年2期)2016-02-28 17:06:21
        基于依賴結(jié)構(gòu)的測(cè)試用例優(yōu)先級(jí)技術(shù)
        欧美日韩国产成人综合在线影院| 国产乱码精品一区二区三区四川人| 亚洲精品中文字幕不卡| av在线入口一区二区| 国产在线一区二区av| 最新国产不卡在线视频| 少妇激情av一区二区三区| 欧美亚洲精品suv| 日韩少妇内射免费播放18禁裸乳 | 午夜爽爽爽男女污污污网站| 人禽交 欧美 网站| 天天夜碰日日摸日日澡| 久久久精品人妻一区二区三区四| 天天影视色香欲综合久久| 久久青草国产精品一区| 国产呦系列呦交| 日本成人在线不卡一区二区三区| 成人在线观看视频免费播放| 日韩一区二区三区熟女| 中文字幕一区二区三区的| 插我一区二区在线观看| 无码人妻av一区二区三区蜜臀 | 天堂√最新版中文在线天堂| 日韩久久久黄色一级av| 免费在线观看亚洲视频| 精品女同一区二区三区亚洲| 加勒比婷婷色综合久久| 亚洲av成人精品一区二区三区 | 无码一区二区三区亚洲人妻| 美女胸又www又黄的网站| 国产欧美亚洲另类第一页| 韩国免费一级a一片在线| 国产农村妇女毛片精品久久麻豆| 日本一区二区在线免费视频| 久久久久国色av免费观看性色 | 伊人狠狠色丁香婷婷综合| 久久精品人人做人人爽| 亚洲日韩图片专区小说专区| 日韩无码尤物视频| 国产一区二区av在线观看| 久久热免费最新精品视频网站|