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

    存儲(chǔ)過(guò)程自動(dòng)化測(cè)試的實(shí)現(xiàn)

    2009-04-29 00:00:00馬竹根
    電腦知識(shí)與技術(shù) 2009年36期

    摘要:存儲(chǔ)過(guò)程的測(cè)試是一項(xiàng)非常繁瑣的工作,一些數(shù)據(jù)庫(kù)產(chǎn)品雖然提供了一些工具能夠統(tǒng)計(jì)出存儲(chǔ)過(guò)程的執(zhí)行時(shí)間、返回記錄數(shù)等信息,但是這些工具不能進(jìn)行批量的重復(fù)的測(cè)試,而且測(cè)試結(jié)果的顯示也不直觀。針對(duì)這些問(wèn)題,介紹了在 Junit 測(cè)試框架下實(shí)現(xiàn)存儲(chǔ)過(guò)程自動(dòng)化測(cè)試的方法,利用JUnit的自動(dòng)化和生成的測(cè)試代碼的復(fù)用,可實(shí)現(xiàn)存儲(chǔ)過(guò)程的回歸測(cè)試,利用XML技術(shù)存儲(chǔ)測(cè)試用例和測(cè)試結(jié)果,實(shí)現(xiàn)測(cè)試用例和測(cè)試代碼分離,提高了測(cè)試效率,為開發(fā)人員提供了直觀的測(cè)試結(jié)果。

    關(guān)鍵詞:存儲(chǔ)過(guò)程;自動(dòng)化測(cè)試;測(cè)試用例;Junit框架;XML

    中圖分類號(hào): TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)36-10252-02

    Research on Automated Testing of Stored Procedure

    MA Zhu-gen

    (Department of Computer Science and Technology, Huaihua University, Huaihua 418008, China)

    Abstract: Stored procedure test is an extremely tedious work.Some database products provide some tools to be able to make the statistics of the execution time of a stored procedure, the number of records and other information, but these tools can not carry on batch and repeated testing. Moreover,the test result is not intuitive. This paper describes the implementation scheme of stored procedure automation test under the junit framework.The code-reuse technique based automatic testing framework of Junitrealizes the regression testing of procedure. The test cases are described and organized using XML to realize the separation between code and data in order to improve efficiency of test, and the test result using XML provides developers with an intuitive notation.

    Key words:stored procedure; software automation testing; test case; junit framework; XML

    軟件測(cè)試是保證軟件質(zhì)量的重要手段,軟件測(cè)試在整個(gè)項(xiàng)目開發(fā)中所占的比重也越來(lái)越大。隨著軟件規(guī)模的擴(kuò)大和軟件復(fù)雜性的提高,軟件測(cè)試技術(shù)不斷發(fā)展,自動(dòng)化測(cè)試技術(shù)得到廣泛應(yīng)用,并逐漸成為軟件測(cè)試發(fā)展的方向。單元測(cè)試是軟件開發(fā)過(guò)程中要進(jìn)行的最基本的測(cè)試活動(dòng),是確保其他測(cè)試能夠順利進(jìn)行的基礎(chǔ)。隨著增量開發(fā)模式和重構(gòu)技術(shù)的發(fā)展,軟件自動(dòng)化測(cè)試工具JUnit也隨之產(chǎn)生。目前Junit已經(jīng)成為Java程序單元測(cè)試框架的標(biāo)準(zhǔn),已有多種對(duì)其進(jìn)行擴(kuò)展的自動(dòng)化測(cè)試工具[1]。

    存儲(chǔ)過(guò)程被廣泛應(yīng)用在各種與數(shù)據(jù)庫(kù)相關(guān)的應(yīng)用系統(tǒng)中。在開發(fā)階段,對(duì)存儲(chǔ)過(guò)程進(jìn)行測(cè)試是必不可少的工作。通常的測(cè)試過(guò)程是由測(cè)試人員通過(guò)命令窗口執(zhí)行命令,再將命令窗口中的結(jié)果信息拷貝下來(lái),保存到一個(gè)文件里,在以后再進(jìn)行分析或者比較。測(cè)試工作也可以使用類似Rapid SQL等圖形化的工具來(lái)輔助做一些工作,但能完成的測(cè)試工作量較少。這種大部分依靠手工進(jìn)行的存儲(chǔ)過(guò)程的單元測(cè)試存在很多缺點(diǎn),如測(cè)試效率低,無(wú)法重用,無(wú)法進(jìn)行自動(dòng)化的回歸測(cè)試,沒(méi)有直觀的測(cè)試結(jié)果,需要程序員手工整理測(cè)試結(jié)果并生成測(cè)試報(bào)告。針對(duì)這些問(wèn)題,本文在Eclipse中利用Junit測(cè)試框架來(lái)實(shí)現(xiàn)存儲(chǔ)過(guò)程測(cè)試的自動(dòng)化。

    1 Juit的框架結(jié)構(gòu)

    Junit是Erich Gamma和Kent Beck編寫的一個(gè)回歸測(cè)試框架,它是一個(gè)Java程序自動(dòng)測(cè)試的框架[2],用在軟件測(cè)試的單元測(cè)試階段,即Java對(duì)象類的功能測(cè)試。JUnit共有七個(gè)包,核心的包就是junit.framework和junit.runner。Framework包中包含了Junit測(cè)試類所需的所有基類,它是整個(gè)Junit的基礎(chǔ)框架[3],負(fù)責(zé)整個(gè)測(cè)試對(duì)象的構(gòu)架,Runner則負(fù)責(zé)測(cè)試驅(qū)動(dòng)。JUnit框架中主要有以下幾個(gè)對(duì)象類[4-5]:

    1) Assert類,它提供在編寫測(cè)試時(shí)要用到的所有assert方法。當(dāng)條件成立時(shí)assert方法保持沉默,但若條件不成立就拋出異常。Assert類是TestCase的父類。

    2) TestCase類

    客戶測(cè)試類所要繼承的類,負(fù)責(zé)測(cè)試時(shí)對(duì)客戶類進(jìn)行初始化,以及測(cè)試方法調(diào)用。類中的主要方法有:setUp()用于如變量賦值等測(cè)試的結(jié)果處理,tearDown()用于如文件關(guān)閉等測(cè)試的結(jié)束處理,run()測(cè)試實(shí)例的執(zhí)行,并把測(cè)試結(jié)果放入測(cè)試結(jié)果對(duì)象TestResult中。

    3) TestResult類

    負(fù)責(zé)收集TestCase所執(zhí)行的結(jié)果。一般來(lái)說(shuō),用戶不需要對(duì)TestResult進(jìn)行操作,測(cè)試結(jié)果由系統(tǒng)提供的測(cè)試工具自動(dòng)輸出。

    4) TestSuite類

    TestSuite對(duì)象是測(cè)試實(shí)例的集合,負(fù)責(zé)包裝和運(yùn)行所有的TestCase。

    2 存儲(chǔ)過(guò)程測(cè)試代碼的自動(dòng)生成

    Junit測(cè)試的實(shí)現(xiàn)流程就是繼承TestCase類,然后重載它的一些重要方法,如setUp()、tearDown(),最后將這些對(duì)象組裝到一個(gè)Testsuite對(duì)象中,交由TestRunner來(lái)運(yùn)行。為了利用 JUnit 帶來(lái)的高效率,首先需要改變被測(cè)存儲(chǔ)過(guò)程的調(diào)用方式,即從手工調(diào)用改為使用 JDBC 來(lái)調(diào)用,把一個(gè)個(gè)存儲(chǔ)過(guò)程的調(diào)用寫成Java 代碼,以后需要進(jìn)行回歸測(cè)試時(shí),只需要運(yùn)行這些 Java測(cè)試代碼就可以了。但是直接使用 JUnit,也會(huì)是一個(gè)煩瑣的過(guò)程,因?yàn)楸仨氃诿慷螠y(cè)試代碼中編寫連接數(shù)據(jù)庫(kù)的代碼和調(diào)用存儲(chǔ)過(guò)程時(shí)的一大堆參數(shù)設(shè)置的代碼。對(duì)于存儲(chǔ)過(guò)程測(cè)試來(lái)說(shuō),這些代碼就顯得非常累贅了,于是設(shè)想把這些操作封裝為一個(gè)公用的類,只需要在測(cè)試代碼中提供數(shù)據(jù)庫(kù)連接信息、存儲(chǔ)過(guò)程名字和參數(shù)值就可以了,其他的工作由這個(gè)公用的類來(lái)處理。因此在實(shí)現(xiàn)存儲(chǔ)過(guò)程測(cè)試代碼的自動(dòng)生成過(guò)程中,首先必須要解決如何獲得存儲(chǔ)過(guò)程名和存儲(chǔ)過(guò)程參數(shù)以及在生成的測(cè)試代碼中如何運(yùn)行存儲(chǔ)過(guò)程,下面分別進(jìn)行討論。

    2.1 存儲(chǔ)過(guò)程名和參數(shù)的獲取

    在存儲(chǔ)過(guò)程測(cè)試代碼生成過(guò)程中,第一個(gè)問(wèn)題是要針對(duì)哪些存儲(chǔ)過(guò)程生成測(cè)試代碼。獲取存儲(chǔ)過(guò)程名可以有兩種方式,其一是由用戶手動(dòng)指定,其二是將儲(chǔ)過(guò)程名稱保存在文件中,由系統(tǒng)自動(dòng)從文件中分析出存儲(chǔ)過(guò)程名稱。這樣的文件可以是一個(gè)定義了 Java 常量的 .java 文件,也可以是一個(gè) .properties 文件。文件中可用\"=\"來(lái)定義存儲(chǔ)過(guò)程,系統(tǒng)將自動(dòng)把\"=\"右邊的部分識(shí)別為存儲(chǔ)過(guò)程的名稱。

    要為存儲(chǔ)過(guò)程自動(dòng)生成測(cè)試代碼,有一個(gè)前提條件是被測(cè)試的存儲(chǔ)過(guò)程已經(jīng)在數(shù)據(jù)庫(kù)中創(chuàng)建。作為數(shù)據(jù)庫(kù)的對(duì)象,存儲(chǔ)過(guò)程的名稱、參數(shù)等信息也都有相應(yīng)的數(shù)據(jù)字典表存放。只要知道存儲(chǔ)過(guò)程的名字,可以查詢數(shù)據(jù)字典來(lái)獲取存儲(chǔ)過(guò)程的參數(shù)信息,如參數(shù)名稱、數(shù)據(jù)類型、長(zhǎng)度、出入?yún)㈩愋偷取R虼?,在測(cè)試代碼生成過(guò)程中可以根據(jù)存儲(chǔ)過(guò)程的名稱查詢數(shù)據(jù)庫(kù)的系統(tǒng)表來(lái)獲取參數(shù)信息,例如DB2 的 SYSCAT.ROUTINEPARMS表,Oracle 的 USER_ARGUMENTS 表或者SQLServer的SYSCOLUMNS 表等。

    2.2 測(cè)試代碼中存儲(chǔ)過(guò)程的運(yùn)行

    在已經(jīng)生成的測(cè)試代碼中,如果將大批的數(shù)據(jù)庫(kù)操作寫在測(cè)試代碼中顯然是不合適的,這樣會(huì)造成代碼的混亂和維護(hù)困難。因此考慮封裝一個(gè)類,用它專門來(lái)運(yùn)行存儲(chǔ)過(guò)程,它提供了以下主要方法:

    1) SPProcesss (DBInfoObject dbConfig), 構(gòu)造函數(shù),根據(jù)傳入的數(shù)據(jù)庫(kù)配置信息,建立數(shù)據(jù)庫(kù)連接,初始化運(yùn)行環(huán)境;2) getSPParmList(String routineSchema , String routineName) 根據(jù)存儲(chǔ)過(guò)程模式和存儲(chǔ)過(guò)程名獲取參數(shù)列表;3) runStoredProcedure(StoredProcedureInfo spInfo) 運(yùn)行存儲(chǔ)過(guò)程,存儲(chǔ)過(guò)程信息包含在名為 StoredProcedureInfo 的類中。4) String (getDurationTime) 獲取存儲(chǔ)過(guò)程運(yùn)行時(shí)間;5) object getReturnedObject (int parmIndex)獲取存儲(chǔ)過(guò)程輸出參數(shù)的值。

    其中的 StoredProcedureInfo是記錄存儲(chǔ)過(guò)程信息的類,包括存儲(chǔ)過(guò)程名、存儲(chǔ)過(guò)程參數(shù)列表等。因此,只需要首先創(chuàng)建存儲(chǔ)過(guò)程信息,然后調(diào)用 runStoredProcedure 方法即可運(yùn)行存儲(chǔ)過(guò)程。而這部分代碼也是自動(dòng)生成的,程序員真正需要做的就是修改調(diào)用參數(shù)的值。

    3 改進(jìn)的Junit框架

    采用Junit作為單元測(cè)試工具有許多優(yōu)點(diǎn),但也存在著不足。在實(shí)際的單元測(cè)試中,發(fā)現(xiàn)JUnit產(chǎn)生的測(cè)試代碼量是龐大的。為了提高測(cè)試代碼的復(fù)用,文獻(xiàn)[6]提出了一種改進(jìn)的自動(dòng)化單元測(cè)試框架。該框架設(shè)計(jì)的核心是實(shí)現(xiàn)測(cè)試用例與測(cè)試代碼的分離,運(yùn)用XML文件作為測(cè)試數(shù)據(jù)存儲(chǔ)的容器,把每個(gè)測(cè)試用例中的數(shù)據(jù)裝入到對(duì)應(yīng)的JavaBean中,最后構(gòu)建一個(gè)JavaBean對(duì)象為元素的ArraList來(lái)存儲(chǔ)所有的測(cè)試用例。測(cè)試執(zhí)行時(shí),測(cè)試代碼只需要從ArrayList里面取得測(cè)試用例的數(shù)據(jù),測(cè)試代碼僅僅完成驗(yàn)證任務(wù)。這樣,如果測(cè)試用例增加了,只需修改相應(yīng)的XML文件,而不必再修改測(cè)試代碼,就可完成相應(yīng)的測(cè)試。

    借鑒文獻(xiàn)[6]的方法,本文將測(cè)試用例和測(cè)試結(jié)果都存儲(chǔ)為 XML 文檔,使用方法writeToFile(String fileName, String time,ArrayList testResultList)將測(cè)試結(jié)果保存在XML文件中,測(cè)試結(jié)果可以包括存儲(chǔ)過(guò)程運(yùn)行的時(shí)間、返回的記錄數(shù)、調(diào)用的參數(shù)列表或者出錯(cuò)信息等。選擇把測(cè)試結(jié)果保存為 XML的一個(gè)重要原因是通過(guò)簡(jiǎn)單的 XML編程即可實(shí)現(xiàn)對(duì)歷次的測(cè)試結(jié)果的比較分析。其實(shí)現(xiàn)方法就是將測(cè)試結(jié)果的XML文件命名為 TestCaseName_年_月_日_時(shí)_分_秒.xml,每次運(yùn)行測(cè)試?yán)?,都生成一個(gè)具有時(shí)間戳的測(cè)試結(jié)果文件,例如:

    testSP_2009_10_18_17_27_00.xml

    testSP_2009_10_18_17_30_00.xml

    testSP_2009_10_18_17_32_00.xml

    通過(guò)比較這三個(gè)文件中同一個(gè)存儲(chǔ)過(guò)程的運(yùn)行耗時(shí)、返回記錄數(shù)等指標(biāo)就能知道這次的測(cè)試結(jié)果比上次是否有所改進(jìn),或者系統(tǒng)在不同時(shí)間點(diǎn)的性能變化情況。

    有了JUnit 測(cè)試代碼之后,在 Eclipse 中,左鍵雙擊將要運(yùn)行的 Java 文件,選擇 Run As->JUnit Test 就可以在工作環(huán)境中運(yùn)行測(cè)試文件了。運(yùn)行完畢后,會(huì)生成一個(gè)XML文件,再配合以XSL樣式文件,就可以在瀏覽器中看到美觀的測(cè)試報(bào)告了。

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

    Junit和Eclipse兩種軟件的源代碼都能從網(wǎng)上免費(fèi)獲得,利用Junit基于XML存儲(chǔ)測(cè)試數(shù)據(jù)和測(cè)試結(jié)果的新測(cè)試框架真正提高了測(cè)試效率,簡(jiǎn)化了測(cè)試步驟,從根本上提高了測(cè)試代碼的重用性。利用JUnit實(shí)現(xiàn)了以往存儲(chǔ)過(guò)程測(cè)試中很難進(jìn)行的回歸測(cè)試,利用XML技術(shù)實(shí)現(xiàn)了測(cè)試數(shù)據(jù)和測(cè)試代碼分離,提高了測(cè)試效率,為開發(fā)人員提供了直觀的測(cè)試結(jié)果。

    現(xiàn)有的測(cè)試框架可以擴(kuò)展到Cactus(Apache Software開發(fā)的用來(lái)對(duì)服務(wù)器上的Java代碼進(jìn)行測(cè)試的框架)框架上,實(shí)現(xiàn)從瀏覽器進(jìn)行存儲(chǔ)過(guò)程測(cè)試用例的調(diào)用執(zhí)行,可以克服因?yàn)殚_發(fā)和生產(chǎn)環(huán)境之間可能存在的網(wǎng)絡(luò)、安全等因素而影響測(cè)試準(zhǔn)確性的問(wèn)題。

    參考文獻(xiàn):

    [1] 余波,王樹林,張大方.基于Junit自動(dòng)生成類測(cè)試案例框架的實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2006,42(1):89-91.

    [2] 王東剛.軟件測(cè)試與JUnit實(shí)踐[M].北京:人民郵電出版社,2004.

    [3] 孔亮亮,殷兆麟.Java類測(cè)試工具Junit的分析與擴(kuò)展[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26(12):3413-3415.

    [4] 何成萬(wàn),余秋惠.用JUnit實(shí)現(xiàn)Java程序自動(dòng)測(cè)試[J].計(jì)算機(jī)應(yīng)用,2002,22(3):93-94.

    [5] 王聰.基于JUnit框架的軟件測(cè)試[J].湖北汽車工業(yè)學(xué)院學(xué)報(bào),2007,21(1):43-46.

    [6] 隋智泉.一種改進(jìn)的單元測(cè)試JUnit框架[J].電腦知識(shí)與技術(shù):學(xué)術(shù)交流,2007,2(8):479-480.

    亚洲性久久影院| 热99在线观看视频| 久久久国产成人免费| 国产三级中文精品| 麻豆精品久久久久久蜜桃| 欧美bdsm另类| 三级经典国产精品| 国产视频内射| 亚洲精品国产成人久久av| 国产免费福利视频在线观看| 精品久久久噜噜| 老司机影院成人| 99久久中文字幕三级久久日本| 黄片无遮挡物在线观看| 欧美人与善性xxx| 韩国av在线不卡| 亚洲aⅴ乱码一区二区在线播放| .国产精品久久| 99热这里只有精品一区| 国产黄色视频一区二区在线观看 | 黑人高潮一二区| 亚洲欧美成人精品一区二区| 麻豆乱淫一区二区| 久久综合国产亚洲精品| 我的女老师完整版在线观看| 精品国产露脸久久av麻豆 | 日韩三级伦理在线观看| 2022亚洲国产成人精品| 看免费成人av毛片| 久久久久免费精品人妻一区二区| 国产69精品久久久久777片| 好男人视频免费观看在线| 我要搜黄色片| 亚洲怡红院男人天堂| 亚洲成人精品中文字幕电影| 插逼视频在线观看| 免费av观看视频| 日韩欧美国产在线观看| 女人被狂操c到高潮| av黄色大香蕉| 国产精品不卡视频一区二区| 内射极品少妇av片p| 久久久久久久久久成人| 国产午夜精品论理片| 黄色欧美视频在线观看| 欧美成人免费av一区二区三区| 少妇人妻精品综合一区二区| 欧美成人一区二区免费高清观看| 岛国在线免费视频观看| 国产精品人妻久久久影院| 自拍偷自拍亚洲精品老妇| 亚洲国产精品sss在线观看| 国产又色又爽无遮挡免| 国产色爽女视频免费观看| 久久人妻av系列| 老师上课跳d突然被开到最大视频| 中文字幕免费在线视频6| 亚洲欧美精品综合久久99| 人妻系列 视频| 一区二区三区免费毛片| 亚洲av熟女| 日韩欧美精品免费久久| 美女xxoo啪啪120秒动态图| 日韩欧美三级三区| 热99在线观看视频| 亚洲欧美精品专区久久| 国产熟女欧美一区二区| av在线亚洲专区| 欧美日韩国产亚洲二区| 嘟嘟电影网在线观看| 日韩高清综合在线| 欧美性感艳星| 长腿黑丝高跟| 色综合亚洲欧美另类图片| 亚洲av中文av极速乱| 波多野结衣高清无吗| 国产老妇女一区| 中文在线观看免费www的网站| 一级av片app| 日本爱情动作片www.在线观看| 国产不卡一卡二| 岛国毛片在线播放| 一级毛片aaaaaa免费看小| 直男gayav资源| 中文字幕制服av| 成人亚洲精品av一区二区| 女的被弄到高潮叫床怎么办| 国产一级毛片在线| 老女人水多毛片| 国产淫语在线视频| 联通29元200g的流量卡| 国产精品麻豆人妻色哟哟久久 | av国产久精品久网站免费入址| 一个人观看的视频www高清免费观看| 嫩草影院入口| 性色avwww在线观看| 亚洲国产精品成人综合色| 岛国在线免费视频观看| 99国产精品一区二区蜜桃av| 免费搜索国产男女视频| 日本av手机在线免费观看| 日韩强制内射视频| 亚洲av成人av| 亚洲美女视频黄频| av国产免费在线观看| 亚洲乱码一区二区免费版| 国内少妇人妻偷人精品xxx网站| 久久欧美精品欧美久久欧美| 汤姆久久久久久久影院中文字幕 | 少妇熟女欧美另类| 成人午夜高清在线视频| av在线播放精品| 国产高清国产精品国产三级 | 成人毛片a级毛片在线播放| 欧美日韩一区二区视频在线观看视频在线 | 亚洲精品影视一区二区三区av| 亚洲av免费在线观看| 男女下面进入的视频免费午夜| 亚洲精品日韩av片在线观看| av国产免费在线观看| 日韩精品有码人妻一区| 亚洲av.av天堂| 美女国产视频在线观看| av免费在线看不卡| 亚洲av电影在线观看一区二区三区 | 99久久精品热视频| 黄片无遮挡物在线观看| 久久精品人妻少妇| 永久免费av网站大全| av.在线天堂| 天天躁夜夜躁狠狠久久av| 2021天堂中文幕一二区在线观| 国产三级在线视频| 成人国产麻豆网| 在线观看一区二区三区| 26uuu在线亚洲综合色| 亚洲精品色激情综合| 偷拍熟女少妇极品色| 69av精品久久久久久| 色哟哟·www| 欧美日韩精品成人综合77777| 哪个播放器可以免费观看大片| 男女下面进入的视频免费午夜| 最近最新中文字幕免费大全7| 国产一区亚洲一区在线观看| 国产精品人妻久久久影院| 在线免费观看的www视频| 色吧在线观看| 亚洲综合色惰| 中文字幕熟女人妻在线| 久久综合国产亚洲精品| 观看美女的网站| 成人无遮挡网站| 国产人妻一区二区三区在| 99久国产av精品| 丝袜喷水一区| 可以在线观看毛片的网站| 夜夜爽夜夜爽视频| 亚洲精华国产精华液的使用体验| 熟妇人妻久久中文字幕3abv| 亚洲中文字幕日韩| 国产精品一区二区性色av| 精品国产露脸久久av麻豆 | 亚洲精品国产av成人精品| 18禁裸乳无遮挡免费网站照片| 亚洲精品影视一区二区三区av| 免费黄色在线免费观看| 春色校园在线视频观看| 午夜免费激情av| 国产亚洲一区二区精品| 亚洲国产精品久久男人天堂| 联通29元200g的流量卡| 欧美高清成人免费视频www| 午夜免费男女啪啪视频观看| 97超碰精品成人国产| www.av在线官网国产| 天堂中文最新版在线下载 | 在线观看一区二区三区| 男女下面进入的视频免费午夜| 美女大奶头视频| eeuss影院久久| 亚洲欧洲日产国产| 美女cb高潮喷水在线观看| 成人二区视频| 国产探花在线观看一区二区| 欧美日韩国产亚洲二区| 国产精品福利在线免费观看| АⅤ资源中文在线天堂| 亚洲四区av| 成人鲁丝片一二三区免费| 久久这里有精品视频免费| 欧美+日韩+精品| 国产精品乱码一区二三区的特点| 伦理电影大哥的女人| 精华霜和精华液先用哪个| 嫩草影院精品99| 久久99热这里只频精品6学生 | 欧美色视频一区免费| 热99re8久久精品国产| 乱码一卡2卡4卡精品| 日韩一区二区视频免费看| 国产在线男女| 欧美高清成人免费视频www| 欧美+日韩+精品| 人人妻人人澡人人爽人人夜夜 | 三级毛片av免费| 午夜精品国产一区二区电影 | 2022亚洲国产成人精品| 亚洲伊人久久精品综合 | 久久久色成人| 亚洲图色成人| 亚洲无线观看免费| 亚洲中文字幕一区二区三区有码在线看| 美女大奶头视频| 国产伦精品一区二区三区视频9| 最近中文字幕高清免费大全6| 1024手机看黄色片| 婷婷色av中文字幕| 国产精品电影一区二区三区| 国产熟女欧美一区二区| 国产一区二区三区av在线| 99热网站在线观看| or卡值多少钱| 最近中文字幕高清免费大全6| 99久久精品热视频| 观看美女的网站| 色播亚洲综合网| 久久久久九九精品影院| 嘟嘟电影网在线观看| 久久久a久久爽久久v久久| 国产成人午夜福利电影在线观看| 岛国毛片在线播放| 边亲边吃奶的免费视频| 黄片无遮挡物在线观看| 26uuu在线亚洲综合色| 黑人高潮一二区| 国产黄片视频在线免费观看| 男人和女人高潮做爰伦理| 婷婷色av中文字幕| 久久精品国产鲁丝片午夜精品| a级毛片免费高清观看在线播放| 激情 狠狠 欧美| 精品久久久久久久末码| 插阴视频在线观看视频| 亚洲国产色片| 少妇熟女欧美另类| 国产精品蜜桃在线观看| 国产在视频线在精品| 99久久精品一区二区三区| 国产成人freesex在线| 国产黄片美女视频| 人妻夜夜爽99麻豆av| 美女大奶头视频| 国产av不卡久久| 久久精品久久精品一区二区三区| 国产精品久久久久久av不卡| 国产美女午夜福利| 中文在线观看免费www的网站| 大又大粗又爽又黄少妇毛片口| 尾随美女入室| 日本-黄色视频高清免费观看| 国产午夜精品久久久久久一区二区三区| 色综合亚洲欧美另类图片| a级毛片免费高清观看在线播放| 丝袜美腿在线中文| 中文字幕精品亚洲无线码一区| 蜜桃久久精品国产亚洲av| 人人妻人人看人人澡| 国产高清不卡午夜福利| 国产高潮美女av| av又黄又爽大尺度在线免费看 | 中国国产av一级| 男插女下体视频免费在线播放| 免费看av在线观看网站| 天堂影院成人在线观看| 午夜免费男女啪啪视频观看| 亚洲成人av在线免费| 波多野结衣高清无吗| 亚洲一级一片aⅴ在线观看| 日本免费a在线| 午夜免费激情av| 99久国产av精品| 成人欧美大片| 天天一区二区日本电影三级| 中文天堂在线官网| 亚洲怡红院男人天堂| 99九九线精品视频在线观看视频| 一边摸一边抽搐一进一小说| 一级黄片播放器| 精品久久久久久久久久久久久| 熟妇人妻久久中文字幕3abv| 精品熟女少妇av免费看| 成人三级黄色视频| 国国产精品蜜臀av免费| 男插女下体视频免费在线播放| 一级av片app| 成人美女网站在线观看视频| 最近中文字幕2019免费版| 深夜a级毛片| 亚洲熟妇中文字幕五十中出| 天天躁日日操中文字幕| 三级国产精品片| 夜夜爽夜夜爽视频| 99视频精品全部免费 在线| 免费看a级黄色片| 男女边吃奶边做爰视频| 99久久无色码亚洲精品果冻| 建设人人有责人人尽责人人享有的 | 国产精品1区2区在线观看.| 亚洲精品,欧美精品| 中文精品一卡2卡3卡4更新| 天天躁日日操中文字幕| 内地一区二区视频在线| 亚洲在久久综合| 国产亚洲5aaaaa淫片| 精品久久国产蜜桃| videossex国产| 成人亚洲精品av一区二区| 国产伦理片在线播放av一区| 日韩欧美 国产精品| av免费在线看不卡| videossex国产| 观看免费一级毛片| 岛国毛片在线播放| 日产精品乱码卡一卡2卡三| 超碰av人人做人人爽久久| 水蜜桃什么品种好| 美女被艹到高潮喷水动态| 欧美区成人在线视频| 在线观看一区二区三区| videossex国产| 国产色爽女视频免费观看| 精品熟女少妇av免费看| 亚洲欧洲日产国产| 国产片特级美女逼逼视频| 久久鲁丝午夜福利片| 日本wwww免费看| 成人无遮挡网站| 国产大屁股一区二区在线视频| av在线蜜桃| 淫秽高清视频在线观看| 色视频www国产| 最近中文字幕2019免费版| 天堂√8在线中文| 乱系列少妇在线播放| 日韩在线高清观看一区二区三区| 久久99蜜桃精品久久| 国产高清有码在线观看视频| 国产单亲对白刺激| 日日摸夜夜添夜夜添av毛片| 午夜福利网站1000一区二区三区| 国产精品,欧美在线| 欧美成人一区二区免费高清观看| 天堂影院成人在线观看| 国产熟女欧美一区二区| 亚州av有码| 中文字幕久久专区| 你懂的网址亚洲精品在线观看 | 国产精品美女特级片免费视频播放器| 亚洲三级黄色毛片| 亚洲中文字幕一区二区三区有码在线看| 草草在线视频免费看| av在线播放精品| 尤物成人国产欧美一区二区三区| 久久精品91蜜桃| 亚洲av电影在线观看一区二区三区 | 亚洲图色成人| 亚洲成色77777| 亚洲av福利一区| 秋霞在线观看毛片| 欧美激情国产日韩精品一区| 在线观看一区二区三区| 午夜福利视频1000在线观看| 99热精品在线国产| 婷婷色麻豆天堂久久 | 中国美白少妇内射xxxbb| 热99在线观看视频| 99久久精品国产国产毛片| 国产又色又爽无遮挡免| 色噜噜av男人的天堂激情| 久久午夜福利片| 国产午夜精品一二区理论片| av播播在线观看一区| 日韩高清综合在线| 秋霞伦理黄片| 亚洲精品亚洲一区二区| 岛国在线免费视频观看| 日韩视频在线欧美| 3wmmmm亚洲av在线观看| 精品一区二区三区视频在线| 熟妇人妻久久中文字幕3abv| 美女黄网站色视频| 日韩一区二区三区影片| 精品酒店卫生间| 国产男人的电影天堂91| 久久精品久久久久久久性| 三级男女做爰猛烈吃奶摸视频| АⅤ资源中文在线天堂| 久久99热6这里只有精品| av福利片在线观看| 精品久久久久久久久av| 国产单亲对白刺激| 最近中文字幕2019免费版| 国产精品三级大全| 亚洲精品456在线播放app| 熟女电影av网| or卡值多少钱| 久久精品国产鲁丝片午夜精品| 国内精品美女久久久久久| 久久综合国产亚洲精品| 精品久久久久久成人av| 三级经典国产精品| 国产亚洲91精品色在线| 人妻系列 视频| 国产探花极品一区二区| 国产伦精品一区二区三区视频9| 毛片女人毛片| 日韩欧美在线乱码| www日本黄色视频网| 日韩高清综合在线| 久久这里有精品视频免费| 五月伊人婷婷丁香| 精品欧美国产一区二区三| 亚洲无线观看免费| av免费观看日本| 精品久久久久久久末码| 国产欧美日韩精品一区二区| 国产午夜精品久久久久久一区二区三区| 最近中文字幕高清免费大全6| 国产久久久一区二区三区| 日本免费在线观看一区| 99在线人妻在线中文字幕| 51国产日韩欧美| 麻豆一二三区av精品| 国产亚洲5aaaaa淫片| 一级二级三级毛片免费看| 亚洲av不卡在线观看| 国产老妇女一区| 欧美一区二区国产精品久久精品| 秋霞在线观看毛片| .国产精品久久| 久久久久久大精品| 99久国产av精品| 在线a可以看的网站| 久久人人爽人人爽人人片va| 青春草国产在线视频| 欧美激情久久久久久爽电影| 五月玫瑰六月丁香| 久久99热6这里只有精品| 成人亚洲欧美一区二区av| 久久精品综合一区二区三区| 国产亚洲一区二区精品| 成人三级黄色视频| 国产欧美日韩精品一区二区| 久久鲁丝午夜福利片| 日韩制服骚丝袜av| 一本一本综合久久| 在线播放无遮挡| 热99在线观看视频| 免费观看的影片在线观看| 国产精品99久久久久久久久| 亚洲av成人av| 亚洲不卡免费看| 国产一区二区三区av在线| 欧美成人一区二区免费高清观看| 久久精品国产亚洲av天美| 欧美人与善性xxx| 国产亚洲91精品色在线| 老司机福利观看| 日产精品乱码卡一卡2卡三| 国语对白做爰xxxⅹ性视频网站| 日韩在线高清观看一区二区三区| 草草在线视频免费看| 秋霞在线观看毛片| 全区人妻精品视频| 久久99热这里只频精品6学生 | 成人一区二区视频在线观看| 国产成人91sexporn| 亚洲一区高清亚洲精品| 永久网站在线| 亚洲av熟女| 亚洲av中文字字幕乱码综合| 草草在线视频免费看| 免费在线观看成人毛片| 在线天堂最新版资源| 免费搜索国产男女视频| 91狼人影院| 淫秽高清视频在线观看| 国产日韩欧美在线精品| 日韩精品有码人妻一区| 欧美丝袜亚洲另类| 人体艺术视频欧美日本| 亚洲av熟女| 少妇熟女aⅴ在线视频| 有码 亚洲区| 日本一本二区三区精品| 亚洲欧洲国产日韩| 午夜精品国产一区二区电影 | 五月玫瑰六月丁香| 欧美极品一区二区三区四区| 亚洲精品自拍成人| 久久久色成人| 91久久精品电影网| 久99久视频精品免费| 在线观看av片永久免费下载| 午夜激情福利司机影院| 日韩一本色道免费dvd| 美女cb高潮喷水在线观看| 99久久九九国产精品国产免费| 九九热线精品视视频播放| 又爽又黄无遮挡网站| 国产女主播在线喷水免费视频网站 | 久久久久国产网址| 国产成人福利小说| 最近最新中文字幕大全电影3| 久久精品久久久久久噜噜老黄 | 欧美日韩一区二区视频在线观看视频在线 | 亚洲av成人精品一区久久| 日本午夜av视频| 午夜激情欧美在线| 免费观看在线日韩| 日韩高清综合在线| 精品国产一区二区三区久久久樱花 | 欧美日韩国产亚洲二区| 又粗又硬又长又爽又黄的视频| 精品久久久噜噜| 亚洲熟妇中文字幕五十中出| 日本一本二区三区精品| 97超视频在线观看视频| 成年av动漫网址| 国产精品福利在线免费观看| 麻豆成人午夜福利视频| 国产高清不卡午夜福利| av卡一久久| 久久精品国产亚洲av涩爱| 日韩强制内射视频| 中文字幕久久专区| 色综合亚洲欧美另类图片| 晚上一个人看的免费电影| 日日啪夜夜撸| 麻豆成人午夜福利视频| 国产熟女欧美一区二区| 亚洲五月天丁香| www.av在线官网国产| 青青草视频在线视频观看| 乱码一卡2卡4卡精品| 亚洲欧洲国产日韩| 啦啦啦啦在线视频资源| 91午夜精品亚洲一区二区三区| 人妻少妇偷人精品九色| 精品国产露脸久久av麻豆 | 亚洲欧美成人综合另类久久久 | 黄片无遮挡物在线观看| 麻豆精品久久久久久蜜桃| 亚洲精品乱码久久久久久按摩| 在线免费十八禁| 天堂中文最新版在线下载 | 久久草成人影院| 国产三级中文精品| 乱系列少妇在线播放| 1000部很黄的大片| 男人的好看免费观看在线视频| 国产精品1区2区在线观看.| 丝袜美腿在线中文| 国产免费男女视频| 我要看日韩黄色一级片| 亚洲人成网站在线观看播放| 国产成人福利小说| av专区在线播放| 淫秽高清视频在线观看| 午夜免费男女啪啪视频观看| 久久久久久国产a免费观看| videos熟女内射| 久久久久久伊人网av| 乱码一卡2卡4卡精品| av又黄又爽大尺度在线免费看 | 成人高潮视频无遮挡免费网站| 视频中文字幕在线观看| 少妇熟女aⅴ在线视频| 美女内射精品一级片tv| 小说图片视频综合网站| 中文乱码字字幕精品一区二区三区 | 美女高潮的动态| 午夜日本视频在线| 国产美女午夜福利| 日本免费一区二区三区高清不卡| 乱系列少妇在线播放| 亚洲精品久久久久久婷婷小说 | 小蜜桃在线观看免费完整版高清| 床上黄色一级片| 成人午夜精彩视频在线观看| 国产精品爽爽va在线观看网站| 国产成人一区二区在线| 偷拍熟女少妇极品色| 国产探花极品一区二区| 日日干狠狠操夜夜爽| 免费看光身美女| 狠狠狠狠99中文字幕| 国产毛片a区久久久久| 免费搜索国产男女视频| 亚洲成色77777| 亚洲国产最新在线播放| 亚洲国产高清在线一区二区三| 国产精华一区二区三区| 日本黄色视频三级网站网址| 国产在视频线精品| 一区二区三区高清视频在线| 水蜜桃什么品种好| 国产三级中文精品| 国产精品国产三级国产专区5o | 日本一二三区视频观看| 夜夜看夜夜爽夜夜摸| av国产久精品久网站免费入址| av天堂中文字幕网| 国内精品宾馆在线|