亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

自動(dòng)化測(cè)試平臺(tái)建設(shè)實(shí)戰(zhàn):從用例管理到報(bào)告通知的完整鏈路

自動(dòng)化測(cè)試平臺(tái)建設(shè)實(shí)戰(zhàn):從用例管理到報(bào)告通知的完整鏈路 這兩年我看過(guò)不少團(tuán)隊(duì)在做自動(dòng)化測(cè)試平臺(tái)真正用起來(lái)并且越用越順的反而不多。大多數(shù)情況是測(cè)試腳本攢了一堆報(bào)告散落在各臺(tái)電腦上CI里掛幾個(gè)定時(shí)任務(wù)跑掛了靠群里有人喊一嗓子才知道。這其實(shí)不叫平臺(tái)頂多算一個(gè)“能定時(shí)執(zhí)行腳本的服務(wù)器”。我參與過(guò)一套內(nèi)部自動(dòng)化測(cè)試平臺(tái)的搭建設(shè)計(jì)從用例管理、任務(wù)調(diào)度、執(zhí)行環(huán)境到報(bào)告通知一條鏈路走通踩了不少坑也沉淀了一套相對(duì)可行的落地方法。這篇就是講平臺(tái)建設(shè)過(guò)程中那些真正讓人頭疼的問(wèn)題以及我們最后怎么解決的適合正在規(guī)劃或已經(jīng)搭了半套測(cè)試平臺(tái)的團(tuán)隊(duì)參考。1. 為什么我們需要一個(gè)真正的平臺(tái)而不僅僅是一堆腳本很多人一提自動(dòng)化測(cè)試第一反應(yīng)就是寫(xiě)腳本。腳本當(dāng)然重要但腳本解決的是“某個(gè)用例怎么跑”的問(wèn)題平臺(tái)解決的是“所有用例在哪里跑、什么時(shí)候跑、跑完怎么讓所有人看到”的問(wèn)題。先搞清楚這個(gè)邊界后面每一步動(dòng)作都不會(huì)走偏。1.1 腳本散落一地自動(dòng)化測(cè)試沒(méi)有形成資產(chǎn)團(tuán)隊(duì)里有幾個(gè)人各自負(fù)責(zé)幾條業(yè)務(wù)線的接口測(cè)試腳本默認(rèn)放在自己電腦上偶爾推進(jìn)代碼倉(cāng)庫(kù)卻不強(qiáng)制。于是出現(xiàn)了經(jīng)典的一幕A同學(xué)的用例要跑得先問(wèn)他借電腦B同學(xué)的腳本已經(jīng)三個(gè)月沒(méi)更新接口字段早變了跑一次紅一片C同學(xué)的報(bào)告存在本地HTML文件里每次都要手動(dòng)截圖發(fā)到溝通群里。剛?cè)サ臅r(shí)候我覺(jué)得這不是技術(shù)問(wèn)題是管理問(wèn)題。但深入一看根源還是沒(méi)有公共的承載入口。沒(méi)有統(tǒng)一平臺(tái)自動(dòng)化測(cè)試的成果就無(wú)法沉淀。用例的版本、執(zhí)行的歷史、失敗的趨勢(shì)這些關(guān)鍵信息分散在個(gè)人電腦里領(lǐng)導(dǎo)問(wèn)一句“這個(gè)季度接口自動(dòng)化覆蓋率怎么樣”沒(méi)人能給出準(zhǔn)確數(shù)字。這不是某個(gè)人的錯(cuò)而是工具鏈的結(jié)構(gòu)性缺失。1.2 自動(dòng)化測(cè)試的價(jià)值被鎖死在“執(zhí)行”這一步自動(dòng)化測(cè)試本來(lái)應(yīng)該形成閉環(huán)用例編寫(xiě)、定時(shí)執(zhí)行、結(jié)果分析、缺陷跟進(jìn)、質(zhì)量反饋。但腳本散落的時(shí)候環(huán)是斷的。定時(shí)執(zhí)行靠人肉操作結(jié)果分析靠肉眼盯屏幕質(zhì)量反饋靠口頭匯報(bào)整個(gè)鏈路長(zhǎng)、慢、全憑自覺(jué)。平臺(tái)真正解決的是把這個(gè)閉環(huán)從“人驅(qū)動(dòng)”變成“數(shù)據(jù)驅(qū)動(dòng)”用例統(tǒng)一入庫(kù)執(zhí)行統(tǒng)一調(diào)度結(jié)果統(tǒng)一匯總報(bào)告自動(dòng)推送。誰(shuí)寫(xiě)的用例、什么時(shí)候改的、這次跑完跟上次比是好了還是壞了全都有據(jù)可查。自動(dòng)化測(cè)試從個(gè)人的手藝活變成團(tuán)隊(duì)的基礎(chǔ)工程設(shè)施。這一點(diǎn)想明白了平臺(tái)的定位自然就清楚了它不是測(cè)試工具的堆砌而是質(zhì)量數(shù)據(jù)的集散地。2. 自研還是組裝三個(gè)方案對(duì)比后我們才拍板平臺(tái)建設(shè)第一步也是最容易吵起來(lái)的一步就是選型。我們當(dāng)時(shí)的候選方案有三個(gè)每個(gè)看著都像模像樣但真正落地起來(lái)差別很大。2.1 三個(gè)候選方案的輪廓第一個(gè)方向是“開(kāi)源CI服務(wù) 報(bào)告插件”的組合繼續(xù)用團(tuán)隊(duì)已有的開(kāi)源CI服務(wù)在上面配置自動(dòng)化測(cè)試任務(wù)再搭一個(gè)報(bào)告展示頁(yè)面把結(jié)果聚起來(lái)。優(yōu)點(diǎn)是上手快CI服務(wù)團(tuán)隊(duì)本來(lái)就在用不用額外引入系統(tǒng)缺點(diǎn)是CI服務(wù)畢竟不是為自動(dòng)化測(cè)試平臺(tái)設(shè)計(jì)的用例管理、環(huán)境管理、執(zhí)行機(jī)分配這些能力要么沒(méi)有要么要自己寫(xiě)一堆插件往里面貼。第二個(gè)方向是商業(yè)測(cè)試管理平臺(tái)。功能齊全開(kāi)箱即用界面也漂亮缺點(diǎn)同樣明顯貴而且封閉。我們有些用例需要自定義執(zhí)行環(huán)境有些需要跟內(nèi)部的質(zhì)量數(shù)據(jù)體系做深度對(duì)接商業(yè)平臺(tái)往往不給底層接口定制一次的成本比想象中高得多。第三個(gè)方向就是自建輕量平臺(tái)從用例管理到執(zhí)行調(diào)度全部自己做。聽(tīng)上去工作量最大但好處是可以完全按照?qǐng)F(tuán)隊(duì)的工作流來(lái)設(shè)計(jì)后續(xù)所有定制需求都不受制于人。2.2 我們最終拍板自研的理由對(duì)比做完之后我們其實(shí)沒(méi)有全盤(pán)否定前兩個(gè)方向而是做了組合開(kāi)源CI服務(wù)繼續(xù)保留作為通用流水線工具但自動(dòng)化測(cè)試相關(guān)的用例管理、執(zhí)行調(diào)度、報(bào)告展示單獨(dú)建了一套自研平臺(tái)。為什么這么分核心原因是自動(dòng)化測(cè)試平臺(tái)跟CI服務(wù)的管理模型不一樣。CI服務(wù)關(guān)注的是“代碼變更后怎么構(gòu)建、怎么測(cè)試、怎么發(fā)布”以構(gòu)建任務(wù)為中心而自動(dòng)化測(cè)試平臺(tái)關(guān)注的是“測(cè)試用例在這個(gè)版本的代碼上表現(xiàn)如何”以用例和版本為中心。把用例直接掛在CI任務(wù)下面短期能跑長(zhǎng)期會(huì)非常別扭用例一旦多起來(lái)任務(wù)的配置頁(yè)會(huì)爆炸誰(shuí)負(fù)責(zé)哪個(gè)用例、哪些用例要在同一個(gè)環(huán)境里跑、失敗要不要自動(dòng)重跑這些問(wèn)題在CI配置里根本寫(xiě)不清楚。自研平臺(tái)的邊界我們也畫(huà)得很清楚不做測(cè)試框架不重新發(fā)明斷言語(yǔ)法只做執(zhí)行管理和結(jié)果沉淀。用例腳本用什么框架寫(xiě)都行平臺(tái)負(fù)責(zé)把它接進(jìn)統(tǒng)一調(diào)度再把結(jié)果結(jié)構(gòu)化展示出來(lái)。這個(gè)邊界讓我們避免了自研平臺(tái)最常犯的錯(cuò)誤——試圖替代測(cè)試框架最后兩頭不靠。3. 平臺(tái)骨架從用例到報(bào)告的完整鏈路設(shè)計(jì)平臺(tái)建設(shè)最忌諱一上來(lái)就堆功能。我見(jiàn)過(guò)一些內(nèi)部平臺(tái)菜單欄密密麻麻十幾個(gè)真正有人用的只有兩三個(gè)。我們的做法是先把一條主干鏈路跑通用例上傳、觸發(fā)執(zhí)行、日志回傳、報(bào)告展示、消息通知。圍繞這條鏈路設(shè)計(jì)架構(gòu)再逐步補(bǔ)血。3.1 四層結(jié)構(gòu)和三條數(shù)據(jù)流整個(gè)平臺(tái)從邏輯上可以分成四層接入層、調(diào)度層、執(zhí)行層、存儲(chǔ)層。接入層負(fù)責(zé)接收用例上傳和觸發(fā)請(qǐng)求調(diào)度層負(fù)責(zé)任務(wù)排期、并發(fā)控制、失敗重試執(zhí)行層跑在若干執(zhí)行節(jié)點(diǎn)上負(fù)責(zé)真正運(yùn)行測(cè)試腳本存儲(chǔ)層保存用例元數(shù)據(jù)、執(zhí)行記錄、日志和報(bào)告附件。數(shù)據(jù)流有三條剛開(kāi)始很容易被忽略。第一條是用例流轉(zhuǎn)從上傳解壓到登記入庫(kù)再到環(huán)境部署第二條是任務(wù)流轉(zhuǎn)從觸發(fā)命令生成任務(wù)記錄再到調(diào)度器分配執(zhí)行節(jié)點(diǎn)第三條是結(jié)果流轉(zhuǎn)執(zhí)行器把日志和結(jié)果實(shí)時(shí)回傳報(bào)告服務(wù)歸一化落庫(kù)再推送給前端和消息通道。三條數(shù)據(jù)流各自獨(dú)立又通過(guò)任務(wù)ID串聯(lián)起來(lái)排查問(wèn)題的時(shí)候只要順著任務(wù)ID追就能定位到具體環(huán)節(jié)。3.2 用例管理讓腳本從“私有財(cái)產(chǎn)”變成公共資產(chǎn)用例管理模塊是第一站也是決定平臺(tái)能不能被團(tuán)隊(duì)接受的關(guān)鍵。我們當(dāng)時(shí)被問(wèn)到最多的問(wèn)題是“我把腳本傳上去還能不能在我自己電腦上跑”答案是能。平臺(tái)不是要沒(méi)收大家的腳本而是提供一份“已登記副本”。本地的隨便改平臺(tái)上的版本只通過(guò)顯式提交才會(huì)更新。具體實(shí)現(xiàn)上每份用例上傳之后平臺(tái)會(huì)生成唯一的用例編號(hào)并從壓縮包里解析出執(zhí)行入口和依賴描述文件。后端只做校驗(yàn)不做改寫(xiě)保證上傳的腳本和本地跑的是同一份。用例版本用遞增的數(shù)字維護(hù)每次更新都會(huì)保留上一版本執(zhí)行記錄里明確標(biāo)注用的是哪個(gè)版本。這一點(diǎn)之后幫了大忙很多偶發(fā)失敗追到最后才發(fā)現(xiàn)是腳本版本不一致有了版本記錄這種排查時(shí)間能砍掉一半。3.3 執(zhí)行引擎隊(duì)列、并行和重試的設(shè)計(jì)執(zhí)行引擎是整個(gè)平臺(tái)里最容易出問(wèn)題的地方。我們的設(shè)計(jì)很簡(jiǎn)單觸發(fā)請(qǐng)求先寫(xiě)成任務(wù)記錄狀態(tài)為“待執(zhí)行”調(diào)度器定期掃描待執(zhí)行任務(wù)按照優(yōu)先級(jí)和隊(duì)列策略分發(fā)給空閑執(zhí)行節(jié)點(diǎn)。執(zhí)行節(jié)點(diǎn)拿到任務(wù)之后在自己的環(huán)境里把用例跑起來(lái)結(jié)束后回傳狀態(tài)和產(chǎn)物。這里的“簡(jiǎn)單”是事后總結(jié)的過(guò)程中反復(fù)改過(guò)三輪。最初是直接同步調(diào)用一個(gè)任務(wù)跑起來(lái)接口卡住測(cè)試人員以為平臺(tái)掛了其實(shí)只是用例還沒(méi)跑完。后來(lái)改成異步任務(wù)又面臨新的問(wèn)題怎么控制同時(shí)跑多少個(gè)任務(wù)、怎么避免同一個(gè)用例被定時(shí)和手動(dòng)觸發(fā)重復(fù)執(zhí)行。最終我們引入了隊(duì)列加并發(fā)信號(hào)量執(zhí)行節(jié)點(diǎn)回調(diào)上報(bào)調(diào)度器通過(guò)內(nèi)存緩存中間件維護(hù)鎖狀態(tài)這才穩(wěn)定下來(lái)。失敗重試策略也要提前定清楚。我們是區(qū)分“斷言失敗”和“環(huán)境失敗”的斷言失敗代表業(yè)務(wù)邏輯不符重試沒(méi)有意義環(huán)境失敗比如依賴下載超時(shí)、執(zhí)行節(jié)點(diǎn)失聯(lián)才會(huì)觸發(fā)自動(dòng)重試最多兩次。如果不區(qū)分就盲目重試遇到真正的缺陷時(shí)報(bào)告反而被掩蓋了。3.4 報(bào)告中心與通知觸達(dá)讓結(jié)果自己跑去找人報(bào)告模塊不能只是把執(zhí)行日志原樣貼出來(lái)。我們做了三個(gè)層次單次執(zhí)行的詳細(xì)報(bào)告、多次執(zhí)行的歷史對(duì)比、按項(xiàng)目聚合的質(zhì)量趨勢(shì)。單次詳細(xì)報(bào)告包含用例狀態(tài)、失敗步驟、日志摘錄、耗時(shí)分布?xì)v史對(duì)比展示同一個(gè)用例最近十次的通過(guò)率和平均耗時(shí)質(zhì)量趨勢(shì)按周聚合整體通過(guò)率方便團(tuán)隊(duì)周會(huì)上直接引用。通知的優(yōu)先級(jí)也做了設(shè)計(jì)。全量通過(guò)的任務(wù)只在報(bào)告頁(yè)更新消息通道發(fā)一條簡(jiǎn)潔匯總出現(xiàn)失敗的任務(wù)除了匯總消息還會(huì)把失敗用例編號(hào)和日志入口帶上相關(guān)負(fù)責(zé)人在手機(jī)上就能點(diǎn)進(jìn)去看。這里有個(gè)小經(jīng)驗(yàn)不要所有結(jié)果都往群里扔不然兩天之后所有人都會(huì)把消息靜音真正重要的失敗反而被淹沒(méi)。4. 最容易被忽視的技術(shù)細(xì)節(jié)日志、環(huán)境隔離與調(diào)度一致性平臺(tái)表面上的功能誰(shuí)都能做差距往往藏在細(xì)節(jié)里。下面幾個(gè)問(wèn)題是我們花了最多時(shí)間處理的每一個(gè)單拿出來(lái)都值得展開(kāi)說(shuō)。4.1 用例日志實(shí)時(shí)回傳print只是開(kāi)始最早做執(zhí)行記錄時(shí)日志是等用例跑完一次性上傳的。用例短還好跑十分鐘以上的用例測(cè)試人員盯著空白屏幕完全不知道進(jìn)行到哪一步心里特別沒(méi)底。后來(lái)我們改成實(shí)時(shí)回傳執(zhí)行節(jié)點(diǎn)把用例進(jìn)程的標(biāo)準(zhǔn)輸出流實(shí)時(shí)讀取出來(lái)按大小分塊通過(guò)長(zhǎng)連接通道推到前端。這里有個(gè)容易踩的坑測(cè)試腳本里cout輸出經(jīng)常因?yàn)榫彌_導(dǎo)致不能及時(shí)落盤(pán)如果只是簡(jiǎn)單重定向到文件日志會(huì)攢一大波才刷出來(lái)。我們要求用例執(zhí)行器啟動(dòng)時(shí)強(qiáng)制禁用輸出緩沖同時(shí)按行讀取保證前端能在幾乎實(shí)時(shí)的延遲內(nèi)看到日志。再往后追加了日志級(jí)別過(guò)濾前端可以只顯示警告和報(bào)錯(cuò)否則成功用例刷屏?xí)r真正有用的信息會(huì)被沖走。4.2 執(zhí)行環(huán)境隔離每次跑都像第一次跑自動(dòng)化測(cè)試最怕“上次能跑這次不能跑”環(huán)境臟是頭號(hào)嫌疑犯。執(zhí)行節(jié)點(diǎn)如果復(fù)用全局環(huán)境不同用例之間會(huì)產(chǎn)生依賴污染A用例升級(jí)了某個(gè)依賴庫(kù)B用例再跑就掛這種問(wèn)題排查起來(lái)極其崩潰。我們的做法是每條用例在獨(dú)立的臨時(shí)目錄里執(zhí)行依賴按用例聲明固定版本執(zhí)行過(guò)程中寫(xiě)入的環(huán)境變量只對(duì)當(dāng)前進(jìn)程生效進(jìn)程退出即銷毀。端口資源也做了分段分配避免并發(fā)用例搶同一個(gè)端口。這套隔離方案執(zhí)行完之后環(huán)境相關(guān)的隨機(jī)失敗率從之前的接近百分之十降到了百分之一以下。隔離帶來(lái)額外開(kāi)銷比如每次執(zhí)行都要重新準(zhǔn)備依賴但對(duì)比偶發(fā)問(wèn)題浪費(fèi)的排查時(shí)間這很劃算。4.3 調(diào)度與分布式鎖不讓任務(wù)重復(fù)執(zhí)行定時(shí)任務(wù)最怕什么重復(fù)執(zhí)行。我們遇到過(guò)定時(shí)觸發(fā)和手動(dòng)觸發(fā)同時(shí)命中同一組用例跑了兩遍報(bào)告對(duì)不上。根因是調(diào)度器沒(méi)有做任務(wù)級(jí)別的唯一性約束。后來(lái)我們?cè)谌蝿?wù)生成環(huán)節(jié)加了分布式鎖用唯一鍵表示“同一用例同一觸發(fā)源在時(shí)間窗口內(nèi)只能有一個(gè)待執(zhí)行任務(wù)”鎖的持有時(shí)間設(shè)置為三十分鐘超時(shí)自動(dòng)釋放。同時(shí)在任務(wù)表里建了唯一索引作為兜底雙保險(xiǎn)之后重復(fù)執(zhí)行基本絕跡。需要注意鎖的粒度要按用例維度而不是全局維度否則一個(gè)用例跑完了其他用例全被堵住并發(fā)能力直接廢掉。這個(gè)設(shè)計(jì)可以用下面這段偽代碼表達(dá)lock_key ftask_lock_{case_id}_{source} # 同一用例同一觸發(fā)源120秒內(nèi)只能生成一次任務(wù) if acquire_lock(lock_key, timeout120): create_task(case_id, source) else: log_skip(case_id, source)4.4 資源并發(fā)控制別讓一堆任務(wù)拖垮執(zhí)行節(jié)點(diǎn)執(zhí)行節(jié)點(diǎn)資源是有限的并發(fā)任務(wù)太多互相搶CPU每個(gè)用例都跑得慢最后全都超時(shí)失敗。我們給每個(gè)執(zhí)行節(jié)點(diǎn)設(shè)置了最大并發(fā)數(shù)調(diào)度器分配任務(wù)之前先檢查節(jié)點(diǎn)剩余容量超出容量的任務(wù)留在隊(duì)列里等待。這里有一點(diǎn)要特別提醒并發(fā)數(shù)不能只看執(zhí)行節(jié)點(diǎn)的物理核數(shù)還要看用例本身的特點(diǎn)。接口類用例輕可以多跑幾個(gè)UI自動(dòng)化用例重并發(fā)稍微一高瀏覽器窗口一多內(nèi)存就吃緊了。我們是按歷史執(zhí)行數(shù)據(jù)給每類用例打了資源權(quán)重輕量級(jí)用十、重量級(jí)用一權(quán)重之和不超過(guò)節(jié)點(diǎn)容量才允許下發(fā)。有了這套機(jī)制平臺(tái)再也不用擔(dān)心某個(gè)重任務(wù)把節(jié)點(diǎn)拖死。5. 從零到一落地順序先跑通再治理平臺(tái)的技術(shù)方案只是前半程真正難的是把它推進(jìn)團(tuán)隊(duì)日常使用。我們的落地節(jié)奏分了六個(gè)階段每一步都有明確目標(biāo)。5.1 階段一盤(pán)點(diǎn)存量資產(chǎn)知道手里有什么動(dòng)手之前先摸底。我們把團(tuán)隊(duì)現(xiàn)有的自動(dòng)化腳本全部盤(pán)點(diǎn)一遍記錄每個(gè)腳本對(duì)應(yīng)的業(yè)務(wù)模塊、執(zhí)行方式、是否有依賴外部環(huán)境、上次運(yùn)行時(shí)間。盤(pán)點(diǎn)結(jié)果很有意思大約四成的腳本已經(jīng)沒(méi)人維護(hù)跑不通真正活躍在用的只有一半左右。這個(gè)盤(pán)點(diǎn)幫我們避免了一個(gè)大坑——如果盲目把所有腳本都遷移到新平臺(tái)等于把一堆僵尸腳本也搬了進(jìn)來(lái)平臺(tái)一上線就是一片紅大家第一印象就毀了。5.2 階段二最小閉環(huán)先行不做大而全平臺(tái)第一版只實(shí)現(xiàn)了三個(gè)功能上傳用例、手動(dòng)觸發(fā)執(zhí)行、查看報(bào)告。沒(méi)有定時(shí)調(diào)度沒(méi)有消息通知也沒(méi)有復(fù)雜的權(quán)限體系。因?yàn)槲覀兊哪繕?biāo)是驗(yàn)證一條主干鏈路能不能跑通而不是一開(kāi)始就做一個(gè)完美的平臺(tái)。這三件事看著少但把用例入庫(kù)、任務(wù)生成、執(zhí)行分發(fā)、結(jié)果回傳、報(bào)告展示都串了起來(lái)后續(xù)加功能只是在這個(gè)骨架上長(zhǎng)肉。第一版花了很短時(shí)間就交付了團(tuán)隊(duì)內(nèi)部試用時(shí)大家第一次體驗(yàn)到“腳本傳上去就能在平臺(tái)點(diǎn)執(zhí)行然后直接在網(wǎng)頁(yè)上看日志”的感覺(jué)反饋比想象中積極。這個(gè)正反饋非常關(guān)鍵它讓團(tuán)隊(duì)成員愿意繼續(xù)提供需求而不是把平臺(tái)當(dāng)成一個(gè)行政指令下的負(fù)擔(dān)。5.3 階段三試點(diǎn)項(xiàng)目?jī)?yōu)先讓數(shù)據(jù)說(shuō)話全量推廣之前我們選了兩個(gè)核心業(yè)務(wù)線作為試點(diǎn)一條是接口測(cè)試用例比較成熟的另一條是UI自動(dòng)化用例相對(duì)薄弱的。試點(diǎn)有一個(gè)明確目標(biāo)連續(xù)跑兩周接口用例通過(guò)率穩(wěn)定在某個(gè)預(yù)期值以上UI用例能穩(wěn)定產(chǎn)出失敗證據(jù)。兩周試點(diǎn)的結(jié)果給了我們很有價(jià)值的決策依據(jù)接口用例整體通過(guò)率良好但有百分之十幾的失敗集中在依賴測(cè)試數(shù)據(jù)被清理的場(chǎng)景UI用例失敗里超過(guò)一半是等待超時(shí)跟被測(cè)頁(yè)面的異步加載有關(guān)系。如果沒(méi)有平臺(tái)把結(jié)果集中統(tǒng)計(jì)這些規(guī)律靠人工看散落日志根本發(fā)現(xiàn)不了。試點(diǎn)結(jié)束后我們用這些數(shù)據(jù)說(shuō)服了還在觀望的團(tuán)隊(duì)推廣阻力小了很多。5.4 階段四接進(jìn)發(fā)布流程自動(dòng)化測(cè)試從輔助變成門(mén)禁平臺(tái)跑順之后我們把執(zhí)行能力開(kāi)放成接口接入到團(tuán)隊(duì)的流水線里。流水線在部署完成后自動(dòng)觸發(fā)平臺(tái)執(zhí)行冒煙測(cè)試集測(cè)試通過(guò)才允許繼續(xù)發(fā)布。這一步是自動(dòng)化測(cè)試平臺(tái)價(jià)值最大化的關(guān)鍵轉(zhuǎn)折它讓測(cè)試不再是一個(gè)事后核查環(huán)節(jié)而是發(fā)布流程里的必經(jīng)關(guān)卡。剛開(kāi)始接流水線時(shí)一定要輕。我們只把冒煙級(jí)別用例設(shè)為門(mén)禁回歸級(jí)別用例仍然異步執(zhí)行避免發(fā)布被大量無(wú)關(guān)失敗阻塞。等到平臺(tái)穩(wěn)定性充分驗(yàn)證之后再逐步收緊。門(mén)禁的意義不只是攔問(wèn)題更是給自動(dòng)化測(cè)試用例提出明確的質(zhì)量要求誤報(bào)率太高會(huì)被取消門(mén)禁資格測(cè)試人員為了保住門(mén)禁會(huì)主動(dòng)維護(hù)用例可靠性這是平臺(tái)運(yùn)營(yíng)中最有價(jià)值的正向循環(huán)。5.5 階段五用例治理與運(yùn)營(yíng)推廣平臺(tái)不是搭完就結(jié)束后面持續(xù)運(yùn)營(yíng)才是重頭。我們每月做一次用例健康度檢查統(tǒng)計(jì)每個(gè)用例近三十天的執(zhí)行次數(shù)、通過(guò)率、平均耗時(shí)、最近更新時(shí)間列出一個(gè)“僵尸用例清單”發(fā)給各業(yè)務(wù)負(fù)責(zé)人。要么修要么刪不允許長(zhǎng)期不行不維護(hù)的用例占著平臺(tái)資源。另一個(gè)運(yùn)營(yíng)抓手是質(zhì)量周報(bào)。平臺(tái)自動(dòng)生成一份按業(yè)務(wù)線分組的測(cè)試質(zhì)量周報(bào)包含用例總數(shù)、執(zhí)行次數(shù)、通過(guò)率、失敗Top用例、耗時(shí)變化直接發(fā)到團(tuán)隊(duì)例會(huì)材料里。質(zhì)量數(shù)據(jù)一旦變成固定議程團(tuán)隊(duì)對(duì)自動(dòng)化測(cè)試的重視程度就完全不一樣了新增用例的行為也會(huì)越來(lái)越主動(dòng)。6. 上線半年踩過(guò)的坑與排查思路平臺(tái)運(yùn)行半年我們記錄了一串實(shí)際踩過(guò)的問(wèn)題。每個(gè)問(wèn)題單獨(dú)看似乎都不大但遇到時(shí)確實(shí)能讓整個(gè)平臺(tái)卡住下面把排查思路一并寫(xiě)出來(lái)。6.1 任務(wù)消失與重復(fù)執(zhí)行狀態(tài)機(jī)與恢復(fù)機(jī)制現(xiàn)象是有時(shí)候平臺(tái)頁(yè)面上顯示“待執(zhí)行”的任務(wù)過(guò)了一段時(shí)間變成“執(zhí)行中”但執(zhí)行節(jié)點(diǎn)上根本沒(méi)有任何進(jìn)程在跑。排查時(shí)我們先是懷疑調(diào)度器宕了檢查后發(fā)現(xiàn)是調(diào)度器重啟的時(shí)候把內(nèi)存里的運(yùn)行中狀態(tài)丟掉了任務(wù)既沒(méi)有重新分發(fā)也沒(méi)有被標(biāo)記為失敗就一直懸在中間狀態(tài)。修復(fù)方案分兩層。第一層是把任務(wù)狀態(tài)流轉(zhuǎn)全部顯式化任何狀態(tài)的變更都必須寫(xiě)數(shù)據(jù)庫(kù)調(diào)度器重啟后掃描所有“執(zhí)行中”的任務(wù)如果發(fā)現(xiàn)對(duì)應(yīng)節(jié)點(diǎn)心跳超時(shí)就將任務(wù)重置為“待執(zhí)行”并重新分發(fā)。第二層是執(zhí)行節(jié)點(diǎn)增加心跳上報(bào)節(jié)點(diǎn)失聯(lián)超過(guò)閾值會(huì)告警避免任務(wù)卡死在失聯(lián)狀態(tài)里。加上這兩層之后任務(wù)狀態(tài)再?zèng)]出現(xiàn)過(guò)懸停。6.2 報(bào)告頁(yè)面越跑越慢分頁(yè)、異步與歸檔平臺(tái)上線兩個(gè)月后報(bào)告接口響應(yīng)從一兩秒退化到十幾秒。剛開(kāi)始以為是數(shù)據(jù)庫(kù)問(wèn)題查了之后發(fā)現(xiàn)執(zhí)行記錄表確實(shí)漲得很快但加了索引以后效果不明顯。真正原因是前端一次性把整個(gè)任務(wù)的所有日志和截圖都渲染出來(lái)了用例一多響應(yīng)體就是好幾兆。解決方案是報(bào)告接口強(qiáng)制分頁(yè)加按需加載列表頁(yè)只返回概要字段詳細(xì)日志按行倒序分批加載截圖文件走獨(dú)立的對(duì)象存儲(chǔ)鏈接不在接口響應(yīng)里內(nèi)嵌。另外把超過(guò)三十天的報(bào)告沉淀到歸檔存儲(chǔ)查詢主庫(kù)只保留活躍數(shù)據(jù)。調(diào)整之后報(bào)告頁(yè)面不管數(shù)據(jù)量多大首屏加載都控制在一兩秒內(nèi)。6.3 偶發(fā)失敗最難查環(huán)境污染與共享數(shù)據(jù)有一類失敗最讓人崩潰同一個(gè)用例這次跑通過(guò)下次跑失敗看日志又完全正常。我們追蹤過(guò)好幾個(gè)案例根源幾乎都跟共享資源有關(guān)。典型的是測(cè)試用例依賴了公共測(cè)試賬號(hào)另一個(gè)用例執(zhí)行時(shí)把賬號(hào)狀態(tài)改了導(dǎo)致這邊登錄失敗還有一個(gè)用例讀到共享測(cè)試數(shù)據(jù)庫(kù)里的臟數(shù)據(jù)斷言的時(shí)候突然對(duì)不上。這類問(wèn)題的核心解法就是徹底隔離公共賬號(hào)改造成每個(gè)任務(wù)單獨(dú)準(zhǔn)備測(cè)試數(shù)據(jù)對(duì)象數(shù)據(jù)庫(kù)場(chǎng)景要求用例執(zhí)行前自己構(gòu)造數(shù)據(jù)、結(jié)束后自行清理。平臺(tái)層面增加了“失敗前環(huán)境快照”在用例執(zhí)行期間采樣系統(tǒng)狀態(tài)和關(guān)鍵文件變化偶發(fā)失敗時(shí)能提供更多線索。環(huán)境治理是自動(dòng)化測(cè)試長(zhǎng)期穩(wěn)定繞不開(kāi)的功課越早做越劃算。6.4 超時(shí)、等待與清理細(xì)節(jié)清單最后整理一份我們反復(fù)對(duì)團(tuán)隊(duì)強(qiáng)調(diào)的檢查清單每條背后都有一次真實(shí)的故障案例等待元素或接口響應(yīng)優(yōu)先使用輪詢等待而不是固定休眠固定休眠在環(huán)境慢的時(shí)候非常脆弱。用例超時(shí)設(shè)置不能只有一個(gè)總超時(shí)最好拆成“建立連接超時(shí)”“整體執(zhí)行超時(shí)”“用例間等待超時(shí)”分別設(shè)值。執(zhí)行結(jié)束后清理臨時(shí)文件和數(shù)據(jù)庫(kù)寫(xiě)入不給后續(xù)用例留坑。用例命名必須包含業(yè)務(wù)模塊和用例編號(hào)否則報(bào)告里出現(xiàn)一堆同名“test_1”查歸屬直接崩潰。執(zhí)行節(jié)點(diǎn)的時(shí)間和時(shí)區(qū)要統(tǒng)一分布式環(huán)境里時(shí)間不一致調(diào)度記錄和日志排查會(huì)非常痛苦。這些細(xì)節(jié)看起來(lái)瑣碎但平臺(tái)穩(wěn)定性的提升往往不是靠一個(gè)驚天設(shè)計(jì)而是靠把這些瑣碎問(wèn)題一個(gè)一個(gè)磨平?;仡^總結(jié)一下這段經(jīng)歷我最大的體會(huì)是自動(dòng)化測(cè)試平臺(tái)最難的部分始終不是技術(shù)而是讓團(tuán)隊(duì)真正把它用起來(lái)。一上來(lái)就能被廣泛接受的平臺(tái)幾乎不存在先跑通最小閉環(huán)用數(shù)據(jù)打動(dòng)觀望者再把門(mén)禁和運(yùn)營(yíng)機(jī)制一步步補(bǔ)上路子就順了。如果你想搭一套這樣的平臺(tái)別急著把界面做得花哨先讓“上傳用例、觸發(fā)執(zhí)行、看到報(bào)告”這三個(gè)動(dòng)作變得無(wú)比順暢后面的事情都會(huì)自然長(zhǎng)出來(lái)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色欲久久99精品久久| 亚洲天天更新| 91日韩网站| 综合久久六月久久婷婷| 欧美激情 亚洲色图| 国产成人在线观看综合| 少妇天堂| 四虎影库国产精品免费| 一级一性爱免费视频| 欧美色图亚洲色| xxx亚洲午夜天堂| 高清无码久操视频| 少妇高潮喷水无套久久久久久| 欧美不卡二区| 日韩无码人妻中字久久三区四区| 97午夜剧场日韩| 高清有码一区二区| 蜜乳av一区二区| 国产精品久久妻无码网站| 日韩pv中文| 好爽免费视频| 日韩去日本高清在| 992视频一区| 午夜精品久久久久久久99热影院 | 欧美性爱精品七区| 久久精品男人的天堂| 超碰性爱97| 在线观看av区| 九九无码视频| 大香蕉伊人久久| 国产精品懂色tv影视免费观看| 蜜桃在线观看一区二区三区 | 亚洲美女自拍偷拍视频| 国产精品人人爽人人做可爱福利| 天天干人人乐| 999色欧美中文字幕| 97干在线看| 五月丁香六月婷综合成人综合| 久久久久久久强迫| 国产三级中文有码在线视频| JULIA一区二区三区在线播放| 91无码精品| 美女诱惑在线一区| 亚洲色图大香| 丰满人妻一区二区三区大胸懂色 | 99热66| 亚洲 无码 偷拍| 国产精品福利视频| 高清国产无码av| 3d成人精品一区二区| 青娱乐国产精品| 国产乱伦性爱区| 人人操人人干网页| jizzjizz欧美| 日本 成 人 小说 电影 一区二区| 日韩熟妇二区| 欧美天天插| 国产一级片| 大香蕉伊人色偷偷在线| 欧美亚洲性爱一区二区| 日本久久综合| 香蕉精品二区二区| 91福利网在线观看| 国产熟女免费观看久久| 九九九九九九九精品视频| 99久久无色码| 久久久神马影院| 午夜操一视频一区| 国产成人一级av88| 爱av免费| 久久精品亚洲成a人天堂| 九九色逼| 97亚洲资源| 超碰调教97| 今日头条成人一区二区三区四虎精品| 玖玖综合色| 国内97干免费看| 亚洲高清男人天堂| 熟妇一区,二区,三区。| 日韩青久久| 资源新线在线天堂| 日韩欧美中文| 欧美亚洲丝袜美女电影| 久久久久久99999国产精品| 亚洲色交| 97色色色| 啊啊啊啊啊啊啊啊要喷了| 99在线啪| 国产在线观看一区二区三区| 91久久久久久| 青青11操操操操操操操操| 久草热制服丝袜在线观看| 99精品人妻| 福利在线观看一区二区| 亚洲人妻熟妇三十三区| 日韩色女精品| 边做饭边操逼逼| 91一起操| 97超碰国产亚洲精品| 亚洲伊人久久综合97| 亚洲精品美女久久久久久久久| 国产精品制服丝袜中文字幕日韩一区二区三区| 97在线无精品| 精品蜜乳AV免费观看| 欧美操人| 色欧美亚洲| 色久桃花影院在线观看| 97se综合网| 欧姜老司机| 日韩 欧美 另类 人妻| www.四虎在线| a一区二区三区乱码在线| 女人喷水视频在线观看| 91处女视频在线观看| J?P?NESEHD熟女熟妇伦| 97超碰国产亚洲精品资源| 嫩草伊人久久精品| 欧美资源| 丰满少妇高潮无码| 无码日韩人妻av一| 天天日美女的B| 玖玖爱影院| 超碰在线看| 亚洲日精品| 日本午夜精品理论片A级APP发布| 亚洲骚男同com| 可以在线观看的黄色网址| 欧美在线干| 91亚洲最新在线| 亚洲国产成人精品无码专区| 青青草无码视频| 久久久久亚洲av综合波多野制衣| 999综合色| 国产精品 久久久精品一牛| 在线视频一区二区传媒| 人人操人人色人人摸| 亚洲熟女av日韩熟女| 超碰97综合网| 欧美黑人猛交春色影视大全| 天天上日日上日韩精品| 人人超碰在线观看黄| 色操逼网| 亚洲自拍偷拍视频在线| 精品无码久久久久| 91oumei| 日本人人操人人操| 久夜操| 国色天香av| 亚洲男人久久综合天堂| 麻豆人妻偷人精品无码视频| 婷婷99狠狠| 精品视频久久| 99久久婷婷国产综合精品草原| 久久久久久久9最新免费视频观看| 一区二区高清视频| 性吧在线视频| 26uuu性| 久热精品在线| 亚州色图欧美| 婷婷五月花| 欧美亚洲系列| 无码男人天堂| 首页中文字幕中文字幕免费| 欧美综合第一页| 国产农村妇女精品一二区| 入口操逼网站| 中国操逼无码| 蜜臀久久99精品久久久久久成人小说 | 2024人人操人人摸| 粉嫩久久久极品| 美女黄页| a男人的天堂| 日韩欧美一级特黄大片| 女性91网站| 黄色一区三区| 这里是精品| 国产精品久久久久中文字幕| 国产真乱mangent| 欧美性夜| 超碰在线91| 中出后入| 国产精品高潮久久AV| 亚洲成人在线播放| 自拍鲍鱼一区在线高清观看免费| 久草免费福利在线播放| 97碰碰色| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 国产自偷自拍一区| 最新中文字幕精品在线| 性爱视频免费网址| 26uuu最新| 欧美性性性| 欧美性天天影院| 九一精品牛牛一区二区| 在线中文AV| 国产青视频| 另类图片五月| 婷婷五月天影院| 亚洲AV无码乱码在线观看性色| 国产亚洲中文不卡二区| 岛国激情视频软件| www.亚洲成人一区| 国产午夜精品理论片一二三区区| 欧美色视| 欧美精品成人一区二区在线观看| 天天92av| 毛片一区二区| 国产精品粉嫩福利在线| 欧美国产操逼| 九九九九97| 一区二区三区不卡视频| 亚洲性高潮| 国产精品一二三| 亚洲 中文 欧美 日韩 在线| 91亚洲欧洲| 97超碰欧美| 在线午夜成人无码视频| 熟妇xxxxx性春色| 国产suv一区二区三区6| 亚洲 欧美 色图| 欧美 亚洲 在线| 亚洲 在线| 日本操逼视频免费| 亚洲**2021在线观看| 福利视频香蕉免费一区二区在线| 一区二区三区国产在线播放| 国产无码高清操逼视频| 一牛影视成人片免费| 操逼国产免费| 国产超碰| 欧美色偷拍| 啊啊啊不要啊啊受不了了视频在线| 青青草视频导航官网| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 亚洲天堂,男人| 黑丝少妇在线观看| 性爱AV天堂| 91日日夜夜| 欧美 色 亚洲| 久久在线观看免费视频| 99国产在线 精品 视频| 激情深爱五月天| http://qxhbdz.com| 国产夫妻一区二区| 欧美性五月| 嗯嗯嗯啊啊啊干死我吧| 久久色一区二区| 日本欧美m v精品网站加| 东京太热男人的天堂久久久| 综合av社区| 日本 欧美 国产一区| 夜夜爽爽爽| 大香蕉伊在线久草麻豆天堂故事| 久久久亚洲熟妇资源| 91欧洲国产成人久久精品网站| 亚洲国产精品9999在线观看| 国产三级电影免费观看| 久久AV无码1区2区3区| 亚洲。天堂。日本在线观看| 涩涩这里只有精品视频| 91逼逼女人91| 精品少妇高潮久久| 久久高清欧美国产| 黄网站黄视频网站进入口| 男女啊啊啊啊啊| 在线看的av| 九九九九精品在线| 亚洲各类熟们中文字幕| 884t在线| 国产日韩精品suv| 91日韩在线| 91亚洲欧美综合高清在线| 91久久青青草原精品| 我爱大香蕉| 成人精品一区二区三区| 高清孕妇孕交| 日韩欧美tv一区二区在线观看| 日本 欧美 亚中文字幕| 熟妇人妻精品一区二区| 高清在线偷拍自拍视频| 九九九九一级| 樱花蜜乳av| 美日韩一卡二卡三卡免费人妻精品| 亚洲一区制服诱惑| 操高情无码| 青青操在线亚洲视频观看欧美在线| 成人性交免费视频| 首页亚洲国产高跟丝袜诱惑视频| 日韩欧美麻豆 | 激情五月天色播| 亚州,欧美在线| 手机看片1025| 麻豆精品.欧美精品.日韩精品.| 熟女色综合久久| 欧美激情久久久久| 婷婷激情五月天小说网| 欧美日韩精品青青| 日韩一区二区精品视频| 91人妻在线视频| 男人的天堂亚洲| 国产乱子伦久久精品综合一区二区三| 欧美第一页性| 亚洲伊人久久综合97| 97国伦国色| 国产美女口爆吞精视频| 久久伦理视频久久大香蕉视频| 伊人久久在线视频观看| 欧美亚洲系列| 91欧美偷拍| 欧美一级美片在线观看免费| 欧美伦乱爱| 国产91乱伦| 天天爱综合网| 国产蜜臀精品一区免费尤物| 成年人三级黄色片视频| 无卡一区=区| 亚洲乱熟女一区二区三区大香蕉| 日韩兔费看黄片| 亚洲国产剧情少妇激情| 亚洲国产一区二区入口| 蜜桃臀一区二区aV| 美女超碰978| 囯戸精品高潮呻吟旡码| 嗯嗯嗯啊啊在线观看| 久久久久成人蜜桃精品| 午夜视频黄| 亚洲国产亚洲天堂| 久久99干一本高清| 色播五月丁香| 国产成人亚洲精品无码古代早漏男| 伊人久久亚洲色欲综合网站 | 色色99| 国产一区二区三区高清视频| 久久久男人的天堂| 久久a久久| 欧美一区二区三区蜜桃| 久久久久久久97| 欧洲乱码视频| 亚洲色图久久精品蜜| 操逼逼一区视频| 青青草色AV| 极品少妇99| 大香蕉久| 熟女精品va中文字幕| 亚洲se91| 国内外毛片在线观看| 九九九久千久久激情蜜桃在线看 | 久久国产对白激情浪潮| 99综合视频一体| 少妇无码av专区线| 亚洲中文字幕在线视频一区二区| 日韩精品一区,二区 九九...老司机| 人妻天堂综合网| 男女激情黄色网址| 亚洲色图欧美色图日韩色图| 一级一性爱免费视频| 五十路熟女,国产欧美精品区一区二区三区| 综合网,亚洲,欧美| 综合网色| 九九综合久久| av国产无码| 精品国产一区二区三区香蕉欧美| 色图综合网| 9精品久久久久| 国产99999久久精品| 91欧美偷拍| 免费看毛片操穴| 强奸乱亚洲| 欧美日韩国产中文精品字幕自在自线| 超碰在线人妻中文字幕| 久久久99免费| 国产精品日本无码A片| 欧美色图91| 亚洲区 欧美区| 男人的天堂日韩| 亚洲精品亚洲人成人网| 精品超碰国产| 亚洲一区二区三区麻豆传媒| 六月丁香五月婷婷| 天天爱天天韩国日本牛牛牛牛| 香蕉人人操tv| 丰满人妻av一区二区三区| 激情网色| 强奸乱伦av电影| 8050无码八戒| 成年女人18级毛片毛片免费观看| 视频国产精品未满十八禁止在线观看| 操逼视频亚洲| 中文字幕aⅴ在线视频| 国产精品久久久久久久毛片1| 天天爽夜夜爽夜夜爽精| 人人看人人插| www.av在线视频| 色伊人91| 97最新在线播放视频| 大香蕉丝袜一级片| 99精品视频在线观看| 92福利社视频| 内射日韩大臀美女| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 九九九国产| 欧美性暴力猛交| 97欧美精品| 13小男生GAY自慰脱裤子| AV乱伦专区| 亚洲97久久精品亚洲| 国产精品亚洲免费| 一本一道人妻久久一区二区三区 | 欧美在线l亚洲| 午夜无码熟妇丰满人妻| 2017天天插| 四虎午夜影院| 日韩一区二区高清在线观看的| 日本精品第一视频在'| 涩涩五月天| 欧美精品丝袜久久久中文字幕| 久久综合超碰| 校园激情狠狠四射| 国产不卡免费在线视频| 五月天综合| 好吊色一区| 亚洲色棕合| 国产强奸乱伦无码视频| 无码WWW免费视频网站| 丁香色婷婷| 国产一级久久久| 久久精品一区一起草| 九九九九热| 午夜久久无码1000合集| 亚洲天堂另类小说男人| 日本 情色 1区| 久久久久久久久久久免费精品| 人人摸人人干人人拍97| 九九九久千久久激情蜜桃在线看 | 欧亚韩国999| 热99re69精品8在线播放| 成年人三级黄色片视频| 超碰调教97| 中文字幕精品亚洲熟女| 丁香九月 婷婷| 久草五月| 日本天天干天天日一区| 国产精品久久久久久久久久梁医生| 亚洲AV无码成人精品久久| 爱干爱射网啊啊啊| 久久黄人人爽视频| 欧美日韩岛国大片在线观看| 2017天天透天天通天天擦| 97超碰欧美| 午夜精品视频777| 天天操人人操骚逼网站| 翔田千里AⅤHD无码| 久久亚洲不卡| 丝袜美腿av女优在线| A片 AV一级在线播放观看免费 | 性爱视频免费网址| 久久欧美按摩999| 欧美三级偷拍| 综合色色婷婷| 亚洲欧美校园| 婷婷丁香熟妇综合网| 99精品高潮| 少妇3P性爱自拍| 欧美A√综合网 | 三级日韩一区二区三区| 亚洲s在线观看| 国产白丝av| 91亚州日韩高清| 97超碰9| 激情五月综合网| 超碰精品97| 色999五月色| 欧美草草高清日韩视频| 99热99在线| 97视频一区| 色999亚洲人成色| JuliaAnnXXX888| 亚洲操逼网| 91美女精品| 欧美国产日韩清纯唯美| 亚洲自拍97| 天天综合网~69| 精品人妻一区二区三区四区不卡在| 农村妇女一级二级三级视频| 热99re69精品8在线播放| 精品久久久无码| 久久三区四区| 99啪啪视频| 色在线综合| 伊人aaa| 爱媛媛久久国产福利| 综合色久欲| 欧美激情综合色综合啪啪五月| 超碰九7| 四季AV综合网址| 无码高清国产AV| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 97久久精品国产| 99re公开精品免费视频| 99热销国产这里有精品| 日日日啊啊啊| 国产97色在线| 中国AAAAAA黄色片| 9九九国产| 久久9精品视频| 亚洲AV噜噜狠狠网址蜜桃动漫| 国产视频97| 99丝袜福利在线播放| 免费的很黄很污的全部视频| 人妻少妇精品久久久久久| 欧美刺激色黄片免费看| 亚洲黄色| 黄色十八禁| 亚洲精品视频二区| 岛国艾薇凹凸视频天堂| 午夜性生活av免费在线看| 亚洲综合射| 午夜视频久久久| 久久精品人体AV| 岛国视频一二三区| 97天堂| 国产AB视频| 亚洲综合码| 欧美一区二区亚洲天堂| 午夜激情成人在线观看| 中文字幕97| 四虎免费在线播放| 欧美亚洲高清不卡| 中文字幕一区二区三区人妻少妇在线| 91精品无码人妻系列| 国产在线综合福利网站| 欧美宗合网| 999熟女精品| 亚洲美欧999| 99婷婷| 能直接看AV的网站| 国产成人欧美一区二区三区的国产| 亚洲人妻久久| 97色综合中文网| 伊人网一本| 高清肉丝中文无码| 欧美日韩精品久久| 天天综合欧美综合| 久久久久久久 九九九九九九九| 另类小色呦| 国产理论视频在线播放| 国产高清精品一区二区三区毛片 | 国产女大学生AV| 欧美78P| 99热精品在线观看| #NAME?| 超碰在线1234区| 少妇精品久久久| 蜜臀AV成人精品蜜臀| 国产白嫩精品久久| 国产传媒美日韩av| 久草婷婷| 亚洲精品一区二区免费在线观看| 日韩欧美丝袜诱惑| 麻豆伊人网| 久久亚码| 91精品婷婷国产综合久久| 精吧天堂| 好湿好紧视频| www亚洲欧美| 一区在线精品中文字幕| 亚洲AV麻豆Aⅴ无码电影一| 国产在线观看一区二区三区| 欧洲黄色网| 日韩三A大片在线观看| 国产一区免费午夜视频| 东北丰满熟女国产一区| 欧美人妻一区| 日本高清久久| 韩国女主播青草福利视频| 亚洲色图 欧美热图 清纯唯美 另类自拍| 伊色综合天堂色97| 久久嫩草国产成人一区| 99re这里| 国产91丝袜 在线播放| 日日骚中文字幕| 综合亚洲欧美精品日韩?v| 欧美日韩另类在线| 福利在线黄片| 欧美熟爽综合| 国产精品久久久九九九| 日本免费二区三区| 少妇一级无码精品| 蜜乳性色无码专日粉嫩骚逼AV| 久久久九九网站| 综精品久久久aaaa| 久久久久久裸体| 欧美啪啪色吧在线| 天堂俺去俺来也www久久婷婷| 女人喷水视频在线观看| 校园春色之综合网| 91路www| 中文 人妻 制服| 一级@啪啪视频| 免费精品99| 制服少妇欧美| 丁香九月婷婷| 免费看欧美美女黄色大片| 亚洲男人天堂2019| 久久人妻一区二区三区高清| 日本欧美中文字幕| 免費黃色視頻觀看一| 91九色丨国产丨爆乳| 人乳av| 五月天婷婷成人网| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 97日视频| 欧美少妇色图| 亚洲激情在线一区二区| 亚洲最大的黄色电影网站。| 超碰精品97| 自拍视频一区在线观看| 高清不卡视频| 熟妇色99| 亚洲五月婷| 国产精品一区二区后入| V A在线| 久久久久人妻| 欧美在线干| 日本日逼高清| 欧洲精品一区二区三区| 国产呦精品系列在线观看| 超碰人人在线| 九九九久| 在线人人人人人人精品超| 欧美精品偷拍| 五月天我淫我色av| 国产性感骚丝袜在线| 中国91AV| 午夜大香蕉| 玖玖资源视频一区二区三区| 永久免费发布性爱网| 国产AV人人 夜夜人人澡| 午夜性刺激视频免费观看| 美女刺激久久国产欧美| 91老司机视频| 人妻熟女字幕一区二区| 大香蕉伊人75| 蜜臀国产AV中文字幕| 9 1果冻精品视频| AAA久久| 国产成人五月天丁香花| 五月婷婷大香蕉| 色色97爱| 丝袜六区| 欧美v亚洲v综合v国产v妖精| 美女高潮视频91| 1000部熟女视频在线观看| 九久9热| 強姦亂倫a| 色婷婷久久综合超碰| 日本三级一区二区 在线| 日本东京热大香蕉a片| 国产AV色黄看到爽| 九九九精品一区二区无码| 日本丝袜人妻内射| 国产超碰欧美| 99久热| 日本操逼视频在线| 美女诱惑在线一区| 亚洲欧美日韩精品久久久一区二区 | 天天天堂影视日韩亚洲91| 国产三区免费在线观看| 人人操人人操人妻人| 大奶啊啊好爽 | 蜜乳AV网址| 欧美人妖内射| 欧美 中文字幕 一区| 欧美成人A√在线一区二区| 好屌色综合| 一区二区三区黄色片a| 国产精品亚洲四五区在线观看| 69少妇一区二区| 亚洲好色人妻| 东北女人av| 国产女人与拘做受视频免费| 中文字幕av片| 亚洲 中文 女同| 青青久久手机线视频| 91热热色| 日日干男人的天堂| 大香蕉人妻| 欧美成熟性爱精品| 九九九九精品在线| 久久欧洲| 日本99久久| 国产午夜在线观看视频| 成人日本片久久久蜜桃| 嗯嗯啊啊操死我| 日韩性爱再线视频| 久久精品国产精品一区| 人妻素股| 日欧美色| 日韩啪啪啪啪啪| 综合在线导航一区| 97在线观看免费视频| 9 9无尺码天堂网| 91九九九馒头| 婷婷久久五月| 色网在线视频观看免费| 伊人操| 欧美性视频二区三区| 亚洲熟妇乱女区二区三区| 国产色精品午夜大片| 日本淫乱女一区二区三区视频| 91女优在线观看| 欧美一区二区情色| 精品一区二区三区蜜桃臀赵总| 日韩精品碰碰| 国产强奸AV在线| 天美传媒AV在线| 玖玖大干人妻| 激情五月天校园春色网| 久久111| 国产精品一区二区在钱播放| 九九热AV| 久操不卡视频| 熟女字幕| 中文字幕91页| 欧美αv.com| 摸奶性爱视频网站在线免费播放| 搡老女人老熟女91老熟女综合网| 97天天插| 97视频在线免费播放| 久久一二三四不卡 | 大香蕉2017| 欧美综合777| 热99这里有精品综合久久 | 日韩精品人妻中文字有码在线| 视频在线观看一二三区| 爱爱60秒免费视频| 日韩精品一二三四| 人妻啊啊人妻啊| 欧美精品四区| 综合色图,成人综合网| 日韩三级一区| 97人肏| 亚洲 图片 综合91| 青青草日逼视频| 欧美内射少妇| 九九九九九九成人| av72网| 2003天天干夜夜操| 欧美啪啪天堂| 丰满人妻-区二区三区免费看| 国产精选视频| 大香蕉综合网| 亚洲AV成人精品网站在AV| 亚洲阿v天堂在线| 亚洲码在线中文在线观看| 亚洲无码超碰免费| 精品午夜福利国产一区二区在线观看 | 久久国产在线一区二区| 老熟女乱伦片| 国产精品原创巨作?v网站| 国产在线激情视频| 中国女人内射6XXXXX| 去干网最新版| 美中韩AV综合网| 亚洲色图欧美色图制服丝袜| 青青草色情网站视频| 91男人天堂网| 精品人妻一区二区免费看| 青青草福利视频| 亚欧高清| 在线人人人人人人精品超| 99热最新网址| 内射中出日韩在线观看视频| 色九九九综合| 97欧美综合网| 国产第12页| 一区二区三区视频在线观看免费| 五月天丁香| 操逼内射干逼白丝91| 97精品在线| 天天噜| 999亚洲国产视频| 五月激情啪啪| 玖玖爱一区在线| 清纯唯美第一页| 免费αV在线视频| www.色婷婷色综合| 97这里都是精品| 黑人性暴力毛片| 人人干黄色| 日本高清久久| 91高潮喷水美女| 久久春色| 国产成人无码高清| 亚州色图狠狠干| 日本ZZ高免费A级视频| 久久草草亚洲蜜桃臀| 国产三级电影免费观看| 欧亚不卡| 夜夜精品视频| 国产一级αv免费看片| 丝袜喷水在线| 色欲久久99国产精品久久久久久| 久久东京伊人一本到鬼色| 日本超碰在线国产一区| 亚洲人综合| 日韩性爱免费观看视频| 亚洲午夜免费狠狠干| 五月天亚洲网| 人人妻人人爽 97人人看碰人免费公开视频 | 男人天堂婷婷五月天校园春色| 日韩少妇在线视频| 日韩强奸av| 一区二区三区在线资源| 亚洲欧美视| 精品偷拍13p欧美dodk视频| 久热久一区二区三区| 97国产|免费| 免费看欧美美女黄色大片| 一本大道综合伊人精品热热| 亚洲人成在线放东京热| 亚洲老熟妇xxx| 亚洲自拍小说| 澳门特级毛片免费观看| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 欧美性爱日韩高清| 亚洲日本成人动漫| 天天天肏屄肏屄肏屄欧美欧美| 国岛片视频| 日韩综合97P| 国产精品无套内谢| 亚洲天天影视色综合| 国产精品无码久久久久2025| 精久久久91| 8x福利精品第一福利视频导航| 日韩AV色图| 国产在线能看的你懂的| 免费看污网站| 久久久精品中文字幕爱豆| 天天摸夜夜摸| 免费国产电影一区二区| 96免费视频在线| 嫩草美女久久| 欧美 亚洲 另类 综合| 日本精品网站在线中文| 亚洲和欧美裸体美女双飞视频| 日韩精品一区二区高清| 好看的91视频| 亚洲字幕一区二区| 欧美第一页| 欧美一级A片在线看视频性色| 一二区在线观看视频| www.99热| 人人爱人人乐人人操| 麻豆九九九| 亚州操逼图| 999久久久久久久久| 丁香六月婷婷久久综合| 起碰97| 97久久精品国产| 伦伦成年午夜免费视频| 久久人妻一区二区三区高清 | 成人三级片一区二区三区视频| 天天爱天天操| 美国日韩黄片| 精品人妻一区二区三区夜夜| 国产三区免费在线观看| 国产精品农村妇女| 少妇被玩视频二三区| 人人操人人干网页| 91美女视频直播| 久悠悠av| 天天搞在线综合网| 欧美日韩另类激情图片| 91国产大片| 成人日本视频人妻在线| 蜜臀久久99精品久久久久| 啊啊啊啊啊好大好舒服想要| 日本欧美亚洲高清在线看| 97国产精品一区| 精品无人区麻豆乱码久久久| 国产欧美日韩精品中文| 国产日韩久久| 91视频综合在线| 九九热免费国产视频婷婷伊人| 日本欧美一区二区三区视频麻豆| 久久久九九| 亚洲最大的黄色电影网站。| 91精品啪在线观看国产城中村| 97精品在线视频| 天天内射| 91N五十路| 亚洲Av无码成人精品国产| 婷婷伊人五月| 欧美亚洲清纯| 久久国产精品,久久国产| 日本在线激情一区二区三区| 精品国模无码| 亚洲男人天堂网站| 99久久9| 免费人人搞97| 狂操嫩妻视频一区二区三区| 国产精品嫩草影院免费| 黄色无码高清黄色无码网站| 情色图区| 色拍偷亚洲| 欧美中文字幕一区 | 欧亚免费视频| 超碰碰97| 久久激情五月| 1000部熟女视频在线观看| 91丨精品丨国产丨丝袜| 91九色首页| 日韩色| 亚洲伊人久久综合97| 日本幼女18+| 日韩大香蕉精品在线视频| 午夜福利久久久噜久噜久久综合| 97国产成人精品免费视频| 国产对白刺激视频| 国产福利一区二| 好属操| 78操B| 33044男人的天堂深夜备| jiujiujiujingpin| 欧美成人色| 国产农村妇女精品1区二区| 999狠狠综合| 91美女丝袜诱惑视频| 亚洲色诱惑| 国产麻豆一级精品视频| 国产中文字幕曰本毛片| 93人人操人人| 淫荡熟女乱伦网| 日本三级一区二区 在线| 操人人| 欧美日韩啪啪电影| 日韩簧片免费看| 老熟女搡BBBB搡BBBB视频| 日韩欧美操逼xxx| 人人摸人人摸人人干| 91高清无码下载| 国产精品婬乱一级毛片彝族| 天天色天天干天天射| 草草影院日本第一页| 日韩精品在线视频在线观看 | 偷拍欧美激情| 亚洲人在线| 久久超碰免费的| 久久久久密臀一区二区| 少妇内射www在线观看视频 | 天天操夜夜操狠很操| 18禁中文字幕| 91 亚洲 欧美 日韩 国产 综合| 首页中文字幕中文字幕免费| 在线观看黄色电话| 色99在线| 精品久久久九九九孕妇| 99爱久久视频频| 先锋音影AV| 色97综合中文字幕| 果冻传媒A片麻豆熟妇人妻| 躁躁躁日日躁2020| 青娱乐999| 可以在线观看AV的网站| 日韩另类| 亚洲精品一二三四区| 欧美亚洲se91| 欧美日韩中文字幕不卡| 探花精品 一区二区| 一区不卡在线观看av| 在线观看国产黄色| 操人妻少妇中文| 日韩ab网| 精品国产乱码久久久| 欧美成人免费在线观看| 亚洲va有码在线天堂| 亚洲天堂99| 亚洲国产剧情少妇激情| 东方亚洲在线操逼天堂| 变态综合色| A 在线网址| 五月激情小说| 亚州中文字幕超碰97| 欧美中日韩XXXX| 日韩精品在线视频在线观看| 免费黄色视频网址| 国产精品视频| 粉嫩AV一区二区夜夜| 国产高清吃奶免费视频网站| 亚洲各类熟们中文字幕| 美腿色图| 淫纸中9区| 人人贴人人摸| 亚洲无套久久嗯嗯| 99热日| 13小男生GAY自慰脱裤子| 久久欧美性爱视频| 91撸色网 玖玖网 欧美| 日韩综合97p| 美国人人操人人操| 九九九九九九亚洲| 欧美肥臀在线| 人人操人人插人www| 欧美 亚洲 综合 制服| 亚洲精品黑丝| 国产黄色影片在线观看| 国产丝袜视频| 91模特在线观看| 在线观看成人性爱免费小视频| 日韩另类色图| 国产97/欧美| 极品尤物自安慰| 99re8免费高清在线| 亚洲欧美色图片| 亚洲欧美经典一区二区| 日本高清熟女久久一区| 亚洲国产一区二区日韩专区| av天天在线观看| 亚洲综合有码| 欧美黄色大香蕉一区二区| 五月开心久久AV官网| 无码操逼视频一下| 97视频在线观看播放与子乱对白在线……| 呦女网站| 盗摄女人妻在线| 久久久男人的天堂| 国产亚洲精品美女久久久| 国产美脚女优尤物在线观看| 亚洲综合第一页| 国产亚洲 中文欧美久久| 麻豆av一区二区| www.91色| 999国产精品999久久久久久| www.av在线观看| 欧美在线第五页| 成人无码影片视频在线| 欧美日韩美女精品久草一区二区三区| 丁香九月 婷婷| 久久一二三四五六七八九区区| 亚洲码在线中文在线观看| 丰满少妇一区二区三区四区观看| 久热一区二区| 情色日播放AV| 国产精品点击进入在线影院高清| 精品久久久久,69国产成人精| 美女诱惑久久| 毛片中心9视频99| 大学生美女口爆| 91精品人妻一区二区三区蜜桃臀| 中国农村熟妇毛片视频| 亚洲国成人情色好看电影| 亚洲 小说 欧美 激情 另类| 麻豆天美制片厂网站视频| 三级激情网站| 人妻熟女一区二区| 国产AV超爽| 玖玖久久久| 嗯嗯啊啊用力视频免费| 久久性生大片免费观看性| 丝袜喷水在线| 日本熟女中文字幕一区| 成人天天爽| 婷婷丁香在线| 中文字幕丰满子伦无码专区在线视频最新 | 久久九九视频九九视频| 人妻喷水| 国产少妇肉丝在线观看| 亚洲色婷婷久久91| 午夜精品久久久久久久99热影院| 视频黄色国产一级| 欧美日综合| 国产suv精品一区二区四| 三级AV入口| 欧美另类天堂| 亚洲一区二区三区久久 亚洲一区二区| 中文字幕欧美丝袜07资源| 欧洲与亚洲欧美精品中文字幕| 久久少妇视频| 少妇一区二区三区在线观看| 亚洲一区二区三区播放在线| 精品大全99999| 丝袜夫妻自拍| 大香蕉专区| 日韩精品人妻一| 97爱啪| 色香色香欲天天天影视综合网| 亚洲一区日韩精品| 97草草| 熟妇女人妻呻吟久久AV| 91成人在线免费视频| 国产强奸乱伦第1页| 久久精品国产精品| 99re9在线| 亚洲色图日韩精品| 精品91| 加勒比色99999| 亚洲色图国产另类| 国产999精品久久久久久| 天堂俺去俺来也www久久婷婷| 成人一二三区| 一本久久精品中文字| 99re9在线| 97任你吞精| 免费av在线播放二区| 日本不卡一二区| 午夜精品人妻二区三区| 91黑丝少妇| 99热精品免费| 无码免费精品高清| 黄色香蕉视频网站一区| 91精品久久久久| 国产和美国毛片| 嗯……啊…嗯嗯…啊…好舒服| 丰满的三级少妇欧美久久久| 嫩呦国产一区二区三区AV| 欧美精品97| 婷婷10月天青娱乐| 91黑丝操| 久久大陆| 欧美大香蕉97| 日韩精品.久久精品.AV女优.天美传媒| 亚洲最新a在线观看| 国产精品人人爽人人做可爱福利| 大色综合| 97久久国产精品女不卡| 日日AAvv| 欧美第二页午夜| 91/欧美| 欧美大香蕉97| 97超碰天天爱天天爱| 亚洲国产一区二区三区在线| 丁香六月婷婷久久综合| 欧美 亚洲 偷拍自拍| 在线强奷到舒服的无码视频| 久久久久亚洲av综合波多野制衣| 狠狠久久手机视频精品| 亚洲成a人v欧美综合天堂下载| 亚洲美女精品九九视频| 国产91 丝袜在线播放| 97超碰伊人| 亚洲成人AB| 亚洲毛片久久| 超碰97男女| 国产视频第二页| www亚洲欧美| 欧亚日韩中文在线| 亚洲激情视频| 大肥女高潮bbwbbwhd视频| 欧美天天综合网| 精品国产一区探花在线观看| 97综合网| 老熟女乱伦一区| 免费黄色片。| 久草网站免费在线观看| 欧美黑人精品一区二区| 婬女免费一二三区A片| 97干在线| 国产精品青青草| 97超碰天天|