• <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
    国产亚洲av片在线观看秒播厂 | 国产精品av视频在线免费观看| 激情 狠狠 欧美| 狠狠狠狠99中文字幕| 亚洲国产色片| 最近最新中文字幕大全电影3| 黄色一级大片看看| 国产爱豆传媒在线观看| 久久99蜜桃精品久久| 久久精品综合一区二区三区| 日本一二三区视频观看| 欧美高清性xxxxhd video| 内射极品少妇av片p| 91久久精品国产一区二区三区| 99久久精品国产国产毛片| 99久久成人亚洲精品观看| 亚洲国产精品合色在线| av天堂在线播放| 国产一区二区在线av高清观看| 国产亚洲av嫩草精品影院| 在线播放国产精品三级| www.av在线官网国产| 亚洲欧美精品专区久久| 日韩强制内射视频| 1024手机看黄色片| 国产在线精品亚洲第一网站| 黄色日韩在线| 中文欧美无线码| 免费观看精品视频网站| 成人亚洲欧美一区二区av| 一区福利在线观看| 国产高清有码在线观看视频| 一卡2卡三卡四卡精品乱码亚洲| 成人永久免费在线观看视频| 18禁黄网站禁片免费观看直播| 欧美性感艳星| 免费看av在线观看网站| 亚洲无线观看免费| 亚洲真实伦在线观看| 丰满乱子伦码专区| 亚洲人与动物交配视频| 成人一区二区视频在线观看| 国内精品美女久久久久久| 久久中文看片网| 97热精品久久久久久| 日本三级黄在线观看| 国产午夜精品论理片| 国产乱人视频| 亚洲国产欧洲综合997久久,| 超碰av人人做人人爽久久| 欧美激情在线99| 日日干狠狠操夜夜爽| 精品无人区乱码1区二区| 久久久国产成人精品二区| 一卡2卡三卡四卡精品乱码亚洲| 亚洲人与动物交配视频| 欧美一级a爱片免费观看看| 亚洲,欧美,日韩| 97超碰精品成人国产| 国产精品.久久久| 国产高清不卡午夜福利| 中文欧美无线码| 久久久成人免费电影| 中文精品一卡2卡3卡4更新| 国产一区二区三区在线臀色熟女| 亚洲国产精品成人综合色| 禁无遮挡网站| 亚洲成人久久爱视频| 亚洲av不卡在线观看| 联通29元200g的流量卡| 日韩成人伦理影院| 久久精品人妻少妇| 久久精品影院6| 一本久久中文字幕| 日韩一区二区三区影片| 在线播放国产精品三级| а√天堂www在线а√下载| 亚洲最大成人av| 久久久久久久午夜电影| 天天躁日日操中文字幕| 欧美另类亚洲清纯唯美| 18+在线观看网站| 欧美日韩综合久久久久久| 免费av不卡在线播放| 日韩国内少妇激情av| 看十八女毛片水多多多| 国产亚洲精品久久久久久毛片| 久久鲁丝午夜福利片| 少妇的逼水好多| 欧洲精品卡2卡3卡4卡5卡区| 久久精品国产亚洲av天美| 亚洲av成人精品一区久久| 日韩一区二区视频免费看| 午夜免费男女啪啪视频观看| 天天一区二区日本电影三级| www.av在线官网国产| 欧美日韩综合久久久久久| 亚洲精品亚洲一区二区| 午夜a级毛片| 久久中文看片网| 精品久久久久久久久av| 深爱激情五月婷婷| 六月丁香七月| 欧美xxxx性猛交bbbb| 女的被弄到高潮叫床怎么办| 大又大粗又爽又黄少妇毛片口| 搞女人的毛片| 熟女电影av网| 99久久久亚洲精品蜜臀av| 日本免费一区二区三区高清不卡| 精品久久久久久久久亚洲| 亚洲无线在线观看| 亚洲婷婷狠狠爱综合网| 级片在线观看| 不卡一级毛片| 国产男人的电影天堂91| videossex国产| 女的被弄到高潮叫床怎么办| 亚洲最大成人中文| 欧美区成人在线视频| 国产 一区精品| 亚洲国产欧美在线一区| 免费大片18禁| 欧美成人a在线观看| 男人和女人高潮做爰伦理| a级毛色黄片| 又爽又黄a免费视频| 国产欧美日韩精品一区二区| 91精品一卡2卡3卡4卡| 黄色配什么色好看| 国产精品一区二区在线观看99 | 日本与韩国留学比较| 18禁黄网站禁片免费观看直播| 少妇的逼好多水| 亚洲av第一区精品v没综合| 国产麻豆成人av免费视频| 欧美潮喷喷水| 午夜视频国产福利| 成年av动漫网址| 中文在线观看免费www的网站| 插逼视频在线观看| 久久婷婷人人爽人人干人人爱| 一夜夜www| 97热精品久久久久久| 日韩亚洲欧美综合| 春色校园在线视频观看| 亚洲欧美日韩高清专用| 久久精品国产亚洲网站| 色视频www国产| 久久精品国产鲁丝片午夜精品| 波多野结衣巨乳人妻| 三级经典国产精品| 欧美精品一区二区大全| 久久国产乱子免费精品| 搡女人真爽免费视频火全软件| 亚洲精品色激情综合| 舔av片在线| 午夜老司机福利剧场| 久久人人爽人人片av| 亚洲人成网站在线播| 99热这里只有是精品50| 日韩欧美在线乱码| 亚洲av二区三区四区| 97人妻精品一区二区三区麻豆| 亚洲av成人av| 亚洲国产欧洲综合997久久,| 亚洲成人中文字幕在线播放| 久久综合国产亚洲精品| 日韩一区二区三区影片| 成年av动漫网址| 婷婷精品国产亚洲av| 亚洲欧美日韩无卡精品| 91av网一区二区| 在线观看美女被高潮喷水网站| 亚洲人与动物交配视频| 久久这里有精品视频免费| 成人毛片a级毛片在线播放| 久久久午夜欧美精品| 一级av片app| 亚洲不卡免费看| 国产精品电影一区二区三区| 欧美激情久久久久久爽电影| 在线观看免费视频日本深夜| 精品一区二区三区人妻视频| 日本五十路高清| 久久精品国产亚洲av香蕉五月| 国产黄a三级三级三级人| 欧美性感艳星| videossex国产| 精品99又大又爽又粗少妇毛片| 亚洲在久久综合| 日本与韩国留学比较| 久久人人爽人人爽人人片va| 男女视频在线观看网站免费| 国产精品一区www在线观看| 亚洲av不卡在线观看| 乱码一卡2卡4卡精品| a级一级毛片免费在线观看| 一个人看的www免费观看视频| 日日啪夜夜撸| 国产一区亚洲一区在线观看| 日本爱情动作片www.在线观看| 国产亚洲av嫩草精品影院| 久99久视频精品免费| 校园春色视频在线观看| 中文字幕久久专区| 国内精品久久久久精免费| 国产白丝娇喘喷水9色精品| av天堂在线播放| 99热只有精品国产| 欧美成人a在线观看| 免费看日本二区| 国产伦理片在线播放av一区 | 欧美日韩精品成人综合77777| 最近视频中文字幕2019在线8| 亚洲欧美清纯卡通| 亚洲精品456在线播放app| 大又大粗又爽又黄少妇毛片口| 久久精品91蜜桃| 久久久成人免费电影| av在线播放精品| 欧美丝袜亚洲另类| 色尼玛亚洲综合影院| 欧美+日韩+精品| 99国产极品粉嫩在线观看| 天堂√8在线中文| 禁无遮挡网站| 午夜精品国产一区二区电影 | 国产伦理片在线播放av一区 | 国产一区二区三区在线臀色熟女| 国产人妻一区二区三区在| 最近最新中文字幕大全电影3| 亚洲一区二区三区色噜噜| 国产高清激情床上av| 国产精品女同一区二区软件| 午夜爱爱视频在线播放| 国产精品永久免费网站| 亚洲av二区三区四区| 黄片wwwwww| 亚洲欧美日韩卡通动漫| 国产精品蜜桃在线观看 | 国产亚洲5aaaaa淫片| 波多野结衣高清作品| 日韩欧美精品免费久久| 一本精品99久久精品77| 三级经典国产精品| 亚洲国产精品sss在线观看| 69人妻影院| 免费看av在线观看网站| 91狼人影院| 中文精品一卡2卡3卡4更新| 丝袜美腿在线中文| 日韩亚洲欧美综合| 又爽又黄a免费视频| 欧美不卡视频在线免费观看| 欧美日本亚洲视频在线播放| 国产黄a三级三级三级人| 国产精华一区二区三区| 精品久久久久久久久久久久久| 伦理电影大哥的女人| 少妇人妻一区二区三区视频| 久久综合国产亚洲精品| 久久99热6这里只有精品| 国产午夜精品一二区理论片| 边亲边吃奶的免费视频| 国产一区二区激情短视频| 精品人妻熟女av久视频| 欧美潮喷喷水| 中文字幕av成人在线电影| 国产精品三级大全| 能在线免费观看的黄片| 国产色婷婷99| 不卡一级毛片| 国产精品人妻久久久影院| 一级毛片我不卡| 日本在线视频免费播放| 成人高潮视频无遮挡免费网站| 久久99蜜桃精品久久| 久久久精品欧美日韩精品| 国产美女午夜福利| 美女被艹到高潮喷水动态| 寂寞人妻少妇视频99o| 国产精品,欧美在线| 欧美xxxx黑人xx丫x性爽| 欧美成人精品欧美一级黄| .国产精品久久| 亚洲欧美成人综合另类久久久 | 少妇裸体淫交视频免费看高清| 亚洲av免费高清在线观看| 真实男女啪啪啪动态图| 亚洲中文字幕一区二区三区有码在线看| 国产高清激情床上av| 日韩av在线大香蕉| 如何舔出高潮| 99久久九九国产精品国产免费| 亚洲精品成人久久久久久| 亚洲av第一区精品v没综合| 又爽又黄无遮挡网站| 免费av观看视频| 久久久午夜欧美精品| 一级二级三级毛片免费看| 免费在线观看成人毛片| 大又大粗又爽又黄少妇毛片口| 成人毛片60女人毛片免费| 亚州av有码| 毛片女人毛片| 精品久久久久久久久久久久久| 黄色日韩在线| 亚洲欧洲国产日韩| 夜夜爽天天搞| 国产乱人偷精品视频| 国产毛片a区久久久久| 免费av毛片视频| 精品久久久久久久末码| 久久久久久久久久久丰满| 一个人看的www免费观看视频| 国内揄拍国产精品人妻在线| 色播亚洲综合网| 别揉我奶头 嗯啊视频| 久久精品91蜜桃| 长腿黑丝高跟| 能在线免费观看的黄片| 国产午夜精品一二区理论片| 午夜福利在线在线| 乱人视频在线观看| 啦啦啦啦在线视频资源| 人妻制服诱惑在线中文字幕| 国产一区二区在线观看日韩| 日本欧美国产在线视频| 欧美一级a爱片免费观看看| ponron亚洲| 欧美一区二区国产精品久久精品| 非洲黑人性xxxx精品又粗又长| 国产精品人妻久久久久久| 久久欧美精品欧美久久欧美| 中国国产av一级| 国产精品一二三区在线看| 国产成人freesex在线| 黄片wwwwww| 六月丁香七月| 日韩欧美国产在线观看| 在线天堂最新版资源| 国产一区亚洲一区在线观看| 国产真实乱freesex| 欧美日本视频| 亚洲精品日韩av片在线观看| 色播亚洲综合网| 久久人妻av系列| 男人舔奶头视频| 少妇裸体淫交视频免费看高清| 欧美另类亚洲清纯唯美| 国产精品一区二区在线观看99 | 狂野欧美白嫩少妇大欣赏| 18+在线观看网站| 欧美bdsm另类| 国产精品久久视频播放| 亚洲精品乱码久久久v下载方式| 一级黄色大片毛片| 国产男人的电影天堂91| 国产美女午夜福利| 欧美高清成人免费视频www| 日本五十路高清| 国产高清有码在线观看视频| 直男gayav资源| av天堂中文字幕网| 91麻豆精品激情在线观看国产| 一本久久中文字幕| 99精品在免费线老司机午夜| 自拍偷自拍亚洲精品老妇| 岛国在线免费视频观看| 天堂影院成人在线观看| 麻豆久久精品国产亚洲av| 国产精品爽爽va在线观看网站| 国产单亲对白刺激| 日本成人三级电影网站| 国产精品人妻久久久影院| 非洲黑人性xxxx精品又粗又长| 日韩成人伦理影院| 黑人高潮一二区| 亚洲av不卡在线观看| 在线观看66精品国产| 久久99蜜桃精品久久| 偷拍熟女少妇极品色| 亚洲人成网站在线播| 成人特级黄色片久久久久久久| 男女做爰动态图高潮gif福利片| 国产成人影院久久av| 亚洲三级黄色毛片| 久久久午夜欧美精品| 午夜亚洲福利在线播放| 亚洲美女搞黄在线观看| 欧美日韩一区二区视频在线观看视频在线 | 99久久无色码亚洲精品果冻| 亚洲五月天丁香| 中文字幕av在线有码专区| 国内揄拍国产精品人妻在线| 国产亚洲欧美98| 成人毛片60女人毛片免费| 天天躁日日操中文字幕| 精品久久久久久久人妻蜜臀av| 日韩欧美一区二区三区在线观看| 在线免费十八禁| 一个人看的www免费观看视频| 成人特级av手机在线观看| 婷婷色av中文字幕| 在线天堂最新版资源| 一级毛片久久久久久久久女| 真实男女啪啪啪动态图| 黄片无遮挡物在线观看| 男人的好看免费观看在线视频| 色5月婷婷丁香| 中文精品一卡2卡3卡4更新| 亚洲一区高清亚洲精品| 美女脱内裤让男人舔精品视频 | 最近的中文字幕免费完整| 欧美激情久久久久久爽电影| 在线免费观看的www视频| 非洲黑人性xxxx精品又粗又长| 久久鲁丝午夜福利片| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 边亲边吃奶的免费视频| 欧美日韩乱码在线| 亚洲精品乱码久久久v下载方式| 亚洲欧美精品自产自拍| 亚洲最大成人av| 午夜福利成人在线免费观看| 亚洲第一区二区三区不卡| 狂野欧美激情性xxxx在线观看| 免费看日本二区| 黄色日韩在线| 亚洲熟妇中文字幕五十中出| 最近2019中文字幕mv第一页| 日韩欧美在线乱码| 91午夜精品亚洲一区二区三区| 99久久精品国产国产毛片| 天堂av国产一区二区熟女人妻| 久久精品国产亚洲av香蕉五月| 免费黄网站久久成人精品| eeuss影院久久| 99久国产av精品| 哪个播放器可以免费观看大片| 国产视频内射| 亚洲精品乱码久久久久久按摩| 99久久精品国产国产毛片| 在线观看免费视频日本深夜| 99riav亚洲国产免费| 美女脱内裤让男人舔精品视频 | 国产亚洲av片在线观看秒播厂 | 日韩一区二区三区影片| 日本-黄色视频高清免费观看| 美女xxoo啪啪120秒动态图| 久久精品国产亚洲av天美| 我的老师免费观看完整版| 美女xxoo啪啪120秒动态图| 国产久久久一区二区三区| av在线蜜桃| 一级二级三级毛片免费看| 高清毛片免费看| 国产精品综合久久久久久久免费| 18禁在线播放成人免费| 亚洲美女搞黄在线观看| 亚洲成人久久性| 一级毛片久久久久久久久女| 国产在视频线在精品| 久久婷婷人人爽人人干人人爱| 国产色爽女视频免费观看| 国产av一区在线观看免费| 男的添女的下面高潮视频| 天美传媒精品一区二区| 性欧美人与动物交配| 亚洲电影在线观看av| 久久久精品欧美日韩精品| 亚洲图色成人| 中文字幕av成人在线电影| 少妇猛男粗大的猛烈进出视频 | 亚洲在线自拍视频| 色综合亚洲欧美另类图片| 色尼玛亚洲综合影院| 热99在线观看视频| 99热全是精品| 久久99精品国语久久久| 麻豆乱淫一区二区| 欧美又色又爽又黄视频| 久久99热6这里只有精品| 亚洲成人精品中文字幕电影| 好男人在线观看高清免费视频| 欧美最新免费一区二区三区| 日韩欧美精品免费久久| 天堂中文最新版在线下载 | 久久6这里有精品| 色综合色国产| 亚洲av第一区精品v没综合| 欧美人与善性xxx| 免费观看人在逋| 一个人看视频在线观看www免费| 噜噜噜噜噜久久久久久91| 一本精品99久久精品77| 国产av在哪里看| 性色avwww在线观看| 黄色配什么色好看| 亚洲内射少妇av| 免费黄网站久久成人精品| 五月伊人婷婷丁香| 高清毛片免费观看视频网站| 欧美日韩一区二区视频在线观看视频在线 | 黑人高潮一二区| 91精品国产九色| 国内少妇人妻偷人精品xxx网站| 免费人成视频x8x8入口观看| 亚洲精华国产精华液的使用体验 | av专区在线播放| 久久久久久久午夜电影| 一级毛片aaaaaa免费看小| 国产成年人精品一区二区| 真实男女啪啪啪动态图| 最新中文字幕久久久久| 一级av片app| 婷婷色综合大香蕉| 精品日产1卡2卡| 少妇丰满av| 亚洲精品乱码久久久v下载方式| 男人舔女人下体高潮全视频| 欧美成人免费av一区二区三区| 26uuu在线亚洲综合色| 女人被狂操c到高潮| 少妇被粗大猛烈的视频| 精品99又大又爽又粗少妇毛片| 国产极品天堂在线| 免费看av在线观看网站| 日本五十路高清| 麻豆av噜噜一区二区三区| 亚洲精品日韩av片在线观看| 人妻久久中文字幕网| 久久国产乱子免费精品| 极品教师在线视频| 日韩精品有码人妻一区| 91精品国产九色| 国产真实伦视频高清在线观看| 亚洲av电影不卡..在线观看| 美女黄网站色视频| 成人午夜精彩视频在线观看| av在线天堂中文字幕| 亚洲在久久综合| 嫩草影院新地址| 不卡视频在线观看欧美| 岛国在线免费视频观看| 在线观看66精品国产| 中国美女看黄片| 老熟妇乱子伦视频在线观看| 99在线人妻在线中文字幕| 国产综合懂色| 五月玫瑰六月丁香| a级一级毛片免费在线观看| 激情 狠狠 欧美| 亚洲,欧美,日韩| 卡戴珊不雅视频在线播放| 国产精品1区2区在线观看.| 亚洲va在线va天堂va国产| 亚洲成人av在线免费| 国产高清有码在线观看视频| 亚洲色图av天堂| 毛片一级片免费看久久久久| 国产亚洲精品久久久久久毛片| 成人性生交大片免费视频hd| 99国产极品粉嫩在线观看| 久久99热6这里只有精品| 亚洲精品乱码久久久久久按摩| 秋霞在线观看毛片| 蜜臀久久99精品久久宅男| 久久精品国产99精品国产亚洲性色| 91av网一区二区| 蜜桃久久精品国产亚洲av| 男人舔女人下体高潮全视频| 女人被狂操c到高潮| 久久欧美精品欧美久久欧美| 可以在线观看的亚洲视频| 人妻夜夜爽99麻豆av| 性色avwww在线观看| 波野结衣二区三区在线| 一夜夜www| 久久久久免费精品人妻一区二区| 淫秽高清视频在线观看| 18+在线观看网站| 乱人视频在线观看| 国产探花在线观看一区二区| 91久久精品国产一区二区三区| 人人妻人人看人人澡| 中文字幕熟女人妻在线| 久久亚洲国产成人精品v| 亚洲无线在线观看| 不卡视频在线观看欧美| 春色校园在线视频观看| 亚洲精品亚洲一区二区| 如何舔出高潮| 国产精品免费一区二区三区在线| 亚洲丝袜综合中文字幕| 一级毛片久久久久久久久女| 国语自产精品视频在线第100页| 男人和女人高潮做爰伦理| 亚洲电影在线观看av| 三级毛片av免费| 亚洲精品日韩av片在线观看| 久久精品国产亚洲av天美| 在线免费观看的www视频| 午夜免费男女啪啪视频观看| 成人午夜高清在线视频| 插逼视频在线观看| 乱系列少妇在线播放| 国产av在哪里看| 直男gayav资源| 久久精品国产亚洲av香蕉五月| 精品日产1卡2卡| 成人三级黄色视频| 久久久久久久久久久丰满| 久久这里只有精品中国|