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

        ?

        測(cè)試用例自動(dòng)生成技術(shù)綜述

        2021-11-21 19:20:51王廷永黃松
        電子技術(shù)與軟件工程 2021年18期
        關(guān)鍵詞:方法模型

        王廷永 黃松

        (陸軍工程大學(xué)指揮控制工程學(xué)院 江蘇省南京市 210007)

        1 引言

        測(cè)試用例是軟件測(cè)試過(guò)程中的重要資產(chǎn),根據(jù)ISO/IEEE-24765的定義,測(cè)試用例是對(duì)輸入、執(zhí)行條件、測(cè)試過(guò)程和預(yù)期結(jié)果的規(guī)范,這些規(guī)范定義了為實(shí)現(xiàn)特定的軟件測(cè)試目標(biāo)而執(zhí)行的單個(gè)測(cè)試,例如執(zhí)行特定的程序路徑或驗(yàn)證是否符合特定的需求[1]。一直以來(lái),測(cè)試用例生成技術(shù)是軟件測(cè)試領(lǐng)域研究的熱門方向,國(guó)內(nèi)外學(xué)者針對(duì)測(cè)試用例生成技術(shù)已經(jīng)提出若干種方法,如基于模型的測(cè)試用例生成方法、基于搜索的測(cè)試用例生成方法、基于隨機(jī)測(cè)試的測(cè)試用例生成方法、組合測(cè)試用例生成方法、基于變異的測(cè)試用例生成方法、基于符號(hào)執(zhí)行的測(cè)試用例生成方法、基于需求的測(cè)試用例生成方法、基于錄制與回放的測(cè)試用例生成方法。

        根據(jù)是否需要軟件源代碼,本文將以上測(cè)試用例生成技術(shù)分為白盒測(cè)試用例生成技術(shù)和黑盒測(cè)試用例生成技術(shù)。其中基于模型的測(cè)試用例生成技術(shù)、隨機(jī)測(cè)試用例生成技術(shù)、基于需求的測(cè)試用例生成技術(shù)以及基于錄制與回放的測(cè)試用例生成技術(shù)屬于黑盒測(cè)試用例生成技術(shù),基于搜索的測(cè)試用例生成技術(shù)、基于變異的測(cè)試用例生成技術(shù)、基于符號(hào)執(zhí)行的測(cè)試用例生成技術(shù)以及組合測(cè)試用例生成技術(shù)屬于白盒測(cè)試用例生成技術(shù)。

        2 白盒測(cè)試用例生成技術(shù)

        2.1 基于搜索的測(cè)試用例生成

        基于搜索的測(cè)試用例生成是指利用各種搜索算法例如爬山算法,模擬退火算法,禁忌搜索,遺傳算法,粒子群優(yōu)化算法以及蟻群算法等生成高覆蓋的測(cè)試用例。2020年Kappé[2]等人將爬山算法引入RESTful API 測(cè)試中,實(shí)驗(yàn)結(jié)果表明爬山算法實(shí)現(xiàn)了更高的分支覆蓋率。2020年Damia[3]等人提出了一種結(jié)合螢火蟲(chóng)算法和無(wú)性繁殖優(yōu)化算法的測(cè)試用例生成方法,通過(guò)使用無(wú)性繁殖優(yōu)化解決螢火蟲(chóng)算法中的過(guò)早收斂問(wèn)題,實(shí)驗(yàn)結(jié)果表明此方法在覆蓋率與適應(yīng)性方面取得比現(xiàn)有方法更好的表現(xiàn)。

        2.2 基于變異的測(cè)試用例生成

        基于變異的測(cè)試用例生成是指利用變異現(xiàn)有的軟件源代碼,發(fā)現(xiàn)“無(wú)用”測(cè)試用例和設(shè)計(jì)新的測(cè)試用例。變異測(cè)試能夠很好發(fā)現(xiàn)評(píng)估的測(cè)試用例發(fā)現(xiàn)缺陷的能力。2021年Jeangoudoux[4]等提出一種將測(cè)試用例和 oracle 生成作為數(shù)值區(qū)間域上的一個(gè)約束滿足問(wèn)題,通過(guò)解決約束問(wèn)題進(jìn)行變異測(cè)試并生成對(duì)應(yīng)測(cè)試用例的方法,實(shí)驗(yàn)結(jié)果表明其方法優(yōu)于隨機(jī)測(cè)試,并生成有用的測(cè)試用例集。2019年Almeida[5]等人提出一種基于用戶行為結(jié)合變異算子的Web測(cè)試用例生成方法。采用將變異算子擴(kuò)展了基于錄制與回放生成的測(cè)試用例,獲取更多測(cè)試用例。

        2.3 基于符號(hào)執(zhí)行的測(cè)試用例生成

        基于符號(hào)執(zhí)行的測(cè)試用例生成是指通過(guò)符號(hào)化執(zhí)行待測(cè)軟件以收集約束條件,并借助約束求解器為每條路徑生成測(cè)試用例[6]。2019年謝肖飛[6]等人提出一種將模糊測(cè)試與符號(hào)執(zhí)行相結(jié)合的測(cè)試用例生成方法,通過(guò)模糊測(cè)試提供覆蓋率信息來(lái)引導(dǎo)符號(hào)執(zhí)行的搜索方向,從而生成更高覆蓋率的測(cè)試用例,實(shí)驗(yàn)結(jié)果表明此方法相比于只基于模糊測(cè)試的測(cè)試用例生成方法取得更高覆蓋率以及發(fā)現(xiàn)更多的漏洞。

        2.4 基于組合測(cè)試的測(cè)試用例生成

        待測(cè)軟件的輸入?yún)?shù)存在多種內(nèi)外約束,且彼此之間也存在相互作用,借助參數(shù)組合方式發(fā)現(xiàn)因?yàn)閰?shù)違反約束條件或參數(shù)之間相互作用的缺陷稱為組合測(cè)試。將組合測(cè)試應(yīng)用于測(cè)試用例生成稱為組合測(cè)試用例生成技術(shù)。組合測(cè)試存在問(wèn)題是面對(duì)相互作用強(qiáng)度較高的待測(cè)軟件會(huì)導(dǎo)致搜索時(shí)間呈指數(shù)級(jí)別的增長(zhǎng),2020年Hasan[7]等人采用隨機(jī)選擇策略對(duì)混合鄰域禁忌搜索(RMiTS)算法進(jìn)行改進(jìn),成功提升了較高的相互作用強(qiáng)度組合測(cè)試的測(cè)試效率,生成更高覆蓋的測(cè)試用例。2020年Bombarda[8]等人提出基于有限狀態(tài)機(jī)生成約束來(lái)解決組合測(cè)試的參數(shù)組合爆炸問(wèn)題;自動(dòng)機(jī)檢查無(wú)效測(cè)試序列,并對(duì)無(wú)效測(cè)試序列設(shè)置修復(fù)方法。結(jié)果表明此方法比傳統(tǒng)基于測(cè)試序列的測(cè)試用例有更高的覆蓋率以及更多有用測(cè)試用例。

        3 黑盒測(cè)試用例生成技術(shù)

        3.1 基于模型的測(cè)試用例生成技術(shù)

        基于模型的測(cè)試用例生成是指通過(guò)建立對(duì)被測(cè)軟件預(yù)期行為動(dòng)作的抽象描述的模型,從模型中派生出測(cè)試用例。目前應(yīng)用測(cè)試用例生成的模型主要分為UML 狀態(tài)圖、FSM 有限狀態(tài)機(jī)以及馬爾可夫鏈模型。

        基于UML 模型的測(cè)試用例生成的研究近年來(lái)有2018年李艷梅[9]以 UML 時(shí)序圖為基礎(chǔ),將時(shí)序圖首先轉(zhuǎn)化成順序有向圖,再使用遺傳蟻群算法進(jìn)行優(yōu)化計(jì)算,最后生成測(cè)試用例,2019年Wang[10]為了解決UML 語(yǔ)義不夠精確無(wú)法生成完整程序的問(wèn)題,提出了一種可擴(kuò)展語(yǔ)言xUML。分析xUML 的活動(dòng)圖以獲得系統(tǒng)的層次語(yǔ)法圖,然后根據(jù)層次語(yǔ)法圖獲得 JAVA 程序的測(cè)試用例。

        基于有限狀態(tài)機(jī)模型的測(cè)試用例生成研究主要包含有限狀態(tài)機(jī)(FSM)、分層有限狀態(tài)機(jī)(HFSM)與擴(kuò)展有限狀態(tài)機(jī)(EFSM)。利用有限狀態(tài)機(jī)(FSM)的測(cè)試用例生成研究有陳亞龍[11]等人基于最小測(cè)試成本遷移覆蓋的準(zhǔn)則,使用退火遺傳算法遍歷FSM 模型來(lái)生成測(cè)試用例。Lefticaru[12]、Briand[13]等人都選擇使用遺傳算法(GA)來(lái)從狀態(tài)機(jī)模型中生成測(cè)試用例。利用分層有限狀態(tài)機(jī)(HFSM)實(shí)現(xiàn)測(cè)試用例生成研究有Florentin Ipate[14]和Logica Banica[15]基于W 方法提出了分層有限狀態(tài)機(jī)(HFSM,Hierarchical FSM)模型的測(cè)試方案生成方法,通過(guò)對(duì)每層FSM 應(yīng)用W 方法,再將測(cè)試生成序列進(jìn)行合并,能夠保證錯(cuò)誤檢測(cè)能力。對(duì)于復(fù)雜系統(tǒng)采用該算法,既可防止?fàn)顟B(tài)爆炸,又可達(dá)到測(cè)試的充分性。在利用擴(kuò)展有限狀態(tài)機(jī)生成測(cè)試用例的研究有楊瑞等人[16]提出了一種基于EFSM 模型的自動(dòng)化測(cè)試用例生成方法(ATGEM),通過(guò)使用基于數(shù)據(jù)流分析的路徑可行性度量方法來(lái)解決不可行路徑問(wèn)題。蘇寧等人[17]研究了基于EFSM 不定型切片的測(cè)試用例生成方法,發(fā)現(xiàn)基于使用模型切片的效率比原模型更高。李棟[18]將EFSM 模型用于Web 應(yīng)用的安全測(cè)試,從威脅模型中解析出安全測(cè)試用例。

        基于馬爾可夫鏈模型實(shí)現(xiàn)測(cè)試用例的生成近年的研究有2019年趙衛(wèi)東[19]等人提出的改進(jìn)的高階馬爾可夫測(cè)試模型,以此模型提出基于快速輪盤賭的二分查找的測(cè)試用例生成方法。2020年Gebizli[20]等人引入了一種三步更新優(yōu)化的基于馬爾可夫鏈測(cè)試用例生成方法。用馬爾可夫鏈的形式來(lái)表示測(cè)試模型。先根據(jù)使用概況更新模型中的狀態(tài)轉(zhuǎn)移概率。再根據(jù)靜態(tài)代碼分析估計(jì)的故障可能性執(zhí)行更新。最后是基于動(dòng)態(tài)分析估計(jì)的錯(cuò)誤可能性。在每次更新優(yōu)化之后都會(huì)生成并執(zhí)行測(cè)試用例,該方法在智能電視系統(tǒng)經(jīng)過(guò)驗(yàn)證,證實(shí)了多角度對(duì)測(cè)試模型進(jìn)行連續(xù)改進(jìn)是可以提高基于模型的測(cè)試的有效性。

        3.2 隨機(jī)測(cè)試用例生成技術(shù)

        隨機(jī)測(cè)試用例生成是指通過(guò)在待測(cè)軟件的輸入域上隨機(jī)產(chǎn)生測(cè)試輸入并生成測(cè)試用例的自動(dòng)化測(cè)試技術(shù)。2020年Wetzlmaier[21]等人通過(guò)將增加額外的隨機(jī)步驟以擴(kuò)展原有測(cè)試用例,從而擴(kuò)大測(cè)試用例的窗口覆蓋范圍以及提升代碼覆蓋率,提高原有測(cè)試用例發(fā)現(xiàn)缺陷的能力。2020年Mao[22]等人提出一種靈活劃分的自適應(yīng)隨機(jī)測(cè)試用例生成方法,此方法結(jié)合了迭代分割測(cè)試和隨機(jī)分區(qū)自適應(yīng)隨機(jī)測(cè)試的有點(diǎn),不僅保證生成的測(cè)試用例具有較高隨機(jī)性還保證測(cè)試用例分布均勻,同時(shí)保持與隨機(jī)分區(qū)自適應(yīng)隨機(jī)測(cè)試的相同復(fù)雜度水平。

        3.3 基于需求的測(cè)試用例生成技術(shù)

        基于需求的測(cè)試用例生成是指針對(duì)待測(cè)軟件的需求文檔進(jìn)行分析并派生出測(cè)試用例的方法?;谛枨蟮臏y(cè)試用例生成方法分為兩類:一種是直接分析由自然語(yǔ)言描述的測(cè)試需求派生出測(cè)試用例,2018年Veera 等人[23]提出從需求到測(cè)試用例(Req2Test)方法。預(yù)先通過(guò)處理特定領(lǐng)域的語(yǔ)料庫(kù),建立特定領(lǐng)域的知識(shí)庫(kù)。然后,處理每個(gè)需求語(yǔ)句 并根據(jù)領(lǐng)域知識(shí)庫(kù)和領(lǐng)域本體來(lái)驗(yàn)證需求,并提取實(shí)體的領(lǐng)域?qū)哟谓Y(jié)構(gòu)生成需求說(shuō)明。最后從提取的需求說(shuō)明中構(gòu)建一個(gè)測(cè)試模板 并通過(guò)使用自然語(yǔ)言生成或基于規(guī)則的方法從模板中生成測(cè)試用例。另一種是通過(guò)分析測(cè)試需求構(gòu)建可用于描述待測(cè)軟件系統(tǒng)的抽象模型。2015年Lindsay[24]等人通過(guò)分析需求建立行為樹(shù)模型,并以此模型生成從測(cè)試用例,實(shí)驗(yàn)結(jié)果表明此方法能夠?qū)崿F(xiàn)測(cè)試用例與需求之間可追溯性,顯著減少測(cè)試用例數(shù)量,提高測(cè)試效率。

        3.4 基于錄制與回放的測(cè)試用例生成技術(shù)

        基于錄制與回放的測(cè)試用例生成是指通過(guò)獲取用戶操作的信息,經(jīng)過(guò)處理生成相應(yīng)的測(cè)試用例。2018年侯津等人[25]提出的基于控件路徑的跨設(shè)備UI 自動(dòng)化測(cè)試方法,解決跨設(shè)備查找控件失敗的問(wèn)題,2020年張文燁[26]利用深度學(xué)習(xí)的目標(biāo)檢測(cè)提高控件查找的準(zhǔn)確度?;阡浿婆c回放的測(cè)試用例生成方法在面對(duì)不斷迭代的軟件產(chǎn)品顯得力不從心,測(cè)試用例以及測(cè)試腳本的維護(hù)變得繁重又困難。

        4 結(jié)束語(yǔ)

        本文首先介紹測(cè)試用例定義,然后介紹了測(cè)試用例生成的兩個(gè)方向:白盒測(cè)試用例生成技術(shù)與黑盒測(cè)試用例生成技術(shù)。盡管測(cè)試用例生成研究成果層出不窮,并不斷結(jié)合最新的技術(shù),但是測(cè)試用例自動(dòng)生成還有克服各種困難,比如復(fù)雜度問(wèn)題,不僅白盒測(cè)試用例生成技術(shù)存在,黑盒測(cè)試用例生成技術(shù)也同樣存在。除此之外,對(duì)于如何有效將研究成果真正應(yīng)用到實(shí)際測(cè)試用例生成中,目前還缺乏有效解決方案,因此測(cè)試用例生成技術(shù)有效應(yīng)用也是今后的研究方向之一。

        猜你喜歡
        方法模型
        一半模型
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        學(xué)習(xí)方法
        可能是方法不對(duì)
        3D打印中的模型分割與打包
        用對(duì)方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        賺錢方法
        漂亮人妻洗澡被公强 日日躁| 国产AV高清精品久久| 青青草视全福视频在线| 亚洲国产性夜夜综合另类| 影音先锋中文字幕无码资源站| 亚洲妓女综合网99| 又色又爽又黄的视频网站| 全亚洲最大的私人影剧院在线看 | 国产成人亚洲综合无码| 日韩少妇无码一区二区免费视频| 青青草在线免费观看视频| 高潮毛片无遮挡高清视频播放| 丰满熟妇乱又伦| 亚洲欧美日韩精品久久亚洲区色播| 日本97色视频日本熟妇视频| 亚洲欧洲av综合色无码| 8av国产精品爽爽ⅴa在线观看| 国产精品 精品国内自产拍| 亚洲精品一区二区三区麻豆| 午夜熟女插插xx免费视频| 国产精品无码一区二区三区免费| 加勒比黑人在线| 丝袜美腿亚洲综合在线播放 | 国产午夜精品电影久久| 一个人的视频免费播放在线观看| 日本最新一区二区三区视频观看 | 国产福利片无码区在线观看| 91桃色在线播放国产| 国产精品亚洲婷婷99久久精品 | 亚洲AV无码日韩一区二区乱| 最新中文字幕日韩精品| 爆乳熟妇一区二区三区霸乳| 人妻少妇精品无码专区二| 色婷婷一区二区三区77| 全免费a级毛片免费看无码| 精品无码国产自产野外拍在线| 国产成人精品aaaa视频一区 | 东北少妇不戴套对白第一次| 国模无码视频一区| av熟女一区二区久久| 久久国内精品自在自线|