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

        ?

        回歸測試用例設(shè)計策略

        2017-06-05 09:07:29王榮麗侯秀萍
        關(guān)鍵詞:功能

        王榮麗, 侯秀萍

        (長春工業(yè)大學(xué) 計算機科學(xué)與工程學(xué)院, 吉林 長春 130012)

        ?

        回歸測試用例設(shè)計策略

        王榮麗, 侯秀萍*

        (長春工業(yè)大學(xué) 計算機科學(xué)與工程學(xué)院, 吉林 長春 130012)

        通過DAG圖將部分測試用例重新整合,形成回歸測試的測試用例,對修改的功能及其相關(guān)功能進行測試,還可以測試程序的業(yè)務(wù)流程。

        測試用例; 依賴關(guān)系; DAG圖

        0 引 言

        在軟件開發(fā)過程中,軟件測試越來越受到重視,測試能夠幫助開發(fā)人員開發(fā)出更健壯、易用性更強、適應(yīng)性更好的程序。為了更快地執(zhí)行測試,有很多學(xué)者研究了云測試[1-3],將測試任務(wù)分發(fā)至云平臺,并行執(zhí)行測試。針對回歸測試,有效地執(zhí)行測試用例則是測試過程中最重要的任務(wù),如何設(shè)計高效的回歸測試用例是文中主要研究的問題。提出一種將測試任務(wù)重新整理的辦法,設(shè)計出回歸測試的測試用例,用來定位功能性錯誤的位置。

        功能測試主要分為功能模塊測試和業(yè)務(wù)流程測試。各個功能模塊之間可能存在依賴關(guān)系,一般白盒測試中設(shè)計測試用例時,會采用插裝的方式來屏蔽掉這種依賴關(guān)系。但黑盒測試如何處理這種依賴關(guān)系是需要解決的問題。

        測試用例的執(zhí)行策略直接影響到測試的進度和結(jié)果,測試任務(wù)間的依賴關(guān)系也制約著測試用例的執(zhí)行順序。有很多學(xué)者研究過測試用例的執(zhí)行順序問題。載如昕[4]等對測試用例的優(yōu)先級進行調(diào)整來提高測試的錯誤檢測率,但沒有對有依賴關(guān)系的測試用例進行處理;陳翔[5]等對回歸測試中的測試用例優(yōu)先排序技術(shù)進行了總結(jié),通過實例分析闡述了用例優(yōu)先級對測試的影響;蘇小紅[6]等實現(xiàn)了結(jié)合測試用例約簡與聯(lián)合依賴概率建模對軟件進行錯誤定位的方法;張艷梅[7]分別針對類單元測試中的路徑覆蓋測試數(shù)據(jù)生成問題和集成測試中類測試順序的確定問題研究了類間依賴關(guān)系。

        將依賴關(guān)系整理清楚,有利于對測試進行更好的規(guī)劃。測試任務(wù)之間的依賴關(guān)系可以通過DAG圖來表示,深度遍歷DAG圖并設(shè)計修改測試用例,文中將有依賴關(guān)系的測試用例進行整合,形成適合回歸測試[8]的新用例,這些用例間將不存在依賴關(guān)系。在云測試環(huán)境下,使得回歸測試用例可以并行執(zhí)行。

        1 相關(guān)概念

        1)測試任務(wù)。是用戶用來管理測試的基本單位,其中包括測試所需環(huán)境的要求,要執(zhí)行的相關(guān)測試用例等??梢园粋€功能模塊的測試用例,也可以包含多個模塊的測試用例。

        2)測試用例(Test Case)[9]。能有效地發(fā)現(xiàn)軟件缺陷的最小測試執(zhí)行單元,一個測試任務(wù)可能對應(yīng)一個或多個測試用例??梢詫⒁粋€測試任務(wù)的測試用例集形式化表示為:

        Tests={T1,T2,…,Ti,…}

        Ti={Target,ID,Input,Resullts}

        式中:Tests----測試用例集;

        Ti----其中一個測試用例;

        Target----測試的目標(biāo)項;

        ID----測試用例的編號;

        Input----描述、輸入、操作;

        Results----預(yù)期結(jié)果。

        3)測試任務(wù)之間的依賴關(guān)系。對于一個測試任務(wù),有可能與其他測試任務(wù)之間有依賴關(guān)系,即一個測試任務(wù)的執(zhí)行可能影響到另一個測試任務(wù)的執(zhí)行。一個測試任務(wù)的輸出可能成為另外一個測試任務(wù)的輸入。

        4)測試任務(wù)DAG圖。是有向無環(huán)圖G={V,E},V={v1,v2,…,vn},用來表示測試任務(wù)集合。E是邊集合,記E={e1,e2,…,en},其中,ei=(i,j∈n且i≠j),表示測試任務(wù)之間存在依賴關(guān)系。

        DAG圖如圖1所示。

        圖1 DAG圖

        圖中每個頂點代表一個測試任務(wù),B任務(wù)依賴于A任務(wù),G是個孤立的節(jié)點,與其他任務(wù)都不存在依賴關(guān)系。

        5)所有的測試任務(wù)可以在一張DAG圖中表示,從圖中一個節(jié)點出發(fā),能到達另一個節(jié)點,稱這兩個節(jié)點之間存在路徑。存在路徑的任務(wù)之間一定存在直接或間接依賴關(guān)系。vi與vj的路徑p=vivi+1,…,vj-1vj,其中,vi與vi+1之間存在邊,vj-1與vj之間存在邊。圖1中,A與B、C、D、E、F均存在路徑,G是一個孤立的節(jié)點,與其他節(jié)點均不存在路徑。

        2 測試用例整合策略

        通常功能測試中,總會存在功能之間的依賴關(guān)系,即有些功能測試的前提條件是其他功能成功通過測試。如在ATM機上做取款操作,前提是賬戶里有存款金額且大于要取款的金額,那么取款功能就是依賴于存款功能的。在回歸測試中,主要對修改過的部分進行測試。文中通過功能關(guān)系抽象出DAG圖,將存在依賴關(guān)系的功能測試用例重新整合,形成部分新的測試用例。對修改功能代碼的測試用例整合策略按照步驟執(zhí)行如下:

        1)對于修改過的測試任務(wù)vi,根據(jù)功能需求,抽象出與vi相關(guān)任務(wù)的DAG圖。

        2)如果修改的測試任務(wù)vi是孤立節(jié)點,則用其原有測試用例Testsvi={Tvi1,Tvi2,…,Tvii,…}對其進行測試;如果不是孤立節(jié)點,不改變其原有測試用例,然后從原有Testsvi中選擇Tvii,其中Tvii滿足可以正確執(zhí)行并可以跳轉(zhuǎn)到以vi為初始節(jié)點路徑中的下一節(jié)點vj。

        3)深度優(yōu)先遍歷該DAG圖,每遍歷一個節(jié)點,都做如下操作:

        如果這個節(jié)點vj是一條路徑中最后一個節(jié)點,則遍歷后不對測試用例做修改;

        如果不是一條路徑中最后一個節(jié)點,則對路徑中下一節(jié)點vj的測試用例Testsvj={Tvj1,Tvj2,…,Tvji,…}與2)中選中的Tvii按照4)中方法整合。

        4)結(jié)合方法為:原測試用例Tvii={Target,ID,Input,Resullts},將Testsvj中所有測試用例分別與Tvii合并,形成新的測試用例集NTestsvj={NTvj1,NTvj2,…,NTvji,…}。將Tvii分別與Tvji合并,形成新的測試用例NTvji={Target,ID,Input,Resullts},其中,Target=Tvji.Target,ID=Tvji.ID,Input=Tii.Input+Tvji.Input,Results=Tvji.Results。

        5)從NTestsvj中選出NTvji,其中,NTvji滿足可以正確執(zhí)行并可以跳轉(zhuǎn)到遍歷路徑中下一節(jié)點。

        6)反復(fù)執(zhí)行以上過程,將新用例與路徑中下一節(jié)點用例結(jié)合,直到遍歷到所有節(jié)點并形成對應(yīng)的新測試用例。

        新的測試用例專門測試該路徑中最后一個節(jié)點任務(wù),并且可以測試這條路徑是否有BUG,即程序的流程是否正確執(zhí)行,這樣的測試用例有利于缺陷定位。

        3 實例分析

        以購物網(wǎng)站頁面的部分功能測試用例為例進行整合。如果對登錄頁面進行了源碼修改,那么與其有依賴關(guān)系的功能都應(yīng)該進行回歸測試,為了測試功能及業(yè)務(wù)流程是否暢通,將測試用例整合。用界面原型工具畫出其業(yè)務(wù)跳轉(zhuǎn)流程,如圖2所示。

        每個頁面都是要進行測試的一個功能點,對應(yīng)DAG圖中的一個節(jié)點,即一個測試任務(wù)。每個測試任務(wù)都有其對應(yīng)的局部測試用例,如改動一部分功能的源碼,將與其有路徑的功能點的測試用例做整合。

        圖2對應(yīng)的DAG圖如圖3所示。

        為了方便表示,將節(jié)點名稱分別用字母表示,對照表見表1。

        原始測試用例見表2。

        最后的刪除、付款成功、付款失敗界面是為了展示最終結(jié)果的,所以沒有設(shè)置它們的測試用例。

        由于是對登錄功能進行修改,所以A的測試用例T1、T2、T3不做改變,從中選擇可以正確執(zhí)行到下一個路徑節(jié)點的用例T3,深度遍歷DAG圖,遍歷到節(jié)點B,將T3與B的測試用例T4、T5按照4)中方法結(jié)合。得到新的測試用例T4={B,4,Zhangsan123 點擊登錄 點擊商品A,跳轉(zhuǎn)到商品A},T5={B,5,Zhangsan123 點擊登錄 點擊商品B,跳轉(zhuǎn)到商品B}。

        從新的T4、T5中選擇一個可正確執(zhí)行到下一路徑節(jié)點的用例T4,繼續(xù)遍歷DAG圖到節(jié)點C,將新用例T4和C的用例T6結(jié)合,得到新的測試用例T6={C,6,Zhangsan123 點擊登錄 點擊商品A點擊A加入購物車,跳轉(zhuǎn)到購物車}。

        以此類推,得到用例T7={D,7,Zhangsan123 點擊登錄 點擊商品A點擊A加入購物車 點擊A付款,跳轉(zhuǎn)到訂單界面},T8={D,8,Zhangsan123 點擊登錄 點擊商品A點擊A加入購物車 點擊A刪除,跳轉(zhuǎn)到刪除界面},T9={E,9,Zhangsan123 點擊登錄 點擊商品A點擊A加入購物車 點擊A付款 點擊確定,跳轉(zhuǎn)到付款界面},T10={F,10,Zhangsan123 點擊登錄 點擊商品A點擊A加入購物車 點擊A付款 點擊確定123,跳轉(zhuǎn)到支付成功界面},T11={F,11,Zhangsan123 點擊登錄 點擊商品A點擊A加入購物車 點擊A付款 點擊確定 空,跳轉(zhuǎn)到支付失敗界面}。

        這樣使有依賴關(guān)系的功能成為一個整體,各個測試用例可以看成獨立的任務(wù)。整合好的回歸測試用例不僅可以測試其對應(yīng)的功能點,同時也解決了依賴關(guān)系的問題,還可以測試該路徑的邏輯是否因代碼的修改而失效,使測試更具針對性。

        表1 節(jié)點對照表

        表2 原始測試用例

        4 結(jié) 語

        通過對DAG圖的分析,將有依賴關(guān)系的功能串聯(lián)起來,重新整合了測試用例,不同測試用例針對不同功能,有利于快速定位到錯誤的功能模塊,而且能夠測試流程是否順利執(zhí)行。這些新的測試用例直接不存在依賴關(guān)系,可以發(fā)布到云平臺上進行并行測試,該策略也對豐富軟件測試理論起到了相應(yīng)作用。

        [1] 李喬.云測試研究現(xiàn)狀綜述[J].計算機應(yīng)用研究,2012,29(12):4401-4406.

        [2] 曹詠春.云測試綜述[J].研究與開發(fā),2011,10:25-29.

        [3] Lian Yu, Weik Tsail, Xiangji Chen, et al. Testing as a service over cloud [C]//Proceedings of Fifth IEEE International Symposium on Service Oriented System Engineering.2010:181-188.

        [4] 載如昕,顧春華.用于黑盒測試的測試用例優(yōu)先級改進算法[J].計算機工程與設(shè)計,2010,31(20):4343-4346.

        [5] 陳翔,陳繼紅.回歸測試中的測試用例優(yōu)先排序技術(shù)述評[J].軟件學(xué)報,2013,24(8):1695-1712.

        [6] 蘇小紅,龔丹丹,王甜甜,等.結(jié)合用例約簡與聯(lián)合依賴概率建模的錯誤定位[J].軟件學(xué)報,2014,25(7):1492-1504.

        [7] 張艷梅.基于依賴性分析的面向?qū)ο蟪绦驕y試技術(shù)研究[D].北京:中國礦業(yè)大學(xué),2012.

        [8] 高燦.基于抽象語法樹的修改影響分析方法[J].長春工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2012,33(4):387-390.

        [9] 朱少民.軟件測試方法和技術(shù)[M].北京:清華大學(xué)出版社,2014.

        Regression test case design strategy

        WANG Rongli, HOU Xiuping*

        (School of Computer Science and Engineering, Changchun University of Technology, Changchun 130012, China)

        With DAG diagram, test cases are reunited to form the cases for regression test. The modification and related functions can be tested, so other business diagram of the test program.

        test cases; dependency; DAG diagram.

        2016-12-25

        吉林省科技廳科技成果轉(zhuǎn)化項目(20130303010GX)

        王榮麗(1991-),女,漢族,吉林長春人,長春工業(yè)大學(xué)碩士研究生,主要從事軟件測試方向研究,E-mail:wangrongli1217@163.com. *通訊作者:侯秀萍(1964-),女,漢族,吉林長春人,長春工業(yè)大學(xué)教授,碩士,主要從事軟件測試方向研究,E-mail:houxiuping@ccut.edu.cn.

        10.15923/j.cnki.cn22-1382/t.2017.2.14

        TP 311

        A

        1674-1374(2017)02-0179-05

        猜你喜歡
        功能
        拆解復(fù)雜功能
        鐘表(2023年5期)2023-10-27 04:20:44
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        基層弄虛作假的“新功能取向”
        深刻理解功能關(guān)系
        鉗把功能創(chuàng)新實踐應(yīng)用
        關(guān)于非首都功能疏解的幾點思考
        基于PMC窗口功能實現(xiàn)設(shè)備同步刷刀功能
        懷孕了,凝血功能怎么變?
        媽媽寶寶(2017年2期)2017-02-21 01:21:24
        “簡直”和“幾乎”的表達功能
        中西醫(yī)結(jié)合治療甲狀腺功能亢進癥31例
        亚洲国产av一区二区三区| 人妻少妇偷人精品无码| www.久久av.com| 在线久草视频免费播放| 国产激情久久久久影院小草| 少妇丰满大乳被男人揉捏视频| 免费一区二区三区在线视频| 亚洲精品熟女乱色一区| 日韩肥臀人妻中文字幕一区| 亚洲人成色7777在线观看不卡| 猫咪www免费人成网最新网站 | 成人在线免费视频亚洲| 亚洲国产精品久久性色av| 国产aⅴ激情无码久久久无码| 精品欧洲av无码一区二区三区| 少妇的诱惑免费在线观看| av一区二区三区观看| 国内精品久久久久久99| 精品综合久久久久久97超人| 国产亚洲精品日韩香蕉网| 91国产自拍精品视频| 小辣椒福利视频导航| 日日摸夜夜添夜夜添无码免费视频 | 91色综合久久熟女系列| 国内精品久久久久国产盗摄| 国产看黄网站又黄又爽又色| 人妻无码AⅤ中文系列久久免费| 免费播放成人大片视频| 337p日本欧洲亚洲大胆精品| 国产色噜噜| 亚洲一区二区三区最新视频| 日韩经典午夜福利发布| 国产欧美亚洲精品a| 亚洲AV无码日韩综合欧亚| 狂插美女流出白浆视频在线观看| 婷婷色婷婷开心五月四房播播| 国产亚洲精品看片在线观看| 邻居少妇张开腿让我爽视频| 国产爆乳美女娇喘呻吟| 欧美成人一区二区三区在线观看| 国产精品亚洲av网站|