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

    基于函數(shù)調(diào)用路徑的測試用例混合優(yōu)化方法

    2020-05-20 09:14:48張李梅牟永敏張志華崔展齊
    科學(xué)技術(shù)與工程 2020年9期
    關(guān)鍵詞:函數(shù)調(diào)用測試用例排序

    張李梅,牟永敏,張志華,崔展齊

    (北京信息科技大學(xué)網(wǎng)絡(luò)文化與數(shù)字傳播北京市重點(diǎn)實(shí)驗(yàn)室,北京 100101)

    回歸測試作為軟件開發(fā)和維護(hù)周期中非常重要的一個(gè)階段,產(chǎn)品的不斷迭代更新導(dǎo)致測試的成本越來越高[1]。如何在有限的資源以及保證測試質(zhì)量的前提下,對(duì)回歸測試用例進(jìn)行優(yōu)化,已經(jīng)成為軟件工程領(lǐng)域的研究熱點(diǎn)之一[2]?;貧w測試的優(yōu)化技術(shù)主要圍繞著測試用例的約簡,測試用例的選擇,測試用例的優(yōu)先級(jí)排序等主題進(jìn)行研究[3]。

    回歸測試用例的約簡技術(shù)通過識(shí)別并去除冗余的測試用例,以達(dá)到減少測試用例的目的[4]?;貧w測試用例選擇技術(shù)通過從測試用例集中選取與變更相關(guān)的測試用例子集,從而降低測試用例集的規(guī)模[5]。回歸測試用例的優(yōu)先級(jí)排序技術(shù)根據(jù)某種規(guī)則對(duì)測試用例的執(zhí)行次序排序,提高測試的效率[6]。同時(shí),為解決單目標(biāo)排序往往具有的片面性問題,研究者提出了多目標(biāo)測試用例優(yōu)先級(jí)排序方法,對(duì)多個(gè)優(yōu)化目標(biāo)進(jìn)行權(quán)衡,從而更加全面有效的對(duì)測試用例進(jìn)行排序。

    傳統(tǒng)的單獨(dú)針對(duì)某一主題的研究缺乏全面性思考,容易失去有效的測試用例或保留冗余的測試用例,近年來混合優(yōu)化方法得到越來越多人的關(guān)注[7]。在基于函數(shù)調(diào)用路徑(function call path,FCP)對(duì)代碼進(jìn)行變更影響分析的基礎(chǔ)上,結(jié)合回歸測試用例選擇及優(yōu)先級(jí)排序,提出一種測試用例初次選擇-排序-再次選擇的測試用例混合優(yōu)化方法。

    1 測試用例的混合優(yōu)化方法

    近年來,中外關(guān)于回歸測試用例混合優(yōu)化方法的研究已有大量報(bào)道。2011年,Mirarab等[8]先利用整數(shù)線性規(guī)劃方法對(duì)測試用例進(jìn)行選擇,然后使用貪心算法最大化最小覆蓋率,從而對(duì)所選擇的測試用例排序,該方法雖然能在覆蓋率方面達(dá)到較好的效果,但沒有考慮到缺陷、成本等方面的因素。2012年,Beszédes等[9]將基于代碼變更的覆蓋信息進(jìn)行測試用例選擇的方法引入開源項(xiàng)目WebKit,并比較了不同的優(yōu)先排序策略在缺陷檢測等方面的有效性,可從中選擇出更有效的策略,但沒有考慮在其他平臺(tái)上的適用性。2014年,Elbaum等[10]為保障項(xiàng)目的成本效益提出,提出了在提交代碼的預(yù)提交階段,使用測試用例的選擇技術(shù)選擇測試用例集的子套件進(jìn)行模塊測試,在隨后的提交后測試階段對(duì)測試用例進(jìn)行優(yōu)先級(jí)排序,這種方法能夠確保更快速的報(bào)告故障,但不適合進(jìn)行推廣,因?yàn)椴煌瑱C(jī)構(gòu)的質(zhì)量控制流程可能不同。2016年,鄭錦勤等[11]針對(duì)代碼變更中的其中一種只存在修改的情形,提出以最小化覆蓋關(guān)聯(lián)函數(shù)對(duì)為選擇原則,并利用測試用例的絕對(duì)貢獻(xiàn)度、缺陷檢測能力和缺陷影響度進(jìn)行排序,這種方法未考慮在添加或刪除功能的情形下如何處理。2017年,Spieker等[12]提出根據(jù)測試的歷史信息進(jìn)行強(qiáng)化學(xué)習(xí),從而進(jìn)行測試用例的選擇和排序,該方法只考慮測試歷史數(shù)據(jù)。2017年,Marijan等[13]先基于時(shí)間、覆蓋率、成本等約束最小化測試用例集,然后基于缺陷檢測能力和需求覆蓋進(jìn)行多目標(biāo)優(yōu)先級(jí)排序,該方法有效縮減了測試用例集的規(guī)模,但沒有考慮到縮減后的測試用例集的執(zhí)行時(shí)間。

    前人研究中混合優(yōu)化方法主要是基于語句粒度分析代碼。基于此,根據(jù)提取出的信息設(shè)計(jì)方案實(shí)現(xiàn)優(yōu)化,將代碼分析粒度由語句擴(kuò)展到函數(shù),既能避免路徑的爆炸式增長,又可以保證測試完全[14]。在基于函數(shù)調(diào)用路徑進(jìn)行變更影響分析的基礎(chǔ)上,將測試用例的選擇和優(yōu)先級(jí)排序兩個(gè)主題相結(jié)合,充分利用兩個(gè)主題的優(yōu)勢(shì),在對(duì)測試用例的執(zhí)行優(yōu)先級(jí)進(jìn)行排序的同時(shí),減少測試用例的數(shù)量,從而達(dá)到混合優(yōu)化的目的。

    2 基于FCP的測試用例混合優(yōu)化方法

    基于FCP的回歸測試用例混合優(yōu)化方法主要分為以下三個(gè)步驟。

    步驟1對(duì)代碼在函數(shù)粒度上進(jìn)行變更影響分析,生成變更影響路徑集和變更影響關(guān)鍵子路徑集,關(guān)聯(lián)初始測試用例集與函數(shù)調(diào)用路徑集,選擇出其中覆蓋了變更影響路徑的測試用例。

    步驟2因步驟1選擇出的測試用例集中,存在部分覆蓋相同變更影響關(guān)鍵子路徑集的測試用例,故先利用測試用例的變更覆蓋率、故障發(fā)生率、缺陷影響率、執(zhí)行開銷率四個(gè)指標(biāo)加權(quán)求和的結(jié)果,進(jìn)行優(yōu)先級(jí)排序,并根據(jù)測試用例的執(zhí)行信息動(dòng)態(tài)調(diào)整。

    步驟3對(duì)步驟2生成的測試用例集進(jìn)行再次選擇,從覆蓋了相同變更影響關(guān)鍵子路徑集的測試用例中,選擇出排序相對(duì)靠前的測試用例,形成最終的測試用例集。

    根據(jù)這三個(gè)步驟,可生成基于FCP的測試用例混合優(yōu)化方法的整體框架流程,如圖1所示。

    圖1 混合優(yōu)化方法整體框架流程Fig.1 Hybrid optimization method overall framework process

    2.1 測試用例的初次選擇

    測試用例的選擇技術(shù)通過分析代碼變更,確定程序中可能受影響的部分,進(jìn)而選擇出能夠覆蓋變更部分及可能受影響的部分的測試用例。本文所提出的測試用例選擇技術(shù)是先分析源程序中函數(shù)變更的情況以及可能受影響的函數(shù),并將這些函數(shù)映射到函數(shù)調(diào)用路徑上,確定變更影響路徑集以及變更影響關(guān)鍵子路徑集;然后根據(jù)FCP與測試用例的對(duì)應(yīng)關(guān)系,從初始測試用例集中選擇覆蓋了變更影響路徑集的測試用例。

    2.1.1 初次選擇基本概念

    為更好地理解測試用例的初次選擇,對(duì)其中所涉及的基本概念及其定義進(jìn)行闡述。

    定義1函數(shù)粒度的代碼變更。將源代碼表示成G=(V,E),對(duì)于?Vi∈V(G),?Ei∈E(G)。函數(shù)集用V(G)={V1,V2,…,Vn}表示,V1、Vn為函數(shù)節(jié)點(diǎn),對(duì)應(yīng)程序中的每個(gè)函數(shù);E(G)={Ei=(Vi,Vj)|Vi,Vj∈V(G)},Vi為Vj的父節(jié)點(diǎn),表示函數(shù)調(diào)用關(guān)系圖中有向邊的集合,反映了函數(shù)間的調(diào)用關(guān)系或順序執(zhí)行關(guān)系。定義基于G的編輯操作ACTION為以下三種。

    插入:INSERT(Vi,Vj,k)表示將函數(shù)節(jié)點(diǎn)Vi插入Vj的第k個(gè)子節(jié)點(diǎn)處。

    刪除:DELETE(Vi)表示刪除函數(shù)節(jié)點(diǎn)Vi。

    修改:MODIFY(Vi)表示修改函數(shù)節(jié)點(diǎn)Vi的內(nèi)部。

    定義2變更函數(shù)集。變更函數(shù)是指經(jīng)過定義1中三種變更行為的函數(shù)。變更函數(shù)集可表示為CFS(change function set)={CFi=(Vi,ACTION)|Vi∈V(G),ACTION∈{INSERT(Vi,Vj,k),DELETE(Vi),MODIFY(Vi)}},CFi表示CFS中的變更函數(shù)節(jié)點(diǎn)。

    定義3函數(shù)調(diào)用路徑。函數(shù)調(diào)用路徑是函數(shù)調(diào)用圖G中的一條路徑,即以函數(shù)為基本單位,程序的一次執(zhí)行軌跡[15]。可表示為FCP(function call path)=(Vi,Vi+1,…,Vq),其中{Vi,Vi+1,…,Vq}?V(G),{(Vi,Vi+1),(Vi+1,Vi+2),…,(Vq-1,Vq)}?E(G)。

    2.1.2 初次選擇算法設(shè)計(jì)

    根據(jù)定義2可知,變更行為可分為三種:插入、刪除、修改,生成變更影響路徑集的方法有兩種。

    (1)靜態(tài)分析變更前后兩個(gè)版本的源代碼,分別生成相對(duì)應(yīng)的全局函數(shù)調(diào)用路徑集,兩者相比較,不同的即為變更影響路徑。

    (2)靜態(tài)分析變更后的源代碼,生成對(duì)應(yīng)的全局函數(shù)調(diào)用路徑集,變更函數(shù)所在的函數(shù)調(diào)用路徑即為變更影響路徑。

    這兩種方法各有利弊,第一種方法不能分析出函數(shù)內(nèi)部發(fā)生修改的情況,第二種方法不能分析出刪除函數(shù)節(jié)點(diǎn)的情況,所以,可結(jié)合兩種方法設(shè)計(jì)變更影響分析算法(change impact analysis,CIA)。CIA算法描述如下:

    Input:變更前的函數(shù)調(diào)用路徑集FCPS

    變更后的函數(shù)調(diào)用路徑集FCPS_C

    變更函數(shù)集CFS

    Output:變更影響路徑集IFCPS

    變更影響關(guān)鍵子路徑集ICFCPS

    Begin

    IFCPS←?,ICFCPS←?

    //生成變更影響路徑集

    foreach fcp in FCPS_C do//遍歷所有變更后的函數(shù)調(diào)用路徑

    if fcp∈FCPS then//判斷變更前的函數(shù)調(diào)用路徑集中是否包括該函數(shù)調(diào)用路徑

    IFCPS←IFCPS+{fcp}//不包含,則直接加入變更影響路徑集中

    else//否則,根據(jù)變更函數(shù)生成變更影響路徑

    IFCPS←Add(CFS,fcp)

    end if

    end foreach

    //生成變更影響關(guān)鍵子路徑集

    foreach ifcp in IFCPS do//遍歷所有的變更影響路徑

    foreach cf in CFS do//遍歷所有的變更函數(shù)

    if cf ∈ ifcp then//判斷該變更影響路徑是否包含該變更函數(shù)

    ICFCPS←Add(ifcp,cf,ICFCPS)//根據(jù)該變更函數(shù)及變更影響路徑生成變更影響關(guān)鍵子路徑,并加入變更影響關(guān)鍵子路徑集中

    end if

    end foreach

    end foreach

    return IFCPS,ICFCPS

    End

    利用CIA算法生成變更影響路徑集后,動(dòng)態(tài)執(zhí)行初始測試用例集,生成其相對(duì)應(yīng)的FCP集[16]。將變更影響路徑與FCP進(jìn)行精確匹配,找到能夠覆蓋變更影響路徑集的測試用例即可。測試用例初次選擇算法(test case first section,TFS)描述如下:

    Input:變更前的函數(shù)調(diào)用路徑集FCPS

    變更后的函數(shù)調(diào)用路徑集FCPS_C

    變更函數(shù)集CFS

    初始測試用例集T

    Output:初次選擇后的測試用例集T_FS

    初次選擇后的測試用例集對(duì)應(yīng)的FCP集T_FS_FCPS

    Begin

    T_FS←?,T_FCPS←?,T_FS_FCPS←?

    IFCPS←CIA(FCPS,FCPS_C,CFS)

    //生成初始測試用例集中每個(gè)測試用例對(duì)應(yīng)的FCP集

    T_FCPS←Generate_T_FCPS(T)

    //生成初次選擇后的測試用例集

    fori=0 toi=T.length() do//遍歷所有的測試用例

    foreach fcp in T_FCPS[ido//遍歷該測試用例對(duì)應(yīng)的FCP

    if fcp ∈ IFCPS then//判斷該FCP是否為變更影響路徑

    T_FS←T_FS+T[i]//將該測試用例加入初次選擇后的測試用例集中

    T_FS_FCPS←T_FS_FCPS+Search(T_FCPS,T[i])//將該測試用例對(duì)應(yīng)的FCP集加入初次選擇后的測試用例集所對(duì)應(yīng)的FCP集中

    break

    end if

    end foreach

    end for

    return T_FS,T_FS_FCPS

    End

    2.2 多目標(biāo)測試用例優(yōu)先級(jí)排序

    初始測試用例集在經(jīng)過初次選擇后,在一定程度上減少了測試用例的數(shù)量,但仍存在部分冗余的測試用例,這些用例覆蓋了相同的變更影響關(guān)鍵子路徑,如果從中隨機(jī)選擇其中一個(gè),很有可能損失更有價(jià)值的測試用例,故先對(duì)測試用例進(jìn)行排序。

    測試用例的優(yōu)先級(jí)排序是指選取有效的優(yōu)先級(jí)排序指標(biāo),用以生成最優(yōu)的測試用例執(zhí)行次序。使用變更覆蓋率、故障發(fā)生率、缺陷影響率、執(zhí)行開銷率四個(gè)指標(biāo)加權(quán)求和的結(jié)果對(duì)測試用例排序,并設(shè)計(jì)了能夠根據(jù)測試用例的執(zhí)行信息動(dòng)態(tài)調(diào)整優(yōu)先級(jí)的算法。

    2.2.1 優(yōu)先級(jí)排序指標(biāo)

    從不同角度出發(fā)設(shè)計(jì)了四個(gè)優(yōu)先級(jí)排序指標(biāo),其相關(guān)定義如下。

    定義6測試用例的變更覆蓋率。測試用例的變更覆蓋率是指測試用例ti在執(zhí)行過程中覆蓋的變更函數(shù)及可能受影響的函數(shù)的個(gè)數(shù),與所有的變更函數(shù)及可能受影響的函數(shù)個(gè)數(shù)的比值,可用式(1)表示。

    (1)

    式(1)中:Cti為測試用例ti在執(zhí)行過程中覆蓋的變更函數(shù)及可能受影響的函數(shù)集;C為變更函數(shù)及可能受影響的全部函數(shù)的集合。

    定義7測試用例的故障發(fā)生率。測試用例的故障發(fā)生率指的是測試用例發(fā)生故障的執(zhí)行次數(shù)與總的執(zhí)行次數(shù)的比值??捎檬?2)表示:

    (2)

    式(2)中:FEti為測試用例ti發(fā)生故障的執(zhí)行次數(shù);Eti為測試用例ti總的執(zhí)行次數(shù)。

    定義8測試用例缺陷影響率。測試用例缺陷影響率指的是測試用例ti在執(zhí)行過程中檢測到的缺陷對(duì)程序執(zhí)行的影響程度,即由于缺陷的存在導(dǎo)致不能被覆蓋的變更函數(shù)及可能受變更函數(shù)影響的函數(shù)的個(gè)數(shù),在所有的因缺陷影響而未能覆蓋變更函數(shù)及可能受影響的函數(shù)個(gè)數(shù)中的占比。可用式(3)表示。

    (3)

    式(3)中:FCti為測試用例ti因檢測到缺陷而不能覆蓋的變更函數(shù)及可能受變更函數(shù)影響的函數(shù)集;FC為總的因缺陷影響而未能覆蓋的變更函數(shù)及可能受影響的函數(shù)集。

    定義9測試用例執(zhí)行開銷率。測試用例執(zhí)行開銷率指的是執(zhí)行測試用例ti所花費(fèi)的代價(jià),可用單位時(shí)間內(nèi)的函數(shù)覆蓋率表示,如式(4)所示:

    (4)

    式(4)中:Mti為測試用例ti覆蓋的函數(shù)集;Sti為測試用例ti的執(zhí)行時(shí)間。

    定義10測試用例優(yōu)先級(jí)排序綜合指標(biāo)。測試用例優(yōu)先級(jí)排序綜合指標(biāo)指的是將定義6~定義9中的指標(biāo)進(jìn)行加權(quán)求和的結(jié)果,可表示為

    Dti=ω1DC|ti+ω2DFE|ti+ω3DFC|ti+ω4DMS|ti

    (5)

    式(5)中:ω1、ω2、ω3、ω4分別為變更覆蓋率、故障發(fā)生率、缺陷影響率和執(zhí)行開銷率的權(quán)重,且ω1+ω2+ω3+ω4=1。

    所用的權(quán)重系數(shù)是先隨機(jī)選取50組,用以模擬實(shí)際測試中各種不同權(quán)重的選取情況,然后在實(shí)驗(yàn)中不斷比較調(diào)整,從而得出的一組能夠取得相對(duì)較好的實(shí)驗(yàn)效果的權(quán)重。在實(shí)際項(xiàng)目中,可根據(jù)不同側(cè)重,靈活調(diào)整權(quán)值。

    2.2.2 多目標(biāo)排序算法設(shè)計(jì)

    多目標(biāo)優(yōu)先級(jí)排序算法主要分為兩種,基于加權(quán)法的算法和基于Pareto最優(yōu)的求解算法[17]。直接求解Pareto最優(yōu)解集的方法雖然能在一定程度上實(shí)現(xiàn)目標(biāo),但容易陷入局部最優(yōu),且該方法的執(zhí)行效率深受測試用例數(shù)量的影響。而基于加權(quán)法的排序方法更加簡單易懂,且易于在實(shí)際項(xiàng)目中推廣。

    因此,借鑒加權(quán)法中的啟發(fā)式貪婪算法的思想,并基于Additional策略設(shè)計(jì)了多目標(biāo)動(dòng)態(tài)調(diào)整優(yōu)先級(jí)排序算法MODAP。

    (1)根據(jù)初次選擇后的測試用例集T_FS對(duì)當(dāng)前未被覆蓋的變更影響路徑集IFCPS_UC的覆蓋情況計(jì)算變更覆蓋率,對(duì)測試用例的變更覆蓋率、故障發(fā)生率、缺陷影響率和執(zhí)行開銷率加權(quán)求和,進(jìn)行初始排序。

    (2)執(zhí)行排在第一位的測試用例,將其加入排序后的測試用例集T_MDAP,并從T_FS中去掉。

    (3)根據(jù)該測試用例的執(zhí)行信息,重新對(duì)排序指標(biāo)賦值計(jì)算,調(diào)整T_MDAP中測試用例的順序,從未被覆蓋的變更影響路徑集IFCPS_UC中去除該測試用例覆蓋的變更影響路徑。

    (4)判斷IFCPS_UC是否為空,不為空,則返回第(1)步,否則,當(dāng)前的T_MDAP即為排序結(jié)果。多目標(biāo)動(dòng)態(tài)調(diào)整優(yōu)先級(jí)(multi-objective dynamic adjusting priority,MODAP)算法描述如下。

    Input:初次選擇后的測試用例集T_FS

    變更影響路徑集IFCPS

    Output:動(dòng)態(tài)調(diào)整排序后的測試用例集T_MDAP

    Begin

    T_MDAP←?,Priority_FS←?,Priority_MDAP←?,IFCPS_UC←IFCPS

    while IFCPS_UC≠? do

    foreachtin T_FS do//遍歷初次選擇后的所有的測試用例

    Priority_FS←Add(t,CalculateG(t),IFCPS_UC)//計(jì)算優(yōu)先級(jí)排序綜合指標(biāo)

    end foreach

    T_FS←Sort(T_FS,Priority_FS)//根據(jù)優(yōu)先級(jí)排序綜合指標(biāo)對(duì)測試用例從高到低排序

    t←First{T_FS}//找到排在第一位的測試用例

    T_MDAP←T_MDAP+{t}//將該測試用例加入排序后的測試用例集中

    T_FS←T_FS-{t}//從初次選擇后的測試用例集中刪除該測試用例

    Priority_MDAP←Add(Update_Priority(t,CalculateG(Execute(t))))//根據(jù)執(zhí)行信息重新計(jì)算排序指標(biāo)

    T_MDAP←Sort(T_MDAP,Priority_MDAP)//調(diào)整排序

    IFCPS_UC←IFCPS_UC-{t.ifcps}//去掉該測試用例覆蓋的變更影響路徑

    end while

    return T_MDAP

    End

    2.3 測試用例的再次選擇

    變更影響關(guān)鍵子路徑,是變更影響路徑中與變更關(guān)系更加密切的函數(shù)調(diào)用路徑段。兩者是多對(duì)多的關(guān)系。一條變更影響路徑可能包括多條變更影響關(guān)鍵子路徑,一條變更影響關(guān)鍵子路徑也可能包含于多條變更影響路徑中。所以,排序后的測試用例集中可能仍然存在部分冗余的測試用例,這些測試用例覆蓋了相同的變更影響關(guān)鍵子路徑,因此需要進(jìn)行再次選擇。

    測試用例的再次選擇可從相關(guān)概念和算法設(shè)計(jì)兩方面敘述。

    2.3.1 再次選擇相關(guān)概念

    定義11用例變更關(guān)鍵影響覆蓋矩陣。用例變更關(guān)鍵影響覆蓋矩陣T_ICFCP是一個(gè)|T|×|ICFCPS|二進(jìn)制矩陣,表示測試用例集T={t1,t2,…,tn}到變更影響關(guān)鍵子路徑集ICFCPS的覆蓋關(guān)系,矩陣元素如式(6)定義:

    (6)

    定義12用例變更影響覆蓋矩陣。用例變更影響覆蓋矩陣T_IFCP表示測試用例集T到變更影響路徑集IFCPS的覆蓋關(guān)系,矩陣元素如式(7)定義:

    (7)

    定義13關(guān)鍵變更包含矩陣。關(guān)鍵變更包含矩陣CI表示變更影響路徑集IFCPS到變更影響關(guān)鍵子路徑集ICFCPS的包含關(guān)系,矩陣元素如式(8)定義:

    (8)

    2.3.2 再次選擇算法設(shè)計(jì)

    根據(jù)概念設(shè)計(jì)測試用例再次選擇算法(test case re-selection,TRS)其算法思想是:先生成用例變更關(guān)鍵影響覆蓋矩陣,通過用例變更關(guān)鍵影響覆蓋矩陣獲得任意一個(gè)測試用例覆蓋的變更影響關(guān)鍵子路徑集,同時(shí),獲取到任意一個(gè)變更影響關(guān)鍵子路徑的執(zhí)行測試用例集,然后從覆蓋了相同變更影響關(guān)鍵子路徑的測試用例中選擇排序相對(duì)靠前的測試用例。TRS算法描述如下:

    Input:動(dòng)態(tài)調(diào)整排序后的測試用例集T_MDAP

    初次選擇后的測試用例集對(duì)應(yīng)的FCP集T_FS_FCPS

    變更影響路徑集IFCPS

    變更影響關(guān)鍵子路徑集ICFCPS

    Output:再次選擇后生成的測試用例集T_RS

    Begin

    //初始化

    ICFCPS_UC←ICFCPS,T_MDAP_FCPS←?

    //生成用例變更影響覆蓋矩陣T_IFCP

    T_MDAP_FCPS←Sort(Update(T_FS_FCPS,T_MDAP))

    T_IFCP←Generate_T_IFCP(T_MDAP_FCPS,IFCPS)

    //生成關(guān)鍵變更包含矩陣CI

    CI←Generate_CI(IFCPS,ICFCPS)

    //根據(jù)T_IFCP及CI,生成用例變更關(guān)鍵影響覆蓋矩陣

    T_ICFCP←Generate_T_ICFCP(T_IFCP,CI)

    //選擇

    while ICFCPS_UC≠? do

    t←First(T_MDAP)//找到排名第一的測試用例

    icfcps←Get_icfcps(t,T_ICFCP,ICFCPS_UC)//統(tǒng)計(jì)該測試用例在未被覆蓋的變更影響關(guān)鍵子路徑集中覆蓋的變更影響關(guān)鍵子路徑

    T_RS←T_RS+{t}//將該測試用例加入再次選擇后的測試用例集中

    T_MDAP←T_MDAP-{t}//從排序后的測試用例集中去掉該測試用例

    ICFCPS_UC←ICFCPS_UC-{icfcps}//去掉統(tǒng)計(jì)出的變更影響關(guān)鍵子路徑

    end while

    return T_RS

    End

    3 實(shí)驗(yàn)與評(píng)測

    3.1 實(shí)驗(yàn)數(shù)據(jù)與評(píng)測指標(biāo)

    為驗(yàn)證所提出方法的有效性,選擇SIR(Software-artifact Infrastructure Repository)庫中的評(píng)測程序Siemens Suite和gzip及其相應(yīng)的測試用例集進(jìn)行實(shí)驗(yàn)對(duì)比,其具體相關(guān)信息如表1所示。

    表1 評(píng)測程序基本信息Table 1 Evaluation programs basic information

    所提出的混合優(yōu)化方法的目的是在減少測試用例數(shù)量的同時(shí),盡量避免降低測試用例集的錯(cuò)誤檢測能力,因此采用約簡率R和平均缺陷檢測率APFDC(average percentage of fault detectionCost-cognizant)作為度量標(biāo)準(zhǔn)。

    約簡率R用于衡量測試用例數(shù)量減少的程度,其計(jì)算公式如式(9)所示:

    (9)

    式(9)中:T為初始測試用例集;T′為優(yōu)化后的測試用例集。R的值越大,表示優(yōu)化后的測試用例的數(shù)量越少,優(yōu)化效果越好。

    APFDC用于度量測試用例集的平均錯(cuò)誤檢測能力,該指標(biāo)對(duì)測試用例的執(zhí)行開銷和缺陷的危害程度進(jìn)行了綜合考量,計(jì)算公式如式(10)所示:

    (10)

    式(10)中:初始測試用例集為T,包含n個(gè)測試用例,m個(gè)缺陷。給定一個(gè)測試用例執(zhí)行次序,TFi表示首個(gè)可檢測到第i個(gè)缺陷的測試用例在該執(zhí)行次序中所處次序;ti代表第i個(gè)測試用例的執(zhí)行開銷;tj代表第j個(gè)測試用例的執(zhí)行開銷;fi代表第i個(gè)缺陷的危害程度。APFDC的值越大,表示測試用例集能更快檢測到更多更嚴(yán)重的缺陷。

    3.2 實(shí)驗(yàn)對(duì)比與結(jié)果分析

    設(shè)計(jì)實(shí)驗(yàn)從兩方面出發(fā)對(duì)本文方法的有效性進(jìn)行驗(yàn)證。一方面,所提混合優(yōu)化方法分為三個(gè)步驟,可比較每一個(gè)步驟執(zhí)行后的結(jié)果,分析三個(gè)步驟依次執(zhí)行是否能逐步增強(qiáng)優(yōu)化;另一方面,選擇文獻(xiàn)[8]和文獻(xiàn)[11]所提方法與本文方法進(jìn)行實(shí)驗(yàn)對(duì)比,驗(yàn)證本文方法是否能取得更好的優(yōu)化效果。

    圖2 混合優(yōu)化方法三個(gè)步驟的簡約率和APFDCFig.2 Reduction rate and APFDC of the three steps fo hybrid optim zation

    3.2.1 混合優(yōu)化方法的三個(gè)步驟的優(yōu)化效果實(shí)驗(yàn)對(duì)比

    所提出的混合優(yōu)化方法分為三步,每一步都在前一步的基礎(chǔ)上進(jìn)行,可驗(yàn)證每一步是否能比前一步的優(yōu)化效果更好。實(shí)驗(yàn)的對(duì)比結(jié)果如圖2所示。

    由圖2(a)可知,三個(gè)步驟下的約簡率逐漸升高,測試用例再次選擇后的測試用例數(shù)量最少;觀察圖2(b)可知,測試用例再次選擇后的APFDC與優(yōu)先級(jí)排序后的APFDC基本相同。由此可知,所提方法能在盡量避免損失有價(jià)值的測試用例的情況下,極大程度地減少測試用例的數(shù)量,提高回歸測試的效率。

    3.2.2 與已有方法的對(duì)比

    本文方法與文獻(xiàn)[8]、文獻(xiàn)[11]方法都為混合優(yōu)化方法,可將這三種方法都在函數(shù)粒度上進(jìn)行對(duì)比實(shí)驗(yàn),以驗(yàn)證本文方法的有效性。結(jié)果如圖3所示。

    圖3 三種方法的約簡率和APFDCFig.3 Reduction rate and APFDC of the three methods

    由圖3可知,本文方法的約簡率略遜于文獻(xiàn)[11],但APFDC最高;文獻(xiàn)[11]方法因不能處理增加或刪除的情況,約簡率雖高,但全面性不足,故其APFDC低于本文方法。相對(duì)而言,本文方法的優(yōu)化效果最好。

    4 結(jié)論

    在對(duì)代碼進(jìn)行基于FCP的變更影響分析的基礎(chǔ)上,提出一種測試用例混合優(yōu)化方法。首先選擇出覆蓋了變更影響路徑集的測試用例,然后利用測試用例的執(zhí)行信息對(duì)測試用例的變更覆蓋率、故障發(fā)生率、缺陷影響率和執(zhí)行開銷率重新賦值,進(jìn)而動(dòng)態(tài)調(diào)整排序,最后從覆蓋了相同變更影響關(guān)鍵子路徑的測試用例中選擇出排序更靠前的測試用例,三步生成最后的測試用例集。實(shí)驗(yàn)結(jié)果證明,本文方法可以有效減少測試用例的數(shù)量,同時(shí)可以避免損失一部分更有價(jià)值的測試用例,減少了額外開銷,提高了回歸測試的效率。

    猜你喜歡
    函數(shù)調(diào)用測試用例排序
    排序不等式
    基于C語言的數(shù)學(xué)菜單的設(shè)計(jì)與實(shí)現(xiàn)
    基于SmartUnit的安全通信系統(tǒng)單元測試用例自動(dòng)生成
    恐怖排序
    節(jié)日排序
    基于混合遺傳算法的回歸測試用例集最小化研究
    基于函數(shù)調(diào)用序列模式和函數(shù)調(diào)用圖的程序缺陷檢測方法*
    刻舟求劍
    兒童繪本(2018年5期)2018-04-12 16:45:32
    探討C++編程中避免代碼冗余的技巧
    Unity3D項(xiàng)目腳本優(yōu)化分析與研究
    中國新通信(2017年1期)2017-03-08 03:12:21
    中文字幕免费在线视频6| 国内毛片毛片毛片毛片毛片| 亚洲欧美清纯卡通| 国产单亲对白刺激| 亚洲av成人精品一区久久| 国产伦在线观看视频一区| av.在线天堂| 深夜a级毛片| 免费不卡的大黄色大毛片视频在线观看 | 成年人黄色毛片网站| 99热这里只有是精品在线观看| 国产大屁股一区二区在线视频| netflix在线观看网站| av天堂中文字幕网| 日本色播在线视频| 国产精品自产拍在线观看55亚洲| 久久久色成人| 日本三级黄在线观看| 国产色爽女视频免费观看| 成人永久免费在线观看视频| 成人国产一区最新在线观看| 天堂动漫精品| 在线观看午夜福利视频| 午夜福利成人在线免费观看| 日韩在线高清观看一区二区三区 | 在线观看av片永久免费下载| 一进一出好大好爽视频| 国产精品自产拍在线观看55亚洲| bbb黄色大片| 直男gayav资源| 在线观看舔阴道视频| 一区二区三区激情视频| 丰满的人妻完整版| 免费搜索国产男女视频| 如何舔出高潮| 国产亚洲精品av在线| 国产一级毛片七仙女欲春2| eeuss影院久久| 九九热线精品视视频播放| 日韩欧美免费精品| 久久精品国产亚洲网站| 精品久久久噜噜| 欧美激情久久久久久爽电影| 一级a爱片免费观看的视频| 长腿黑丝高跟| 美女cb高潮喷水在线观看| 成人亚洲精品av一区二区| 午夜免费男女啪啪视频观看 | 精品人妻视频免费看| 日韩欧美三级三区| 国产精品一区www在线观看 | 亚洲无线在线观看| 久久午夜亚洲精品久久| 天堂av国产一区二区熟女人妻| 国产视频一区二区在线看| www日本黄色视频网| 狂野欧美激情性xxxx在线观看| 一个人观看的视频www高清免费观看| 精品99又大又爽又粗少妇毛片 | 欧美精品国产亚洲| 国产淫片久久久久久久久| 亚洲精品456在线播放app | 一个人免费在线观看电影| 别揉我奶头~嗯~啊~动态视频| 99久国产av精品| 成人一区二区视频在线观看| 在线观看免费视频日本深夜| 99国产极品粉嫩在线观看| 国产精品自产拍在线观看55亚洲| 婷婷丁香在线五月| 国产精品乱码一区二三区的特点| 91麻豆精品激情在线观看国产| 日日干狠狠操夜夜爽| 日本撒尿小便嘘嘘汇集6| 国产色爽女视频免费观看| 天堂av国产一区二区熟女人妻| 精品一区二区三区视频在线观看免费| 97超视频在线观看视频| 免费搜索国产男女视频| 欧美国产日韩亚洲一区| 老熟妇仑乱视频hdxx| 免费不卡的大黄色大毛片视频在线观看 | 亚洲国产精品sss在线观看| 少妇裸体淫交视频免费看高清| 国产中年淑女户外野战色| 国产欧美日韩精品一区二区| 久久精品人妻少妇| 亚洲国产欧洲综合997久久,| av女优亚洲男人天堂| 又爽又黄a免费视频| 免费看光身美女| 小说图片视频综合网站| 亚州av有码| 久久久久国内视频| 久久久久久久亚洲中文字幕| 色哟哟哟哟哟哟| 国产蜜桃级精品一区二区三区| 最近视频中文字幕2019在线8| 亚洲五月天丁香| 亚洲精品456在线播放app | 超碰av人人做人人爽久久| 国产麻豆成人av免费视频| 人妻丰满熟妇av一区二区三区| 午夜福利高清视频| 亚洲最大成人av| 国产美女午夜福利| 国产色婷婷99| 国产伦精品一区二区三区四那| 午夜福利在线在线| 国产一区二区在线av高清观看| 亚洲欧美日韩高清专用| 麻豆一二三区av精品| 99热精品在线国产| 亚洲第一区二区三区不卡| 久久精品国产清高在天天线| 久久九九热精品免费| 午夜精品一区二区三区免费看| 国产乱人伦免费视频| 少妇丰满av| 嫩草影院新地址| 免费看av在线观看网站| 国产精品不卡视频一区二区| 久久99热这里只有精品18| 亚洲黑人精品在线| 亚洲avbb在线观看| 欧美最新免费一区二区三区| 国产成人福利小说| 亚洲欧美激情综合另类| 免费看光身美女| 国产 一区精品| 久久天躁狠狠躁夜夜2o2o| 日韩欧美在线二视频| 国产精品1区2区在线观看.| 国内揄拍国产精品人妻在线| 18禁裸乳无遮挡免费网站照片| 免费人成在线观看视频色| 成年女人看的毛片在线观看| 国产精品日韩av在线免费观看| 1024手机看黄色片| 亚洲精华国产精华液的使用体验 | 国产单亲对白刺激| 欧美三级亚洲精品| 欧美日韩中文字幕国产精品一区二区三区| av女优亚洲男人天堂| 搡老熟女国产l中国老女人| 97碰自拍视频| 最近中文字幕高清免费大全6 | 日本黄大片高清| 亚洲av免费在线观看| 亚洲四区av| 精品久久久久久久久久免费视频| av在线观看视频网站免费| 听说在线观看完整版免费高清| 久久久久性生活片| 国产精品国产高清国产av| 最新中文字幕久久久久| 91在线精品国自产拍蜜月| 韩国av在线不卡| 亚洲国产日韩欧美精品在线观看| 国产不卡一卡二| 丝袜美腿在线中文| 国产在线精品亚洲第一网站| 久久精品91蜜桃| 久久亚洲精品不卡| 国产精华一区二区三区| 赤兔流量卡办理| 日本五十路高清| 我要搜黄色片| 别揉我奶头 嗯啊视频| 两个人的视频大全免费| 18禁在线播放成人免费| 免费黄网站久久成人精品| 亚洲av二区三区四区| 他把我摸到了高潮在线观看| 简卡轻食公司| 亚洲午夜理论影院| 亚洲精品日韩av片在线观看| 最近最新免费中文字幕在线| 联通29元200g的流量卡| 亚洲乱码一区二区免费版| 搡老妇女老女人老熟妇| 亚洲人成网站在线播| 国产精品98久久久久久宅男小说| 天堂√8在线中文| 国产精品一区www在线观看 | 国产精品女同一区二区软件 | 99热精品在线国产| 国产午夜福利久久久久久| 日韩欧美三级三区| 一级黄片播放器| 99精品在免费线老司机午夜| 国产精品无大码| 淫秽高清视频在线观看| 级片在线观看| av天堂在线播放| 精品免费久久久久久久清纯| 国产大屁股一区二区在线视频| 大型黄色视频在线免费观看| 18禁在线播放成人免费| 亚洲图色成人| 黄色日韩在线| 久久久久久国产a免费观看| 非洲黑人性xxxx精品又粗又长| 日本熟妇午夜| 一区福利在线观看| 国产人妻一区二区三区在| 99久久精品一区二区三区| 日韩欧美国产一区二区入口| 国产精品久久视频播放| 又黄又爽又刺激的免费视频.| 亚洲一区二区三区色噜噜| 欧美日韩中文字幕国产精品一区二区三区| 欧美极品一区二区三区四区| 男女啪啪激烈高潮av片| 69av精品久久久久久| 精品久久久久久久久久久久久| 精品一区二区三区视频在线观看免费| 国产精品精品国产色婷婷| 级片在线观看| 大型黄色视频在线免费观看| 亚洲aⅴ乱码一区二区在线播放| 午夜久久久久精精品| 国产女主播在线喷水免费视频网站 | 亚洲一区二区三区色噜噜| 色哟哟·www| 国产69精品久久久久777片| 亚洲av五月六月丁香网| 精品乱码久久久久久99久播| 最新在线观看一区二区三区| 亚洲成人久久性| 最近视频中文字幕2019在线8| 欧美日韩亚洲国产一区二区在线观看| 麻豆成人av在线观看| 国产黄a三级三级三级人| 十八禁网站免费在线| 女的被弄到高潮叫床怎么办 | 男女视频在线观看网站免费| 中文字幕久久专区| 成人三级黄色视频| 国产中年淑女户外野战色| 亚洲欧美日韩东京热| 一进一出好大好爽视频| 欧美色欧美亚洲另类二区| 成人特级黄色片久久久久久久| 亚洲熟妇熟女久久| 啦啦啦啦在线视频资源| 国产黄片美女视频| 精品乱码久久久久久99久播| 精品欧美国产一区二区三| 久久人妻av系列| 婷婷精品国产亚洲av在线| 精品久久国产蜜桃| 日本黄色片子视频| 国产一区二区三区视频了| 最近视频中文字幕2019在线8| 蜜桃久久精品国产亚洲av| 欧美最新免费一区二区三区| 精品免费久久久久久久清纯| 国产欧美日韩精品一区二区| 热99在线观看视频| 狂野欧美白嫩少妇大欣赏| 欧美激情久久久久久爽电影| 男女边吃奶边做爰视频| 人妻丰满熟妇av一区二区三区| 亚洲美女黄片视频| 男人和女人高潮做爰伦理| 欧美潮喷喷水| 久久精品久久久久久噜噜老黄 | 久久久久国产精品人妻aⅴ院| 久久中文看片网| 日本撒尿小便嘘嘘汇集6| 国语自产精品视频在线第100页| 久久精品影院6| 亚洲精品456在线播放app | 无人区码免费观看不卡| 国产老妇女一区| 九九热线精品视视频播放| 九色国产91popny在线| 日日啪夜夜撸| 高清毛片免费观看视频网站| 久久精品国产亚洲av涩爱 | 干丝袜人妻中文字幕| 内地一区二区视频在线| 欧美日韩黄片免| 香蕉av资源在线| 亚洲欧美清纯卡通| 国产伦在线观看视频一区| 精品久久国产蜜桃| 别揉我奶头 嗯啊视频| 大型黄色视频在线免费观看| 狠狠狠狠99中文字幕| 国产高清三级在线| 美女黄网站色视频| 精品午夜福利视频在线观看一区| 中文字幕av成人在线电影| 成人午夜高清在线视频| 亚洲欧美日韩东京热| 国产男人的电影天堂91| 中出人妻视频一区二区| 男女啪啪激烈高潮av片| 熟女人妻精品中文字幕| 女同久久另类99精品国产91| 精品免费久久久久久久清纯| 欧美高清性xxxxhd video| 亚洲经典国产精华液单| 国产一区二区三区在线臀色熟女| 国产在线精品亚洲第一网站| 最新中文字幕久久久久| 免费看日本二区| 欧美日韩黄片免| 亚洲七黄色美女视频| 亚洲欧美日韩高清在线视频| eeuss影院久久| 欧美丝袜亚洲另类 | 搡老妇女老女人老熟妇| 欧美国产日韩亚洲一区| 夜夜看夜夜爽夜夜摸| 欧美性感艳星| 亚洲av成人精品一区久久| 深夜a级毛片| 欧美色视频一区免费| 少妇高潮的动态图| a级毛片免费高清观看在线播放| 亚洲美女搞黄在线观看 | 色哟哟哟哟哟哟| 久久6这里有精品| 天堂影院成人在线观看| 在线观看一区二区三区| 日本欧美国产在线视频| 少妇高潮的动态图| 听说在线观看完整版免费高清| 国产又黄又爽又无遮挡在线| 国产精品无大码| 最近在线观看免费完整版| 成人特级黄色片久久久久久久| 欧美一区二区国产精品久久精品| 久久久久久久久中文| www.色视频.com| 99热这里只有精品一区| 精品人妻1区二区| 久久国内精品自在自线图片| 国产精品1区2区在线观看.| 欧美zozozo另类| 国产精品人妻久久久久久| 美女黄网站色视频| 蜜桃久久精品国产亚洲av| www日本黄色视频网| 三级毛片av免费| 夜夜看夜夜爽夜夜摸| 日日干狠狠操夜夜爽| 午夜视频国产福利| 成人国产麻豆网| 女的被弄到高潮叫床怎么办 | 亚洲欧美日韩卡通动漫| 联通29元200g的流量卡| 99热只有精品国产| 欧洲精品卡2卡3卡4卡5卡区| 亚洲专区中文字幕在线| 51国产日韩欧美| 亚洲成人免费电影在线观看| 久久久久久久精品吃奶| 变态另类成人亚洲欧美熟女| 国产精品自产拍在线观看55亚洲| 人妻丰满熟妇av一区二区三区| 久久这里只有精品中国| 精品午夜福利视频在线观看一区| 午夜a级毛片| xxxwww97欧美| 欧美一区二区精品小视频在线| 亚洲精品久久国产高清桃花| av专区在线播放| 久久精品夜夜夜夜夜久久蜜豆| 最新在线观看一区二区三区| 久久久久久九九精品二区国产| av女优亚洲男人天堂| 国产精品1区2区在线观看.| 欧美日韩乱码在线| 国产色爽女视频免费观看| 亚洲精品日韩av片在线观看| 亚洲成人久久爱视频| 亚洲经典国产精华液单| 男插女下体视频免费在线播放| 少妇熟女aⅴ在线视频| 女人十人毛片免费观看3o分钟| 国产毛片a区久久久久| 欧美日韩中文字幕国产精品一区二区三区| 99热这里只有是精品50| 成人国产麻豆网| 欧美色欧美亚洲另类二区| 美女高潮的动态| 免费看a级黄色片| 色视频www国产| 国产一区二区三区av在线 | 一个人免费在线观看电影| 国产欧美日韩精品一区二区| 亚洲av成人av| 亚洲精品色激情综合| 亚洲精品乱码久久久v下载方式| 91av网一区二区| 国产日本99.免费观看| 又粗又爽又猛毛片免费看| 好男人在线观看高清免费视频| 免费av不卡在线播放| 国产精品三级大全| 国内精品久久久久精免费| 一进一出好大好爽视频| 国产高清三级在线| 亚州av有码| 黄色丝袜av网址大全| 色在线成人网| 亚洲一区高清亚洲精品| 免费看a级黄色片| 久久99热6这里只有精品| 亚洲精品亚洲一区二区| 日韩 亚洲 欧美在线| 色哟哟哟哟哟哟| 毛片女人毛片| 在线a可以看的网站| 嫩草影院新地址| 日日摸夜夜添夜夜添av毛片 | 午夜亚洲福利在线播放| 特级一级黄色大片| 久久午夜福利片| 少妇熟女aⅴ在线视频| 欧美一区二区国产精品久久精品| 免费一级毛片在线播放高清视频| 中文字幕熟女人妻在线| 亚洲第一电影网av| av国产免费在线观看| 日本黄色片子视频| 日本五十路高清| 麻豆成人午夜福利视频| 国产午夜福利久久久久久| 亚洲四区av| 夜夜看夜夜爽夜夜摸| 啪啪无遮挡十八禁网站| 麻豆成人av在线观看| 天天躁日日操中文字幕| 国产精品久久久久久久电影| 最后的刺客免费高清国语| 免费av不卡在线播放| 亚洲av免费高清在线观看| 免费观看在线日韩| 国产精品久久久久久久电影| 精品久久久久久久末码| 亚洲中文字幕日韩| 久久国内精品自在自线图片| 999久久久精品免费观看国产| 人妻少妇偷人精品九色| 久久久久久九九精品二区国产| 国产欧美日韩一区二区精品| 人人妻人人澡欧美一区二区| 久久精品国产99精品国产亚洲性色| 自拍偷自拍亚洲精品老妇| 欧美xxxx性猛交bbbb| 日本五十路高清| 国内精品久久久久久久电影| 亚洲成人久久性| 两人在一起打扑克的视频| 国产av在哪里看| 夜夜夜夜夜久久久久| 97碰自拍视频| 中文字幕精品亚洲无线码一区| 美女免费视频网站| 成人亚洲精品av一区二区| 亚洲成人精品中文字幕电影| 在线播放国产精品三级| 欧美精品国产亚洲| 国产伦精品一区二区三区四那| 色哟哟·www| 欧美激情国产日韩精品一区| а√天堂www在线а√下载| 国产精品99久久久久久久久| 欧美成人一区二区免费高清观看| 免费av不卡在线播放| 一夜夜www| 亚洲人成网站在线播放欧美日韩| 99久久精品国产国产毛片| 全区人妻精品视频| x7x7x7水蜜桃| 色在线成人网| 国产 一区 欧美 日韩| 亚洲av日韩精品久久久久久密| 欧美绝顶高潮抽搐喷水| 男人的好看免费观看在线视频| 嫩草影视91久久| 欧美日韩亚洲国产一区二区在线观看| 国产精品一区二区三区四区久久| 国产伦在线观看视频一区| 久久天躁狠狠躁夜夜2o2o| 日韩欧美 国产精品| 久久久国产成人精品二区| 亚洲综合色惰| 免费av观看视频| 天美传媒精品一区二区| 日韩国内少妇激情av| 国产伦人伦偷精品视频| 特级一级黄色大片| 国产高清有码在线观看视频| 一个人观看的视频www高清免费观看| 国产午夜精品论理片| 免费看美女性在线毛片视频| 成人永久免费在线观看视频| 欧美激情在线99| 国产高清不卡午夜福利| 免费观看的影片在线观看| 国产女主播在线喷水免费视频网站 | av女优亚洲男人天堂| 白带黄色成豆腐渣| 色播亚洲综合网| 欧美激情国产日韩精品一区| 欧美性猛交黑人性爽| 99热精品在线国产| 国产精品免费一区二区三区在线| 欧洲精品卡2卡3卡4卡5卡区| 免费电影在线观看免费观看| 日韩欧美国产在线观看| 久久精品夜夜夜夜夜久久蜜豆| 女人被狂操c到高潮| 自拍偷自拍亚洲精品老妇| 久久久色成人| 亚洲中文字幕日韩| 精品久久久久久久末码| av在线亚洲专区| 亚洲狠狠婷婷综合久久图片| 亚洲三级黄色毛片| 97超视频在线观看视频| 亚洲美女搞黄在线观看 | 免费人成在线观看视频色| 日韩欧美一区二区三区在线观看| 内地一区二区视频在线| 搡老岳熟女国产| 男人狂女人下面高潮的视频| 日韩一本色道免费dvd| 欧美色视频一区免费| 老熟妇乱子伦视频在线观看| 亚洲av日韩精品久久久久久密| av黄色大香蕉| 少妇被粗大猛烈的视频| 精品无人区乱码1区二区| 日本黄大片高清| 亚洲av第一区精品v没综合| 伊人久久精品亚洲午夜| 我要看日韩黄色一级片| 欧美潮喷喷水| 久久久成人免费电影| 国产大屁股一区二区在线视频| 黄片wwwwww| 欧美丝袜亚洲另类 | 超碰av人人做人人爽久久| 精品国内亚洲2022精品成人| 久久精品国产清高在天天线| 蜜桃久久精品国产亚洲av| 美女免费视频网站| 男人狂女人下面高潮的视频| 男人舔奶头视频| 亚洲人与动物交配视频| 又粗又爽又猛毛片免费看| 久久午夜亚洲精品久久| 欧美三级亚洲精品| 一夜夜www| 欧美性猛交黑人性爽| 国产午夜精品论理片| 久久亚洲真实| 久久精品人妻少妇| 女的被弄到高潮叫床怎么办 | 可以在线观看的亚洲视频| 国产主播在线观看一区二区| 午夜精品一区二区三区免费看| 淫秽高清视频在线观看| 国产伦在线观看视频一区| 超碰av人人做人人爽久久| 国产精品一区二区三区四区免费观看 | 欧美日韩精品成人综合77777| 级片在线观看| 国产精品日韩av在线免费观看| 国产精品国产高清国产av| 毛片女人毛片| 99国产极品粉嫩在线观看| 亚洲avbb在线观看| 亚洲18禁久久av| av在线亚洲专区| www.www免费av| 亚洲精品一卡2卡三卡4卡5卡| 午夜精品久久久久久毛片777| 村上凉子中文字幕在线| 久久久久久久久久久丰满 | 日本撒尿小便嘘嘘汇集6| 欧美bdsm另类| 国产精品一区二区免费欧美| 我要看日韩黄色一级片| .国产精品久久| 可以在线观看的亚洲视频| 色在线成人网| 成年免费大片在线观看| 日本 av在线| 99热精品在线国产| videossex国产| 男女啪啪激烈高潮av片| 久久人妻av系列| 中文字幕熟女人妻在线| 日韩国内少妇激情av| 美女cb高潮喷水在线观看| 日本五十路高清| 免费在线观看日本一区| 男女之事视频高清在线观看| 12—13女人毛片做爰片一| 成熟少妇高潮喷水视频| 精品人妻熟女av久视频| 婷婷色综合大香蕉| 精品久久久久久久久久久久久| 欧美性猛交黑人性爽| 成年版毛片免费区| 久久九九热精品免费| 亚洲美女黄片视频|