• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

      2017-06-05 09:07:29王榮麗侯秀萍
      關(guān)鍵詞:購物車測(cè)試用例用例

      王榮麗, 侯秀萍

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

      ?

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

      王榮麗, 侯秀萍*

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

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

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

      0 引 言

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

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

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

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

      1 相關(guān)概念

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

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

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

      Ti={Target,ID,Input,Resullts}

      式中:Tests----測(cè)試用例集;

      Ti----其中一個(gè)測(cè)試用例;

      Target----測(cè)試的目標(biāo)項(xiàng);

      ID----測(cè)試用例的編號(hào);

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

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

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

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

      DAG圖如圖1所示。

      圖1 DAG圖

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

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

      2 測(cè)試用例整合策略

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

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

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

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

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

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

      4)結(jié)合方法為:原測(cè)試用例Tvii={Target,ID,Input,Resullts},將Testsvj中所有測(cè)試用例分別與Tvii合并,形成新的測(cè)試用例集NTestsvj={NTvj1,NTvj2,…,NTvji,…}。將Tvii分別與Tvji合并,形成新的測(cè)試用例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é)點(diǎn)。

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

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

      3 實(shí)例分析

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

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

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

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

      原始測(cè)試用例見表2。

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

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

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

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

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

      表1 節(jié)點(diǎn)對(duì)照表

      表2 原始測(cè)試用例

      4 結(jié) 語

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

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

      [2] 曹詠春.云測(cè)試綜述[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] 載如昕,顧春華.用于黑盒測(cè)試的測(cè)試用例優(yōu)先級(jí)改進(jìn)算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(20):4343-4346.

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

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

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

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

      [9] 朱少民.軟件測(cè)試方法和技術(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)化項(xiàng)目(20130303010GX)

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

      猜你喜歡
      購物車測(cè)試用例用例
      UML用例模型中依賴關(guān)系的比較與分析
      基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
      被疫情改變的購物車
      海峽姐妹(2020年5期)2020-06-22 08:26:10
      聯(lián)鎖軟件詳細(xì)設(shè)計(jì)的測(cè)試需求分析和用例編寫
      推購物車購物
      家教世界(2018年31期)2018-11-28 09:32:26
      從出土文獻(xiàn)用例看王氏父子校讀古書的得失
      基于混合遺傳算法的回歸測(cè)試用例集最小化研究
      購物車?yán)锏摹皶r(shí)間線”
      清空購物車了嗎!
      基于依賴結(jié)構(gòu)的測(cè)試用例優(yōu)先級(jí)技術(shù)
      杭锦旗| 鄂伦春自治旗| 文昌市| 湟源县| 余干县| 扬州市| 射阳县| 米林县| 福安市| 万载县| 成安县| 巍山| 冕宁县| 綦江县| 江津市| 冀州市| 西林县| 仪征市| 翼城县| 方山县| 什邡市| 清流县| 三原县| 定南县| 定远县| 沐川县| 游戏| 台安县| 黎川县| 沁阳市| 通海县| 红原县| 定安县| 桃源县| 定日县| 噶尔县| 泰州市| 静海县| 任丘市| 策勒县| 巴马|