• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    面向?qū)ο筌浖臏y(cè)試用例自動(dòng)再生成方法?

    2018-01-04 01:31:24
    艦船電子工程 2017年12期
    關(guān)鍵詞:測(cè)試用例面向?qū)ο?/a>調(diào)用

    陳 雙 徐 望

    1 引言

    對(duì)于一些開(kāi)發(fā)和維護(hù)周期較長(zhǎng)的軟件項(xiàng)目來(lái)說(shuō),測(cè)試人員會(huì)持續(xù)不斷地為被測(cè)軟件設(shè)計(jì)和開(kāi)發(fā)新的測(cè)試用例。隨著軟件測(cè)試工作的開(kāi)展,一定時(shí)間后會(huì)積累下許多測(cè)試用例。軟件研發(fā)團(tuán)隊(duì)通常會(huì)建立并維護(hù)一個(gè)測(cè)試用例庫(kù)將已有測(cè)試用例通過(guò)合理的分類(lèi)有效地管理起來(lái),以方便開(kāi)發(fā)和測(cè)試人員查詢(xún)、執(zhí)行、共享和復(fù)用這些測(cè)試用例。

    對(duì)面向?qū)ο筌浖?,每個(gè)測(cè)試用例由一個(gè)方法調(diào)用序列構(gòu)成。因此,面向?qū)ο筌浖臏y(cè)試用例庫(kù)可以提供大量的方法調(diào)用序列[1]。如果能從如此眾多的方法調(diào)用序列中發(fā)現(xiàn)一些規(guī)律性信息,就可以利用這些信息為新的測(cè)試用例生成提供指導(dǎo)[2]。

    現(xiàn)有的測(cè)試用例自動(dòng)生成方法通常隱含地假定沒(méi)有現(xiàn)成的測(cè)試用例可供參考。然而,當(dāng)該假定與實(shí)際情況不符時(shí),就會(huì)錯(cuò)過(guò)從現(xiàn)有測(cè)試用例(特別是人工創(chuàng)建的測(cè)試用例)中獲取有用信息的機(jī)會(huì)。最近,Yoo等提出了一種旨在利用現(xiàn)有測(cè)試數(shù)據(jù),生成新測(cè)試數(shù)據(jù)的測(cè)試數(shù)據(jù)再生成(test data regeneration)技術(shù)[3]。

    目前,大量軟件項(xiàng)目采用面向?qū)ο筌浖_(kāi)發(fā)范型。對(duì)面向?qū)ο筌浖?,測(cè)試用例不再是一組簡(jiǎn)單的測(cè)試輸入值,而是一系列有序執(zhí)行的方法調(diào)用序列[4]。為此,本文受現(xiàn)有測(cè)試數(shù)據(jù)再生成研究的啟發(fā),提出了一種基于序列模式挖掘技術(shù)的面向?qū)ο筌浖y(cè)試用例自動(dòng)再生成策略,利用面向?qū)ο筌浖y(cè)試用例庫(kù)所提供的大量已有測(cè)試用例資源,為面向?qū)ο筌浖尚碌臏y(cè)試用例。

    2 面向?qū)ο筌浖臏y(cè)試用例自動(dòng)再生成方法

    面向?qū)ο筌浖拿總€(gè)測(cè)試用例都是一個(gè)方法調(diào)用序列。如果被測(cè)面向?qū)ο筌浖延袦y(cè)試用例庫(kù),就可以采用序列模式挖掘技術(shù),從測(cè)試用例庫(kù)的大量方法調(diào)用序列中識(shí)別出所蘊(yùn)含的序列模式。這些序列模式通常揭示了相關(guān)方法的重要用法或是慣用形式,可以用于構(gòu)建新的測(cè)試用例[5~6]。

    假設(shè)已知被測(cè)面向?qū)ο筌浖?、覆蓋準(zhǔn)則以及用以測(cè)試的測(cè)試用例庫(kù),其中每個(gè)測(cè)試用例是一個(gè)方法調(diào)用序列,則基于序列模式挖掘的測(cè)試用例再生成可以描述為:

    1)從測(cè)試用例庫(kù)T中識(shí)別出滿(mǎn)足最小支持度θ的序列模式集合S,其中,每個(gè)序列模式s∈S是一個(gè)mcs子序列并且在T中出現(xiàn)不少于θ ||T次( ||T為測(cè)試用例庫(kù)T中含有的全部測(cè)試用例數(shù));

    2)以S為基礎(chǔ),利用遺傳算法為被測(cè)軟件p生成滿(mǎn)足指定覆蓋準(zhǔn)則c的新測(cè)試用例集T'。

    下面將分別描述基于序列模式挖掘的測(cè)試用例再生成策略。

    2.1 測(cè)試用例庫(kù)的序列模式挖掘算法

    本文提出采用BIDE序列模式挖掘策略[5~6],從給定的測(cè)試用例庫(kù)T中獲取頻繁序列模式S。為此,首先定義前綴序列和后綴序列如下。

    定義1:前綴序列(prefix sequence)。假設(shè)給定面向?qū)ο筌浖姆椒ㄕ{(diào)用序列 α= <m1,m2,…,mi,…,mn> ,那么 α 的子序列 β=<m1,m2,…,mi-1> 稱(chēng)為α關(guān)于mi方法的前綴序列。

    定義2:后綴序列(suffix sequence)。假設(shè)給定面向?qū)ο筌浖姆椒ㄕ{(diào)用序列 α= <m1,m2,…,mi,…,mn> ,那么 α 的子序列 γ=<mi+1,mi+2,…,mn>稱(chēng)為α關(guān)于mi方法的后綴序列。

    掃描測(cè)試用例庫(kù)T中的所有方法調(diào)用序列,可識(shí)別出方法調(diào)用序列包含的頻繁1-序列集合S1(即長(zhǎng)度為1且出現(xiàn)頻率不小于最小支持度θ的子序列)。對(duì)于S1中的每個(gè)頻繁1-序列s1而言,由于s1在T中出現(xiàn)至少θ ||T次,因此從T中能夠找到不止一個(gè)關(guān)于s1的前綴序列和后綴序列。由此可以得到關(guān)于s1的前綴序列集合以及后綴序列集合,分別記為Ps1和Ss1。

    對(duì)于每個(gè)頻繁1-序列s1而言,嘗試在s1前逐個(gè)插入其前綴序列中的方法,以求反向擴(kuò)展s1得到更長(zhǎng)的頻繁序列。具體來(lái)說(shuō),首先將前綴序列ps1=< m1,…ml-1,ml> ∈ Ps1的最后一個(gè)方法ml插入到s1之前,如果所得序列<ml,s1>在T中出現(xiàn)至少θ ||T 次,那么就到了一個(gè)頻繁2-序列<ml,s1>,記為s2。然后嘗試將ml-1方法插入到s2之前,從而反向擴(kuò)展s2以得到一個(gè)頻繁3-序列。通過(guò)這種迭代操作不斷擴(kuò)展序列的長(zhǎng)度,直到結(jié)果序列在T中出現(xiàn)的次數(shù)少于θ ||T次。于是,便得到了反向擴(kuò)展s1后的頻繁序列s'。

    然后,嘗試在s'后逐個(gè)添加s1后綴序列中的方法,正向擴(kuò)展s'以得到更長(zhǎng)的頻繁序列。將后綴序列 ss1=<mf,mf+1,…,mn>∈Ss1的第一個(gè)方法mf添加到s'之后,如果所得序列<s',mf>在T中仍然出現(xiàn)至少θ ||T次,那么就嘗試將mf+1方法添加到<s',mf>之后。依此迭代,直到結(jié)果序列在T中出現(xiàn)次數(shù)不足θ ||T次,便得到了一個(gè)完整的頻繁序列s。

    如上文所述,對(duì)于每個(gè)頻繁1-序列來(lái)說(shuō),都有若干個(gè)前綴序列和后綴序列。因此,最終能夠從中得到一批完整的頻繁序列,即頻繁序列模式集合S。算法1給出了由測(cè)試用例庫(kù)T得到頻繁序列模式集合S的偽代碼描述。

    需要說(shuō)明的是,挖掘測(cè)試用例庫(kù)T得到頻繁序列模式的過(guò)程中,最小支持度θ是一個(gè)關(guān)鍵參數(shù)。為根據(jù)T的特點(diǎn)選取適當(dāng)?shù)摩戎担疚亩x平均方法調(diào)用頻率如下。

    定義3:平均方法調(diào)用頻率(Averaged Method Invocation Frequency,AMIF)。假設(shè)測(cè)試用例庫(kù)T包含 ||T個(gè)測(cè)試用例,其共調(diào)用了n個(gè)不同的方法并且每個(gè)方法mi被調(diào)用了 ||mi次,那么該測(cè)試用例庫(kù)的平均方法調(diào)用頻率可以表示為

    AMIF值反映了測(cè)試用例庫(kù)中各方法被調(diào)用的平均頻度。如果一個(gè)測(cè)試用例庫(kù)的AMIF值較小,就意味著該測(cè)試用例庫(kù)中各方法被調(diào)用的平均頻度比較低,因而該測(cè)試用例庫(kù)中包含的頻繁序列模式相對(duì)較少。與之相反,對(duì)于一個(gè)AMIF值較大的測(cè)試用例庫(kù)而言,其方法被調(diào)用的平均頻度較高,因此通常會(huì)包含大量的頻繁序列模式。

    為以合理的花費(fèi)從測(cè)試用例庫(kù)中得到數(shù)量適當(dāng)?shù)男蛄心J?,我們根?jù)測(cè)試用例庫(kù)的AMIF值設(shè)定不同的最小支持度θ。具體來(lái)說(shuō),如果一個(gè)測(cè)試用例庫(kù)的AMIF較低,那么就選取一個(gè)比較小的θ值;若一個(gè)測(cè)試用例庫(kù)的AMIF較高時(shí),則采用一個(gè)比較大的θ值。

    2.2 基于序列模式的測(cè)試用例再生成算法

    對(duì)于面向?qū)ο筌浖?p而言,利用上述方法從測(cè)試用例庫(kù)中獲得頻繁序列模式集合S后,就能夠以S為基礎(chǔ),利用遺傳算法再生成新的測(cè)試用例。換言之,就是以被測(cè)軟件 p以及頻繁序列模式集合S作為輸入,根據(jù)指定的測(cè)試覆蓋準(zhǔn)則c,采用遺傳算法尋找一批新的方法調(diào)用序列作為p的測(cè)試用例。

    具體來(lái)說(shuō),首先通過(guò)靜態(tài)分析得到被測(cè)軟件p包含的方法集合M以及分支集合B,并且在程序中的分支語(yǔ)句前后插裝測(cè)試探針代碼,以記錄 p的動(dòng)態(tài)執(zhí)行路徑。然后,以分支集合B中的任意一個(gè)尚未覆蓋的分支b作為目標(biāo),根據(jù)序列模式集合S構(gòu)建初始種群P,其中每個(gè)個(gè)體i是一個(gè)以序列模式s∈S為基礎(chǔ)構(gòu)建的可執(zhí)行方法調(diào)用序列。

    為確保i是可執(zhí)行的,需要為s中的參數(shù)賦值。如果需要賦值的arg參數(shù)是一個(gè)基本類(lèi)型變量(例如整型變量),那么就為其賦一個(gè)隨機(jī)值;如果arg參數(shù)是一個(gè)對(duì)象類(lèi)型變量,則搜索M集合以求找到一個(gè)m*方法,其返回類(lèi)型Tm*與arg參數(shù)的聲明類(lèi)型Targ相同或者是Targ的子類(lèi)(即),然后將m*方法返回的對(duì)象賦給arg。如果m*方法仍然含有需要賦值的參數(shù),同樣采用上述方式為m*的參數(shù)賦值。以此類(lèi)推,直到不再需要為參數(shù)賦值為止,這樣就生成了一個(gè)可執(zhí)行方法調(diào)用序列個(gè)體。算法2描述了為個(gè)體所需參數(shù)賦值的偽代碼。

    初始種群P構(gòu)建完畢后,動(dòng)態(tài)執(zhí)行P中的每個(gè)個(gè)體i并利用測(cè)試探針代碼記錄個(gè)體的執(zhí)行路徑。如果i達(dá)到了b分支,那么就生成了一個(gè)新的測(cè)試用例,繼續(xù)以分支集合B中尚未覆蓋的分支b'作為目標(biāo)生成新的測(cè)試用例。如果b沒(méi)有被P中的任何個(gè)體覆蓋到,則計(jì)算P中每個(gè)個(gè)體的執(zhí)行路徑與目標(biāo)分支b的距離:

    其中,“approach_level”表示個(gè)體實(shí)際執(zhí)行路徑距離到達(dá)目標(biāo)分支仍相差的控制流節(jié)點(diǎn)數(shù);“branch_distance”則表示在首個(gè)造成實(shí)際執(zhí)行路徑偏離目標(biāo)分支的條件謂詞處距離滿(mǎn)足該條件謂詞的差值,采用如下公式進(jìn)行歸一化:

    然后從P中選出兩個(gè)適應(yīng)度值最高的優(yōu)秀個(gè)體i1和i2,執(zhí)行交叉和變異操作以產(chǎn)生子代個(gè)體。其中單點(diǎn)交叉操作(將i1的一段子序列與i2的一段子序列互換)的概率為 pc、替換變異操作(從頻繁序列模式集合S中隨機(jī)選擇兩個(gè)頻繁序列模式1和2,并分別將 i1和 i2的一段子序列替換為1和2)的概率為概率為 pm。執(zhí)行替換變異操作后,根據(jù)算法2分別為子代個(gè)體i1'和i2'的參數(shù)賦值,這樣便得到兩個(gè)可執(zhí)行的子代個(gè)體。

    最后,將P中兩個(gè)適應(yīng)度值較低的個(gè)體替換為i1'和i2',從而產(chǎn)生一個(gè)新種群P',并評(píng)估P'中每個(gè)個(gè)體的適應(yīng)度值。依此循環(huán)執(zhí)行種群再生和適應(yīng)度評(píng)估過(guò)程,直到滿(mǎn)足指定的終止條件(全部目標(biāo)分支都被覆蓋或者時(shí)間預(yù)算耗盡),退出循環(huán),這樣便生成了一批新的測(cè)試用例T'。算法3以偽代碼形式描述了上述基于頻繁序列模式的測(cè)試用例再生成流程。

    3 測(cè)試用例自動(dòng)再生成實(shí)驗(yàn)及結(jié)果分析

    本文以上述測(cè)試用例再生成策略為基礎(chǔ),實(shí)現(xiàn)了SPM-RGN原型工具,并通過(guò)實(shí)驗(yàn)為4個(gè)具有不同特點(diǎn)和用途的Java開(kāi)源項(xiàng)目(總計(jì)包含超過(guò)4萬(wàn)行代碼)生成測(cè)試用例,以評(píng)估該策略的有效性。

    實(shí)驗(yàn)中首先檢驗(yàn)了從測(cè)試用例庫(kù)挖掘序列模式集合的效果,包括:

    1)挖掘測(cè)試用例庫(kù)獲得序列模式的數(shù)量;

    2)序列模式挖掘的時(shí)間開(kāi)銷(xiāo)和空間開(kāi)銷(xiāo)。

    然后,對(duì)比分析了SPM-RGN與現(xiàn)有隨機(jī)測(cè)試生成工具Randoop[7]和演化測(cè)試生成工具EvoSuite[8]以及本研究開(kāi)發(fā)的基于搜索的測(cè)試用例再生成工具RND-RGN(直接隨機(jī)選取現(xiàn)有測(cè)試用例作為初始種群)的測(cè)試生成效果。具體而言,主要從兩個(gè)方面比較這4種工具的測(cè)試生成效果:

    1)取得的分支覆蓋率;

    2)所生成測(cè)試用例的長(zhǎng)度。

    *實(shí)驗(yàn)對(duì)象

    實(shí)驗(yàn)中以4個(gè)著名的Java開(kāi)源項(xiàng)目作為被測(cè)軟件:

    其中CC和CP來(lái)自Apache Commons Proper庫(kù),該庫(kù)主要用于提供各種可復(fù)用的Java組件;JT和NX來(lái)自Software-artifact Infrastructure Repository庫(kù),該庫(kù)主要用于提供各種Java對(duì)比實(shí)驗(yàn)程序。這4個(gè)Java項(xiàng)目中,程序?qū)崿F(xiàn)最為復(fù)雜的CC有超過(guò)2萬(wàn)行代碼、近400個(gè)類(lèi)、超過(guò)3千個(gè)方法以及6千多個(gè)分支。4個(gè)項(xiàng)目合計(jì)近4萬(wàn)5千行代碼。此外,實(shí)驗(yàn)中采用隨這4個(gè)項(xiàng)目發(fā)布的人工測(cè)試用例集作為相應(yīng)的測(cè)試用例庫(kù)。

    被測(cè)軟件的基本統(tǒng)計(jì)特征如表1所示,包括各被測(cè)軟件所含的類(lèi)數(shù)(#Classes)、方法數(shù)(#Methods)、分支數(shù)(#Branches)、非注釋代碼行數(shù)(LOC)、測(cè)試用例庫(kù)中包含的測(cè)試用例個(gè)數(shù)(#Tests)及測(cè)試用例庫(kù)的AMIF值。

    表1 被測(cè)軟件的基本信息

    *實(shí)驗(yàn)參數(shù)設(shè)置

    如第2節(jié)所述,基于序列模式挖掘的測(cè)試用例再生成策略主要分2個(gè)階段實(shí)現(xiàn),即:1)序列模式挖掘階段,2)測(cè)試用例再生成階段。在這2個(gè)階段中,都有一些參數(shù)需要設(shè)置。

    在序列模式挖掘階段,最小支持度θ是一個(gè)關(guān)鍵參數(shù)。由于不同被測(cè)軟件的測(cè)試用例庫(kù)彼此之間特點(diǎn)各不相同,因此沒(méi)有通用的最小支持度。為此,實(shí)驗(yàn)中根據(jù)相應(yīng)測(cè)試用例庫(kù)的AMIF值選取最小支持度,以合理的時(shí)間和空間開(kāi)銷(xiāo)挖掘出適量的序列模式。

    由表1可見(jiàn),本文選取的4個(gè)實(shí)驗(yàn)對(duì)象中,第一個(gè)被測(cè)軟件CC的測(cè)試用例庫(kù)AMIF值不到0.5%,因此采用1%到5%這樣較低的最小支持度來(lái)挖掘測(cè)試用例庫(kù)。第二個(gè)被測(cè)軟件CP的測(cè)試用例庫(kù)AMIF值同樣較低(0.4%),因此同樣采用1%~5%的最小支持度來(lái)挖掘測(cè)試用例庫(kù)。與前兩個(gè)被測(cè)軟件的測(cè)試用例庫(kù)不同,第三個(gè)被測(cè)軟件JT的測(cè)試用例庫(kù)AMIF值高達(dá)7.6%,較前兩個(gè)測(cè)試用例庫(kù)提高了一個(gè)數(shù)量級(jí),于是實(shí)驗(yàn)中采用10%到50%這樣較高的最小支持度來(lái)挖掘測(cè)試用例庫(kù)。最后一個(gè)被測(cè)軟件NX的測(cè)試用例庫(kù)AMIF值適中(2.4%),實(shí)驗(yàn)中分別將最小支持度設(shè)置為1%~50%不等,以更為全面地考察從測(cè)試用例庫(kù)挖掘序列模式集合的效果。

    在測(cè)試用例再生成階段,EvoSuite、RND-RGN以及本研究提出的SPM-RGN原型工具均采用了文獻(xiàn)[12]推薦的演化測(cè)試參數(shù)設(shè)置。具體來(lái)說(shuō),每個(gè)類(lèi)的測(cè)試生成時(shí)間上限為600秒,種群中共包括100個(gè)體,采用輪盤(pán)賭選擇策略、單點(diǎn)交叉重組策略(交叉概率為0.75)以及替換變異策略(變異概率為0.3)。

    3.1 挖掘測(cè)試用例庫(kù)獲得序列模式的數(shù)量

    圖1給出了采用不同最小支持度時(shí),從測(cè)試用例庫(kù)挖掘出的序列模式的數(shù)量。由圖1可見(jiàn),從這些測(cè)試用例庫(kù)中可以挖掘出大量的序列模式。最小支持度取值增加時(shí),從各測(cè)試用例庫(kù)挖掘出的序列模式數(shù)量呈對(duì)數(shù)級(jí)減少。

    具體來(lái)說(shuō),對(duì)于方法使用頻率較低的測(cè)試用例集,如CC的測(cè)試用例集和CP的測(cè)試用例集,以比較低的最小支持度才能挖掘出序列模式。例如,最小支持度設(shè)置為1%時(shí),從CC的測(cè)試用例集可以挖掘得到3181個(gè)序列模式。然而,對(duì)于方法使用頻率較高的測(cè)試用例集,如JT的測(cè)試用例集,以比較高的最小支持度也能挖掘出大量序列模式。例如,最小支持度設(shè)置為10%時(shí),從JT的測(cè)試用例集挖掘出了48603個(gè)序列模式。對(duì)于方法使用頻率相對(duì)適中的測(cè)試用例集,比如NX的測(cè)試用例集,最小支持度分別設(shè)置為1%到20%時(shí),都能挖掘得到序列模式。

    3.2 序列模式挖掘的時(shí)間開(kāi)銷(xiāo)和空間消耗

    圖2和圖3分別給出了采用不同最小支持度時(shí),從測(cè)試用例庫(kù)挖掘序列模式集合的相應(yīng)時(shí)間開(kāi)銷(xiāo)和空間開(kāi)銷(xiāo)。

    由圖2和圖3可以看出,最小支持度取值增加時(shí),從各測(cè)試用例庫(kù)挖掘序列模式集合的時(shí)間開(kāi)銷(xiāo)和空間開(kāi)銷(xiāo)同樣呈對(duì)數(shù)級(jí)減少。此外,最小支持度取值相同時(shí),從方法使用頻率較低的測(cè)試用例庫(kù)比從方法使用頻率較高的測(cè)試用例庫(kù)挖掘頻繁方法調(diào)用序列模式集合的開(kāi)銷(xiāo)更小。

    通常來(lái)說(shuō),最小支持度取值越小,從測(cè)試用例庫(kù)挖掘出的序列模式越多,而進(jìn)行序列模式挖掘所需的時(shí)間和空間開(kāi)銷(xiāo)也就越大。因此,需要根據(jù)AMIF指標(biāo)來(lái)針對(duì)測(cè)試用例庫(kù)的方法使用特點(diǎn),選擇合適的最小支持度取值,從而在所挖掘出的序列模式的數(shù)量以及進(jìn)行序列模式挖掘的開(kāi)銷(xiāo)間做出一個(gè)良好的折衷。

    3.3 再生成測(cè)試用例的分支覆蓋效果

    對(duì)于每個(gè)被測(cè)面向?qū)ο筌浖?,?給出了上述測(cè)試生成工具分別取得的分支覆蓋率(重復(fù)實(shí)驗(yàn)30次取平均值),其中粗體數(shù)值表示對(duì)每個(gè)被測(cè)軟件取得的最大分支覆蓋率。表2底部給出了每個(gè)測(cè)試生成工具所取得的平均分支覆蓋率。

    表2 不同自動(dòng)測(cè)試生成工具取得的分支覆蓋率(%)

    由表2可見(jiàn),對(duì)于全部4個(gè)被測(cè)軟件,SPM-RGN工具都比Randoop、EvoSuite和RND-RGN取得了更高的分支覆蓋率。SPM-RGN所取得的分支覆蓋率高達(dá)70%~95%,平均而言,較Randoop、EvoSuite和RND-RGN取得的分支覆蓋率分別提高了47%、11%以及4%。并且單邊Mann-Whitney U檢驗(yàn)結(jié)果表明:在95%置信水平上,SPM-RGN較Randoop、Evo-Suite和RND-RGN取得的分支覆蓋率提升顯著。

    具體來(lái)說(shuō),在30次重復(fù)實(shí)驗(yàn)中,Randoop,Evo-Suite,RND-RGN和SPM-RGN這4個(gè)自動(dòng)測(cè)試生成工具對(duì)于被測(cè)軟件所取得的分支覆蓋率分布情況如圖4所示。由圖4可以發(fā)現(xiàn),Randoop在30次重復(fù)實(shí)驗(yàn)中取得的分支覆蓋率波動(dòng)很大,而EvoSuite、RND-RGN以及本研究提出的SPM-RGN在30次重復(fù)實(shí)驗(yàn)中取得的分支覆蓋率相對(duì)穩(wěn)定得多。

    3.4 再生成測(cè)試用例的可讀性

    對(duì)比分析上述測(cè)試生成工具所生成測(cè)試用例的平均長(zhǎng)度,實(shí)驗(yàn)結(jié)果如表3所示。其中對(duì)于每個(gè)被測(cè)軟件,所生成的測(cè)試用例平均長(zhǎng)度最短的用粗體表示。

    由表3可以發(fā)現(xiàn),在上述測(cè)試生成工具中,本研究提出的SPM-RGN生成的測(cè)試用例平均長(zhǎng)度最短。SPM-RGN生成的測(cè)試用例平均包含大約20行代碼,比Randoop生成的測(cè)試用例平均縮短了大約85%,比EvoSuite和RND-RGN生成的測(cè)試用例分別平均縮短了大約28%。

    表3 不同測(cè)試生成工具所生成測(cè)試用例的平均長(zhǎng)度

    具體來(lái)說(shuō),圖5顯示了在30次重復(fù)實(shí)驗(yàn)中,每個(gè)測(cè)試生成工具所生成測(cè)試用例平均長(zhǎng)度的分布情況。由此可以看出,在30次重復(fù)實(shí)驗(yàn)中,Randoop生成的測(cè)試用例其長(zhǎng)度變化最大,而SPM-RGN生成的測(cè)試用例其長(zhǎng)度變化最小。

    上述實(shí)驗(yàn)結(jié)果表明,SPM-RGN可以實(shí)現(xiàn)基于序列模式挖掘的測(cè)試用例再生成??傮w而言,SPM-RGN可以取得比較良好的分支覆蓋率,并且SPM-RGN生成的測(cè)試用例相對(duì)比較短,更有利于測(cè)試人員理解。

    4 結(jié)語(yǔ)

    面向?qū)ο筌浖臏y(cè)試用例自動(dòng)生成極具挑戰(zhàn)。與現(xiàn)有完全從被測(cè)軟件出發(fā)生成測(cè)試用例的方法不同,本文提出了一種基于序列模式挖掘技術(shù)的測(cè)試用例再生成方法,通過(guò)挖掘測(cè)試用例庫(kù)中的方法調(diào)用序列模式,為面向?qū)ο筌浖阉鞲哔|(zhì)量的新測(cè)試用例。如果測(cè)試用例庫(kù)為人工創(chuàng)建的測(cè)試用例集,則該方法生成的新測(cè)試用例與完全從被測(cè)軟件出發(fā)生成的測(cè)試用例相比,更易于測(cè)試人員理解。后續(xù)研究工作可以考慮針對(duì)軟件中涉及多線程特性的代碼探討如何自動(dòng)生成測(cè)試用例,以進(jìn)一步提高測(cè)試的有效性。

    [1]郭滔.面向?qū)ο筌浖y(cè)試技術(shù)研究[J],科技信息,2011,3:3945-3947.

    [2]賈冀婷.軟件測(cè)試中測(cè)試用例自動(dòng)生成方法研究[J],電腦知識(shí)與技術(shù),499-500.

    [3]Yoo S,Harman M.Test data regeneration:generating new test data from existing test data[J].Software Testing Verification and Reliability.2012,22(3):171-201.

    [4]Arcuri A,Yao X.On test data generation of object-oriented software[C]//In:Proceedings of the Testing:Academic and Industrial Conference Practice and Research Techniques-MUTATION.Los Alamitos,CA:IEEE Computer Society,2007,72-76.

    [5]俞東進(jìn),鄭蘇杭,李萬(wàn)清,等.基于BIDE的多核并行閉合序列模式挖掘[J]. 計(jì)算機(jī)工程,2012,38(12):55-59.

    [6]管恩政.序列模式挖掘算法研究[D].長(zhǎng)春:吉林大學(xué),2005.

    [7]Pacheco C,Lahiri S K,Ernst M D,Ball T.Feedback-directed random test generation[C]//In:Proceedings of the 29thInternational Conference on Software Engineering.Los Alamitos,CA:IEEE Computer Society,2007,75-84.

    [8]Fraser G,Arcuri A.EvoSuite:automatic test suite generation for object-oriented software[C]//In:Proceedings of the 19thACM SIGSOFT Symposium and the 13thEuropean Conference on Foundations of Software Engineering.New York,NY:ACM,2011,416-419.

    [9]Commons Collections.[CP/OL].http://commons.apache.org/proper/commons-collections/.

    [10]Commons Primitives.[CP/OL].http://commons.apache.org/proper/commons-primitives/.

    [11]Do H,Elbaum S G,Rothermel G.Supporting controlled experimentation with testing techniques:An infrastructure and its potential impact[J].Empirical Software Engineering,2005,10(4):405-435.

    [12]Arcuri A,F(xiàn)raser G.On parameter tuning in search based software engineering[C]//In:Proceedings of the 3rdInternational Conference on Search Based Software Engineering.Berlin,Germany:Springer,2011,33-47.

    猜你喜歡
    測(cè)試用例面向?qū)ο?/a>調(diào)用
    基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
    核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    面向?qū)ο蟮挠?jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)軟件系統(tǒng)的開(kāi)發(fā)
    基于混合遺傳算法的回歸測(cè)試用例集最小化研究
    面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
    基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
    面向?qū)ο骔eb開(kāi)發(fā)編程語(yǔ)言的的評(píng)估方法
    基于依賴(lài)結(jié)構(gòu)的測(cè)試用例優(yōu)先級(jí)技術(shù)
    面向?qū)ο笮畔⑻崛≈杏跋穹指顓?shù)的選擇
    河南科技(2014年10期)2014-02-27 14:09:03
    老司机深夜福利视频在线观看| 狠狠婷婷综合久久久久久88av| 亚洲国产毛片av蜜桃av| www日本在线高清视频| 亚洲av成人一区二区三| 窝窝影院91人妻| 精品第一国产精品| 伦理电影免费视频| 天天躁日日躁夜夜躁夜夜| 在线观看免费视频日本深夜| 两个人免费观看高清视频| 精品国产一区二区三区久久久樱花| 亚洲五月婷婷丁香| 免费av中文字幕在线| 大片免费播放器 马上看| 动漫黄色视频在线观看| 日韩精品免费视频一区二区三区| 欧美激情高清一区二区三区| 国产区一区二久久| 免费一级毛片在线播放高清视频 | 中文字幕人妻丝袜制服| 国产国语露脸激情在线看| www.熟女人妻精品国产| av免费在线观看网站| 十八禁高潮呻吟视频| 精品人妻熟女毛片av久久网站| 亚洲国产精品一区二区三区在线| 欧美黄色淫秽网站| 国产在视频线精品| 十八禁高潮呻吟视频| 黄色视频不卡| 别揉我奶头~嗯~啊~动态视频| av一本久久久久| 欧美性长视频在线观看| 韩国精品一区二区三区| 国产一区二区三区综合在线观看| 桃红色精品国产亚洲av| 国产精品久久电影中文字幕 | 亚洲精品一卡2卡三卡4卡5卡| 国产一区有黄有色的免费视频| 大香蕉久久网| 18禁黄网站禁片午夜丰满| 人人澡人人妻人| 变态另类成人亚洲欧美熟女 | 一级毛片电影观看| 一级a爱视频在线免费观看| 波多野结衣av一区二区av| av有码第一页| 热99re8久久精品国产| 脱女人内裤的视频| 女人被躁到高潮嗷嗷叫费观| 黄色视频不卡| 18禁黄网站禁片午夜丰满| 亚洲精品久久午夜乱码| 狠狠精品人妻久久久久久综合| 亚洲精品美女久久久久99蜜臀| 久久精品成人免费网站| 亚洲国产中文字幕在线视频| 曰老女人黄片| 国产xxxxx性猛交| 少妇裸体淫交视频免费看高清 | 久久中文看片网| 色精品久久人妻99蜜桃| 久久午夜综合久久蜜桃| 亚洲精品中文字幕在线视频| 大香蕉久久网| 一本色道久久久久久精品综合| 热re99久久国产66热| 中文字幕制服av| 一本一本久久a久久精品综合妖精| 亚洲精品自拍成人| 欧美中文综合在线视频| 亚洲一区中文字幕在线| 国产在线观看jvid| 亚洲黑人精品在线| 国产精品一区二区在线不卡| 热re99久久精品国产66热6| 久久天堂一区二区三区四区| 中国美女看黄片| 多毛熟女@视频| 色老头精品视频在线观看| 国产一区有黄有色的免费视频| 免费女性裸体啪啪无遮挡网站| 免费不卡黄色视频| 久久精品国产综合久久久| 午夜精品国产一区二区电影| 国产av精品麻豆| 久久这里只有精品19| 精品少妇内射三级| 天天躁狠狠躁夜夜躁狠狠躁| 天天操日日干夜夜撸| 亚洲精品国产一区二区精华液| 我要看黄色一级片免费的| 精品亚洲乱码少妇综合久久| 亚洲av电影在线进入| 99久久国产精品久久久| 欧美 亚洲 国产 日韩一| 色在线成人网| 99国产综合亚洲精品| 日本a在线网址| 99riav亚洲国产免费| 热99re8久久精品国产| 伦理电影免费视频| 老司机在亚洲福利影院| 国产高清videossex| 一级a爱视频在线免费观看| 久久精品aⅴ一区二区三区四区| 人成视频在线观看免费观看| 午夜久久久在线观看| 水蜜桃什么品种好| 久久中文看片网| 欧美成狂野欧美在线观看| 国产在线精品亚洲第一网站| 黑人巨大精品欧美一区二区蜜桃| 亚洲精品中文字幕一二三四区 | 亚洲av美国av| 亚洲熟女精品中文字幕| 亚洲第一欧美日韩一区二区三区 | 亚洲精品一卡2卡三卡4卡5卡| av一本久久久久| 少妇猛男粗大的猛烈进出视频| 两性午夜刺激爽爽歪歪视频在线观看 | 久久免费观看电影| 后天国语完整版免费观看| 三级毛片av免费| 国产单亲对白刺激| 国产一区二区 视频在线| 亚洲国产欧美网| 黑人巨大精品欧美一区二区mp4| 自线自在国产av| 国产在线观看jvid| 宅男免费午夜| 欧美激情高清一区二区三区| 久久午夜亚洲精品久久| 亚洲成a人片在线一区二区| 亚洲精品国产色婷婷电影| 高潮久久久久久久久久久不卡| 国产av国产精品国产| 无限看片的www在线观看| 国产无遮挡羞羞视频在线观看| 久久国产精品男人的天堂亚洲| 欧美日韩中文字幕国产精品一区二区三区 | videosex国产| 久久久久视频综合| 动漫黄色视频在线观看| 欧美激情高清一区二区三区| svipshipincom国产片| 日韩一区二区三区影片| 99国产综合亚洲精品| 人妻久久中文字幕网| 超碰97精品在线观看| 欧美老熟妇乱子伦牲交| 无人区码免费观看不卡 | 最近最新中文字幕大全免费视频| 色视频在线一区二区三区| 久久人人97超碰香蕉20202| 国产极品粉嫩免费观看在线| 欧美国产精品va在线观看不卡| 日韩欧美一区视频在线观看| 亚洲人成电影免费在线| 亚洲色图av天堂| 1024香蕉在线观看| 老司机午夜十八禁免费视频| 曰老女人黄片| 精品人妻熟女毛片av久久网站| 久久这里只有精品19| 老司机亚洲免费影院| 午夜福利一区二区在线看| 久久精品亚洲av国产电影网| 国产精品久久久久成人av| 国产主播在线观看一区二区| 久久久精品国产亚洲av高清涩受| 又黄又粗又硬又大视频| 欧美黑人欧美精品刺激| 电影成人av| 免费人妻精品一区二区三区视频| 欧美另类亚洲清纯唯美| 久久精品亚洲熟妇少妇任你| 日韩欧美国产一区二区入口| 精品少妇黑人巨大在线播放| 国产成人影院久久av| 国产日韩一区二区三区精品不卡| 日韩欧美国产一区二区入口| 桃红色精品国产亚洲av| 在线观看舔阴道视频| av欧美777| 最黄视频免费看| 精品久久久精品久久久| 黄片小视频在线播放| 99热国产这里只有精品6| 国产在视频线精品| 捣出白浆h1v1| av网站在线播放免费| 亚洲三区欧美一区| 日本a在线网址| 久久热在线av| 乱人伦中国视频| 高清黄色对白视频在线免费看| 9色porny在线观看| 天天影视国产精品| 91国产中文字幕| 色播在线永久视频| 蜜桃在线观看..| 精品国产一区二区久久| 下体分泌物呈黄色| 人人妻人人澡人人爽人人夜夜| 亚洲avbb在线观看| 男人舔女人的私密视频| 一边摸一边抽搐一进一小说 | 午夜精品国产一区二区电影| 久久精品91无色码中文字幕| 丁香六月欧美| 久久毛片免费看一区二区三区| 欧美人与性动交α欧美精品济南到| 天天躁日日躁夜夜躁夜夜| 久久毛片免费看一区二区三区| 免费在线观看黄色视频的| 老司机亚洲免费影院| 99国产精品免费福利视频| 首页视频小说图片口味搜索| 久久久久久免费高清国产稀缺| 国产精品 国内视频| 婷婷丁香在线五月| 飞空精品影院首页| 久久99一区二区三区| 色尼玛亚洲综合影院| 另类精品久久| 欧美精品一区二区大全| 王馨瑶露胸无遮挡在线观看| 久久中文看片网| 女人精品久久久久毛片| 精品一区二区三区视频在线观看免费 | 在线十欧美十亚洲十日本专区| 欧美变态另类bdsm刘玥| 99久久精品国产亚洲精品| 侵犯人妻中文字幕一二三四区| 女性生殖器流出的白浆| 丰满迷人的少妇在线观看| 在线观看人妻少妇| 午夜精品久久久久久毛片777| 99国产精品一区二区三区| 精品乱码久久久久久99久播| 高清av免费在线| 欧美 日韩 精品 国产| 中文字幕另类日韩欧美亚洲嫩草| 久久99热这里只频精品6学生| 欧美精品高潮呻吟av久久| 超色免费av| 高清欧美精品videossex| 高清视频免费观看一区二区| 免费av中文字幕在线| 乱人伦中国视频| 欧美日韩成人在线一区二区| 老熟妇乱子伦视频在线观看| 国产欧美日韩一区二区三区在线| 午夜福利在线观看吧| 色播在线永久视频| av有码第一页| 脱女人内裤的视频| 99精品欧美一区二区三区四区| 自拍欧美九色日韩亚洲蝌蚪91| 999久久久国产精品视频| 午夜福利在线观看吧| 无限看片的www在线观看| 19禁男女啪啪无遮挡网站| 亚洲第一欧美日韩一区二区三区 | 777久久人妻少妇嫩草av网站| 色婷婷av一区二区三区视频| 看免费av毛片| 大码成人一级视频| 丰满迷人的少妇在线观看| 91精品国产国语对白视频| 韩国精品一区二区三区| 国产精品一区二区在线观看99| e午夜精品久久久久久久| 久久香蕉激情| xxxhd国产人妻xxx| 伊人久久大香线蕉亚洲五| av线在线观看网站| 岛国毛片在线播放| 国产麻豆69| 国产精品久久久久成人av| 999久久久国产精品视频| 99久久人妻综合| 精品视频人人做人人爽| 久久天躁狠狠躁夜夜2o2o| 国产成人av激情在线播放| 亚洲av成人不卡在线观看播放网| 国产伦人伦偷精品视频| svipshipincom国产片| 激情视频va一区二区三区| 成人免费观看视频高清| 中文字幕色久视频| 精品一区二区三区视频在线观看免费 | 黄色视频在线播放观看不卡| 欧美黄色片欧美黄色片| av片东京热男人的天堂| 一二三四在线观看免费中文在| 国产三级黄色录像| 亚洲avbb在线观看| 午夜视频精品福利| 老鸭窝网址在线观看| 中文字幕av电影在线播放| 国产成人系列免费观看| 中亚洲国语对白在线视频| av网站在线播放免费| 亚洲欧美激情在线| 精品一品国产午夜福利视频| 国产一区二区三区在线臀色熟女 | 老司机影院毛片| 成人三级做爰电影| 一区二区三区激情视频| 午夜福利在线免费观看网站| 欧美另类亚洲清纯唯美| 亚洲精品在线美女| 极品教师在线免费播放| 欧美成人免费av一区二区三区 | 女人爽到高潮嗷嗷叫在线视频| 午夜福利欧美成人| 亚洲五月婷婷丁香| 99久久99久久久精品蜜桃| 男女无遮挡免费网站观看| 1024视频免费在线观看| 青青草视频在线视频观看| 久久久久久久大尺度免费视频| 久久国产精品大桥未久av| 十分钟在线观看高清视频www| 高清欧美精品videossex| 国产不卡一卡二| 露出奶头的视频| 亚洲精品乱久久久久久| 美女福利国产在线| 日本五十路高清| 国产有黄有色有爽视频| 国产成人av教育| 在线观看舔阴道视频| 女人被躁到高潮嗷嗷叫费观| 人人妻人人爽人人添夜夜欢视频| 视频在线观看一区二区三区| 美女扒开内裤让男人捅视频| 久久久久网色| 1024香蕉在线观看| 午夜老司机福利片| 不卡一级毛片| 久久精品亚洲av国产电影网| 亚洲熟女毛片儿| 最近最新免费中文字幕在线| 97人妻天天添夜夜摸| 国产免费福利视频在线观看| 亚洲va日本ⅴa欧美va伊人久久| 国产精品自产拍在线观看55亚洲 | 国产深夜福利视频在线观看| 一区二区av电影网| 涩涩av久久男人的天堂| 成人国产av品久久久| 99香蕉大伊视频| 日本黄色视频三级网站网址 | 国产高清国产精品国产三级| 久久av网站| 国产人伦9x9x在线观看| 亚洲精品一二三| 丰满人妻熟妇乱又伦精品不卡| 国产不卡一卡二| 久久久国产一区二区| tube8黄色片| e午夜精品久久久久久久| 极品少妇高潮喷水抽搐| 成年女人毛片免费观看观看9 | 两个人免费观看高清视频| 大片电影免费在线观看免费| 精品视频人人做人人爽| 国产片内射在线| 午夜福利一区二区在线看| 亚洲avbb在线观看| 一进一出好大好爽视频| 丰满迷人的少妇在线观看| 午夜福利,免费看| av一本久久久久| 人妻 亚洲 视频| 99久久精品国产亚洲精品| 一区二区三区精品91| 日韩精品免费视频一区二区三区| 亚洲综合色网址| 亚洲精华国产精华精| 国产成人系列免费观看| 亚洲色图av天堂| 无遮挡黄片免费观看| 国产精品久久久久久人妻精品电影 | 老司机午夜十八禁免费视频| 视频在线观看一区二区三区| 国产日韩一区二区三区精品不卡| 国产男靠女视频免费网站| 考比视频在线观看| 操美女的视频在线观看| 亚洲欧美精品综合一区二区三区| 国产精品二区激情视频| 一级毛片电影观看| 超碰97精品在线观看| 欧美激情高清一区二区三区| 在线播放国产精品三级| 国产精品麻豆人妻色哟哟久久| 久久精品成人免费网站| 一区二区三区国产精品乱码| 黄色视频不卡| 日韩中文字幕欧美一区二区| 国产在线免费精品| 成人影院久久| 丝瓜视频免费看黄片| 99国产精品一区二区蜜桃av | 免费观看人在逋| 嫁个100分男人电影在线观看| 王馨瑶露胸无遮挡在线观看| 18禁国产床啪视频网站| 在线播放国产精品三级| 91成人精品电影| 在线观看免费日韩欧美大片| 国产精品免费视频内射| 人人妻人人澡人人爽人人夜夜| 美女扒开内裤让男人捅视频| av免费在线观看网站| 在线天堂中文资源库| 一级片'在线观看视频| 国产亚洲一区二区精品| 久久精品国产亚洲av高清一级| 一本大道久久a久久精品| 国产91精品成人一区二区三区 | 久久久国产欧美日韩av| 久久久久国内视频| 欧美 亚洲 国产 日韩一| 极品教师在线免费播放| 黄片播放在线免费| 日本欧美视频一区| 欧美成狂野欧美在线观看| 天堂俺去俺来也www色官网| 精品国产一区二区三区久久久樱花| 国产aⅴ精品一区二区三区波| 黄片小视频在线播放| aaaaa片日本免费| 一级黄色大片毛片| 午夜福利免费观看在线| 欧美国产精品一级二级三级| 欧美亚洲 丝袜 人妻 在线| 真人做人爱边吃奶动态| 国产主播在线观看一区二区| 国产亚洲午夜精品一区二区久久| 欧美+亚洲+日韩+国产| 久久免费观看电影| 亚洲精品av麻豆狂野| 日韩制服丝袜自拍偷拍| 97人妻天天添夜夜摸| 99riav亚洲国产免费| 大香蕉久久网| 丁香欧美五月| 九色亚洲精品在线播放| 又黄又粗又硬又大视频| 伦理电影免费视频| 国产精品免费大片| 又大又爽又粗| 一个人免费在线观看的高清视频| 天天躁夜夜躁狠狠躁躁| 自线自在国产av| 波多野结衣av一区二区av| 国产成人系列免费观看| 极品少妇高潮喷水抽搐| av有码第一页| 国产高清videossex| 欧美午夜高清在线| 婷婷丁香在线五月| 亚洲精品在线观看二区| 亚洲免费av在线视频| 国产成人欧美| 18在线观看网站| 国产精品久久久久久精品古装| 精品福利永久在线观看| 国产成人免费无遮挡视频| 亚洲av日韩精品久久久久久密| av一本久久久久| 国产亚洲精品第一综合不卡| 日本撒尿小便嘘嘘汇集6| 亚洲成人免费电影在线观看| 99国产精品一区二区蜜桃av | 搡老乐熟女国产| 精品人妻1区二区| 国产成人免费观看mmmm| 午夜视频精品福利| 超色免费av| 超碰97精品在线观看| av超薄肉色丝袜交足视频| 国产在视频线精品| 色精品久久人妻99蜜桃| 国产成+人综合+亚洲专区| 久久久水蜜桃国产精品网| 国产成人精品久久二区二区免费| 亚洲成av片中文字幕在线观看| 色尼玛亚洲综合影院| 亚洲视频免费观看视频| 亚洲第一欧美日韩一区二区三区 | 国产欧美日韩一区二区三| 国产aⅴ精品一区二区三区波| 亚洲国产看品久久| 亚洲免费av在线视频| 久热这里只有精品99| 中文字幕色久视频| 日韩欧美一区视频在线观看| aaaaa片日本免费| 女人被躁到高潮嗷嗷叫费观| 69av精品久久久久久 | 18禁美女被吸乳视频| 精品一区二区三区av网在线观看 | 十八禁网站网址无遮挡| 99国产精品99久久久久| 十八禁网站免费在线| www.精华液| 欧美黄色片欧美黄色片| 法律面前人人平等表现在哪些方面| 涩涩av久久男人的天堂| 午夜久久久在线观看| 精品亚洲成国产av| 老司机深夜福利视频在线观看| 国产精品九九99| 色视频在线一区二区三区| 国产淫语在线视频| 国产人伦9x9x在线观看| 午夜福利欧美成人| 国产单亲对白刺激| 欧美黄色片欧美黄色片| 成人影院久久| 午夜福利在线免费观看网站| 久久国产亚洲av麻豆专区| 一本一本久久a久久精品综合妖精| 99国产精品99久久久久| 国产欧美亚洲国产| 久久热在线av| 日韩视频一区二区在线观看| 青青草视频在线视频观看| 午夜精品国产一区二区电影| 亚洲性夜色夜夜综合| 免费一级毛片在线播放高清视频 | 50天的宝宝边吃奶边哭怎么回事| 国产欧美日韩一区二区三| 国产高清videossex| 美女午夜性视频免费| 欧美精品av麻豆av| 热99久久久久精品小说推荐| 啦啦啦视频在线资源免费观看| 精品人妻熟女毛片av久久网站| 高潮久久久久久久久久久不卡| 免费高清在线观看日韩| 午夜日韩欧美国产| 午夜福利在线观看吧| 久久久国产一区二区| 精品少妇久久久久久888优播| 亚洲一卡2卡3卡4卡5卡精品中文| 日韩 欧美 亚洲 中文字幕| 精品免费久久久久久久清纯 | 91麻豆av在线| 日本av手机在线免费观看| 9热在线视频观看99| 色婷婷久久久亚洲欧美| 亚洲av成人不卡在线观看播放网| 高清毛片免费观看视频网站 | 欧美激情久久久久久爽电影 | 在线观看舔阴道视频| 精品一品国产午夜福利视频| 日本av免费视频播放| 搡老熟女国产l中国老女人| www.999成人在线观看| 嫁个100分男人电影在线观看| 免费一级毛片在线播放高清视频 | 欧美亚洲 丝袜 人妻 在线| xxxhd国产人妻xxx| 极品少妇高潮喷水抽搐| av网站免费在线观看视频| 黑人欧美特级aaaaaa片| 国产深夜福利视频在线观看| 大型av网站在线播放| 夫妻午夜视频| 999精品在线视频| 性色av乱码一区二区三区2| 成人18禁在线播放| 黄色 视频免费看| 99国产综合亚洲精品| 亚洲国产中文字幕在线视频| 美女午夜性视频免费| 国产精品电影一区二区三区 | 中文字幕人妻丝袜一区二区| 丰满迷人的少妇在线观看| 国产精品久久久av美女十八| 色视频在线一区二区三区| 黄色视频不卡| 又紧又爽又黄一区二区| 亚洲人成电影观看| tube8黄色片| 精品久久蜜臀av无| 亚洲成人免费av在线播放| 正在播放国产对白刺激| 91成年电影在线观看| 女性被躁到高潮视频| 久久人妻熟女aⅴ| 亚洲全国av大片| 久久久精品国产亚洲av高清涩受| 日韩欧美三级三区| 99精品在免费线老司机午夜| 69av精品久久久久久 | 黄色视频,在线免费观看| 日韩免费高清中文字幕av| 黄色视频,在线免费观看| 久久婷婷成人综合色麻豆| 久久香蕉激情| 久久天堂一区二区三区四区| 久久久久久久久免费视频了| 天天操日日干夜夜撸| 一边摸一边做爽爽视频免费| av网站免费在线观看视频| 在线观看人妻少妇|