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

        ?

        面向?qū)ο髥卧獪y試用例自動生成工具對比分析

        2020-04-24 14:50:40付玉珍
        電腦知識與技術(shù) 2020年5期

        摘要:主要闡述了隨機測試和搜索測試的兩種單元測試用例生成技術(shù)的研究現(xiàn)狀,通過經(jīng)典測試程序,對JET、Randoop、Evosuite工具分別在分支覆蓋率、產(chǎn)生測試用例數(shù)、所需時間三項指標(biāo)進行了對比分析,總結(jié)了各自的特點及進一步的研究方向。

        關(guān)鍵詞:自動單元測試工具;Java;隨機測試;搜索測試;分支覆蓋

        中圖分類號:TP311

        文獻標(biāo)識碼:A

        文章編號:1009-3044(2020)05-0053-02

        開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

        單元測試是為了保證軟件質(zhì)量而在軟件開發(fā)期間執(zhí)行的非常重要活動之一,它是通過輸入編寫好的測試用例執(zhí)行被測程序,將輸出結(jié)果與預(yù)期輸出進行比較的測試活動。通常由于待測試程序的輸入空間非常大,且軟件測試活動受人力、時間等因素的影響,軟件測試人員會選擇測試用例生成工具自動生成具有代表性的測試用例子集進行測試。雖然很多測試用例自動生成工具只是某些步驟做到了自動,尚處于在理論研究階段,并未使用于商業(yè)軟件開發(fā)中,但眾多研究人員致力于測試用例自動生成技術(shù)的研究,極大地推動了測試用例生成工具的自動化程度。本文主要對基于Java語言的開源測試用例生成工具進行闡述、介紹、對比與分析。

        1 自動化單元測試用例研究現(xiàn)狀

        目前主要有基于符合執(zhí)行、模型測試、組合測試、隨機測試、以及搜索測試等多種方法可以根據(jù)被測程序的源代碼自動生成測試用例,文章[1]對以上技術(shù)的研究現(xiàn)狀、熱點和面臨的挑戰(zhàn)進行了全面的概述?;诜枅?zhí)行的主要有jCUTEc2],Symbolic PathFinder[3]等,隨機測試的工具有JCrasherc4]、JTest[5]以及JET嘲等,隨機測試基本無須人工參與、簡單、易于實現(xiàn),便于與其他技術(shù)結(jié)合和自動化程度比較高的優(yōu)點。為了增強隨機測試的有效性和效率,一系列自適應(yīng)隨機測試方法被提出:Randoopm,以及以Randoop為基礎(chǔ)的隨機測試工具GRT[8],利用靜態(tài)和動態(tài)程序分析來指導(dǎo)運行中測試的生成的,這些自適應(yīng)隨機測試方法目的都是希望產(chǎn)生的測試用例能均勻地分布在輸入?yún)^(qū)域。

        基于搜索的測試用例生成則是通過定義一個捕獲測試目標(biāo)的適應(yīng)度函數(shù),找到滿足測試目標(biāo)的輸入空間,將測試問題轉(zhuǎn)換為一個優(yōu)化問題,文獻[11]對基于搜索的軟件測試方面進行了系統(tǒng)全面的概述,目前已有PSO[12]、ACO[13]、GA[l4]、DEc15].MAc16]等算法成功運用到測試用例的生成,也有將符號執(zhí)行技術(shù)集成到優(yōu)化算法中,基于搜索技術(shù)的工具有Evosuite[9],JTEx-pert[10]。

        2 Java單元測試用生成工具對比

        JET[17]是用JML規(guī)范注釋的Java類的自動化單元測試工具,采用的是一種隨機測試技術(shù);通過分別為被測試類的每個方法自動生成測試數(shù)據(jù)的集合,執(zhí)行它們,并通過使用JML規(guī)范作為測試預(yù)言器來確定測試結(jié)果(即通過佚?。?,達到完全自動化Java類的單元測試工具,且生成的測試用例符合Junit標(biāo)準(zhǔn),可以在Junit上直接執(zhí)行。為了達到更好的測試效果,JET也允許手動添加人工設(shè)計的測試用例。

        Randoop[7]則是一種面向?qū)ο蟮姆答伿诫S機測試方法,它利用已經(jīng)產(chǎn)生方法序列以及方法參數(shù)的運行結(jié)果作為反饋信息來調(diào)整后續(xù)參數(shù)的產(chǎn)生范圍,避免了冗余和無意義的輸入達到縮小了搜索空間的效果。因Randoop基于隨機測試,所以無須代碼插樁,無須理論證明、不受約束。實驗結(jié)果表明在覆蓋率和錯誤檢測方面都優(yōu)于無反饋的隨機測試。

        相比于無引導(dǎo)的隨機測試,基于搜索算法的測試用例生成技術(shù),利用復(fù)雜啟發(fā)式信息來引導(dǎo)測試用例的產(chǎn)生[17]。Evosuite[9]就是基于搜索算法的測試用例生成工具,它可以使用相對較少的測試用例,獲得比較高的覆蓋率,同時生成的測試用例也完全符號Junit的標(biāo)準(zhǔn)。相對于其他自動化單元測試工具,因Evosuite需要重新執(zhí)行測試用例,并最小化測試用例,所以需要較長的運行時間。目前Evosuite在解決復(fù)雜約束和數(shù)學(xué)問題,以及具有循環(huán)語句的覆蓋問題方面能力還是有限,以及Evosuite配置相對復(fù)雜,需要較多的選項及參數(shù)設(shè)置。

        3 對比實驗及結(jié)果分析

        3.1 比較測試實驗

        實驗測試程序選用二叉樹(BinTree)、二項堆(BinaryHeap)、、二分查找(BinarySearch)、三角形判定(Trangle)、階乘(Factorial)、冒泡排序(BubbleSort)、四則運算(SimpleCalculate)等經(jīng)典測試程序分別對JET、Randoop、Evosuite進行測試。實驗運行環(huán)境為InteI(R)Core(TM)i7-4790 CPU@3.30GHz,8G內(nèi)存,windows操作系統(tǒng),每個函數(shù)獨立運行25次,表中對每個工具取得的平均分支覆蓋率、所需測試用例數(shù)、產(chǎn)生測試用例時間Tgen三個指標(biāo)進行了對比。

        3.2 實驗結(jié)果分析

        通過對基于lava語言的三個具有代表性的測試用例生成工具在覆蓋率、產(chǎn)生測試用例數(shù)目、產(chǎn)生測試用例所需時間等指標(biāo)做了對比分析。通過實驗得出,JET生成效率高,時間開銷小,所需運行時間最短,產(chǎn)生的測試用例數(shù)相對也較少,Evosu-ite擁有較少測試用例是由于它經(jīng)過一個約減刪除冗余測試用例的過程。同時實驗將Randoop運行時間設(shè)置到60secends,但相比30seconds,并沒有提高其覆蓋率,從數(shù)據(jù)顯示中得出Evo-suite取得了最好的覆蓋率,但是所需的運行時間也相對較長,如果用于真實的復(fù)雜大型項目,Evosuite還需要提高其生成有效測試用例的速度。

        4 結(jié)束語

        基于隨機搜索的測試用例生成技術(shù)需要結(jié)合其他技術(shù)或者利用反饋信息來提高測試效率,基于搜索的測試用例生成技術(shù)因不是所有的語句都有啟發(fā)式信息可以用,所以如何更好的引導(dǎo)搜索方向和提高產(chǎn)生測試用例的效率是需要思考的問題。同時目前測試程序都是使用沒有錯誤的小程序,且覆蓋率高的測試技術(shù)并不一定在實際測試中就是高效,根據(jù)實驗發(fā)現(xiàn),超過50%的bug是在分支覆蓋率幾乎沒有增加的時期內(nèi)發(fā)現(xiàn),所以測試用例停止標(biāo)準(zhǔn)使用分支覆蓋達到一定標(biāo)準(zhǔn)或者一定時間內(nèi)可能會造成bug不被發(fā)現(xiàn),而實際測試技術(shù)更注重工具的錯誤檢測能力,所以算法對程序錯誤檢測能力也應(yīng)該作為重要的考核指標(biāo)。

        參考文獻:

        [1] Anand S,Burke E K,Chen T Y,et aI.An orchestrated survey ofmethodologies for automated software test case generation[J].Journal of Systems and Software, 2013,86(8):1978-2001.

        [2] Sen K,Agha G.CUTE and jCUTE: concolic unit testing and ex-plicit path model-checking tools[Ml//Computer Aided Verifica-tion. Berlin, Heidelberg: Springer Berlin Heidelberg, 2006:419-423.

        [3] P5ssreanu C S,Visser W,Bushnell D,et aI.Symbolic PathFinder:integrating symbolic execution with model checking for Javabytecode analysis[Jl.Automated Software Engineering, 2013,20(3):391-425.

        [4] Csallner C,Smaragdakis Y.JCrasher: an automatic robustnesstester for Java[J]. Software: Practice and Experience, 2004, 34(11):1025-1050.

        [5] Parasoft Corporation, Automatic Java software and componenttesting: Using Jtest to automate unit testing and coding stan-dard enforcement[EB/OL].2007.1 http://www.parasoft.com

        [6] Ali S,Briand L C,Hemmati H,et aI.A systematic review of theapplication and empirical investigation of search-based testcase generation[J].lEEE Transactions on Software Engineering,2010,36(6):742-762.

        [7] Pacheco C, Lahiri S K, Ernst M D,et al. Feedback-directedrandom test generation[C].Proc. - Int. Conf. Softw. Eng., 2007 :75-84.

        [8] Ma L, Artho C, Zhang C, et al. GRT: Program-analysis-guid-ed random testing[Cl. Proc. - 2015 30th lEEE/ACM Int. Conf. Autom. Softw. Eng. ASE 2015:212-223.

        [9] Fraser G,Arcuri A.Whole test suite generation[J].lEEE Trans-actions on Software Engineering, 2013,39(2):276-291.

        [10] Sakti A, Pesant G, Gueheneuc Y G.lnstance generator andproblem representation to improve object oriented code cover-age[J].lEEE Transactions on Software Engineering, 2015,41(3):294-313.

        [11] Ali S,Briand L C,Hemmati H,et aI.A systematic review of theapplication and empirical investigation of search-based testcase generation[J].IEEE Transactions on Software Engineering,2010,36(6):742-762.

        收稿日期:2019 -11-15

        作者簡介:付玉珍(1984-),女,山西呂梁人,講師,碩士研究生,主要研究方向智能算法。

        国产免费一区二区在线视频| 国产成人综合久久久久久| 免费无遮挡毛片中文字幕| 国成成人av一区二区三区| 欧美成人家庭影院| 精品免费看国产一区二区| 国产在线不卡AV观看| 人妻在线中文字幕视频| 亚洲一区二区日韩专区| 欧美人与动人物牲交免费观看久久| 国内揄拍国内精品人妻浪潮av| 亚洲日产无码中文字幕| 日本精品av中文字幕| 熟女体下毛荫荫黑森林| 亚洲啪啪综合av一区| 久久婷婷国产精品香蕉| 国产亚洲精品在线播放| 久久久国产乱子伦精品| 玩弄人妻少妇500系列网址| 亚洲AV成人无码天堂| 亚洲天堂av一区二区| 国产一区二区三区免费观看在线 | 一本久久伊人热热精品中文字幕 | 欧美男生射精高潮视频网站| 女人高潮被爽到呻吟在线观看| 国产亚洲精品bt天堂| 久久视频在线视频精品| 日本不卡的一区二区三区中文字幕 | 成人精品国产亚洲欧洲| 国产精品又爽又粗又猛又黄| 亚洲熟女综合色一区二区三区 | 亚洲国产成人精品福利在线观看| 少妇人妻中文字幕在线| 国产成人无码专区| 色欲av亚洲一区无码少妇| 日韩美无码一区二区三区 | 久久久久久人妻无码| 美丽的熟妇中文字幕| 大伊香蕉精品视频一区| 日本中文字幕精品久久| 色欲色欲天天天www亚洲伊|