成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

【NCTS峰會回顧】網(wǎng)易張濤:網(wǎng)易新聞DevOps實(shí)踐及在AI測試中的應(yīng)用

運(yùn)維 系統(tǒng)運(yùn)維
2019年10月26日,由Testin主辦的第二屆NCTS中國云測試行業(yè)峰會在京召開,此次峰會以“AI+未來”為主題,匯聚來自國內(nèi)外測試領(lǐng)域的知名專家學(xué)者、領(lǐng)先企業(yè)決策者、高層技術(shù)管理者、媒體從業(yè)者等,共同探討高端云測試技術(shù)。

2019年10月26日,由Testin主辦的第二屆NCTS中國云測試行業(yè)峰會在京召開,此次峰會以“AI+未來”為主題,匯聚來自國內(nèi)外測試領(lǐng)域的知名專家學(xué)者、領(lǐng)先企業(yè)決策者、高層技術(shù)管理者、媒體從業(yè)者等,共同探討高端云測試技術(shù),幫助測試從業(yè)者了解最前沿行業(yè)趨勢,及最新的行業(yè)實(shí)踐。

[[283756]]

會上,網(wǎng)易傳媒測試總監(jiān)張濤做《網(wǎng)易新聞DevOps實(shí)踐及在AI測試中的應(yīng)用》主題演講。張濤分享了網(wǎng)易新聞在最近一年里在DevOps方面的實(shí)踐,并指出,“DevOps落地的過程也是一個提升測試價值的過程,從關(guān)注服務(wù)可用性到關(guān)注系統(tǒng)的可測性和穩(wěn)定性,在研發(fā)、測試和運(yùn)維全流程中發(fā)揮中樞作用。”

以下為張濤演講實(shí)錄:

我給大家分享一下最近一年網(wǎng)易新聞在DevOps方面所做的實(shí)踐和落地,希望能給大家一些好的思路。正式分享之前,先簡單的做一個自我介紹,我目前在網(wǎng)易新聞負(fù)責(zé)整個測試的質(zhì)量保障工作,來網(wǎng)易新聞之前,在百度做了大概七、八年,主要負(fù)責(zé)手百質(zhì)量保障的工作。在手百工作期間,我就已經(jīng)在做很多關(guān)于CICD,DevOps方面的實(shí)踐。近兩年,一些大公司都在做各種各樣的DevOps嘗試和落地,希望能夠打通串聯(lián),研發(fā)、運(yùn)維,以及測試的環(huán)節(jié),更好的提升迭代的效率。今天我重點(diǎn)結(jié)合網(wǎng)易新聞實(shí)踐的經(jīng)驗(yàn),以及之前在手百期間積累的經(jīng)驗(yàn),給大家做一個分享。

首先是通過DevOps提升迭代效率的思路和方法。第二,在DevOps這個范疇里,如何突出測試的價值。前面這兩個部分是講落地實(shí)踐的過程中如何提升測試的價值,我會把價值的提升稍微講一下。第三,機(jī)器學(xué)習(xí)測試及DevOps,今年我們在這部分做了著重嘗試,關(guān)于如何落地DevOps,尤其是機(jī)器學(xué)習(xí)相關(guān)的部分。上午我也聽了一下艾老師的分享,他講了AI測試上的思路和方法,其中有一部分內(nèi)容跟我所講的有類似的點(diǎn),比如關(guān)于算法、模型、特征,怎么來測。當(dāng)然,艾老師的分享重點(diǎn)還是偏重在測試的方法上,我們的重點(diǎn)在測試基礎(chǔ)上,把DevOps和機(jī)器學(xué)習(xí)的測試效率做了更好的提升。

先來看第一部分,常規(guī)的迭代效率提升。常規(guī)的測試方法,在大的版本迭代上有幾種方式,先是收集需求,然后去排期,研發(fā)測試,到最終版本的發(fā)布,是一個比較長的周期。如何把這個迭代變得更高效?近一兩年我們的業(yè)務(wù)迭代速度越來越快,不管對于研發(fā)還是測試,壓力都越來越大。如何將需求快速的交付,快速的上線,尤其是在研發(fā)、提測之后,到測試的階段,其實(shí)是壓力最大的階段,如何提升測試在迭代過程中的效率,盡量避免測試的瓶頸問題,也是我們一直在探索的方向。

想提升迭代的效率有很多基礎(chǔ)性的工作,我們之前在基礎(chǔ)的工作上做了很多長期的建設(shè),比如基礎(chǔ)的自動化工作,基礎(chǔ)的CI工作,只要完成這些基礎(chǔ)自動化能力的積累,才可能提升整個迭代的效率。傳統(tǒng)版本的迭代通常來說類似于火車模式,集中需求的收集、評審,集中的研發(fā),集中的測試,類似于我們常規(guī)講的模型,這就是整個版本迭代的模式。這里最大的問題是整個需求都特別集中,迭代過程中如果有任何需求的變更,需求的插入,都很難及時響應(yīng)。另外,產(chǎn)品的交付周期也會特別長。還有一個很大的問題就是研發(fā)的環(huán)節(jié),長期很多功能同步在開發(fā),在最后的環(huán)節(jié)會非常容易出問題,而且整個代碼的末值非常耗時。這是火車模式明顯的問題,如何優(yōu)化該模式,是我們一直在探索的問題。之前在手百,一直在嘗試從火車模式走到班車模式,班車模式改變了集中需求收集和集中的研發(fā)測試的方法,有新的需求隨時去提交,隨時去評審,隨時做研發(fā)和測試。當(dāng)然,這個隨時也不是每天都有,也是在一個相對固定的周期里面,比如一周做一次需求的收集和發(fā)布,每周有一定需求的提測和測試交付,這需要根據(jù)業(yè)務(wù)的復(fù)雜度,業(yè)務(wù)團(tuán)隊(duì)的構(gòu)成情況來評定到底設(shè)定什么樣的周期比較合理。我們在手百做了很多測試,通常傳統(tǒng)的方式是一個月到一個半月一個版本,開始做火車模式的時候做得比較激進(jìn)一些,想變成兩周,涉及到的團(tuán)隊(duì)規(guī)模都很大,兩周的模式,尤其是對于QA的模式挑戰(zhàn)是非常大的。因?yàn)槊看伟l(fā)布都要做回歸,灰度發(fā)布,驗(yàn)證過程,對QA的消耗是非常大的。為了應(yīng)對這個模式,專門成立了一個發(fā)布測試小組,這個小組常規(guī)的功能測試就不去參與了,就集中在每周發(fā)布測試的工作上。這需要投入很大的人力,而且是獨(dú)立的人來做,成本非常高。后來也做了一些調(diào)整,網(wǎng)易新聞也是固定三周一個迭代的模式。

評估時間樣周期是否合理,通常會看幾個維度的數(shù)據(jù),一是整個研發(fā)的交付周期,從需求發(fā)布后,到進(jìn)入開發(fā)的環(huán)節(jié),在這個固定的時間段之內(nèi),評估一個月的時間。如果這一個月的時間有兩個版本,或者說有1.5個版本,再評估固定時間段之內(nèi)研發(fā)產(chǎn)出是什么,真正投入在研發(fā)上的人時是什么,因?yàn)檠邪l(fā)除了版本迭代投入外,還有很多其它的工作,比如需求評審,Bug修復(fù),真正研發(fā)投入在需求開發(fā)工作中占了多少,這是我們需要評估的一個維度。另外一個維度是真正產(chǎn)出的方面,在一個固定的時間段內(nèi)需求交付的數(shù)量,當(dāng)然不能單看數(shù)量,因?yàn)樾枨蟮拇笮〔煌臅r也有不同,通常來說,評估的都是耗時,一個需求耗的研發(fā)人力、測試人力,評估固定周期內(nèi)產(chǎn)出多大量的需求。

在模式切換過程中,通常會遇到很多的問題,很多我們所依賴的工具、環(huán)境,都是非常割裂的。割裂就會導(dǎo)致無法提效,這樣的問題會讓很好的想法做起來很痛苦,這是我們之前業(yè)務(wù)的形態(tài),各個環(huán)節(jié)都是割裂、分散的,需求管理有獨(dú)立的平臺,研發(fā)代碼的管理,分支的管理也是獨(dú)立的一套平臺,上線配制通常是運(yùn)維獨(dú)立管理的一套東西,測試自動化的平臺、工具都是測試的團(tuán)隊(duì)來負(fù)責(zé)的。各個平臺又都各自維護(hù),各自管理,在整個迭代過程中很難非常流暢的打通,這個問題非常影響整體效率的提升。

我們怎么做這個工作?業(yè)界也有先行的經(jīng)驗(yàn),之前百度內(nèi)部就做了一套類似的平臺,在阿里、騰訊,幾個大廠都有類似的平臺,研發(fā)效能提效的平臺,比如阿里的云效平臺,騰訊的TAP平臺。在網(wǎng)易,我們是聯(lián)合著項(xiàng)目管理的團(tuán)隊(duì)一起來做了OverMind平臺,其最大的作用就是從需求到研發(fā),到上線,到測試,把各個環(huán)節(jié)常規(guī)所需要用到的一些平臺和工具都串聯(lián)打通。比如需求的管理,研發(fā)所使用的分支管理工具,以及測試的工具,上線的平臺,都進(jìn)行串聯(lián)打通。我們測試也都把iTestin提供的自動化的能力集成到了我們整個的流程里面。

我側(cè)重說一下測試的部分,包括客戶端的測試,后臺的測試,推薦的測試,我們都各自有幾個平臺來支撐測試的工作,以及效率的提升。這里涉及到的客戶端的自動化部分,網(wǎng)易內(nèi)部有一個易測的平臺,現(xiàn)在也在用iTestin做客戶端UI功能的自動化。關(guān)于后臺的自動化,網(wǎng)易做了一個叫“GoAPI”的平臺,統(tǒng)一管理后臺所有接口自動化case,實(shí)行統(tǒng)一運(yùn)行。以前大家寫接口,寫case各自管理,各自維護(hù),不太統(tǒng)一,寫case的規(guī)范也不統(tǒng)一。通過這個平臺統(tǒng)一管理后,包括后臺的性能測試也都在統(tǒng)一的平臺,測試的環(huán)節(jié)通過幾個平臺串聯(lián)起來,把自動化的能力全都運(yùn)營起來,這是測試每個階段所做的工作。

我們現(xiàn)在基于平臺的能力,把TDD的效果做了一個比較好的實(shí)施和落地,突破了以前做測試開發(fā)方面的局限。TDD能不能做好,最最核心的一個點(diǎn)就在接口契約上,有了GoAPI平臺,可以統(tǒng)一規(guī)范接口的契約,研發(fā)現(xiàn)在每寫一個接口,都需要在該平臺上定義接口的所有參數(shù)及每個參數(shù)的取值范圍。因?yàn)橛辛私涌谄跫s,實(shí)現(xiàn)了在真正寫代碼之前寫自動化的case,這是最本質(zhì)的變化,借此,整個測試的效率也有了明顯的提升,大概估算了一下,接口功能測試的環(huán)節(jié)大概能節(jié)省三分之一的人力。

還有一個環(huán)節(jié)在測試過程中遇到的非常多,而且是非常頭疼的問題,就是環(huán)境管理建設(shè)。大家做測試時都是每人建一個環(huán)境,建環(huán)境的腳本、方法,也都是各不相同,這個成本又比較高,研發(fā)每次更新代碼的時都要修改大環(huán)境腳本,環(huán)境搭建耗時且整個配制都很繁瑣,一個人只能用自己的環(huán)境,別人想用你的環(huán)境還要來找你,你再幫他去搭一個環(huán)境,這是非常耗時和麻煩的過程。而基于OverMind平臺管理環(huán)境,實(shí)現(xiàn)了自動化的環(huán)境搭建,將整個環(huán)境創(chuàng)建的過程實(shí)現(xiàn)一鍵式自動化。當(dāng)然,這非常依賴研發(fā)的配合,因?yàn)楹芏喹h(huán)境的搭建,一些參數(shù),尤其是環(huán)境里面配制的工作,跟研發(fā)的代碼是非常相關(guān)的,我們要和研發(fā)配合做很多很多的聯(lián)動和修改,基本上每個業(yè)務(wù)模塊都要跟研發(fā)一起去改配制,才能實(shí)現(xiàn)最終的自動化。

這是實(shí)現(xiàn)環(huán)境自動化之后的效果,一個業(yè)務(wù)模塊變更了,只需要更新這一個業(yè)務(wù)模塊的環(huán)境。我們有一個集成回歸的環(huán)境,在整個大的環(huán)境里面,如果有服務(wù)調(diào)用,就可以去調(diào)回歸環(huán)境另外依賴的服務(wù)。如果兩個業(yè)務(wù)模塊都有變更,需要調(diào)變更的模塊,就需要通過回歸的環(huán)境把另外一個依賴環(huán)境的代碼同步過來。我們在OverMind平臺上實(shí)現(xiàn)了環(huán)境的管理,每一個模塊環(huán)境的部署情況,都可以在這里直觀的展示。最終,環(huán)境搭建的整體效率提升了240倍,以前搭一個環(huán)境需要幾個小時,兩三個小時是常規(guī)的情況,如果遇到非常復(fù)雜的業(yè)務(wù),這個過程可能需要小半天。我們現(xiàn)在有了這樣一套在OverMind上做環(huán)境管理的工具之后,環(huán)境基本上分分鐘就搭起來了。另外,環(huán)境的數(shù)量也提升了非常多,以前只能有自己的一套環(huán)境,現(xiàn)在隨時想用哪個環(huán)境都可以快速的去搭建了。

另外,我們把CI的整個環(huán)節(jié)在OverMind平臺里做了打通,通過該平臺做CI的觸發(fā)和功能的調(diào)用,在流水線里把所有自動化的能力集成起來。除了代碼的CI之外,還有一個需求的CI,都能夠在我們平臺里有一個非常直觀的展現(xiàn)。

前面所講的這些部分重點(diǎn)還是關(guān)注在測試的可測性上,從大的DevOps范疇來講,重點(diǎn)關(guān)注在測試左移,也就是說如何從測試自身的范疇里往研發(fā),往需求的方向做更多的擴(kuò)展,更多關(guān)注的是可測性和需求的合理性。除了剛才提到的自動化工具,平臺工具之外,另外要做的一些工作,比如說單測,以及Code Review的工作,我們在日常工作中也會做一些投入,這要求我們和研發(fā)、產(chǎn)品,有非常密切的配合。

前面講的是從需求起源開始,到研發(fā),到測試,如何提升迭代的效率。下面的部分是說產(chǎn)品,或者是版本發(fā)布之后,如何做更多的質(zhì)量保障,這部分更關(guān)注服務(wù)的穩(wěn)定性。在服務(wù)的穩(wěn)定性上,關(guān)注幾個方面,一是服務(wù)的穩(wěn)定性;第二是全鏈路的監(jiān)控,更多的是把客戶端、服務(wù)端,整個監(jiān)控打通串聯(lián)起來;第三,故障預(yù)防和演練方面的一些工作,切實(shí)發(fā)現(xiàn)系統(tǒng)里面隱藏的風(fēng)險。

前面講到提升測試的價值,在測試的左移方向上如何從需求到研發(fā),到測試,這個方面來提升效率。在測試右移的部分,更多的是關(guān)注測試的穩(wěn)定性和測試的風(fēng)險預(yù)防方面,這方面QA可以發(fā)揮的作用也是非常多的,是重點(diǎn)需要協(xié)作的團(tuán)隊(duì),一方面是研發(fā),另外和運(yùn)維協(xié)作得也比較多。

分別講一下兩個方面的工作,一是全鏈路的監(jiān)控,我們已經(jīng)做了有一段時間,全鏈路監(jiān)控概念的方面,大家都有了基本的了解,如何梳理服務(wù)的依賴關(guān)系,做鏈路的追蹤,把整個請求的鏈路串聯(lián)起來。另外還有鏈路調(diào)用的性能,每一個請求的性能是怎樣的,能夠快速的發(fā)現(xiàn)性能上的一些瓶頸,這是全鏈路監(jiān)控整體的思路。核心是做鏈路的監(jiān)控,最核心的是要有一個監(jiān)控的ID,比如在網(wǎng)易新聞里面刷新一次,或者點(diǎn)了某一條新聞,點(diǎn)擊的操作就會有一個請求,在這個客戶端給服務(wù)端發(fā)請求的時候,要自動生成ID,一直帶到服務(wù)端,服務(wù)端再把ID一直帶到最終請求的服務(wù)最終的節(jié)點(diǎn)上。服務(wù)端的調(diào)用涉及比較多調(diào)用的層級,每個調(diào)用層級又有一個核心的點(diǎn),就是SpanID。它能夠記錄一個服務(wù)到另外一個服務(wù)請求的關(guān)系,最終整個全鏈路的調(diào)用過程會生成一個記錄,這樣就可以在追查問題的時候,根據(jù)一個請求快速查找到最終調(diào)了哪些服務(wù),中間在哪里出問題了,這是全鏈路監(jiān)控的思路。

故障演練核心關(guān)注兩個層面,一個是服務(wù)依賴,如何把強(qiáng)依賴轉(zhuǎn)成弱依賴。第二是把無損降級轉(zhuǎn)成有損降級。可以看到右側(cè)的兩個圖,比如網(wǎng)易新聞里面最常用的發(fā)帖,發(fā)評論,我們以前是第一個調(diào)用的方式,后來把依賴的關(guān)系都隔離了,轉(zhuǎn)成右側(cè)調(diào)用的關(guān)系,把一個強(qiáng)依賴轉(zhuǎn)成了弱依賴。比如后臺的服務(wù),跟貼排行榜出問題了,但不會影響發(fā)帖的過程。故障演練更多關(guān)注的一個故障類型有幾類,一是硬件層面的問題,另外是中間件方面關(guān)注得比較多,比如數(shù)據(jù)庫的問題,緩存的問題,另外就是服務(wù)依賴,有自身的內(nèi)部服務(wù)依賴,還有調(diào)用第三方的服務(wù)會有一些依賴。自身應(yīng)用部分,重點(diǎn)關(guān)注現(xiàn)成的一些情況,這是常規(guī)關(guān)注的故障類型。故障演練的方法主要是有幾個方面,一是要有數(shù)據(jù)的積累,數(shù)據(jù)積累后如何定義故障的規(guī)則以及故障注入,相當(dāng)于是故障的case,和寫常規(guī)的case是類似的,最終是怎么做結(jié)果的校驗(yàn),看有沒有逾期的報警。現(xiàn)在故障演練也都逐步做平臺化,做平臺化需要很多基礎(chǔ)的積累,需要數(shù)據(jù)和規(guī)則,如果沒有,也很難實(shí)現(xiàn)平臺化。目前做了一段時間,發(fā)現(xiàn)了幾方面的典型問題,一是數(shù)據(jù)庫方面,數(shù)據(jù)庫和緩存這兩類的問題都比較多。另外一方面是服務(wù)依賴的問題,就是剛才提到的有自身服務(wù)的依賴,還有第三方服務(wù)的依賴,還有是硬件方面的問題。

第三部分說我們的一些測試方法,以及結(jié)合DevOps提升效率。機(jī)器學(xué)習(xí)的測試,其實(shí)和常規(guī)的工程測試有類似的地方。在線工程和我們的常規(guī)后臺測試方法是比較類似的,但是有一部分模型訓(xùn)練的部分,和常規(guī)的測試方法不太一樣。艾老師在這部分也介紹了挺多,測試基礎(chǔ)的覆蓋方面我就不詳細(xì)講了。我們在線服務(wù)的測試,重點(diǎn)是關(guān)注在服務(wù)的穩(wěn)定性上,模型這部分的測試重點(diǎn)是關(guān)注在特征模型準(zhǔn)確性上。我們常規(guī)的測試范疇,包括特征的一致性,是我們關(guān)注比較多的。如何驗(yàn)證特征的一致性,其實(shí)是一個非常復(fù)雜,龐大的工作,之前在手百工作時,我們在這方面做了非常大的投入,網(wǎng)易新聞這部分也做了一段時間。另外,模型訓(xùn)練的部分,最主要的是如何驗(yàn)證模型的有效性以及合理性,這是比較難的一個部分,首先要去了解、理解模型是如何實(shí)現(xiàn)的,還要找到一套適當(dāng)?shù)姆椒▉碓u估這個模型的合理性。另外是預(yù)估部分,要看正確性以及分布的情況。

這里可以簡單看一下我們模型訓(xùn)練的整個流程,從線上所有的用戶日志行為開始,我們拿到這些日志之后,做數(shù)據(jù)的處理,特征的計算,然后做模型的訓(xùn)練,以及在線的預(yù)估,這是整個模型訓(xùn)練的流程。在這個流程里面,最核心的兩個部分,當(dāng)然日志的收集和數(shù)據(jù)處理部分還是跟常規(guī)做業(yè)務(wù)測試,做后臺服務(wù),測試的方法是類似的,最主要的差別還是在特征和模型部分。特征的有效性以及模型的有效性,如何驗(yàn)證?這其實(shí)是最核心的。另外,我們?nèi)绾闻浜涎邪l(fā),把這部分的工作能夠做得更有效率一些。之前遇到很大的一個問題,一個模型從訓(xùn)練到上線,耗時是非常長的,長的時候要一周,如果到傳統(tǒng)行業(yè)里面,一個新的模型上線要經(jīng)歷更長的時間,半個月,甚至一個月的時間,如何提升模型訓(xùn)練的效率,這其實(shí)也是我們和研發(fā)配合做的一個機(jī)器學(xué)習(xí)的服務(wù)平臺。這里面所做的核心工作,是把研發(fā)日常線下所做的很多工作,比如需要的日志,物料,所有特征的結(jié)果,以及模型訓(xùn)練的結(jié)果,通過這個平臺直觀展示出來,在這個平臺上查詢?nèi)罩究傮w的分布,物料都有哪些,模型的更新情況,都可以在這個平臺上快速的實(shí)現(xiàn)自動化。我們做這個平臺最主要的目的是把特征訓(xùn)練和模型訓(xùn)練方面的工作做平臺化和服務(wù)化,也是結(jié)合著前面做迭代效率提升的方式是類似的,通過OverMind平臺把整個客戶端和服務(wù)后臺的測試都實(shí)現(xiàn)平臺化和服務(wù)化。當(dāng)然,機(jī)器學(xué)習(xí)的研發(fā)測試和產(chǎn)品介入的比較少,類似于需求管理部分相對不會涉及太多。

這是我們的一個效果,在平臺上把整個特征工程的訓(xùn)練結(jié)果,以及所有配制修改上線,全都服務(wù)化了,這里能列出來當(dāng)前在使用的特征都有哪些,這些特征的狀態(tài)是不是在線上,是什么時候上線的,如果有問題,需要在這里做一些配制,修改,然后再重新做上線的操作,一次性的都可以自動化的完成了。模型的部分也是,模型的實(shí)驗(yàn)和上線也是類似的方式,我們把整個模型訓(xùn)練的效果,以及它所依賴的一些特征,特征的關(guān)聯(lián)關(guān)系,都在這里展示出來,在平臺上可以做配制的修改和上線。輔助研發(fā),把整個模型的訓(xùn)練效果和周期做一個有效的提升。

這就是今天分享的內(nèi)容,謝謝。

 

責(zé)任編輯:張燕妮 來源: 51CTO
相關(guān)推薦

2019-11-26 17:44:16

AI 數(shù)據(jù)人工智能

2019-11-26 17:52:18

AI 數(shù)據(jù)人工智能

2019-12-05 16:17:59

云計算行業(yè)科技

2019-11-26 17:58:47

系統(tǒng)運(yùn)維架構(gòu)

2019-12-05 16:01:24

云計算行業(yè)科技

2019-11-26 17:38:15

人工智能AI開發(fā)者

2022-04-28 15:34:00

應(yīng)用優(yōu)化實(shí)踐

2019-12-05 16:23:15

開發(fā)技能代碼

2022-05-30 07:48:11

DevOps測試策略

2019-11-26 17:46:26

AI 數(shù)據(jù)人工智能

2019-12-05 16:25:26

開發(fā)技能代碼

2019-11-26 17:54:14

開發(fā)技能移動應(yīng)用

2019-12-13 11:58:21

AI 數(shù)據(jù)人工智能

2023-06-12 07:44:21

大數(shù)據(jù)數(shù)據(jù)治理

2019-12-13 11:51:34

技術(shù)AI云計算

2019-12-13 11:54:06

AI 數(shù)據(jù)人工智能

2015-05-25 10:22:35

2017-05-10 12:30:42

MySQL高可用架構(gòu)網(wǎng)易

2024-10-17 08:14:13

2022-07-19 16:36:33

網(wǎng)易游戲FlinkSQL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 一区二区三区久久 | 91精品久久久久久久久久入口 | 午夜免费av | 欧美精品网 | 四虎在线观看 | 欧美黄a | 国产精品久久久久久久久久免费 | 成人午夜在线视频 | 国产精品久久久亚洲 | 黄色网址在线免费观看 | 中文字幕国产 | 免费视频久久 | 亚洲成av人片在线观看 | 浴室洗澡偷拍一区二区 | 精品亚洲一区二区三区 | 亚洲天堂av在线 | 中文字幕免费视频 | 亚洲精品视频在线 | 欧美精品video| 亚洲第一区久久 | 亚洲91视频 | 亚洲一区二区三区免费在线观看 | 国产精品一区一区 | av 一区二区三区 | 精品久久一区二区 | 狠狠操狠狠干 | www日日日| 国产免费一区二区三区网站免费 | 欧美三区在线观看 | 欧美中文字幕一区二区三区亚洲 | 性色av一区二区三区 | 免费观看www | 日韩中字幕 | 一区二区精品视频 | 蜜桃视频一区二区三区 | 成人午夜在线 | 日本不卡免费新一二三区 | 黄色一级免费 | 亚洲精品国产第一综合99久久 | 欧美日韩久 | 色欧美综合 |