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

    面向測(cè)試生成的ASM模型約簡(jiǎn)研究*

    2018-07-05 10:47:46何柳柳
    關(guān)鍵詞:測(cè)試用例約簡(jiǎn)等價(jià)

    楊 羊,何柳柳,尚 穎,李 征

    (北京化工大學(xué)信息科學(xué)與技術(shù)學(xué)院,北京 100029)

    1 引言

    隨著互聯(lián)網(wǎng)的普及和快速發(fā)展,Web應(yīng)用程序已經(jīng)成為人們?nèi)粘I畹囊徊糠郑瑫r(shí)Web應(yīng)用程序的不穩(wěn)定性或不安全性也常常引發(fā)個(gè)人隱私泄漏甚至高額的經(jīng)濟(jì)損失。早在2000年Ravi等人[1]提到,Web應(yīng)用程序故障在媒體公司的損失為每小時(shí)15萬美金,在信用卡交易市場(chǎng)的損失為每小時(shí)240萬美金,在金融市場(chǎng)的損失為每小時(shí)650萬美金。測(cè)試是保障Web應(yīng)用程序質(zhì)量的有效手段,具有十分重要的意義。

    Web應(yīng)用程序具有交互性、動(dòng)態(tài)性和低耦合性等,使得傳統(tǒng)軟件的測(cè)試方法不能對(duì)Web應(yīng)用程序進(jìn)行有效的測(cè)試,如Web應(yīng)用程序的控制流通過用戶的操作交互形成、Web應(yīng)用程序的部分頁面是動(dòng)態(tài)生成的、前后端模塊分別開發(fā)的模式等?;谀P偷臏y(cè)試方法是目前Web應(yīng)用程序測(cè)試中比較普遍采用的方法[2],核心是通過Web應(yīng)用程序建模生成有效的測(cè)試用例來檢測(cè)程序中的錯(cuò)誤或者漏洞。通常,研究者將傳統(tǒng)軟件測(cè)試領(lǐng)域中的建模方法與Web應(yīng)用程序的部分特性結(jié)合建立UML(Uniform Modeling Language)模型[3]、FSM(Finite State Machine)模型[4,5]和EFSM(Extended Finite State Machine)模型[6]等,進(jìn)而生成測(cè)試用例對(duì)Web應(yīng)用程序進(jìn)行測(cè)試。

    Offutt等人[7,8]進(jìn)一步提出基于Web應(yīng)用程序表示層建立的原子段模型ASM(Atomic Section Model),根據(jù)服務(wù)器端與客戶端的交互,通過源代碼的解析,識(shí)別原子段、組件及其之間的交互,構(gòu)建模型。該模型可以詳細(xì)描述Web應(yīng)用程序的交互性、動(dòng)態(tài)性和低耦合性。

    在基于ASM模型的測(cè)試生成中,通過無效訪問狀態(tài)和無效遷移路徑來擴(kuò)充測(cè)試用例,實(shí)現(xiàn)用戶不可預(yù)期行為的測(cè)試[7]。但是,由于無效訪問狀態(tài)和無效遷移路徑的引入,不可避免地帶來了測(cè)試用例空間爆炸的問題。

    本文通過研究ASM模型的構(gòu)建過程和相應(yīng)的測(cè)試用例生成方法,提出基于模型約簡(jiǎn)的測(cè)試用例空間優(yōu)化方法,定義面向ASM模型測(cè)試用例生成的等價(jià)狀態(tài)和等價(jià)遷移,進(jìn)一步提出合并準(zhǔn)則約簡(jiǎn)ASM模型,有效控制無效訪問狀態(tài)和無效路徑數(shù)量,優(yōu)化測(cè)試用例空間。實(shí)驗(yàn)表明,本文所提方法在不影響原子段覆蓋和錯(cuò)誤檢測(cè)效果的基礎(chǔ)上,有效地約減了74.38%的測(cè)試用例空間。

    本文組織結(jié)構(gòu)如下:第1節(jié)介紹Web應(yīng)用程序的測(cè)試以及基于ASM模型的測(cè)試方法,第2節(jié)介紹ASM模型及其測(cè)試用例生成方法,第3節(jié)介紹基于ASM模型約簡(jiǎn)方法,第4節(jié)結(jié)合實(shí)例給出相關(guān)實(shí)驗(yàn)分析,第5節(jié)介紹相關(guān)工作,最后進(jìn)行總結(jié)。

    2 ASM模型及其測(cè)試用例生成

    2.1 Web應(yīng)用程序

    Web應(yīng)用程序由完成特定任務(wù)的各種Web組件(Web Components)構(gòu)成,并通過Web將服務(wù)展示給用戶。在實(shí)際的應(yīng)用中,Web應(yīng)用程序的組件包括多個(gè)Servlet、JSP頁面、HTML文件以及圖像文件等。所有這些組件相互協(xié)調(diào)為用戶提供一組完整的服務(wù)。

    Web應(yīng)用程序的執(zhí)行過程中,用戶通過客戶端的操作向服務(wù)器端發(fā)送請(qǐng)求(Post),服務(wù)器端對(duì)用戶的請(qǐng)求進(jìn)行響應(yīng),用戶獲得(Get)需要的內(nèi)容。

    基于表示層的Web應(yīng)用程序的執(zhí)行,通過組件的遷移,完成用戶的需求。組件的遷移用來描述組件連接或者耦合的形式。根據(jù)Web應(yīng)用程序執(zhí)行形式的不同,組件的遷移類型又可分為五類[7],分別為簡(jiǎn)單跳轉(zhuǎn)遷移、表單鏈接遷移、組件表達(dá)遷移、操作遷移和重定向遷移,其中組件表達(dá)遷移是指組件的執(zhí)行,形成一條從組件到原子段的遷移,是組件到組件內(nèi)的遷移;操作遷移是指用戶通過瀏覽器上的操作(如前進(jìn)、后退和刷新等)形成的組件遷移;重定向遷移指不可控制的服務(wù)器端組件的遷移,如Java Servlet中的重定向方法,對(duì)不同的URL(Uniform Resource Locator)重新生成相同的請(qǐng)求。

    2.2 ASM模型

    Offutt等人[7]基于Web應(yīng)用程序表示層建立的ASM模型,通過解析源代碼,識(shí)別組件內(nèi)部執(zhí)行邏輯和組件間遷移關(guān)系,其解析的主要對(duì)象是原子段,并通過程序設(shè)計(jì)的跳轉(zhuǎn)或者方法調(diào)用形成ASM模型,對(duì)原子段定義如下。

    定義1(原子段(Atomic Section)) 如果一段HTML中的任意一部分被發(fā)送給客戶端,則整個(gè)段都會(huì)被發(fā)送給客戶端,具有這種性質(zhì)的HTML代碼段,稱為原子段。

    通過解析源代碼,識(shí)別服務(wù)器端發(fā)送給客戶端的原子段,解析原子段之間的邏輯結(jié)果,形成原子段到組件的描述。ASM模型是兩層模型,底層是組件交互模型CIM(Components Interaction Model),通過對(duì)組件的解析,形成組件內(nèi)部原子段的控制流圖;上層是應(yīng)用遷移圖ATG(Application Transition Graph),通過CIM中原子段以及組件與其他組件的調(diào)用關(guān)系形成組件間的遷移圖。測(cè)試用例主要基于應(yīng)用遷移圖生成,應(yīng)用遷移圖定義如下:

    定義2(應(yīng)用遷移圖) ATG是一個(gè)四元組〈Γ,Θ,Σ,α〉。Γ代表Web軟件組件的有限集合,Γ={CIM1,CIM2,…,CIMn};Θ代表Γ中的Web應(yīng)用程序組件間的遷移的集合,Θ=T1∪T2∪…∪Tn,Ti是CIMi的遷移的結(jié)合;Σ是指定義Web應(yīng)用程序狀態(tài)的變量的集合,Σ中的變量是從組件到頁面?zhèn)鬟f的參數(shù);α是起始頁面的集合,α={S1,S2,…,Sn},Si是組件CIMi的起始頁面。

    2.3 基于ASM模型的測(cè)試用例生成

    基于圖的測(cè)試方法通常是基于圖生成測(cè)試路徑及測(cè)試數(shù)據(jù)。由于ASM模型中遷移參數(shù)只是客戶端與服務(wù)器端的參數(shù)傳遞,不涉及數(shù)據(jù)層的數(shù)據(jù)傳輸,因此基于ASM模型的測(cè)試用例生成只包括測(cè)試路徑的生成,即基于ASM模型的遷移路徑。

    ASM模型中組件之間的遷移,根據(jù)用戶操作的不同,其遷移類型、遷移帶有的信息均不同。通過遷移的定義可以來描述用戶不同操作導(dǎo)致的組件間的遷移,因此對(duì)遷移的定義如下:

    定義3(遷移) ASM模型的遷移是指從一個(gè)組件到達(dá)另一個(gè)組件的過程,即遷移ti可描述為源狀態(tài)Source(ti),通過帶有Label(ti)的Type(ti)類型遷移到達(dá)目標(biāo)狀態(tài)Target(ti),即Source(ti)[Label(ti)](Type(ti))Target(ti)。其中,Label(ti)表示遷移帶有的標(biāo)簽;Type(ti)表示遷移類型,遷移的類型包括簡(jiǎn)單跳轉(zhuǎn)遷移、表單鏈接遷移、組件表達(dá)遷移、操作遷移和重定向。

    基于ASM模型生成的測(cè)試路徑是ASM模型的遷移路徑,對(duì)遷移路徑的定義如下:

    定義4(遷移路徑) ASM模型的遷移路徑是指ASM模型組件連續(xù)遷移序列,即路徑П=t1t2…ti…tn,其中target(ti)=source(ti+1)(1≤i≤n),П∈Θ。

    基于圖生成的遷移路徑是可執(zhí)行路徑,即按照程序員設(shè)計(jì)的遷移,用戶按照預(yù)期操作依次形成遷移路徑中的每個(gè)遷移ti。然而,在Web應(yīng)用程序的實(shí)際運(yùn)行過程中,用戶的行為是不可預(yù)期的,如通過瀏覽器的前進(jìn)/后退按鈕實(shí)現(xiàn)Web應(yīng)用程序非預(yù)期遷移。因此,遷移路徑可行不能保證Web應(yīng)用程序沒有錯(cuò)誤。

    ATG不能描述Web應(yīng)用程序?qū)嶋H運(yùn)行過程中用戶行為不可預(yù)期的行為,Offutt等人[7]提出的測(cè)試路徑生成方法,在基于ASM模型生成的主要路徑的基礎(chǔ)上,通過擴(kuò)充無效訪問狀態(tài)和無效遷移路徑,形成可以描述用戶不可預(yù)期行為的測(cè)試用例集。

    定義5(無效訪問狀態(tài)) 將非起始頁面中不存在自身循環(huán)的狀態(tài)稱為無效訪問狀態(tài)。

    無效訪問是根據(jù)用戶在瀏覽器端進(jìn)行的無目的的或者有目的的操作遷移,如輸入非起始頁面的URL地址,從Web應(yīng)用程序的任意中間位置進(jìn)入訪問。

    定義6(無效遷移) 若從源狀態(tài)到目標(biāo)狀態(tài)的遷移不存在,且目標(biāo)狀態(tài)為無效訪問狀態(tài),將這類遷移稱為無效遷移。

    無效遷移是由于用戶在瀏覽器端的操作導(dǎo)致的遷移,如后退、刷新、前進(jìn)和URL重寫導(dǎo)致的Web應(yīng)用程序組件的遷移。

    基于ASM模型的測(cè)試用例生成方法主要包括以下三步:

    (1)基于主要路徑覆蓋生成初始測(cè)試用例。

    (2)針對(duì)每個(gè)無效訪問狀態(tài)生成基于無效訪問狀態(tài)的無效遷移。

    (3)對(duì)(1)中生成的測(cè)試用例,通過添加無效訪問狀態(tài)和無效遷移進(jìn)行擴(kuò)充。具體擴(kuò)充方法為:在以步驟(2)中無效遷移的源狀態(tài)為目標(biāo)狀態(tài)的遷移末尾添加無效遷移,并補(bǔ)充簡(jiǎn)單路徑,進(jìn)而形成從無效訪問狀態(tài)到原目標(biāo)狀態(tài)的全部簡(jiǎn)單路徑,則完成測(cè)試用例的補(bǔ)充。

    該測(cè)試用例生成方法,在傳統(tǒng)的基于模型的測(cè)試用例生成方法的基礎(chǔ)上,通過擴(kuò)充無效訪問狀態(tài)和無效遷移路徑,形成覆蓋用戶非預(yù)期行為的測(cè)試用例集。

    然而,隨著Web應(yīng)用程序規(guī)模的擴(kuò)大,無效訪問狀態(tài)和無效遷移路徑的增多,不可避免地會(huì)導(dǎo)致測(cè)試用例空間的爆炸。

    3 ASM模型約簡(jiǎn)方法

    3.1 測(cè)試用例空間爆炸原因分析

    Web應(yīng)用程序是高內(nèi)聚低耦合的軟件系統(tǒng)。內(nèi)聚性越高,表明組件的設(shè)計(jì)越合理,系統(tǒng)的穩(wěn)定性越高;耦合性越低,說明組件之間的獨(dú)立性越高,Web應(yīng)用程序的質(zhì)量越高[9]。隨著Web應(yīng)用程序規(guī)模的擴(kuò)大,Web應(yīng)用程序的低耦合性和交互性相應(yīng)加強(qiáng),即表現(xiàn)為組件數(shù)目的增多和組件間遷移數(shù)目的增加。

    基于Web應(yīng)用程序表示層建立的ASM模型,詳細(xì)描述了Web應(yīng)用程序低耦合下的動(dòng)態(tài)性和交互性。根據(jù)ASM模型的定義,隨著Web應(yīng)用程序規(guī)模的擴(kuò)大,其底層CIM描述單個(gè)組件內(nèi)原子段的動(dòng)態(tài)執(zhí)行過程,不受Web應(yīng)用程序規(guī)模的影響;其上層ATG描述所有組件間的遷移關(guān)系,受Web應(yīng)用程序規(guī)模的直接影響。

    基于ASM模型的測(cè)試用例生成方法考慮了用戶非預(yù)期行為,生成的測(cè)試用例數(shù)目隨著Web應(yīng)用程序規(guī)模的擴(kuò)大而增加,導(dǎo)致測(cè)試用例空間的爆炸測(cè)試用例數(shù)增加的原因,一方面是無效訪問狀態(tài)和無效遷移路徑數(shù)目的增加導(dǎo)致可擴(kuò)充數(shù)目變多,另一方面是基于主要路徑覆蓋的測(cè)試用例可擴(kuò)充位置產(chǎn)生的組合眾多。

    通常采用基于模型的約簡(jiǎn)或最小化來減少或壓縮狀態(tài)空間[10],以解決狀態(tài)空間爆炸的問題。針對(duì)狀態(tài)模型,基本的解決方案就是合并遷移和狀態(tài)。

    3.2 基于等價(jià)分析的模型約簡(jiǎn)

    根據(jù)ASM模型的定義以及測(cè)試用例生成方法,為了有效避免狀態(tài)空間爆炸問題,在不影響Web應(yīng)用程序測(cè)試效果的基礎(chǔ)上,通過定義等價(jià)狀態(tài)和等價(jià)遷移來對(duì)原模型進(jìn)行約簡(jiǎn),減少了狀態(tài)和遷移數(shù)量,進(jìn)一步來約減測(cè)試用例集,有效地壓縮測(cè)試用例空間。

    根據(jù)ASM模型定義的組件之間的遷移,根據(jù)用戶操作的不同,其遷移類型、遷移帶有的信息均有不同。因此,對(duì)于擁有相同源狀態(tài)和目標(biāo)狀態(tài)的遷移,如果遷移類型或者遷移標(biāo)簽不同,則不能作為等價(jià)遷移進(jìn)行合并。

    此外,ASM模型的每個(gè)組件都分別實(shí)現(xiàn)獨(dú)自的功能,每條遷移都是根據(jù)用戶在表示層的操作形成的組件的遷移,從同一源狀態(tài)出發(fā)的多個(gè)目標(biāo)狀態(tài)不是都可以作為等價(jià)狀態(tài)合并的狀態(tài)。

    因此,對(duì)等價(jià)遷移和等價(jià)狀態(tài)的定義如下:

    定義7(等價(jià)遷移) 對(duì)于任意遷移ti和tj,i≠j,若滿足:

    (1)Type(ti)=Type(tj);

    (2)Label(ti)=Label(tj);

    (3)Source(ti)=Source(tj) &&Target(ti)=Target(tj)。

    則ti和tj為等價(jià)遷移,記為ti≌tj。

    定義8(等價(jià)狀態(tài)) 對(duì)于任意目標(biāo)狀態(tài)Target(ti) 和Target(tj),i≠j,若滿足:

    (1)任意遷移tm,滿足Source(tm)≠Target(ti) 或Source(tm)≠Target(tj);

    (2)Source(ti)=Source(tj);

    (3)Label(ti)=Label(tj)=NULL;

    (4)Type(ti)=Type(tj)。

    則Target(ti)和Target(tj)是等價(jià)狀態(tài),記為Target(ti)≌Target(tj)。

    根據(jù)等價(jià)遷移和等價(jià)狀態(tài)的定義,定義以下兩個(gè)約簡(jiǎn)規(guī)則。

    規(guī)則1對(duì)于ASM模型中的任意兩個(gè)遷移ti和tj,i≠j,如果滿足ti≌tj,則合并遷移為t′,其中t′的標(biāo)簽信息為L(zhǎng)abel(ti),遷移類型為Type(ti)。

    基于遷移合并對(duì)模型的約簡(jiǎn),模型中任意滿足等價(jià)遷移定義的遷移均可以按照規(guī)則1進(jìn)行遷移合并?;谝?guī)則1對(duì)ASM模型進(jìn)行基于遷移的約簡(jiǎn),其約簡(jiǎn)前后示意圖如圖1所示。

    Figure 1 Schematic of transitions merging圖1 遷移合并示意圖

    規(guī)則2對(duì)于ASM模型中的任意兩個(gè)目標(biāo)狀態(tài)Target(ti)和Target(ti),i≠j,如果滿足Target(ti)≌Target(tj),則合并狀態(tài)為s′,到達(dá)s′的遷移為ti和tj。

    基于狀態(tài)對(duì)模型的約簡(jiǎn),只適用于ASM模型的終止?fàn)顟B(tài)?;谝?guī)則2對(duì)模型進(jìn)行基于狀態(tài)的約簡(jiǎn),其約簡(jiǎn)前后的示意圖如圖2所示。

    規(guī)則1約定如何合并從源狀態(tài)到目標(biāo)狀態(tài)的多條相同遷移。合并后的模型,沒有引入新的遷移和新的狀態(tài),則不會(huì)產(chǎn)生新的無效訪問狀態(tài)和無效遷移路徑。遷移的合并,使得從源狀態(tài)到目標(biāo)狀態(tài)的遷移數(shù)量有效減少了,但是從源狀態(tài)到目標(biāo)狀態(tài)的遷移關(guān)系不產(chǎn)生影響。因此,基于約簡(jiǎn)后模型生成的測(cè)試用例與原有測(cè)試用例是等價(jià)的,并且通過減少遷移的數(shù)量,減少了無效遷移的數(shù)量,最終實(shí)現(xiàn)無效遷移路徑數(shù)量的減少。

    Figure 2 Schematic of states merging圖2 狀態(tài)合并示意圖

    規(guī)則2約定如何合并一個(gè)源狀態(tài)經(jīng)過相同的操作到達(dá)的多個(gè)目標(biāo)狀態(tài)。合并后的模型,從源狀態(tài)出發(fā)的遷移,沒有引入新的遷移類型和標(biāo)簽,引入的新狀態(tài)是原有狀態(tài)的合并狀態(tài),從而引入新的遷移。新的遷移與原有遷移,是遷移標(biāo)簽和類型相同的遷移,并且滿足相同的源狀態(tài)和相同的目標(biāo)狀態(tài)(原目標(biāo)狀態(tài)是新目標(biāo)狀態(tài)的一個(gè)子集),因此新的遷移可以視為是與原有遷移的等價(jià)遷移。根據(jù)規(guī)則1的約定,基于等價(jià)遷移的模型約簡(jiǎn)生成的測(cè)試用例與原有測(cè)試用例是等價(jià)的,因此基于等價(jià)狀態(tài)的模型約簡(jiǎn)生成的測(cè)試用例與原有測(cè)試用例也是等價(jià)的。并且,通過狀態(tài)的合并實(shí)現(xiàn)了無效訪問狀態(tài)數(shù)和無效遷移路徑數(shù)的減少,有效壓縮了測(cè)試用例空間。

    依據(jù)規(guī)則1和規(guī)則2對(duì)ASM模型的約簡(jiǎn)是一個(gè)迭代的過程?;诘葍r(jià)狀態(tài)的狀態(tài)合并,產(chǎn)生新的等價(jià)遷移,進(jìn)一步基于等價(jià)遷移進(jìn)行合并,實(shí)現(xiàn)ASM模型的最小化,可以最大化約簡(jiǎn)測(cè)試用例空間。

    4 實(shí)驗(yàn)與結(jié)果分析

    為了驗(yàn)證ASM模型約簡(jiǎn)后,基于ASM模型對(duì)Web應(yīng)用程序測(cè)試的有效性,本文提出如下研究問題,并通過實(shí)驗(yàn)進(jìn)行驗(yàn)證。

    RQ1:約簡(jiǎn)后的ASM模型對(duì)測(cè)試用例空間的壓縮效果如何?

    RQ2:約簡(jiǎn)后的ASM模型對(duì)Web應(yīng)用程序的原子段覆蓋率有何影響?

    RQ3:約簡(jiǎn)后的ASM模型生成的測(cè)試用例對(duì)Web應(yīng)用程序測(cè)試的影響如何?

    4.1 實(shí)例設(shè)計(jì)

    本文以中醫(yī)藥物質(zhì)管理系統(tǒng)CTMMS(Chinese Traditional Medicine Management System)為實(shí)驗(yàn)對(duì)象,進(jìn)行ASM模型建立和測(cè)試用例生成研究。

    按照ASM模型的定義,解析Web應(yīng)用程序源代碼,自動(dòng)構(gòu)建ASM模型,并使用開源軟件Graphviz[11]繪制狀態(tài)圖。最后,基于狀態(tài)圖實(shí)現(xiàn)測(cè)試用例的自動(dòng)生成。

    基于ASM模型的測(cè)試用例生成辦法,通過測(cè)試用例的擴(kuò)充形成循環(huán)測(cè)試路徑,針對(duì)循環(huán)測(cè)試路徑目前沒有工具能夠?qū)崿F(xiàn)測(cè)試用例的自動(dòng)執(zhí)行,因此本研究的實(shí)驗(yàn)結(jié)果通過手動(dòng)分析的方法來評(píng)估約簡(jiǎn)的ASM模型對(duì)原子段覆蓋率和測(cè)試效果的影響。

    4.2 實(shí)驗(yàn)描述

    中醫(yī)藥物質(zhì)管理系統(tǒng)基于J2EE框架,該系統(tǒng)的實(shí)現(xiàn)包括JSP(Java Server Page)和Java Servlet,使用MVC模型,數(shù)據(jù)存儲(chǔ)在SQL Server數(shù)據(jù)庫(kù)中,利用Eclipse for Java EE集成開發(fā)環(huán)境,及CSS+HTML開發(fā)。

    中醫(yī)藥物質(zhì)管理系統(tǒng)需要用戶輸入用戶名和密碼進(jìn)行登錄,主要操作包括添加、查詢、修改、刪除等。中醫(yī)藥物質(zhì)的信息都存儲(chǔ)在數(shù)據(jù)庫(kù)里,這個(gè)系統(tǒng)包括11個(gè)JSP頁面和1個(gè)Servlet,其應(yīng)用遷移圖如圖3所示。操作遷移是用戶在瀏覽器端的操作,無法通過源代碼進(jìn)行解析,因此圖3中不包括操作遷移。此外,組件表達(dá)遷移是組件到達(dá)組件內(nèi)部的遷移,由于本研究只涉及ASM模型的上層ATG,因此組件表達(dá)遷移直接描述為從組件到組件的遷移。基于中醫(yī)藥物質(zhì)管理系統(tǒng)的表示層生成的ASM模型上層ATG,其應(yīng)用遷移圖共12個(gè)狀態(tài)、57條遷移。

    圖3中,如CTMCLServlet通過(info)信息形成相同的遷移到達(dá)Error.jsp,則從狀態(tài)CTMCLServlet到狀態(tài)Error.jsp共有3條簡(jiǎn)單路徑,均是從CTMCLServlet經(jīng)過(info)信息的提交形成組件表達(dá)遷移。

    Figure 3 ATG of the CTMMS圖3 中醫(yī)藥物質(zhì)管理系統(tǒng)應(yīng)用遷移圖

    CTMCLServlet是Web應(yīng)用程序的控制層,處理用戶在瀏覽器端的請(qǐng)求,若用戶的請(qǐng)求符合程序設(shè)定的要求,則根據(jù)用戶的請(qǐng)求將相應(yīng)的視圖(.jsp)顯示給用戶。從CTMCLServlet到Error.jsp的遷移是由于用戶在以CTMCLServlet為后繼的遷移中填寫了錯(cuò)誤的信息,CTMCLServlet組件內(nèi)部多個(gè)原子段分別處理不同的請(qǐng)求,按照程序邏輯執(zhí)行的顯示異常,提示Error.jsp。

    由于本研究針對(duì)ASM模型的上層ATG進(jìn)行研究,其組件內(nèi)部的程序邏輯是可以采用傳統(tǒng)軟件的測(cè)試方法進(jìn)行測(cè)試,Web應(yīng)用程序表示層均是錯(cuò)誤頁面Error.jsp,對(duì)該遷移進(jìn)行合并,不影響對(duì)Web應(yīng)用程序表示層的測(cè)試。

    對(duì)圖3的應(yīng)用遷移圖,根據(jù)遷移合并原則進(jìn)行模型約簡(jiǎn),約簡(jiǎn)后應(yīng)用遷移圖如圖4所示,圖中虛線表示合并后的遷移。

    ASM模型測(cè)試用例的生成是通過添加無效狀態(tài)來擴(kuò)充無效訪問路徑,那么無效狀態(tài)的減少,必然能優(yōu)化測(cè)試用例,減少測(cè)試用例的數(shù)量?;诖?,在遷移合并后,判斷模型中是否存在等價(jià)狀態(tài),若存在將其合并。

    Figure 4 ATG after transitions merging圖4 遷移合并后的應(yīng)用遷移圖

    從圖4可以看出,Rsub.jsp、RMat.jsp和Smed.jsp作為目標(biāo)狀態(tài),也是應(yīng)用遷移圖的終止?fàn)顟B(tài),到達(dá)這些狀態(tài)的遷移均為ε-遷移,并且從源狀態(tài)出發(fā)的遷移類型相同。

    MVC模式開發(fā)的Web應(yīng)用程序,其模型、視圖、控制器是分開單獨(dú)執(zhí)行自身任務(wù)的。.jsp文件作為MVC的視圖層,主要負(fù)責(zé)用戶瀏覽及交互,在視圖中沒有業(yè)務(wù)邏輯和數(shù)據(jù)的處理。視圖只是作為一種輸出數(shù)據(jù)并允許用戶操作的顯示界面。

    Rsub.jsp、Rmat.jsp和Smed.jsp作為終止?fàn)顟B(tài),由于沒有后繼,不允許用戶進(jìn)行操作,其功能是輸出數(shù)據(jù)給用戶查看。Rsub.jsp、Rmat.jsp和Smed.jsp均是從相同的源狀態(tài)經(jīng)過相同的遷移后到達(dá)的目標(biāo)狀態(tài),但由于上述頁面的功能不同,導(dǎo)致顯示的數(shù)據(jù)結(jié)果不同。從相同源狀態(tài)出發(fā),到達(dá)Rsub.jsp、Rmat.jsp和Smed.jsp的遷移,其源狀態(tài)均為.jsp文件,是視圖層文件,并且從源狀態(tài)到目標(biāo)狀態(tài)的遷移為不存在信息傳遞的簡(jiǎn)單遷移,用戶在源狀態(tài)頁面上的任一簡(jiǎn)單遷移操作,均會(huì)到達(dá)這三個(gè)狀態(tài)中的任意一個(gè),并且這三個(gè)狀態(tài)不存在后繼操作。對(duì)這三個(gè)狀態(tài)進(jìn)行合并,不影響從源狀態(tài)出發(fā)的遷移的測(cè)試。由于這三個(gè)狀態(tài)是終止?fàn)顟B(tài),則該狀態(tài)必然為無效狀態(tài),通過終止?fàn)顟B(tài)的約簡(jiǎn),減少了無效狀態(tài)的數(shù)量,優(yōu)化了測(cè)試用例。

    基于等價(jià)狀態(tài)對(duì)圖4的模型進(jìn)行約簡(jiǎn),約簡(jiǎn)后的模型如圖5所示。

    Figure 5 Reduction model of the ATG圖5 模型約簡(jiǎn)后的應(yīng)用遷移圖

    4.3 實(shí)驗(yàn)結(jié)果分析

    這一節(jié)主要通過實(shí)驗(yàn)結(jié)果回答三個(gè)研究問題。

    4.3.1 測(cè)試用例空間壓縮分析

    通過合并等價(jià)狀態(tài)和等價(jià)遷移,對(duì)中醫(yī)藥物質(zhì)管理系統(tǒng)(CTMMS)建立的ASM模型進(jìn)行約簡(jiǎn),對(duì)比結(jié)果如表1所示,其中,狀態(tài)數(shù)減少2個(gè),遷移數(shù)減少24條,測(cè)試用例數(shù)共減少6 036條,有效壓縮了測(cè)試用例空間。

    從表1的約減率可以看出,測(cè)試用例約減率74.38% > 狀態(tài)約減率16.67%+遷移約減率42.11%,這是由于對(duì)ASM模型的約簡(jiǎn)不僅減少了遷移數(shù)量和狀態(tài)數(shù)量,而且減少了可擴(kuò)充的無效訪問狀態(tài)的位置數(shù)量,因此測(cè)試用例數(shù)減少率更高。

    4.3.2 原子段覆蓋率分析

    按照ASM模型的定義,中醫(yī)藥物質(zhì)管理系統(tǒng)(CTMMS)ASM模型的應(yīng)用遷移圖共有12個(gè)組件,其中,11個(gè)組件是Jsp文件,1個(gè)組件是Servlet,各個(gè)組件的組件表達(dá)式和原子段數(shù)如表2所示。

    Table 1 Comparison of the number of test cases before and after reduction表1 約簡(jiǎn)前后測(cè)試用例數(shù)比較

    Table 2 Component expression of the CTMMS表2 中醫(yī)藥物質(zhì)管理系統(tǒng)組件表達(dá)式

    對(duì)中醫(yī)藥物質(zhì)管理系統(tǒng)(CTMMS)的ASM模型約簡(jiǎn)前后的測(cè)試用例原子段數(shù)目進(jìn)行統(tǒng)計(jì)和對(duì)比,如表3所示。模型約簡(jiǎn)前后,其對(duì)原子段的覆蓋率都沒有達(dá)到100%,共有兩個(gè)原子段沒有覆蓋到。為達(dá)到100%的原子段覆蓋率,對(duì)這兩個(gè)原子段進(jìn)行人工分析,分析結(jié)果表明,這兩個(gè)原子段分別涉及查詢中醫(yī)藥標(biāo)準(zhǔn)物質(zhì)時(shí)只輸入名字不輸入編號(hào)和查詢中醫(yī)藥標(biāo)準(zhǔn)物質(zhì)時(shí)既輸入名字又輸入編號(hào)。

    Table 3 Statistics of the atomic section coverage表3 原子段覆蓋率統(tǒng)計(jì)

    沒有覆蓋到的原因是由于基于表示層建立的ASM模型不涉及數(shù)據(jù)層的傳輸,即實(shí)際的運(yùn)行過程中該原子段需要特殊值傳遞,在其測(cè)試用例生成過程中無法涉及。分析表明,面向這兩個(gè)原子段的基于表示層的測(cè)試不能發(fā)現(xiàn)軟件錯(cuò)誤。

    表3分析結(jié)果表明,ASM模型約簡(jiǎn)前后生成的測(cè)試用例集對(duì)原子段覆蓋率幾乎沒有變化。結(jié)合中醫(yī)藥物質(zhì)管理系統(tǒng)的ASM模型的應(yīng)用遷移圖模型約簡(jiǎn)前后的對(duì)比,分析可以得出,合并的狀態(tài)都不包含原子段。因此,ASM模型的約簡(jiǎn)對(duì)Web應(yīng)用程序的原子段覆蓋率幾乎不產(chǎn)生影響。

    4.3.3 測(cè)試效果分析

    通過對(duì)中醫(yī)藥物質(zhì)管理系統(tǒng)(CTMMS)進(jìn)行手動(dòng)的測(cè)試,共檢測(cè)出3種類型的錯(cuò)誤,分別是頁面為空、軟件異常以及URL重寫導(dǎo)致空記錄。

    中醫(yī)藥物質(zhì)管理系統(tǒng)(CTMMS)的ASM模型約簡(jiǎn)前后的測(cè)試效果統(tǒng)計(jì)對(duì)比,如表4所示。從表4中可以得出,基于無效遷移路徑檢測(cè)的錯(cuò)誤率大于基于主要路徑檢測(cè)的錯(cuò)誤率,約簡(jiǎn)前后檢測(cè)到的錯(cuò)誤類型數(shù)相同,且約簡(jiǎn)后由于總路徑數(shù)量減少,錯(cuò)誤檢測(cè)率增大。因此,ASM模型的約簡(jiǎn)規(guī)則在不影響原子段覆蓋率的情況下,使主要路徑和無效路徑數(shù)量減少,錯(cuò)誤檢測(cè)率增大,對(duì)檢測(cè)到的錯(cuò)誤類型的數(shù)量沒有影響。

    Table 4 Statistics of test results表4 測(cè)試結(jié)果統(tǒng)計(jì)

    5 相關(guān)工作

    2010年,Offutt等人[7]首次提出基于Web應(yīng)用程序的表示層建立ASM模型,并于2014年對(duì)ASM模型的有效性進(jìn)行了評(píng)估[8]?;谛枨笊傻臏y(cè)試用例與基于ASM模型生成的測(cè)試用例的測(cè)試效果對(duì)比結(jié)果顯示,基于ASM模型的測(cè)試方法能夠檢測(cè)到更多的Web應(yīng)用程序錯(cuò)誤。鄭芳等人[12]在此基礎(chǔ)上提出基于依賴分析的測(cè)試用例的優(yōu)化,避免了重復(fù)執(zhí)行全部測(cè)試用例。

    ASM模型是通過解析源碼對(duì)Web應(yīng)用程序建模, Cosma等人[13]基于此使用靜態(tài)分析和可視化的方法來理解Web應(yīng)用程序。

    隨著新技術(shù)的不斷發(fā)展,對(duì)Web應(yīng)用程序的測(cè)試提出了新的挑戰(zhàn)。如Ajax技術(shù)在Web應(yīng)用程序中的應(yīng)用,使得網(wǎng)頁可以動(dòng)態(tài)更新頁面內(nèi)容,同樣給針對(duì)Web應(yīng)用程序的建模帶來了挑戰(zhàn)。Wang等人[14]基于用戶會(huì)話的分析建立Web應(yīng)用程序的模型。Marchetto等人[15]給出了一種基于Ajax操作的網(wǎng)頁DOM結(jié)構(gòu)變化的建模方法。賀濤等人[16]在FSM模型的基礎(chǔ)上,引入了UML分層模型對(duì)含有Ajax部分的網(wǎng)頁狀態(tài)進(jìn)行建模。與ASM模型相比,它們無法生成完整的測(cè)試用例,但是也為ASM模型的進(jìn)一步優(yōu)化提供了思考的空間。

    Web應(yīng)用程序的快速開發(fā),導(dǎo)致其版本快速更新,原有的測(cè)試用例無法在新版本上得到應(yīng)用,Leotta等人[17]基于DOM元素的變更修復(fù)測(cè)試用例,提高了測(cè)試用例的健壯性。

    6 結(jié)束語

    本文提出一種基于ASM模型約簡(jiǎn)的測(cè)試用例優(yōu)化方法。隨著Web應(yīng)用程序規(guī)模的增大,基于ASM模型的測(cè)試用例生成方法,可以測(cè)試用戶的非預(yù)期行為,但是由于無效訪問狀態(tài)和無效遷移的擴(kuò)充,導(dǎo)致測(cè)試用例空間爆炸。本文通過定義基于ASM模型的等價(jià)遷移和等價(jià)狀態(tài)進(jìn)行遷移和狀態(tài)的合并,有效地減少了測(cè)試用例的數(shù)量。實(shí)驗(yàn)結(jié)果分析表明,基于ASM模型約簡(jiǎn)的測(cè)試用例優(yōu)化,極大壓縮了測(cè)試用例空間,在ASM模型約簡(jiǎn)基礎(chǔ)上生成測(cè)試用例,不影響原子段的覆蓋率,也沒有影響檢測(cè)到的錯(cuò)誤數(shù)目。

    [1] Ravi K,Marcia R.E-Business 2.0:Roadmap for success[M].Boston:Addison-Wesley Professional,2000.

    [2] Lebeau F,Legeard B,Peureux F,et al.Model-based vulnerability testing for web applications[C]∥Proc of the 6th International Conference on Software Testing,Verification and Validation WorkShops (ICSTW),2013:445-452.

    [3] Mubin S A,Jantan A H,Abdullah R,et al.UML-based conceptual design approach for modeling complex processes in web application[J].International Journal of Applied Engineering Research,2016,11(6):4579-4585.

    [4] Andrews A A,Offutt J,Alexander R T.Testing web applications by modeling with FSMs[J].Software & Systems Modeling,2005,4(3):326-345.

    [5] Anand K.Systems and methods for tokenizing user-generated content to enable the prevention of attacks:U.S.Patent 9,313,223[P].2016-04-12.

    [6] Shams M,Krishnamurthy D,Far B.A model-based approach for testing the performance of web applications[C]∥Proc of the 3rd International Workshop on Software Quality Assurance,2006:54-61.

    [7] Offutt J,Wu Y.Modeling presentation layers of web applications for testing[J].Software & Systems Modeling,2010,9(2):257-280.

    [8] Thummala S,Offutt J.An evaluation of the effectiveness of the atomic section model[C]∥Proc of International Conference on Model Driven Engineering Languages and Systems,2014:35-49.

    [9] Lemos A L,Daniel F,Benatallah B.Web service composition:A survey of techniques and tools[J].ACM Computing Surveys (CSUR),2016,48(3):1-33.

    [10] Hou Gang, Zhou Kuan-jiu,Yong Jia-wei,et al.Survey of state explosion problem in model checking[J].Computer Science,2013,40(6A):77-86.(in Chinese)

    [11] Graphviz[CP/OL].[2016-06-01].http://www.graphviz.org/.

    [12] Zheng Fang,Zheng Quan.Web application presentation layer test based dependency analysis[J].Computer & Digital Engineering,2011,39(1):163-167.(in Chinese)

    [13] Cosma D C,Mihancea P F.Understanding web applications using component based visual patterns[C]∥Proc of the 23rd International Conference on Program Comprehension,2015:281-284.

    [14] Wang W,Sampath S,Lei Y,et al.Using combinatorial testing to build navigation graphs for dynamic web applications[J].Software Testing,Verification & Reliability,2016,26(4):318-346.

    [15] Marchetto A,Tonella P,Ricca F.State-based testing of Ajax web applications[C]∥Proc of the 1st International Conference on Software Testing,Verification,and Validation,2008:121-130.

    [16] He Tao,Miao Huai-kou,Qian Zhong-sheng.Modeling and test case generation for Ajax-based WA[J].Computer Science,2014,41(8):219-223.(in Chinese)

    [17] Leotta M,Stocco A,Ricca F,et al.Using multi-locators to increase the robustness of web test cases[C]∥Proc of the 8th International Conference on Software Testing,2015:1-10.

    附中文參考文獻(xiàn):

    [10] 侯剛,周寬久,勇嘉偉,等.模型檢測(cè)中狀態(tài)爆炸問題研究綜述[J].計(jì)算機(jī)科學(xué),2013,40(6A):77-86.

    [12] 鄭芳,鄭全.基于依賴分析的 Web 應(yīng)用表示層測(cè)試方法研究[J].計(jì)算機(jī)與數(shù)字工程,2011,39(1):163-167.

    [16] 賀濤,繆淮扣,錢忠勝.基于 Ajax 技術(shù)的 Web 應(yīng)用的建模與測(cè)試用例生成[J].計(jì)算機(jī)科學(xué),2014,41(8):219-223.

    猜你喜歡
    測(cè)試用例約簡(jiǎn)等價(jià)
    基于SmartUnit的安全通信系統(tǒng)單元測(cè)試用例自動(dòng)生成
    基于二進(jìn)制鏈表的粗糙集屬性約簡(jiǎn)
    基于混合遺傳算法的回歸測(cè)試用例集最小化研究
    實(shí)值多變量維數(shù)約簡(jiǎn):綜述
    n次自然數(shù)冪和的一個(gè)等價(jià)無窮大
    中文信息(2017年12期)2018-01-27 08:22:58
    基于模糊貼近度的屬性約簡(jiǎn)
    收斂的非線性迭代數(shù)列xn+1=g(xn)的等價(jià)數(shù)列
    基于依賴結(jié)構(gòu)的測(cè)試用例優(yōu)先級(jí)技術(shù)
    環(huán)Fpm+uFpm+…+uk-1Fpm上常循環(huán)碼的等價(jià)性
    一種改進(jìn)的分布約簡(jiǎn)與最大分布約簡(jiǎn)求法
    河南科技(2014年7期)2014-02-27 14:11:29
    亚洲精品国产区一区二| 国产精品久久电影中文字幕| 日本免费a在线| 韩国精品一区二区三区| 欧美精品啪啪一区二区三区| 看免费av毛片| 精品久久久久久成人av| 国产成人av教育| 黄色视频,在线免费观看| 波多野结衣av一区二区av| 成年版毛片免费区| 成人18禁在线播放| 欧美人与性动交α欧美精品济南到| 国产午夜精品久久久久久| av中文乱码字幕在线| 日韩免费高清中文字幕av| 久久精品国产99精品国产亚洲性色 | 久久人妻熟女aⅴ| 他把我摸到了高潮在线观看| 黄片大片在线免费观看| 老汉色∧v一级毛片| 91九色精品人成在线观看| 国产激情久久老熟女| 欧美日韩一级在线毛片| 最近最新中文字幕大全免费视频| 1024香蕉在线观看| 18禁观看日本| 水蜜桃什么品种好| 在线国产一区二区在线| 国产精品永久免费网站| 国产成人av教育| 欧美日韩福利视频一区二区| 日本一区二区免费在线视频| 日本一区二区免费在线视频| 嫁个100分男人电影在线观看| 黄色视频,在线免费观看| 国产不卡一卡二| 久久久久久人人人人人| 欧美精品亚洲一区二区| 国产亚洲精品综合一区在线观看 | 性色av乱码一区二区三区2| 国产xxxxx性猛交| 精品电影一区二区在线| 老熟妇乱子伦视频在线观看| 最近最新中文字幕大全电影3 | 国产成人啪精品午夜网站| 如日韩欧美国产精品一区二区三区| 国产一区二区在线av高清观看| 天天影视国产精品| 女人被躁到高潮嗷嗷叫费观| 久久国产亚洲av麻豆专区| 国产麻豆69| 国产成人精品久久二区二区91| av网站免费在线观看视频| 长腿黑丝高跟| 亚洲熟妇中文字幕五十中出 | 日韩欧美在线二视频| 欧美色视频一区免费| 久久久久久久精品吃奶| 五月开心婷婷网| 国产欧美日韩一区二区三| 国产野战对白在线观看| 动漫黄色视频在线观看| 亚洲欧美日韩另类电影网站| 亚洲中文日韩欧美视频| 免费av中文字幕在线| 久久久精品国产亚洲av高清涩受| 久久性视频一级片| 欧美日韩中文字幕国产精品一区二区三区 | 久久久久国内视频| a在线观看视频网站| 日韩av在线大香蕉| 美女高潮到喷水免费观看| 午夜福利一区二区在线看| 国产成人欧美| 久久国产精品影院| 一本大道久久a久久精品| 可以在线观看毛片的网站| 国产精品久久电影中文字幕| 精品无人区乱码1区二区| 高清毛片免费观看视频网站 | 一区二区三区精品91| 亚洲一码二码三码区别大吗| 露出奶头的视频| 亚洲熟妇中文字幕五十中出 | 久99久视频精品免费| 久久久久国内视频| 日本免费a在线| 成人免费观看视频高清| 99精品欧美一区二区三区四区| 久久狼人影院| 久久欧美精品欧美久久欧美| 亚洲欧美激情在线| 亚洲av五月六月丁香网| 亚洲国产欧美网| 黄色丝袜av网址大全| 精品欧美一区二区三区在线| 日本vs欧美在线观看视频| 国产精品成人在线| 男女下面插进去视频免费观看| 黑丝袜美女国产一区| 在线观看66精品国产| 97人妻天天添夜夜摸| 一级毛片高清免费大全| √禁漫天堂资源中文www| 在线av久久热| 一区在线观看完整版| www.www免费av| 久久精品国产亚洲av高清一级| 午夜福利在线免费观看网站| 日本精品一区二区三区蜜桃| 80岁老熟妇乱子伦牲交| 国产精品久久久av美女十八| 日韩欧美国产一区二区入口| 亚洲一区二区三区色噜噜 | 99国产极品粉嫩在线观看| 999久久久精品免费观看国产| 久久国产精品影院| 亚洲av五月六月丁香网| 免费在线观看视频国产中文字幕亚洲| 一级毛片精品| 黄色怎么调成土黄色| 久久国产精品人妻蜜桃| 午夜成年电影在线免费观看| 亚洲成国产人片在线观看| 国产极品粉嫩免费观看在线| 真人一进一出gif抽搐免费| 麻豆av在线久日| 夜夜爽天天搞| 亚洲国产欧美一区二区综合| 中文字幕另类日韩欧美亚洲嫩草| 99国产精品一区二区蜜桃av| 交换朋友夫妻互换小说| 久久中文字幕一级| 淫秽高清视频在线观看| 国产精品av久久久久免费| 久久精品人人爽人人爽视色| 国产一卡二卡三卡精品| 在线天堂中文资源库| 老汉色av国产亚洲站长工具| 国产精品久久久人人做人人爽| 99re在线观看精品视频| 久久精品aⅴ一区二区三区四区| 波多野结衣av一区二区av| 国产又爽黄色视频| 亚洲国产毛片av蜜桃av| av视频免费观看在线观看| 午夜福利欧美成人| 国产精品久久久av美女十八| 精品久久久久久,| av中文乱码字幕在线| 午夜免费成人在线视频| 午夜两性在线视频| 在线观看www视频免费| 老司机靠b影院| 夜夜看夜夜爽夜夜摸 | 国产欧美日韩一区二区三区在线| 亚洲欧美精品综合一区二区三区| 亚洲午夜精品一区,二区,三区| 搡老熟女国产l中国老女人| 精品国产国语对白av| 午夜日韩欧美国产| 亚洲专区国产一区二区| 老汉色∧v一级毛片| 少妇粗大呻吟视频| 精品电影一区二区在线| 999精品在线视频| 国产一区在线观看成人免费| 欧美在线黄色| 亚洲国产毛片av蜜桃av| 国产精品久久久人人做人人爽| 99国产精品免费福利视频| 久久精品影院6| 亚洲av美国av| 国产精品日韩av在线免费观看 | 国产男靠女视频免费网站| 99re在线观看精品视频| 黄频高清免费视频| 女人精品久久久久毛片| 精品国内亚洲2022精品成人| 老汉色∧v一级毛片| 日韩精品免费视频一区二区三区| 精品一区二区三卡| 精品人妻1区二区| 在线观看一区二区三区激情| 日韩欧美一区二区三区在线观看| 欧美黄色片欧美黄色片| 国产av一区二区精品久久| 黄色女人牲交| a级毛片在线看网站| 国产精品偷伦视频观看了| 99久久精品国产亚洲精品| svipshipincom国产片| 日日摸夜夜添夜夜添小说| 欧美乱色亚洲激情| 国产精品98久久久久久宅男小说| 久久精品91蜜桃| 日本免费一区二区三区高清不卡 | 色哟哟哟哟哟哟| 一进一出抽搐gif免费好疼 | 精品免费久久久久久久清纯| 满18在线观看网站| 一区二区三区精品91| 操出白浆在线播放| 首页视频小说图片口味搜索| 校园春色视频在线观看| 最新美女视频免费是黄的| 我的亚洲天堂| 精品卡一卡二卡四卡免费| 日韩免费高清中文字幕av| 丝袜在线中文字幕| 国产深夜福利视频在线观看| 亚洲成人精品中文字幕电影 | 香蕉丝袜av| 一级片免费观看大全| 国产精品成人在线| 18禁黄网站禁片午夜丰满| 女人精品久久久久毛片| 两人在一起打扑克的视频| 99久久综合精品五月天人人| 国产在线精品亚洲第一网站| 脱女人内裤的视频| 精品卡一卡二卡四卡免费| 久久精品亚洲熟妇少妇任你| 女同久久另类99精品国产91| 午夜精品国产一区二区电影| 久久亚洲精品不卡| 黑丝袜美女国产一区| 后天国语完整版免费观看| 国产精品亚洲av一区麻豆| 国产人伦9x9x在线观看| 99国产精品99久久久久| 欧美激情久久久久久爽电影 | 午夜91福利影院| 黄色成人免费大全| 老司机靠b影院| 91成人精品电影| 精品国产美女av久久久久小说| 亚洲精品国产精品久久久不卡| 最近最新中文字幕大全免费视频| 男人的好看免费观看在线视频 | 国产精华一区二区三区| aaaaa片日本免费| 男女高潮啪啪啪动态图| 91精品国产国语对白视频| 不卡av一区二区三区| 精品国产亚洲在线| 久久人人97超碰香蕉20202| 国产精品香港三级国产av潘金莲| 亚洲熟妇中文字幕五十中出 | 91麻豆av在线| 亚洲欧美日韩高清在线视频| 美国免费a级毛片| 夜夜看夜夜爽夜夜摸 | 亚洲片人在线观看| 国产一区二区三区综合在线观看| 亚洲精品国产精品久久久不卡| 1024视频免费在线观看| 欧美丝袜亚洲另类 | 桃色一区二区三区在线观看| 精品第一国产精品| 99国产精品99久久久久| 国产亚洲精品一区二区www| 丝袜在线中文字幕| 欧美老熟妇乱子伦牲交| 香蕉国产在线看| 一级毛片精品| 涩涩av久久男人的天堂| 亚洲欧美一区二区三区黑人| 99香蕉大伊视频| 国产aⅴ精品一区二区三区波| 在线观看舔阴道视频| 国产高清视频在线播放一区| av视频免费观看在线观看| 久久久久久久精品吃奶| 日本vs欧美在线观看视频| 无限看片的www在线观看| 日韩免费av在线播放| 少妇被粗大的猛进出69影院| 一边摸一边抽搐一进一小说| www.熟女人妻精品国产| 一区二区三区激情视频| 18禁国产床啪视频网站| 桃红色精品国产亚洲av| 性欧美人与动物交配| 国产1区2区3区精品| 久热爱精品视频在线9| 一级a爱片免费观看的视频| 99国产精品免费福利视频| 69av精品久久久久久| 国产成人一区二区三区免费视频网站| av天堂久久9| 日韩国内少妇激情av| 少妇粗大呻吟视频| 日韩欧美一区二区三区在线观看| 亚洲国产精品一区二区三区在线| 欧美人与性动交α欧美精品济南到| 多毛熟女@视频| 国产熟女xx| 免费在线观看影片大全网站| 国产高清激情床上av| 国产伦一二天堂av在线观看| 成年版毛片免费区| 国产亚洲精品第一综合不卡| 亚洲精品美女久久av网站| 夜夜爽天天搞| 欧美丝袜亚洲另类 | 少妇的丰满在线观看| 人妻丰满熟妇av一区二区三区| 曰老女人黄片| 女人高潮潮喷娇喘18禁视频| 国产成年人精品一区二区 | 美国免费a级毛片| 国产高清视频在线播放一区| 18禁国产床啪视频网站| 久久久久久久精品吃奶| 国产区一区二久久| 国产精品野战在线观看 | 大型av网站在线播放| 久久久久久亚洲精品国产蜜桃av| 国产成人av激情在线播放| 水蜜桃什么品种好| 搡老岳熟女国产| 99精国产麻豆久久婷婷| 亚洲一卡2卡3卡4卡5卡精品中文| 久久久久精品国产欧美久久久| 欧美精品啪啪一区二区三区| 涩涩av久久男人的天堂| 美女高潮到喷水免费观看| 欧美精品一区二区免费开放| 精品久久久久久成人av| 女人爽到高潮嗷嗷叫在线视频| 免费在线观看影片大全网站| 亚洲视频免费观看视频| 最近最新中文字幕大全免费视频| 女人精品久久久久毛片| 热re99久久国产66热| 国产精品综合久久久久久久免费 | 成人永久免费在线观看视频| 99久久人妻综合| 女生性感内裤真人,穿戴方法视频| 国产精品偷伦视频观看了| 国产精品永久免费网站| 国产亚洲av高清不卡| av在线播放免费不卡| 狠狠狠狠99中文字幕| 午夜久久久在线观看| 欧美日韩精品网址| 在线观看一区二区三区激情| 欧美日韩亚洲综合一区二区三区_| 欧美色视频一区免费| 久久久久久久久免费视频了| 999精品在线视频| 日韩欧美一区二区三区在线观看| 国产精品 国内视频| 欧美中文综合在线视频| 欧美不卡视频在线免费观看 | 日韩免费av在线播放| 美女高潮喷水抽搐中文字幕| 久久天躁狠狠躁夜夜2o2o| 国产高清国产精品国产三级| 精品少妇一区二区三区视频日本电影| 亚洲成av片中文字幕在线观看| 桃红色精品国产亚洲av| 91老司机精品| 丝袜在线中文字幕| 久久香蕉国产精品| 99精品久久久久人妻精品| 成人18禁高潮啪啪吃奶动态图| 久久青草综合色| 日本黄色视频三级网站网址| 神马国产精品三级电影在线观看 | 久久天堂一区二区三区四区| 又大又爽又粗| av天堂久久9| 丝袜在线中文字幕| 美女高潮到喷水免费观看| 在线观看日韩欧美| 精品高清国产在线一区| 丁香欧美五月| 交换朋友夫妻互换小说| 在线播放国产精品三级| 激情视频va一区二区三区| 亚洲成人国产一区在线观看| 亚洲一卡2卡3卡4卡5卡精品中文| 99国产精品99久久久久| 乱人伦中国视频| 大陆偷拍与自拍| 国产精品 欧美亚洲| 女人被躁到高潮嗷嗷叫费观| 成人亚洲精品一区在线观看| 国产成人啪精品午夜网站| 久久国产精品影院| 欧美激情 高清一区二区三区| 欧美色视频一区免费| 成人精品一区二区免费| 最好的美女福利视频网| 在线看a的网站| 亚洲欧洲精品一区二区精品久久久| 动漫黄色视频在线观看| 国产精品二区激情视频| 国产欧美日韩综合在线一区二区| 久久 成人 亚洲| 午夜福利欧美成人| 人成视频在线观看免费观看| 91大片在线观看| 亚洲av成人不卡在线观看播放网| 极品教师在线免费播放| 亚洲男人的天堂狠狠| 成人av一区二区三区在线看| 国产一区二区在线av高清观看| 免费久久久久久久精品成人欧美视频| 不卡一级毛片| 精品久久久久久久毛片微露脸| 大码成人一级视频| 久久国产精品影院| 日本精品一区二区三区蜜桃| 国产国语露脸激情在线看| 又黄又粗又硬又大视频| 麻豆国产av国片精品| 成人永久免费在线观看视频| 欧美黑人精品巨大| 免费搜索国产男女视频| 级片在线观看| 夜夜看夜夜爽夜夜摸 | av在线天堂中文字幕 | 91在线观看av| 久久精品aⅴ一区二区三区四区| 99riav亚洲国产免费| 99精品在免费线老司机午夜| 天天躁夜夜躁狠狠躁躁| 久久中文字幕一级| 国内久久婷婷六月综合欲色啪| 999精品在线视频| 免费高清在线观看日韩| av网站在线播放免费| 午夜两性在线视频| 色综合站精品国产| 人妻久久中文字幕网| 日本黄色视频三级网站网址| videosex国产| 欧美日韩亚洲国产一区二区在线观看| 日韩中文字幕欧美一区二区| 成人免费观看视频高清| 自拍欧美九色日韩亚洲蝌蚪91| 在线观看www视频免费| 天天添夜夜摸| 国产精品永久免费网站| 天天躁夜夜躁狠狠躁躁| 人成视频在线观看免费观看| 中文字幕av电影在线播放| 精品一区二区三卡| 一级作爱视频免费观看| 国产精品一区二区精品视频观看| 久久久久久久午夜电影 | 久久久国产欧美日韩av| 国产精品成人在线| 99国产精品一区二区三区| 欧美日本中文国产一区发布| 亚洲avbb在线观看| 成人国产一区最新在线观看| 国产精品 国内视频| 精品国产国语对白av| 亚洲视频免费观看视频| 日韩一卡2卡3卡4卡2021年| 日韩中文字幕欧美一区二区| 日韩欧美免费精品| 国产成人av激情在线播放| 一级a爱片免费观看的视频| 国产欧美日韩一区二区精品| 757午夜福利合集在线观看| 国产一区二区在线av高清观看| 美女扒开内裤让男人捅视频| 自线自在国产av| 男人的好看免费观看在线视频 | 欧美日韩精品网址| 国产一区二区三区在线臀色熟女 | 久久亚洲精品不卡| 美女 人体艺术 gogo| 夜夜看夜夜爽夜夜摸 | 最新在线观看一区二区三区| 国产亚洲av高清不卡| 午夜亚洲福利在线播放| xxxhd国产人妻xxx| 国产真人三级小视频在线观看| 久99久视频精品免费| 一级黄色大片毛片| 叶爱在线成人免费视频播放| 人人澡人人妻人| av欧美777| 亚洲成a人片在线一区二区| 在线观看www视频免费| 男女下面插进去视频免费观看| 男男h啪啪无遮挡| 欧美老熟妇乱子伦牲交| 91大片在线观看| 国产一卡二卡三卡精品| 国产激情久久老熟女| 亚洲少妇的诱惑av| 别揉我奶头~嗯~啊~动态视频| 午夜两性在线视频| 免费人成视频x8x8入口观看| 亚洲av片天天在线观看| 91精品三级在线观看| av天堂久久9| 久久精品国产清高在天天线| 亚洲一区高清亚洲精品| 麻豆久久精品国产亚洲av | 欧美乱色亚洲激情| 美女高潮到喷水免费观看| 搡老乐熟女国产| 午夜a级毛片| 成人国语在线视频| 国产欧美日韩一区二区三区在线| 久久久久九九精品影院| 老熟妇乱子伦视频在线观看| 香蕉丝袜av| 麻豆一二三区av精品| 亚洲熟妇熟女久久| 夜夜躁狠狠躁天天躁| 18禁国产床啪视频网站| 亚洲精品国产一区二区精华液| 最好的美女福利视频网| 麻豆国产av国片精品| 麻豆成人av在线观看| 亚洲七黄色美女视频| 精品高清国产在线一区| 人人妻人人爽人人添夜夜欢视频| 精品久久久久久成人av| 丁香欧美五月| 免费在线观看亚洲国产| 悠悠久久av| 国产精华一区二区三区| 变态另类成人亚洲欧美熟女 | 日本精品一区二区三区蜜桃| 在线播放国产精品三级| 在线观看一区二区三区激情| 日本一区二区免费在线视频| 国产精品亚洲一级av第二区| 精品福利永久在线观看| 咕卡用的链子| 久久香蕉国产精品| 高潮久久久久久久久久久不卡| 日韩欧美一区二区三区在线观看| av片东京热男人的天堂| 精品电影一区二区在线| 国产av又大| 亚洲一区二区三区色噜噜 | 中文字幕色久视频| 久久人人97超碰香蕉20202| 波多野结衣一区麻豆| 不卡一级毛片| 日韩高清综合在线| 激情在线观看视频在线高清| 性色av乱码一区二区三区2| 91在线观看av| 女性生殖器流出的白浆| 夜夜躁狠狠躁天天躁| 99精品欧美一区二区三区四区| 9色porny在线观看| 性欧美人与动物交配| 人人妻,人人澡人人爽秒播| 成人国语在线视频| 村上凉子中文字幕在线| 91麻豆av在线| 国产精品久久久av美女十八| 精品日产1卡2卡| 男女做爰动态图高潮gif福利片 | 久久中文字幕一级| 亚洲色图综合在线观看| 在线免费观看的www视频| 亚洲欧洲精品一区二区精品久久久| 亚洲精品久久成人aⅴ小说| 中出人妻视频一区二区| 亚洲成人精品中文字幕电影 | 黑人猛操日本美女一级片| 男女做爰动态图高潮gif福利片 | 亚洲人成77777在线视频| 男男h啪啪无遮挡| videosex国产| 中文字幕高清在线视频| 国产精品日韩av在线免费观看 | 97超级碰碰碰精品色视频在线观看| 激情视频va一区二区三区| 夜夜爽天天搞| 成人精品一区二区免费| 日韩欧美一区二区三区在线观看| 午夜久久久在线观看| 午夜福利欧美成人| 亚洲欧美精品综合久久99| 天天躁狠狠躁夜夜躁狠狠躁| 亚洲成a人片在线一区二区| 久久欧美精品欧美久久欧美| bbb黄色大片| 成人国产一区最新在线观看| 日本vs欧美在线观看视频| 亚洲精品一区av在线观看| 亚洲成a人片在线一区二区| 久久人人精品亚洲av| 老司机午夜福利在线观看视频| 精品国产一区二区三区四区第35| 久久草成人影院| 亚洲片人在线观看| 丰满迷人的少妇在线观看| 免费高清视频大片| 国产精品电影一区二区三区| 国产精品九九99| 可以在线观看毛片的网站| 亚洲中文av在线| 欧美日韩国产mv在线观看视频| 国产精品av久久久久免费| 免费在线观看视频国产中文字幕亚洲| 最近最新中文字幕大全免费视频| 激情在线观看视频在线高清| 久久天躁狠狠躁夜夜2o2o|