99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

偶現(xiàn)bug為何只對(duì)特定人可見(jiàn)?從環(huán)境差異到競(jìng)態(tài)條件的系統(tǒng)化排查指南

偶現(xiàn)bug為何只對(duì)特定人可見(jiàn)?從環(huán)境差異到競(jìng)態(tài)條件的系統(tǒng)化排查指南 “在同事代碼里種蠱bug只對(duì)特定人可見(jiàn)”這個(gè)說(shuō)法乍一聽像是段子但真正在軟件測(cè)試和開發(fā)一線摸爬滾打過(guò)的人看到這個(gè)標(biāo)題大概率會(huì)心一笑——這不就是我們天天在跟“偶現(xiàn)bug”、“環(huán)境相關(guān)bug”斗智斗勇的日常嗎項(xiàng)目里總有一種bug像認(rèn)主一樣只在某個(gè)同事的機(jī)器上穩(wěn)定復(fù)現(xiàn)換個(gè)環(huán)境、換個(gè)操作人它就消失得無(wú)影無(wú)蹤仿佛從未存在過(guò)。開發(fā)說(shuō)“我這邊跑得好好的”測(cè)試那邊一執(zhí)行就花屏崩潰兩個(gè)人隔著工位面面相覷最后只能靠“重啟大法”和“多跑幾次”來(lái)碰運(yùn)氣。這個(gè)現(xiàn)象背后其實(shí)是軟件運(yùn)行環(huán)境復(fù)雜性和測(cè)試方法論問(wèn)題的集中體現(xiàn)。今天我想從這個(gè)“種蠱”的玩笑話切入認(rèn)認(rèn)真真拆解一下bug為什么會(huì)對(duì)特定人“可見(jiàn)”這種問(wèn)題通常長(zhǎng)什么樣我們?cè)趺从孟到y(tǒng)化的手段把這類“玄學(xué)”變成“科學(xué)”以及在日常測(cè)試和開發(fā)協(xié)作中如何從源頭減少這種“人肉復(fù)現(xiàn)”的困境。這篇文章適合正在被偶現(xiàn)bug折磨的測(cè)試工程師、被“我這邊沒(méi)問(wèn)題啊”困擾的開發(fā)同學(xué)以及所有想讓自己排查問(wèn)題能力上一個(gè)臺(tái)階的人。1. 內(nèi)容整體設(shè)計(jì)與思路拆解把“玄學(xué)bug”翻譯成可理解的技術(shù)問(wèn)題1.1 為什么bug會(huì)“認(rèn)人”從三個(gè)真實(shí)場(chǎng)景說(shuō)起先聊聊幾個(gè)我實(shí)際遇到過(guò)的“認(rèn)人bug”案例看完你就知道“種蠱”的比喻有多貼切。第一個(gè)案例來(lái)自我參與過(guò)的一個(gè)桌面端圖像處理項(xiàng)目。同事A反饋軟件在保存圖片時(shí)偶發(fā)崩潰但詭異的是這個(gè)崩潰只在他那臺(tái)開發(fā)機(jī)上穩(wěn)定出現(xiàn)其他同事包括測(cè)試同學(xué)怎么操作都復(fù)現(xiàn)不了。大家一度懷疑是不是他電腦“有問(wèn)題”直到后來(lái)發(fā)現(xiàn)他機(jī)器上裝了一個(gè)企業(yè)版的截圖翻譯軟件這個(gè)軟件會(huì)注入系統(tǒng)級(jí)的全局快捷鍵和剪貼板鉤子偏偏跟我們的圖像保存流程在底層資源上發(fā)生了沖突。換句話說(shuō)bug“認(rèn)”的不是人而是那臺(tái)機(jī)器上特有的軟件環(huán)境組合。第二個(gè)案例是一個(gè)移動(dòng)端App項(xiàng)目。運(yùn)營(yíng)同事反饋某個(gè)頁(yè)面刷新后偶發(fā)白屏但測(cè)試人員用測(cè)試賬號(hào)怎么刷都正常。最終定位到問(wèn)題出在一個(gè)第三方統(tǒng)計(jì)分析SDK的初始化時(shí)序上運(yùn)營(yíng)同事的賬號(hào)因?yàn)闅v史數(shù)據(jù)量特別大首頁(yè)接口響應(yīng)比普通測(cè)試賬號(hào)慢了大約200毫秒而這個(gè)微小的時(shí)差就觸發(fā)了SDK內(nèi)部一個(gè)沒(méi)有做好狀態(tài)保護(hù)的競(jìng)態(tài)條件導(dǎo)致頁(yè)面渲染中斷。第三個(gè)案例更離譜。一個(gè)后端接口偶爾返回亂碼只有一位新入職的同事在下班后執(zhí)行定時(shí)任務(wù)時(shí)能碰到。排查到最后問(wèn)題出在他的電腦系統(tǒng)區(qū)域時(shí)間和格式設(shè)置跟公司標(biāo)準(zhǔn)鏡像不一致導(dǎo)致一個(gè)時(shí)間戳生成函數(shù)在特定時(shí)區(qū)格式下走了不同的分支觸發(fā)了編碼轉(zhuǎn)換的bug。你看這三個(gè)案例里的bug哪一個(gè)真的“認(rèn)人”了沒(méi)有。它們都遵循著自己的觸發(fā)邏輯只是這個(gè)邏輯跟特定環(huán)境、特定數(shù)據(jù)、特定時(shí)序強(qiáng)耦合導(dǎo)致在大多數(shù)人的常規(guī)操作路徑上根本走不到那條分支。所謂“特定人才可見(jiàn)”本質(zhì)上是“特定條件下才觸發(fā)”但因?yàn)檫@個(gè)“特定條件”不好描述、不好枚舉大家為了方便理解就給它貼上了“認(rèn)人”的標(biāo)簽。1.2 這類bug的共同特征環(huán)境依賴、偶發(fā)性與可復(fù)現(xiàn)壁壘把上面幾個(gè)案例放到一起看就能總結(jié)出這類“認(rèn)人bug”的三個(gè)核心特征。第一是環(huán)境依賴性強(qiáng)。這里的“環(huán)境”是廣義的不只是操作系統(tǒng)版本還包括系統(tǒng)語(yǔ)言、時(shí)區(qū)、字體庫(kù)、已安裝軟件、啟動(dòng)的服務(wù)、環(huán)境變量、依賴的第三方庫(kù)版本甚至硬件配置和屏幕分辨率。這些因素互相作用構(gòu)成了一個(gè)幾乎不可窮舉的組合空間。第二是偶發(fā)性與可復(fù)現(xiàn)率低。這類bug往往不是100%復(fù)現(xiàn)而是有概率地出現(xiàn)。概率可能高到十次里出現(xiàn)三次也可能低到幾天才出現(xiàn)一次。隨機(jī)性就是它們的護(hù)身符讓開發(fā)人員在debug的時(shí)候無(wú)從下手。第三是觸發(fā)條件隱蔽。這類bug的觸發(fā)邏輯往往藏在不直觀的路徑上可能是數(shù)據(jù)邊界值、可能是時(shí)序競(jìng)爭(zhēng)、可能是資源泄漏的累積效應(yīng)也可能是緩存失效策略的某個(gè)極端情況。你沒(méi)找到觸發(fā)條件時(shí)它幾乎不存在你找到了之后會(huì)覺(jué)得“原來(lái)就這么簡(jiǎn)單”。理解了這三個(gè)特征你就明白為什么這類bug在團(tuán)隊(duì)里會(huì)造成巨大的內(nèi)耗了——因?yàn)椤霸谖覚C(jī)器上跑得好好的”這句話在這種前提下不能說(shuō)是在撒謊只能說(shuō)是他的運(yùn)行環(huán)境確實(shí)沒(méi)有觸發(fā)那個(gè)潛在條件。2. 核心細(xì)節(jié)解析與實(shí)操要點(diǎn)把“特定條件”從黑盒里挖出來(lái)2.1 環(huán)境差異是最大的變量?jī)?yōu)先排查環(huán)境相關(guān)因素當(dāng)你接到一個(gè)“只有某人能復(fù)現(xiàn)”的bug報(bào)告時(shí)我希望你的第一反應(yīng)不是懷疑這個(gè)人也不是懷疑代碼邏輯當(dāng)然代碼確實(shí)可能是根因而是先列一個(gè)環(huán)境因素的清單逐項(xiàng)比對(duì)。我建議建立一個(gè)“環(huán)境差異自檢表”核心項(xiàng)目包括以下這些操作系統(tǒng)及版本、系統(tǒng)語(yǔ)言、區(qū)域格式與默認(rèn)時(shí)區(qū)應(yīng)用運(yùn)行所需運(yùn)行時(shí)版本比如Java版本、Node版本等依賴的本地服務(wù)版本與配置機(jī)器上安裝的、可能干擾應(yīng)用運(yùn)行的全局軟件輸入法、截圖工具、翻譯工具、內(nèi)網(wǎng)安全管理軟件等瀏覽器類型、版本、插件、禁用啟用狀態(tài)網(wǎng)絡(luò)環(huán)境是否在公司內(nèi)網(wǎng)、是否有代理、延遲和帶寬特征數(shù)據(jù)情況登錄賬號(hào)、賬號(hào)權(quán)限、歷史數(shù)據(jù)量、緩存狀態(tài)硬件差異屏幕縮放比例、DPI、顯卡驅(qū)動(dòng)版本、內(nèi)存容量在實(shí)際操作中我傾向于先回歸到“最可能出問(wèn)題的幾個(gè)點(diǎn)”。比如在桌面端優(yōu)先懷疑系統(tǒng)級(jí)鉤子和圖形接口的問(wèn)題在Web端優(yōu)先懷疑瀏覽器兼容性和網(wǎng)絡(luò)條件在移動(dòng)端優(yōu)先懷疑系統(tǒng)版本和網(wǎng)絡(luò)環(huán)境。不要一上來(lái)追求全量比對(duì)那樣效率太低。你得像個(gè)偵察兵一樣先把最容易藏著鬼的地方翻一遍。這里有一個(gè)特別容易踩的坑很多人覺(jué)得“環(huán)境一致”就等于“跑得起來(lái)”其實(shí)不對(duì)。舉個(gè)例子兩個(gè)人電腦上都裝了同一個(gè)版本的數(shù)據(jù)庫(kù)客戶端但一個(gè)用了系統(tǒng)自帶的驅(qū)動(dòng)一個(gè)用了應(yīng)用程序目錄下自帶的驅(qū)動(dòng)這就夠了——行為就是會(huì)不一樣。所以做環(huán)境比對(duì)的時(shí)候你得看得足夠細(xì)細(xì)到依賴包、驅(qū)動(dòng)、鉤子這種容易被忽略的層面。2.2 數(shù)據(jù)差異是隱藏的導(dǎo)火索別忽視賬號(hào)和數(shù)據(jù)量除了環(huán)境數(shù)據(jù)差異是第二大“蠱源”。一個(gè)只出現(xiàn)在特定人身上的bug往往跟這個(gè)人的操作數(shù)據(jù)有直接關(guān)系。比如之前提到的那個(gè)統(tǒng)計(jì)分析SDK的問(wèn)題就是“數(shù)據(jù)量大導(dǎo)致接口返慢”的極端場(chǎng)景。在處理這類問(wèn)題時(shí)我建議你問(wèn)自己三個(gè)問(wèn)題這個(gè)人的數(shù)據(jù)跟我們的測(cè)試數(shù)據(jù)有什么不同數(shù)據(jù)量、字段長(zhǎng)度、特殊字符、歷史記錄、權(quán)限標(biāo)記等這個(gè)人的操作路徑跟我們的測(cè)試路徑有什么不同是否高頻操作、是否跨功能跳轉(zhuǎn)、是否攜帶特殊狀態(tài)進(jìn)入頁(yè)面等這個(gè)人的賬號(hào)狀態(tài)有什么特殊新賬號(hào)、老賬號(hào)、內(nèi)部賬號(hào)、特定角色權(quán)限等把這些差異列出來(lái)之后你再去看代碼里哪些分支會(huì)因?yàn)檫@些差異走不同路徑。很多時(shí)候bug就藏在分支覆蓋不到的地方——代碼的if條件里有“如果數(shù)據(jù)量大于某個(gè)閾值則走批量處理”測(cè)試人員的數(shù)據(jù)量永遠(yuǎn)到不了那個(gè)閾值而運(yùn)營(yíng)同事的量級(jí)輕輕松松就觸發(fā)了。2.3 時(shí)序與并發(fā)最容易“認(rèn)人”的bug類型時(shí)序問(wèn)題在“認(rèn)人bug”里占的比例相當(dāng)高而且是最難排查的類型因?yàn)樗莿?dòng)態(tài)的、概率性的。我見(jiàn)過(guò)一個(gè)典型的例子一個(gè)桌面工具在啟動(dòng)時(shí)初始化了一個(gè)全局事件監(jiān)聽器并且注冊(cè)了一個(gè)異步任務(wù)。某同事的機(jī)器啟動(dòng)速度特別快固態(tài)硬盤太新結(jié)果某個(gè)組件還沒(méi)完成注冊(cè)異步任務(wù)就觸發(fā)了對(duì)它的調(diào)用直接拋了空指針異常。其他同事的機(jī)器硬盤慢一點(diǎn)人為創(chuàng)造了一個(gè)“安全窗口期”所以從來(lái)沒(méi)觸發(fā)過(guò)。這種問(wèn)題就是典型的“海森堡bug”——你越是想觀察它它越是不出現(xiàn)因?yàn)椤坝^察”這個(gè)動(dòng)作本身就改變了系統(tǒng)狀態(tài)。比如你為了調(diào)試加了一行日志就改變了時(shí)序的競(jìng)爭(zhēng)格局bug反而不出現(xiàn)了。面對(duì)這類bug我得先給你潑盆冷水通過(guò)常規(guī)debug手段去跟蹤它的概率很低。更有效的辦法是通過(guò)代碼審查去主動(dòng)尋找競(jìng)態(tài)條件尤其是以下幾個(gè)位置應(yīng)用啟動(dòng)階段的初始化序列誰(shuí)先誰(shuí)后順序是否有關(guān)異步回調(diào)中是否存在對(duì)共享狀態(tài)的未加鎖讀寫緩存加載與數(shù)據(jù)更新的時(shí)間窗口事件監(jiān)聽器的注冊(cè)與銷毀時(shí)序多線程下的懶加載邏輯這些位置就是“競(jìng)態(tài)條件”的高發(fā)區(qū)也就是“種蠱”的重災(zāi)區(qū)。你去主動(dòng)審查這些區(qū)域可能比讓你殺掉一億次程序去碰運(yùn)氣要高效得多。3. 實(shí)操過(guò)程與核心環(huán)節(jié)實(shí)現(xiàn)從接收bug到鎖定根因的系統(tǒng)化流程3.1 建立一個(gè)可執(zhí)行的問(wèn)題排查SOP在團(tuán)隊(duì)協(xié)作里處理“認(rèn)人bug”最忌諱的事情就是“接到反饋馬上開跑”沒(méi)有任何信息收集就直接去猜。正確姿勢(shì)是建立一個(gè)標(biāo)準(zhǔn)化的排查流程讓每個(gè)人面對(duì)這種問(wèn)題時(shí)都有章可循。我的做法是這樣的第一步獲得完整的復(fù)現(xiàn)信息不要滿足于“某某操作就崩了”這種描述。你需要問(wèn)清楚以下信息什么時(shí)間發(fā)生發(fā)生頻率是多少10次里幾次每天幾次觸發(fā)復(fù)現(xiàn)的具體操作步驟越詳細(xì)越好是否只有這個(gè)人能觸發(fā)其他人試過(guò)沒(méi)有是否換過(guò)機(jī)器、換過(guò)賬號(hào)、換過(guò)網(wǎng)絡(luò)測(cè)試過(guò)崩潰時(shí)的屏幕現(xiàn)象報(bào)錯(cuò)文本、卡死畫面、閃退前的最后交互最近有沒(méi)有裝過(guò)新的軟件、更新過(guò)系統(tǒng)、改過(guò)配置文件你會(huì)發(fā)現(xiàn)光是耐心做這一步就能排除掉至少三分之一“其實(shí)根本不是bug而是操作不當(dāng)”的情況。第二步環(huán)境與數(shù)據(jù)快照請(qǐng)報(bào)告者提供關(guān)鍵環(huán)境信息如果條件允許最好能直接拿到他的機(jī)器做一次遠(yuǎn)程操作。如果不能遠(yuǎn)程就讓他執(zhí)行幾條簡(jiǎn)單的環(huán)境采集指令比如打印環(huán)境變量、系統(tǒng)信息、依賴版本等把結(jié)果貼給你。第三步最小化復(fù)現(xiàn)嘗試不要急著在他完整的、復(fù)雜的操作環(huán)境里去復(fù)現(xiàn)。試著把觸發(fā)步驟簡(jiǎn)化把干擾因素剝離。比如他是在某個(gè)特定頁(yè)面、特定操作下崩潰的你就問(wèn)自己能不能只保留這個(gè)頁(yè)面、這個(gè)操作把其他一切無(wú)關(guān)的東西都卸載看看還能不能復(fù)現(xiàn)如果剝離掉某些軟件就復(fù)現(xiàn)不了了說(shuō)明問(wèn)題大概率在軟件依賴沖突上。第四步代碼層面的競(jìng)態(tài)與分支審查如果環(huán)境和數(shù)據(jù)快照都沒(méi)有鎖定根因就需要進(jìn)入代碼審查模式。重點(diǎn)審查我之前提到的幾個(gè)高發(fā)區(qū)域初始化序列、異步回調(diào)、緩存時(shí)序、事件注冊(cè)。第五步構(gòu)建最小復(fù)現(xiàn)工程最后的手段也是效率極高的手段根據(jù)你已經(jīng)了解到的觸發(fā)條件開一個(gè)demo工程把存在疑點(diǎn)的代碼邏輯單獨(dú)拎出來(lái)按照那個(gè)觸發(fā)場(chǎng)景去模擬。如果demo里能復(fù)現(xiàn)那恭喜你你一定能在demo里找到根因如果demo里復(fù)現(xiàn)不了說(shuō)明你掌握的觸發(fā)條件還不夠關(guān)鍵需要回頭重新挖。這套SOP看起來(lái)每一步都不難難的是堅(jiān)持按順序走。很多人一接到bug就跳到第四步甚至第五步繞過(guò)信息收集直接埋頭看代碼最后往往事倍功半。3.2 實(shí)操案例一個(gè)“認(rèn)人”bug的完整破解過(guò)程為了讓你對(duì)這套流程有直觀認(rèn)知我用一個(gè)我經(jīng)手過(guò)的案例完整走一遍。背景某公司內(nèi)部使用的數(shù)據(jù)報(bào)表系統(tǒng)某產(chǎn)品經(jīng)理反饋他在導(dǎo)出一個(gè)大數(shù)據(jù)量的Excel報(bào)表時(shí)偶爾會(huì)遇到程序無(wú)響應(yīng)而其他人在相同操作下從未遇到過(guò)。接到這個(gè)反饋后我沒(méi)有直接去看導(dǎo)出代碼而是先收集信息。問(wèn)了產(chǎn)品經(jīng)理幾個(gè)問(wèn)題后發(fā)現(xiàn)他導(dǎo)出的數(shù)據(jù)量通常在數(shù)十萬(wàn)行以上而測(cè)試人員導(dǎo)出的一般只有幾千到幾萬(wàn)行他的電腦是企業(yè)定制版Windows環(huán)境預(yù)裝了很多后臺(tái)運(yùn)行的安全和監(jiān)控軟件他的瀏覽器是企業(yè)內(nèi)網(wǎng)指定版本屬于較老的一個(gè)版本我讓測(cè)試同學(xué)先用數(shù)百萬(wàn)行假數(shù)據(jù)去導(dǎo)發(fā)現(xiàn)代碼本身在數(shù)據(jù)量大時(shí)確實(shí)存在性能瓶頸——Excel導(dǎo)出過(guò)程會(huì)使用一個(gè)中間數(shù)組來(lái)拼接數(shù)據(jù)在數(shù)據(jù)量超過(guò)某個(gè)閾值時(shí)會(huì)導(dǎo)致內(nèi)存占用激增。但僅憑這一點(diǎn)還不足以解釋“只對(duì)特定人可見(jiàn)”。接下來(lái)我做了一步操作讓產(chǎn)品經(jīng)理把瀏覽器換成了最新版Chrome再試一次結(jié)果發(fā)現(xiàn)bug不再出現(xiàn)。這就把范圍進(jìn)一步縮小了——舊版瀏覽器的JavaScript引擎在解析大數(shù)組時(shí)觸發(fā)了一次垃圾回收的長(zhǎng)時(shí)間停頓加上導(dǎo)出本身的內(nèi)存峰值兩個(gè)因素疊加才導(dǎo)致了頁(yè)面無(wú)響應(yīng)。最終根因是兩層第一層是導(dǎo)出邏輯在百萬(wàn)級(jí)數(shù)據(jù)下性能問(wèn)題第二層是舊版瀏覽器引擎的內(nèi)存管理缺陷放大了這個(gè)性能問(wèn)題。換到新版瀏覽器后引擎的內(nèi)存分配策略優(yōu)化了單純數(shù)據(jù)量大已經(jīng)不足以觸發(fā)卡死。這個(gè)案例告訴我一個(gè)很重要的道理很多“認(rèn)人bug”其實(shí)是多個(gè)因素疊加的結(jié)果。單看任何一個(gè)因素都不足以出問(wèn)題但組合起來(lái)就踩到了雷區(qū)。所以排查這類問(wèn)題要有“組合思維”。4. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄一份拿來(lái)即用的避坑手冊(cè)4.1 問(wèn)題速查表按癥狀對(duì)號(hào)入座我把處理“認(rèn)人bug”最常見(jiàn)的場(chǎng)景整理成了一張速查表你可以在接到bug報(bào)告時(shí)對(duì)照參考。癥狀特征最可能的原因方向優(yōu)先排查點(diǎn)只有某人機(jī)器必現(xiàn)其他人完全不現(xiàn)機(jī)器級(jí)環(huán)境差異系統(tǒng)鉤子、全局快捷鍵、輸入法、已裝軟件、驅(qū)動(dòng)特定賬號(hào)必然觸發(fā)換賬號(hào)消失數(shù)據(jù)量級(jí)/賬號(hào)權(quán)限差異賬號(hào)歷史數(shù)據(jù)量、權(quán)限標(biāo)記、角色分支邏輯操作快時(shí)容易觸發(fā)慢時(shí)正常競(jìng)態(tài)條件/時(shí)序問(wèn)題初始化序列、異步回調(diào)、懶加載時(shí)機(jī)傍晚或特定時(shí)間段出現(xiàn)定時(shí)任務(wù)/資源累積內(nèi)存泄漏、句柄泄漏、日志文件增長(zhǎng)代碼沒(méi)改過(guò)但突然開始出現(xiàn)外部依賴變更第三方服務(wù)更新、瀏覽器自動(dòng)升級(jí)、系統(tǒng)補(bǔ)丁換機(jī)房/換網(wǎng)絡(luò)后消失網(wǎng)絡(luò)鏈路差異代理設(shè)置、DNS解析、網(wǎng)絡(luò)延遲、限速策略這張表的好處是讓你拿到反饋后第一時(shí)間有方向不會(huì)像無(wú)頭蒼蠅一樣亂撞。它不是真理但能幫你把排查半徑從“全項(xiàng)目所有代碼”縮小到“某個(gè)具體領(lǐng)域”。4.2 提升偶現(xiàn)bug復(fù)現(xiàn)率的3個(gè)技巧如果你面對(duì)的偶現(xiàn)bug概率極低比如幾天才出一次那這里有幾個(gè)實(shí)測(cè)有效的技巧可以幫你提高復(fù)現(xiàn)概率。技巧一多路復(fù)用環(huán)境如果你懷疑是競(jìng)態(tài)問(wèn)題可以用腳本同時(shí)啟動(dòng)多個(gè)應(yīng)用實(shí)例人為制造高并發(fā)狀態(tài)?;蛘邔懸粋€(gè)自動(dòng)化腳本高頻重復(fù)觸發(fā)某個(gè)操作。把單次執(zhí)行的競(jìng)態(tài)概率通過(guò)重復(fù)次數(shù)放大。比如某次操作觸發(fā)競(jìng)態(tài)的概率是千分之一你腳本跑一萬(wàn)次理論上就能命中10次。技巧二降低外部干擾閾值有些bug在正常狀態(tài)下難以觸發(fā)是因?yàn)橛幸粋€(gè)“緩沖管”保護(hù)著——比如內(nèi)存不夠了系統(tǒng)會(huì)先卡頓而不是直接崩潰、隊(duì)列積壓了系統(tǒng)會(huì)變慢但不會(huì)丟數(shù)據(jù)。你可以通過(guò)工具人為收緊這個(gè)緩沖用內(nèi)存限制工具把可用內(nèi)存壓到某個(gè)水位用網(wǎng)絡(luò)延遲模擬工具把鏈路變慢用CPU限制把處理速度降下來(lái)。很多“邊界bug”就是在這種“受限環(huán)境”里現(xiàn)出原形的。技巧三引入隨機(jī)性有時(shí)候你自己的測(cè)試路徑太規(guī)整了反而碰不到bug觸發(fā)條件。讓測(cè)試工具隨機(jī)化操作順序、隨機(jī)輸入數(shù)據(jù)、隨機(jī)等待時(shí)間甚至隨機(jī)切換網(wǎng)絡(luò)狀態(tài)。讓“運(yùn)氣”來(lái)幫你比你按部就班跑一萬(wàn)遍效果更好。4.3 獨(dú)家避坑心得這些錯(cuò)誤做法會(huì)把你帶進(jìn)死胡同處理這類bug時(shí)有些做法我強(qiáng)烈建議你要避開它們會(huì)極大浪費(fèi)你的時(shí)間。不要在復(fù)現(xiàn)現(xiàn)場(chǎng)去跟蹤代碼?!昂Iug”是最典型的例子你越是介入觀察系統(tǒng)狀態(tài)改變?cè)酱骲ug越是不出現(xiàn)。需要調(diào)日志、加斷點(diǎn)的時(shí)候先讓現(xiàn)場(chǎng)穩(wěn)定用旁路手段采集信息而不是直接上手改運(yùn)行中的系統(tǒng)。**不要讓報(bào)告者一遍遍地“再試一次”。**如果你的同事已經(jīng)操作了十幾次都復(fù)現(xiàn)不了你再讓他試二十次意義也不大。這時(shí)候應(yīng)該退回到信息收集階段重新審視是不是漏掉了什么關(guān)鍵觸發(fā)條件。**不要忽視“時(shí)間”這個(gè)變量。**很多偶現(xiàn)bug跟運(yùn)行時(shí)間高度相關(guān)比如內(nèi)存泄漏要到一定程度才觸發(fā)、緩存插件要到某個(gè)過(guò)期時(shí)間點(diǎn)才出問(wèn)題。拿到反饋先問(wèn)對(duì)方“這個(gè)進(jìn)程跑了多久了”——這個(gè)問(wèn)題往往能讓你直接跳過(guò)大量無(wú)效排查。**不要過(guò)早下結(jié)論。**尤其是當(dāng)你說(shuō)“我覺(jué)得是第三方庫(kù)的鍋”的時(shí)候你得有證據(jù)。第三方庫(kù)經(jīng)常背鍋但很多時(shí)候根因是自己的代碼用錯(cuò)了方式調(diào)它。4.4 團(tuán)隊(duì)協(xié)作層面的三個(gè)建議處理“認(rèn)人bug”不只是技術(shù)問(wèn)題也是協(xié)作問(wèn)題。我分享幾個(gè)在團(tuán)隊(duì)管理層面很實(shí)用的做法。第一建立一個(gè)“異常環(huán)境登記表”。團(tuán)隊(duì)成員如果在自己機(jī)器上裝了特殊軟件、改了系統(tǒng)配置、升級(jí)了特殊工具主動(dòng)登記到表里。這樣一旦出現(xiàn)環(huán)境相關(guān)bug你能快速找到“誰(shuí)的環(huán)境可能最接近觸發(fā)條件”。第二統(tǒng)一開發(fā)環(huán)境標(biāo)準(zhǔn)化。推行虛擬機(jī)開發(fā)環(huán)境或者容器化開發(fā)環(huán)境讓代碼在團(tuán)隊(duì)里運(yùn)行的基礎(chǔ)設(shè)施是一致的。這一步能消滅一大半的環(huán)境差異類bug。當(dāng)然容器化不等于徹底解決問(wèn)題因?yàn)閿?shù)據(jù)差異和第三方服務(wù)差異依然存在但至少系統(tǒng)和依賴版本這一層穩(wěn)了。第三反饋bug時(shí)“帶上環(huán)境信息是強(qiáng)制要求”而不是可選項(xiàng)。在bug單里明確列出必填字段操作系統(tǒng)、應(yīng)用版本、受影響功能、復(fù)現(xiàn)步驟、復(fù)現(xiàn)頻率、瀏覽器版本如涉及。讓報(bào)告者養(yǎng)成提供完整上下文的工作習(xí)慣這對(duì)團(tuán)隊(duì)效率的提升是立竿見(jiàn)影的。5. 從源頭減少“認(rèn)人bug”的工程實(shí)踐5.1 防御性編碼在代碼層面堵住暗雷既然“認(rèn)人bug”往往是極端條件和環(huán)境碰撞的結(jié)果那從代碼層面減少這種“爆炸半徑”就是最根本的做法。我在評(píng)審代碼時(shí)特別關(guān)注幾個(gè)點(diǎn)代碼是否對(duì)資源狀態(tài)做過(guò)充分校驗(yàn)比如調(diào)用一個(gè)可能還沒(méi)初始化的組件是否做了空安全校驗(yàn)異步邏輯中是否有加鎖或原子性保護(hù)共享數(shù)據(jù)是否在并發(fā)訪問(wèn)時(shí)做了同步處理是否使用了固定的初始化順序如果依賴順序變化系統(tǒng)是否還能正常工作配置項(xiàng)是否有默認(rèn)值兜底當(dāng)某個(gè)系統(tǒng)屬性不存在或格式不符合預(yù)期時(shí)代碼是直接崩潰還是走退路邏輯這些細(xì)節(jié)看著基礎(chǔ)但恰恰是“認(rèn)人bug”的藏身之處。防御性編程不可能消滅所有bug但它能把需要靠“特定環(huán)境特定數(shù)據(jù)特定時(shí)序”才能觸發(fā)的bug大幅減少。5.2 測(cè)試策略面向組合場(chǎng)景設(shè)計(jì)用例常規(guī)測(cè)試用例設(shè)計(jì)關(guān)注的是功能正確性而“認(rèn)人bug”的測(cè)試重心應(yīng)該放在“組合場(chǎng)景”上。我建議在測(cè)試計(jì)劃中增加一類“環(huán)境組合用例”。這類用例的典型做法包括同一功能在不同操作系統(tǒng)、不同分辨率、不同瀏覽器下跑一輪冒煙用大中小三檔數(shù)據(jù)量各跑一遍核心流程在網(wǎng)絡(luò)延遲分別設(shè)置為正常、高延遲、丟包三種條件下執(zhí)行異步操作模擬后臺(tái)大量進(jìn)程占用的低資源環(huán)境執(zhí)行前臺(tái)操作用不同語(yǔ)言和區(qū)域設(shè)置的系統(tǒng)跑一遍時(shí)間相關(guān)功能實(shí)話實(shí)說(shuō)要做到全量組合測(cè)試任何團(tuán)隊(duì)都扛不住這個(gè)成本。更務(wù)實(shí)的做法是結(jié)合風(fēng)險(xiǎn)評(píng)估做“優(yōu)先級(jí)組合”只針對(duì)并發(fā)邏輯、時(shí)間敏感邏輯、平臺(tái)依賴邏輯和數(shù)據(jù)處理邏輯這四類高風(fēng)險(xiǎn)模塊做組合覆蓋而不是全項(xiàng)目鋪開。5.3 監(jiān)控與日志讓bug在發(fā)生時(shí)留下證據(jù)很多“認(rèn)人bug”之所以難查是因?yàn)樗l(fā)生時(shí)系統(tǒng)沒(méi)留下任何痕跡或者留下的日志不足以反推觸發(fā)路徑。我強(qiáng)烈建議在項(xiàng)目的關(guān)鍵路徑上加“結(jié)構(gòu)化日志”——不只是記錄“發(fā)生了什么”還要記錄“當(dāng)時(shí)的狀態(tài)是什么”。例如數(shù)據(jù)庫(kù)操作記錄數(shù)據(jù)量級(jí)、耗時(shí)、是否走批次模式初始化操作記錄初始化順序、完成耗時(shí)、各組件注冊(cè)狀態(tài)緩存操作記錄緩存命中和重載時(shí)機(jī)異常捕獲記錄完整的調(diào)用鏈、入?yún)?、關(guān)鍵變量值、系統(tǒng)屬性這些東西就像飛機(jī)的黑匣子平時(shí)不起眼但等到bug真正出現(xiàn)時(shí)它們就是唯一的破案線索。在這里我要特別提醒一點(diǎn)日志不是越多越好。日志太多會(huì)拖慢系統(tǒng)、淹沒(méi)關(guān)鍵信息反而降低問(wèn)題排查效率。我的經(jīng)驗(yàn)是抓住“關(guān)鍵決策點(diǎn)”來(lái)打日志什么叫關(guān)鍵決策點(diǎn)就是代碼里“做選擇”的地方比如選擇走哪個(gè)分支、選擇重試還是放棄、選擇默認(rèn)值還是用戶配置值。這些位置打上狀態(tài)日志排查問(wèn)題事半功倍。6. 寫在最后的個(gè)人體會(huì)與持續(xù)建議處理了這么多年“認(rèn)人bug”我個(gè)人最大的體會(huì)是這類問(wèn)題最消耗人的不是技術(shù)難度而是“不確定性”帶來(lái)的焦慮感。當(dāng)你不知道bug什么時(shí)候會(huì)出現(xiàn)、不知道它為什么只在某個(gè)人身上出現(xiàn)時(shí)你會(huì)自然地懷疑自己的代碼、自己的水平甚至自己的判斷力。經(jīng)歷過(guò)幾次硬仗之后我的心態(tài)變得很有彈性——遇到這類問(wèn)題不再慌而是把它當(dāng)成一次“尋寶游戲”線索就散落在環(huán)境、數(shù)據(jù)和代碼之間我要做的事情就是耐心把它們一一找出來(lái)連起來(lái)。這種心態(tài)的轉(zhuǎn)變比任何技術(shù)提升都管用。最后再分享一個(gè)實(shí)戰(zhàn)小技巧當(dāng)你實(shí)在找不到頭緒的時(shí)候試著把問(wèn)題“講給一個(gè)不懂技術(shù)的人聽”。你會(huì)發(fā)現(xiàn)為了把問(wèn)題講明白你得把很多抽象的技術(shù)細(xì)節(jié)翻譯成“人類的語(yǔ)言”這個(gè)過(guò)程本身就強(qiáng)迫你重新審視事情的邏輯結(jié)構(gòu)很多被我忽略掉的關(guān)聯(lián)就是在這個(gè)過(guò)程中突然蹦出來(lái)的?!胺N蠱”只是玩笑但“bug確實(shí)只對(duì)特定人可見(jiàn)”從來(lái)不是玩笑。它是環(huán)境復(fù)雜性的一個(gè)縮影也是每一個(gè)追求質(zhì)量的工程師繞不開的戰(zhàn)場(chǎng)。希望這篇文章里的一套SOP、一張速查表和幾個(gè)實(shí)戰(zhàn)心得能幫你在下次遇到這類“玄學(xué)bug”的時(shí)候多幾條清晰的路可以走。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷的99视频网站| 婷婷色五月天在线| 欧美日本不卡黄色片| www天天爽| 五月色丁香| 99视频这里有精品| 婷婷五月天国产| 五月婷成人| 91操人人操| 丁香婷婷91在线观看视频| 狠狠大香婷婷爱| 五月丁香六月片| 国产精品爽爽久久久久久| 97久久精品| 激情综合五月| 中文av网站| 亚洲久热无码| 99久久成人| 日韩av在线免费观看| 777精品久无码人妻蜜桃| 丁香五月综合网亚洲综合欧美狠狠| 中文无码婷婷| 九月综合| 在线看黄色| 色色婷婷丁香| www.婷婷五月天| 中文字幕有多少字| 天天爽天天日| 五月丁香六月色| 天天日天天摸| 免费在线观看欧美激情xx小视频| cc精品国产性传播| 婷婷娱乐丁香综合网| 色婷婷亚洲| 久久九九热re6这里有精品| 色婷婷综合视频| 丁香婷婷视频在线| 婷婷五月天激情电影小说| 九九综合视频在线观看| 欧美99| 五月丁香婷婷狠狠操| 色色色色色综合| 综合激情五月天六月婷免费视频| 牛牛碰免费| www.五月天色色色| 蜜桃婷婷狠狠久久| 久9久9久9久9久9久9| 六月丁香啪| 色.五月综合网| 色情丁香五月婷婷精品| 97资源碰碰| 色五月婷婷五月| 热99热9| 综合逼五月激情婷婷| 在线你懂的亚洲欧| 四月婷婷五月色综合| 伊人婷婷五月天av| 丁香六月啪啪啪| 丁香五月天婷婷91| 91超碰在线观看| 五月婷婷婷| 最新日韩AV中文字幕| 婷婷操无码| 最近中文字幕大全免费版在线| 五月激情天| 9l视频自拍9l九色成人| 六月激情网| 五月激情视频| www.99精品日操伊人乱碰在线| 亚洲天堂婷婷丁香| 亚洲欧美日韩另类| aa久久| 7超碰自拍| 综激情网| 天天爱天天做综合| www.henhengan| 色屌丝中文字幕| 99热官网| 亚洲精品国产A久久久久久| 99在线精品视频| 日本高清久久| 婷婷色色丁香| 久久婷婷激情五月天一区二区| 超碰二区| 久久精彩视频99| 思思久久青草热| 婷婷丁香五月在线播放| 色综合网址| 超碰操网| 色婷婷激情视频| 91久久九九| 五月丁香六月停停停| 色婷婷91激情小说| 激情小说五月天社区丁香| 久久婷婷成人视频| 日日综合网| 久久大香蕉同僚| 久久9久| 天天射影院| 国产精品第一国产精品| 激情六月丁香| 天天射色五月天| www,com,五月色色| 大香焦啪啪啪| 狠狠操.com| 精久久色| 日本色色网| 亚洲色99综合天堂| 欧美噜噜免费观看| 婷婷五月精品中文字幕| 婷婷中合| 亚洲激情 久久| 日日艹思思热| 狠狠干,狠狠操| 人人操超碰| 五月婷婷丁香大陆免费| 婷婷综合六| 久久免费婷婷视频| 五月天伊人| www.色欲丁香婷婷| 五月婷婷久久开心网| 五月婷婷精品无在线| 五月婷婷六月激情| 99热伊人综合| 婷婷在线免费| 久久人人做人人妻人人玩精品va| 激情五月天啪啪视频| 婷婷五月天激情基地| 另类在线| 国产精品久久久久久白浆色欲| 日日狠夜夜狠| av色色国产| 亚洲无码影片| 九九热手机在线视频| 天天干夜夜欢| 噼里啪啦完整版中文在线观看| 丁香香蕉婷婷| 亚洲人人操| 中字幕视频在线永久在线观看免费 | 夜夜撸日日骑| 五月丁香婷婷欧美色图视频五月丁香777电影 | 天天操综合网站| 久热这里只有| 精品99这里有| 丁香五月天激情| 色色色婷| 26uuu最新地址| 国产资源在线视频| 国产性爱一级| 色婷婷免费视频| 人人爽欧美婷婷久久久五月丁香 | 久久99热这里| 欧美内射AAAAAAXXXXX| 色噜噜狠狠色综合成人99| 婷婷成年人免费视频| 中文成人在线| 99色一| 色综合99| 久久丁香五月婷婷| 亚洲视频码| 成人噜噜网| 99久久玖玖| 67194国产| 任你爽视频| 5月婷婷五月天| 99色色视频| 成年人夜夜喷水| 亚洲人妻Av| 久久久久久久久久91| 婷婷五月色網站| 五月天丁香啪啪网| 婷婷中文字暮| 亚洲中文av| 色综合丁香婷婷| 亚洲不卡欧洲| 亚洲激情久久| 五月天天爱| 色婷婷色| 国产亚洲精品久久久久久郑州| 五月天色婷伊人| 丁香五月婷婷基地| 丁香五月成人在线| 五月丁香六月婷婷激情四射| 久99综合婷婷| 天天综合天天玩夜夜玩天天玩夜夜玩 | 久久机热这里只有精品免费视频| 伊人婷婷福利网| 五月婷综合网| 色色丁香婷婷综合| 久草热在线视频| 婷婷永久在线| 91丨九色丨国产打屁股网站| 99热久草| 五月婷六月丁| 日韩AV在线免费观看| 天天肏视频| 五月丁香操婷逼| 超碰人人操人人干| 综合网五月天123| 1024婷婷综合久久五月天| 色99在线| 五月激情六月综合| 免费日韩99| 91在线观看九区| 天堂爱爱| 久er免费视频| 亚洲激情六月丁香| 婷婷久久网| 丁香五月天在线直播观看| 久热伊人91| 婷婷六月天| 人人干人人干骚美女| 九九伊人网| 天天做好综合色| 97久久人人| 色吧综合网| 丁香五月婷婷亚洲综合精品在线| 自拍偷窥99热| 人操人人| 五月天色软件| 国产美女无遮挡裸体毛片A片| 丁香六月婷婷综合在线| 啪啪一区| 综合久久久| 黄色片久久| 婷婷五月天小说| 欧美色六月婷婷| 久久久.COM| 国产jd1024基地手机看国产| 免费观看全黄做爰的视频| 久久五月婷婷丁香| 丁香五月天色婷婷| 五月激情小说网| 婷婷五月天AV激情| 蜘蛛女免费观看完整版高清电影| 99色婷婷视频| 五月婷网| 九九九这里只有精品| 婷婷五月天天激情| 久久久久五月丁香| 91久久精品国产91性色TV| 婷婷丁香18| 九九综合九九| 婷婷五月天伊人网| 97色色色色色| 天天操婷婷| 九九热中文| 五月天激情小说网| 色五月婷婷综合在线| 日日夜夜天天综合| 天天婷婷综合亚洲亚洲| 偷拍五月丁香| 五月婷婷激情| 日日夜夜天天综合| www久| 久久婷婷综合五月天| 日韩在线观看亚洲| 亚洲欧美成人在线| 色无码| 五月婷综合| AV中文在线| AV在线观看网站| 五月天国产成人| 久久免费精彩视频| www.色五月| 亚洲日本韩国| 成人网在线观看视频| 成人AV在线中文版| 久久99草五月婷婷| 小色小蛇伊人婷婷色香五月| 丁香婷婷五月激情| 五月丁香怕啪啪| 五月婷婷六月丁香激情综合网| 五月婷婷六月激情在线| 九九综合久久| 久久草中文日韩欧美| 99激情网| 无码视频国内精品久久久| 中文字幕日产A片在线看| 六月天婷婷| 国产全是老熟女太爽了| 大香蕉福利导航| www九月婷婷| 欧美日韩中国| 另类的婷婷| xxxx五月激情| 久久99热在线观看| 欧美精品999| 91 九色大美女| 在线亚洲综合| 狠狠艹狠狠艹| 婷婷五月花丁香| 久热黄色| 免费在线观看av网站| 综合色吧| 婷婷五月丁香成人| 综合狠狠干| 九色视频91| 亚洲黄色网址| 色墦五月丁香| 天天插天天插天天插天天插 | 日本天堂爱爱| 天天干天天爽天天操| 五月天婷婷綜合院| 成人精品视频99在线观看免费| 丁香色情五月综合激情| 丁香五月综合久久八| 九六五月天婷婷| 国产精品爽爽久久久久久| 怡红院视频| www.金莲av| 五月丁香啪啪综合| 人人做天天爱| 日韩aaa| Y11111111111少妇电影院| 九九综舍久久| 婷婷五月综合啪| 五月婷婷亚洲| 婷婷之玖玖| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 免费观看18视频网站| 密视AV综合在线| 亚洲婷婷月丁香五月| 五月亭亭性| 91丨九色丨东北熟女| 伊人婷婷色| 2025最新亚洲激情在线| 91九色首页| 久久精品日| 婷婷六月丁香1| 96精品久久久久久久久| 色99xx| 日韩一66精品| 狼人久草| 婷婷五月天AV网| www.婷婷五月| 91美女啪啪| 思思视频精品| 免费观看的av| 丁香五月综合久久八| 五月天社区婷婷丁香社区| 91男同视频| 五月情丁香色| 六月婷婷激情| 激情五月激情综合网一级丸片| 五月婷婷色播| 91丨九色丨熟女| 玖玖资源在线视频| 国产色香蕉精品五夜婷| 色色网站在线| 日韩成人综合| 激情亚洲网| 在线色婷婷| 91啪级电影| 狠狠插狠狠插| 五月天亚洲最大成人| 久久九九免费视频| 婷婷月五天在线在线看| 99热在线观看免费精品| 2050人人操免费工开爱| 成熟妇人A片免费看网站| 日本女天天爽| 秋霞少妇AV网站| 日韩三级片一区二区| 日韩成人av在线| 99操视频| 欧美丰满熟妇BBB久久久| 丁香色情五月天| 狠狠色婷婷7777久| 狠狠狠人妻| 久草热8精品视频在线观看| 五月天婷婷六月激情网| 色婷五月| 午夜婷婷五月天在线| 少妇出轨做爰高潮A片| 婷婷激情综合网| 国产AV一区二区三区日韩| 插插插色综合网| 在线看的免费网站| 五月婷婷六月综合| 九九九九综合| 99精品久久| 3pAV| 色吊丝av中文字幕| 亚洲午夜视频| 五月丁香WWW| 国产精品久久久久久亚洲毛片| 色久婷婷网| 美国少妇性做爰| 色五月丁香五月婷婷五月成人网| 99黄色在线视频精品熟女| 婷婷五月综合在线| 激情久久天天| 婷婷五月天精品| 久色网| 日日干干天天干| 色婷婷最新域名| 五月色网| 久久人妻人人槡| 婷婷综合另类| 天天日日夜夜| 日韩精品一品二区三区的使用体验| 亚洲永久免费| 日本在线观看aaa 99| 人人播| 九九视频免费| 玖玖爱导航| 99精品网| 婷婷 伊人 久久| VA日本视频| 丁香婷婷婷| 99ri国产在线| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 在线中文字幕av| 影音先锋女人AA鲁色资源| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 天天高潮夜夜爽| 免费黄色片子| 999九九九久久久99HD| 中文字幕av久久爽一区| 激情五月婷婷老师| 丁香婷婷五月天色综合| 天天肏天天肏天天肏| www色色com| 99精品在这里| 九九爱看亚洲| 思思久ren热| www.婷婷,com| 午夜在线成人网站免费观看| 99无码视频| 洗浴中心操B视频| 久久婷五月天| 五月婷婷,狠狠操| 95精品区一区二| 狠狠爱综合网| 五月丁香六月色| 国产精品国产VA片国产| 日操| 天天日日人| 99综合自拍| 在线不卡的视频| 色伦专区97中文字幕| 九九在线精点品| 亚洲av网站在线观看| 99久久6| 五月婷婷无码专区| 九九九精品视频免费观看| 婷丁香五月天| 久久9热| 激情五月天情色| 国产婷婷色综合AV蜜臀AV| 婷婷六月色开 | 久热伊人91| 五月天婷婷在线AN| 操一区| 久久性爱视频网站| 五月天夜夜爱夜夜操| 亚洲人人96@| av久热| 日韩黄色AV无码| 色综啪啪网| 五月丁香综合啪啪| 天天日,天天插| 亚洲另类久久| 婷婷开心激情综合五月天| 思思热闹这里只有精品| 国产人妻操逼| 五月天播播综合| 婷婷99狠狠躁天天| 99热在线观看免费中文| 六月丁香婷婷视频综合在线观看| 91一起操| 色色色99韩| 婷婷五六月丁香| 色噜噜狠狠色综合AV兰草影视| 色玖玖综合网| 欧美噜噜噜草| 26uuu亚洲欧美另类| 婷婷五月天无码视频| www,五月天com| 色色色色热热| 很很干五月天| 久狠日av| 丁香五月首页| 丁香五月在线播放| 婷婷综合性爱网| 精品热青草| 热99玖玖99玖玖99九九| 五月情涩综合婷婷| 区美毛片子| 日韩影院三级| 天天插天天很| 激情丁香图片| 色播丁香| 一级AV片| 神马欧美精| 久久99精品九九久久久婷婷| 五月婷婷六月丁香综合视频在线| 欧美综合激情五月天| 欧美丁香婷婷五月天| 六月婷婷色| 97碰| 99爱操| 激情九月天天天天婷婷| 久热只有这里有精品| 婷婷夜夜夜夜| 天天噜| 色综合色五月| 99ri精品| 91九色无码内射| 996er热| 99热婷婷| 久久美女五月天| 欧美内射AA| 九九热在线99| 丁香五月天激情四射网络不好 | 天天日天天操天天干| 五月草影视| 99乱视频| 99热最新国内| 五月丁香成年黄色| 国产丁香五月天婷婷| 色色色色色色色色色色色色色色,网站| 无码色| 北条麻妃九九九国产精品视频| 激情AV中文| av大香蕉| 性爱视频久久| 香蕉人妻AV久久久久天天| 丁香五月天亚洲综合| 婷婷五月四狠狠| 79色色色色| 99视频精品在线| 久久婷婷综合基地| 色婷婷综合久久| 狠狠色狠狠| 夜夜撸天天日| 桃色五月天| 热婷婷久| 婷婷五月图片小说网| 激情五月天在线视频| 一本狠婷婷综合| 99久久精彩视频。| 色在线99| 九九色网| 免费播放99性爱视频| 26uuu精品国产| 色五月婷婷五月天激情综合| 婷婷五月天狠狠搞干| 日本三级韩三级99久久| 五月婷婷色影院| 久草a片| 好叼操在线观看| 婷婷六月丁香开心深深爱| 丁香六月婷婷开心| 五月天停停日日| 婷婷五月天干干| 青青草青青草五月天| 丁香九月综合| 激情五月六月婷婷| 青青草原中文字幕| 久久久免费精彩视频| 久久9久久| 666555。COm毛片| 久久机热这里只有精品免费视频 | 久久综合九九| 天天操天天爱天天日| 色综合婷婷| 五月天婷婷綜合院| 无码99| 91无码高清| Www.狠狠| 97碰碰在线看视频免费| 亚欧州精品视频| 九九十99视频| 五月亭亭六月天| 婷婷永久在线| 亚洲六月婷婷| 婷婷成人综合五月| 99视频免费播放 | 五月婷婷综合在线| 99热亚洲精品| 狠狠狠狠狠干| 五月婷婷亚洲综合网| 丁香五月影院| www.俺去也com| 丁香八月综合激情| 综合99久久天天综合| 激情五月色综合网| 色情五月丁香| 啄木鸟黑丝一区二区| 97精品人人A片免费看| 天天舔天天摸天天射| 色.五月综合网| 草做免费在线观看| #NAME?| 色综合九九| 色五月成人在线| 97超碰,人人舔,人人操,人人摸 | 五月天天综合| 啪啪夜久久| 久久九区| 狠狠色激情在线| 综合av在线| 婷婷丁香五月综合网上| 欧美性爱专区| 激情五月天综合网| 欧美又粗又大一区二区在线观看| 色天使色综合| 色五月婷婷91| 91成人视频| 99热9| 五月丁香婷爱在线| 玖热精品综合视频| 99在线视频。| 91成人视频| 亚洲五月天狠狠| 一级性爱大片| 久久在线视频免费观看| 99免费| 99综合视频在线| AV大片在线播放| 五月婷婷色播| 五月激情开心婷婷| 日韩色色一区| 国产乱子轮XXX农村| 国在线激情网| 久在热99| 高清无码网址| 人人草人| 丁香色六月婷婷| 日本97人人| 色五月激情网| 五月天激情小说| 99 频99热国里只有精品| 狠狠综合区| 开心五月天激情网| 色婷| ZpRSw| 黄网免费看| 亚洲精品五月| 99久久99视频只有精品| 伊人五月天97| 九九99九九精品免费| 丁香五月天婷婷中文字幕| 久久伊人五月天| 日本一区二区三区精品视频| 中国丰满熟女A片免费观| 这里只有精品视频在线| 思思热在线精品视频网站| 婷婷激情六月综合| 99玖玖视频| 成人精品一区日本无码网| 狠狠爱婷婷丁香| 色五月激情| 色欲日日躁| 久人人操| 91 久热| 免费观看的av| 99亚洲精品| www.婷婷五月天| 手机免费福利视频| 五月丁香六月婷婷玖玖| 激情无码五月天| 五月丁香六月婷婷综合在线| 99热爱爱干干日| 成片免费观看大全| 色婷婷成人久久| 伊人香大香蕉视频| 99精品偷自拍| 五月天婷婷基地| 99ri国产| 97操操操| 欧美婷婷五月丁香| 玖玖色综合网| 激情图片五月天| 亚洲色综合| 色婷婷色久综| 99热在线中文字幕| 色五月丁香激情| 婷婷丁香成人网址| 天天日夜夜操五月| 久热只有这里精品| 人人人va亚洲视频在线| 五月婷婷视频28| 97丁香五月| 五月婷婷色激情| 久色五月| 五月婷婷伊人在线| 色五月丁香伊人五月| 久久婷婷视频| 亚洲色图五月丁香| 激情av| 五月天综合| 可以直接看的av| 五月婷婷激情| 国产乱妇无乱码大黄AA片| 熟女人妻一区二区三区免费看| 无码人妻少妇色欲AV一区二区| 日韩成人无码片| 色色色五月天婷婷| 性生生活大片又黄又| 爱99干99| 97偷拍在线视频| 激情av网| 免费观看亚洲AV片| 人人干天天操五月丁香| 色播播五月| 99热人人操人人操| 综合久久婷婷| 影音先锋 91工厂| 91狠狠色丁香| 日本欧美成人片AAAA| 婷婷五月天久久| 激情欧美婷婷| 狠狠一日| 亚洲综合视频在线| 九九热区一区二区三区| 色色五月天丁香婷婷| 久久婷五月| 久久丁香久久| 黄色大片又大粗又爽| 成人网在线观看视频| 另类视在线| 激情六月五月婷婷综合网| 91趴趴| 欧美激情综合色综合啪啪五月| 久久精品亚洲热| AV在线观看网站| 国产真实乱对白精彩| 性色天| 爱草视频在线| AV在线大香蕉| 在线观看视频1区| 激情五月综合| 日本五月婷| 激情校园 亚洲| 色天使色婷婷| 久久综合五月| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | 五月丁香综合啪啪対白| 色情开心五月| 色青青电影色五月| 色播五月婷婷| 亚洲国产精品VA在线看黑人| 中文字幕簧片| 日本人人干| 高清一区二区三区日本久| 五月天天综合| 五月天国产婷婷精品视频在线| 狠狠艹狠狠艹| 久草性爱| 97人妻碰碰碰久久久久-最近国语高清| 亚洲V国产V欧美V久久久久久| 啪啪99| 激情综合五月天| 久久久区区一久久久久久| A√天堂网在线| 日本三级中文字幕| 嫩草视频观看| 婷婷干六月综合旧址| 99操视频| 五月激情六月宗合| 五月丁香花视频| 天天操综合网| 色色色.COM| 丁香六月婷婷综情欧美| 丁香婷婷色情| 久久五月情| 青青草原亚洲久| 伊人激情AV一区二区三区| 我爱大香蕉| 99在线热视频| 六月 丁香 视频| 79色色| 久久人妻人人槡| 99久久精品视频女神1| 五月 丁香 欧美| 成人五月天在线视频在线观看| 婷婷丁香色五月亚洲| 超碰成人AV| 久操干| 色香久久| 日本超碰在线| 中文无码婷婷| 久久五月天婷婷视频| 婷婷综合在线| 亚洲无码成人| 国产avapp 网| 亚洲无码播放| 日韩在线99| 久久综合婷婷五月| 热99精品视频| 99福利导航| www.精品99| 丁香五月婷婷Av| 北条麻妃伊人 | 久久天天| 五月天婷婷色| 中文字幕人妻在线| 开心激情网在线| 五月天伊人久久久久| 丁香五月天婷婷激情| 99热| 色五月首页| 久久思思热| 色五月情| 欧美日本高清视频99| 97色图片中文字幕视频在线观看| 91九色精品女同系列| 五月天婷婷色| 天天草天天舔| 99亚洲色| 色五月婷婷网| 日韩欧美颜射| 99热久久这里只有精品| 激情图片亚洲| 婷婷人妻激情| 97干视频| 日韩激情婷婷五月天| 激情小说之五月| 婷婷五月天激情免费在线观看| 久久婷婷五月综合色丁香| 99热国产| 精品夜夜澡人妻无码AV| 人人操超碰| 色一情一乱一乱91Av| 只有精品视频在线观看| 婷婷五月丁香高清无码| 久热网站| 99热人人| 久久受www免费人成| 东北黄色一级| 婷婷五月天av| 人人舔人人色人人高潮| 激情婷婷五月天日本系列| 综合啪啪| 这里只有精品久久| 奇米色大香蕉| 伊人久久婷婷| 人妻操操色| 久久九精品| 欧美99热| 婷婷久久婷婷色五月| 六月丁香啪啪啪| 国产精品国产VA片国产| 日日干综合| 青青草原伊人网| AV成人在线播放| 狠狠干综合| 日韩精品在线观看9| 亚洲成人中心| 男人天堂伊人五月丁香| 婷婷六月丁香欧美视频在线| 五月婷婷影| 久久九九思思| 成人看片网站| 五月婷婷激情久久| 色无码| 黄页免费一级视频懂色| 亚洲另类婷婷五月丁香在线播放| 国产资源91在线| 国产亚洲在线观看| 俺去也综合| 亚洲国产网站| 深爱激情五月天色婷婷| 人人人操| 蜜乳AV成人| 人人色人人摸人人看| 丁香五月成人av| 久久婷五月天| 五月色婷| 婷婷五月激情六月| 丁香五月婷婷综合啪啪| 狠狠色综合网| 99热99热| 天天干天天爽| 色婷婷久久9.com| 深爱激情中文五月天av| 成人va视频| 中文字幕丰满孑伦无码专区| 色婷天天| 日本五月天婷婷丁香| 亚洲精品又粗又大又爽A片| 久久综合婷婷| 超碰AV成人| 婷婷色色播五月天| 色欧洲| 色色色色综合网| 久久这里只有精品热在99| 日日操天堂| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 婷婷五月天亚洲精品| 激情综合五月| 在线中文字幕av| 天天爱天天做天天操| 色99欧洲色19| 9这里只有精品| 免费无码毛片一区二区A片| 国产视频福利| 深爱激情六月天| 超碰在线日夜| 婷婷丁香五月天在线视频| 国产免费一区二区在线A片视频| 2022人人操人人看| 99视频在线精品免费观看2| 久久久婷婷五月天| 3p日韩网站视频| 狼人久草| 婷婷色播色五月五色五月天色妇| 日本不卡中文字幕| 综合99久久天天综合| 五月天综合视频| 日韩成人电泉AV| 五月丁香六月婷婷国产视频| 色婷婷yy久| 婷婷五亚洲| 婷婷影视久久| 激情五月狠狠| 视频一区二区在线| 婷婷精品性视频| 精品AV无码超碰| 婷婷丁香色无五月| 五月天婷a在线| 深爱激情五月天婷婷网| 国产精品日本一区二区在线播放| 日韩一区二区在线播放| 97人人干人人操| 五月天婷婷日日爱| www.色99| 婷丁香五月天| 精品一二三区久久AAA片| 丁香伊人激情| 欧美十二区| 五月天婷婷婷| 日本三级片片| 久久天堂网| 激情综合区| 99色视频| 五月花综合| 中文字幕无码人妻少妇免费视频 | 这里只有精品99www| 婷婷丁香九色| 五月婷婷av| 91免费试看| 日韩av在线免费观看| 久久综合丁香| 国产精品18久久久| 色欲香综合网| 91人妻九色大屁股| 丁香五月婷婷偷拍| 激情五月丁香五月| 风流少妇A片一区二区蜜桃| 久久这里只有欧美| 久久99精品久久久久久噜噜| 丁香色婷婷| 开心五月色婷| 一区二区传媒视频| 婷婷五月天激情综合| 成人视频九九| 久久女婷| 五月停停丁香| 欧美日比视频| 欧美顶级少妇做爰HD| 亚洲天天免费| 婷婷丁香五月基地| 丁香六月婷| 天天操天天日天天操| 99热第一页| 日日干天天| 日日夜夜久| 婷婷五月天六点丁香五月| 婷婷久草| 天天操天天操天天操| 99视频在线观看视频| 久久久中文| 亚洲bt丁香五月天婷婷激情小说| 激情婷婷五月在线合集| 日本色99| 婷婷大美在线| 狠狠色狠狠| 久思思热视频在线观看| 香蕉婷婷五月| 国产在线中文字幕| 99在线国| 99五月丁香丁| 免费看欧美成人A片无码| 丁香激情五月| 提提热五月天婷婷| 久久99精品久久久久久三级| 久久精品99国产精品日本| 五月婷婷丁香俺日污视频| www色婷婷久久综合久色| 9 大屁股在线视频精品| 激情五月婷婷五月| 99精品在这里| 国产裸舞福利资源在线视频| 免费V片在线| 日本人妻伦在线中文字幕| 五月天婷婷社区| 99成人精品| 中文资源在线a | 九九精品99| 久久曰9| 五月天婷婷丁香| 国产美女视频久| 97色五月天| 91啪啪视频| 日韩ww| 久久综合99| 欧美色99| 久久亚洲激情五码| 99这里只有免费的小视频在线观看| 丁香婷婷浪潮AV久久综合| 9九色首页| 激情婷婷五月社区| 丁香伊人激情| 涩五月婷婷| 偷拍99在线视频观看| 99亚洲精品| 丁香五月六月| 神马欧美精| 五月丁香六月婷婷国产视频| 丁香蜜臀黄色婷婷五月天| 色婷婷五月影院| 久热在线观看视频9| 日本欧美成人片AAAA| 色五月婷婷老师| 丁香伊人网| 久久久这里有精品| 日韩乱玛久久| 五月丁香婷婷国产精品综合| 丁香六月AV| 日本久热| 超碰网站在线观看| 九九九AAA热视频| 大香网伊人久久综合| 五月丁香久久久久| 91九色精品| 五月丁香五月婷婷| 婷婷五月天综合小说网| 色色色色色色色色色999| 777久久综合视频| 色情五月丁香婷婷网| 亚洲色啪| 婷婷成人网五月天| 狠狠操之狠狠操| 91狠狠综合久久| jiujiu热在线视频| 97性视频| 久草五月婷婷| 超级黄色片| 亚洲国产网站| 99色| 久久久久久久久久久97| www综合久久| 婷婷色五月天色色| 九九中文色色| 欧美啪啪五月天| 人妻在线网站| www.刺激色网站www.| 激情综合丁香| 丁香五月婷婷欧美成人色图| 五月丁香婷婷色播无码| www.久久99精品| 超碰一区二区| 国产精品 的国产| 91日韩美女被插视频| 97婷婷五月| 亚洲啪啪自拍| 丁香五月开心亚洲| 色玖玖综合网| 超碰97干| 欧美激情综合色综合啪啪五月| 色色色综合| 激情久久五月天| 久久XX| 国产欧美熟妇另类久久久| 国产XXXX搡XXXXX搡麻豆| 天天碰夜夜操| 欧美男女婷婷| 26uuu丁香婷婷五月| 91婷婷在线| www.激情在线| 这里只有精彩视| 亚洲激情婷婷| 99热资源在线| 亚洲无码色| 亚洲日韩乱码一区二区三区四区| 91919191919久久成人视频| 色色综合热| 久热超碰91| WWW,激情五月天,COM| 欧美久久五月婷婷| 成人欧美Va| 亚洲va综合va国产va中文| 97碰在线| 亚洲精品无码一区二区| yw国产AV| 激情婷婷五月| 国产永久一二一起草| www.五月丁香av| 九九热视频99| 超碰av在线| 七月丁香婷婷 色色| 大香蕉婷婷久久| 亚洲精品五十一区| 这里只有精品视频免费在线观看| 91碰碰| 在线看的免费网站| 亚洲无aV在线中文字幕| 婷婷偷拍网| 五月涩涩网| 99碰碰| 99热99艹在线观看| 色狠狠综合入口| 丁香五月婷婷超碰在线| 久这里只有精品99| 思思 热 99| 九九碰九九爱97| 激情操逼婷婷| 99视频久久| 五月天婷爱综合| 秋霞AV淫| 无码人妻丰满熟妇奶水区码| 91肏| 91dy.av| 久9热视频| 五月婷婷六月激情| 久久久久亚洲AV成人无码电影| 亚洲色欲欧美一区二区三区| 天堂在线9| 香蕉久久av一区二区三区| 玖玖在线视| 性色99| 天天色色天天| www.综合久久| 日本在线噜噜| 人妻熟妇国产精品| 午夜激情久久| 丁香六月婷婷综情欧美| 五月丁香六月婷婷综合网站| 色99色| 性爱五月丁香| 天天噜天天爱| 成人国产综合| 91 久热| 美日韩成人| 丁香五月欧美午夜视频| 色婷婷基地 | 五月婷婷婷| AV天堂淫乩| 91精品久久久久久| 欧美亚洲色色色色| 婷婷色色网| 丁香五月色网| 任你搞在线观看视频| 天天干天天日日| 岛国av网站| 天天摸天天肏| 噜噜国产| 久久33视频| 五月婷六月天| 丁香激情五月天| 丁香五月婷婷黑人妻黄色电影院| 五月婷亚洲精品| www五月| 大香蕉九九热| 能看的av网站| 超碰色碰碰| 色婷婷丁香五月高清在线| 色色色色色色色色网站| 日韩熟女啪啪视频| 性小说五月天| 五月激情六月宗合| 久久国产色| www98日本小时间到了| 99乱视频| 99色在线视频观看| 欧美色色色色色色色色色色影视| 色五月综合在线| 丁香五月婷婷啪| www.色综合.com| 女人天堂AV| 国产性爱一级| 色综合天天| 丁香婷婷久久综合在线| 婷婷五月花西瓜| 久久99久久99www| 六月欧美综合色情| 91丨九色丨国产打屁股| 五月丁香六月婷婷亚洲| 九九精品网站| 婷婷综合网站| 成人亚洲精品| 香焦网五月天| 久久伦乱| 超碰在线精品| 97婷婷丁香| 亚洲网视屏| 婷婷激情中文综合| 五月婷色| www色色com| 欧美激情综合色综合啪啪五月| 97人人干| 色丁香五月| 久热这里只有精品在线观看| 99精品视频免费观看| 色五月婷婷天天干| 狠狠综合| 成人婷婷深爱综合网| 香蕉97碰碰碰欧美| 五月丁香六月合| 日韩黄色中文字幕| 天天舔天天摸视频| 777精品久无码人妻蜜桃| 琪琪理论片| caop视频| 色狠久| 色欲久久99精品久久久久久| 这里只有精品视频在线看| 久久九九囯产| 综合婷婷五月天| 色情五月天丁香社区| 97色在线| 天天天天天操| 91|疯狂丨高潮丨对白| 99精品小视频| 久99视频在线观看| 九九视频这里只有精品| 久久婷婷成人视频| 中文字幕无码AV| er99免费视频在线| 五月做爱| 玖玖在线| 国产日韩欧美性生活| 日本人妻伦在线中文字幕| www,婷婷五月天,com| 五月天婷婷亚洲| 久久色区| 可以免费观看的av网址| 九九碰九九爱97超碰| 蜜乳国产网站| 97色婷婷在线观看| 天天骑天天操| 99碰碰| 色欲五月丁香| 色玖玖综合网| 九九精品这里只有| WWW色色色COM| 操一区| 激情小说之五月| 91高潮喷水久久久久久久久| 欧洲综合视频| 日逼免费视频| 激情五月丁香社区| 9色在线| 婷婷丁香色五月| 色欲人妻综合aaaaaaaa网| 超碰人人射| 亚洲 五月 婷婷 成人| 色播婷婷五月天| 国产干逼片| 婷婷五月天美女21p| 婷婷四月 成人 狠狠干| 久啪欧美|