免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

測試工程師數(shù)據(jù)庫操作實戰(zhàn)指南:從SELECT到事務與性能排查

測試工程師數(shù)據(jù)庫操作實戰(zhàn)指南:從SELECT到事務與性能排查 作為測試工程師你日常的工作流里有一個繞不開的坎不管是功能測試、接口測試還是自動化腳本跑完用例之后總要回到數(shù)據(jù)庫里查一筆數(shù)據(jù)、改一個狀態(tài)、造一條測試記錄。我見過太多測試同行的日常狀態(tài)是——業(yè)務邏輯和用例設計都很熟練但一到數(shù)據(jù)庫環(huán)節(jié)就開始四處求人幫我看下這條數(shù)據(jù)怎么查不出來這個SQL寫錯了哪里測試環(huán)境的數(shù)據(jù)又被搞臟了誰幫忙清一下。說實話數(shù)據(jù)庫操作命令對測試工程師來說不是那種會用就行的錦上添花而是直接影響你工作效率的基礎功。你不需要達到DBA那種能調(diào)參優(yōu)化集群的水平但你必須能獨立完成數(shù)據(jù)準備、結(jié)果校驗、異常數(shù)據(jù)清理這些高頻操作。這篇文章我打算把我自己這些年實測下來最常用的數(shù)據(jù)庫命令、場景化操作方法和踩坑經(jīng)驗做一個系統(tǒng)性的梳理從最簡單的SELECT到事務處理、性能分析都有覆蓋適合各個階段的測試工程師對照著用。1. 測試工程師為什么必須掌握數(shù)據(jù)庫操作1.1 測試工作與數(shù)據(jù)操作的交集在哪里先說一個很現(xiàn)實的問題測試工程師每天都在跟數(shù)據(jù)庫打交道但很多人沒意識到這一點。功能測試里你要驗證提交訂單后庫存表數(shù)量是否減一這需要查數(shù)據(jù)庫接口測試里一個創(chuàng)建用戶的接口跑完你要確認user表里真的多了一條記錄這也需要查數(shù)據(jù)庫自動化測試中你要先往數(shù)據(jù)庫里插入一批符合條件的數(shù)據(jù)作為前置準備測試結(jié)束后還要把這些數(shù)據(jù)清理掉避免影響下一輪測試。我以前帶過一個剛?cè)胄械耐滤麥y一個用戶注銷的功能界面上提示注銷成功他就把這個用例標記為通過了。我問他你怎么確認數(shù)據(jù)庫里的用戶狀態(tài)真的變成已注銷了他愣住了。后來我?guī)麑懥艘粭l簡單的SELECT語句查用戶表的狀態(tài)字段結(jié)果發(fā)現(xiàn)實際狀態(tài)還是正常——原來那個功能的前端校驗有Bug接口壓根沒調(diào)成功。這個例子很典型不做數(shù)據(jù)庫校驗很多看起來通過的用例實際上是在掩耳盜鈴。1.2 測試場景中高頻率使用的數(shù)據(jù)庫操作類型從我個人的實踐經(jīng)驗看測試工程師使用數(shù)據(jù)庫的場景高度集中在四類操作上。第一類是查詢驗證占比最高幾乎所有測試用例都離不開用SELECT語句核對接口或頁面操作后的數(shù)據(jù)結(jié)果。第二類是數(shù)據(jù)準備比如測試下單流程你得先準備一個庫存充足的商品、一個余額足夠的賬號這些前置數(shù)據(jù)往往需要直接用INSERT語句造出來。第三類是數(shù)據(jù)清理一輪測試跑完臟數(shù)據(jù)、關(guān)聯(lián)數(shù)據(jù)、中間表殘留都需要你清理還原避免污染下一輪測試DELETE和TRUNCATE在這里高頻出現(xiàn)。第四類是數(shù)據(jù)修改某些場景下你需要繞過業(yè)務邏輯、直接改一條記錄的字段來模擬特定狀態(tài)比如把訂單狀態(tài)從待支付改為已支付以便測試后續(xù)流程這種操作需要UPDATE語句來實現(xiàn)。了解這些場景之后你會發(fā)現(xiàn)測試工程師對數(shù)據(jù)庫命令的掌握程度直接決定了你的測試效率和質(zhì)量。如果只會百度一個SQL然后復制粘貼你永遠要比別人多花幾倍的時間在處理數(shù)據(jù)和驗證結(jié)果上。2. 最核心的查詢命令SELECT的實戰(zhàn)級用法2.1 SELECT基礎語法與經(jīng)驗習慣查詢是測試工程師使用頻率最高的數(shù)據(jù)庫操作沒有之一。SELECT語句的基本語法很簡單SELECT 字段列表 FROM 表名 WHERE 條件。但我見過很多人在這一步就養(yǎng)成了壞習慣——動不動就SELECT *。我在實際工作中強烈建議你養(yǎng)成顯式列出所需字段的習慣原因有兩個第一生產(chǎn)環(huán)境的表字段可能非常多全字段查詢會拉取大量不必要的數(shù)據(jù)影響查詢效率第二字段過多會把結(jié)果集刷屏你反而看不清自己關(guān)心的字段值。比如你要查訂單表里某條記錄的支付狀態(tài)就寫SELECT order_id, pay_status, amount FROM orders WHERE order_id 12345既清晰又高效。新手最容易忽略的一個細節(jié)是MySQL默認對字符串比較不區(qū)分大小寫所以WHERE user_name admin和WHERE user_name ADMIN查出的結(jié)果是一樣的。但如果某個表的字段設置了BINARY屬性或使用utf8mb4_bin排序規(guī)則大小寫就是敏感的。你在測試排查問題時如果發(fā)現(xiàn)明明有這條數(shù)據(jù)但查不出來先看一眼排序規(guī)則這類問題很坑人。2.2 WHERE條件過濾從基礎到進階WHERE子句是查詢的過濾核心。常見操作符包括、!、、、、、BETWEEN、LIKE、IN和IS NULL。測試場景中有一個高頻需求按時間范圍查數(shù)據(jù)。比如我要驗證過去24小時內(nèi)的所有登錄日志SQL可以寫成SELECT user_id, login_time FROM login_log WHERE login_time DATE_SUB(NOW(), INTERVAL 1 DAY) ORDER BY login_time DESC;這里有個實操經(jīng)驗值得說一下判斷字段是否為NULL必須用IS NULL或IS NOT NULL不能寫 NULL。 NULL永遠返回空結(jié)果這是SQL的規(guī)范設計不是Bug。我每次帶新人都會專門強調(diào)這個點因為在排查為什么數(shù)據(jù)查不出來時WHERE status NULL這種寫法出現(xiàn)的頻率實在太高了。另外測試場景中還經(jīng)常會用到LIKE做模糊匹配。需要注意LIKE %關(guān)鍵字%這種寫法無法利用索引數(shù)據(jù)量大時查詢會很慢。如果只是驗證某條數(shù)據(jù)是否存在我更建議用精確匹配加LIMIT 1或者用EXISTS子查詢效率會高很多。2.3 分組統(tǒng)計與結(jié)果排序數(shù)據(jù)校驗的關(guān)鍵步驟測試中經(jīng)常要驗證數(shù)量對不對。比如注冊功能測試完你要確認今天新增了多少用戶下單功能測試完你要確認訂單總數(shù)和總金額是否正確。這類需求離不開GROUP BY和聚合函數(shù)。我舉一個實際場景測試一個促銷活動活動規(guī)則是每個用戶最多只能參與3次你要驗證系統(tǒng)是否真的限制了同一用戶參與次數(shù)??梢杂靡粭l分組統(tǒng)計SQL快速核對SELECT user_id, COUNT(*) AS participate_count FROM activity_participation GROUP BY user_id HAVING COUNT(*) 3;這條SQL會把參與次數(shù)超過3條的用戶全查出來如果有結(jié)果說明系統(tǒng)限制邏輯存在問題。這里的HAVING是在分組后做條件過濾而WHERE是在分組前過濾兩者區(qū)別必須搞清楚。WHERE無法使用聚合函數(shù)作為條件這就是為什么需要HAVING存在的原因。排序方面ORDER BY支持多字段排序比如ORDER BY create_time DESC, id ASC的意思是先按創(chuàng)建時間倒序時間相同再按ID正序。測試中你要確認最新一條數(shù)據(jù)時最普遍的做法是ORDER BY id DESC LIMIT 1配合自增主鍵非常穩(wěn)健。2.4 分頁查詢LIMIT的正確打開方式分頁查詢在接口測試和頁面測試里出現(xiàn)頻率很高。MySQL中用LIMIT實現(xiàn)分頁有兩種常見寫法LIMIT 10表示只返回前10條LIMIT 10, 20表示從第11條開始返回20條。另一個容易混淆的寫法是LIMIT 20 OFFSET 10它和LIMIT 10, 20的含義是一樣的。這個順序問題我建議你記住一個口訣寫在前面的是偏移量寫在后面的是返回條數(shù)。分頁查詢有一個典型的測試場景驗證列表接口的分頁參數(shù)是否正確。比如前端傳page2size10你要去數(shù)據(jù)庫里數(shù)一下總共多少條數(shù)據(jù)然后手動算出第二頁應該展示哪些數(shù)據(jù)再和接口返回對比。這種校驗光靠肉眼一條條看是低效的直接用SELECT ... LIMIT 10 OFFSET 10查出第二頁數(shù)據(jù)然后和接口返回做比對效率會高很多。3. 數(shù)據(jù)準備與清理INSERT、UPDATE、DELETE的測試應用3.1 INSERT造測試數(shù)據(jù)的正確姿勢測試執(zhí)行前準備數(shù)據(jù)是高頻場景INSERT命令幾乎每天都要用?;菊Z法是INSERT INTO 表名 (字段1, 字段2) VALUES (值1, 值2)。但實際測試中造數(shù)據(jù)的方式遠不止這一種。最基礎的表結(jié)構(gòu)是用戶表、訂單表、商品表之間存在外鍵關(guān)聯(lián)。你不可能只往一張表里插入數(shù)據(jù)就能完事需要同時維護多張關(guān)聯(lián)表的數(shù)據(jù)一致性。比如測試下單流程你需要先有用戶、有商品、有庫存記錄如果直接INSERT一張空訂單表業(yè)務流程走不通。這時候我通常會寫一個SQL腳本按依賴順序依次插入多張表的數(shù)據(jù)并且在一個事務里執(zhí)行保證要么全部成功、要么全部回滾。還有一種非常實用的寫法是復制表數(shù)據(jù)來造數(shù)據(jù)INSERT INTO target_table (col1, col2) SELECT col1, col2 FROM source_table WHERE ...。比如我想給某個用戶多造10個已完成訂單可以直接從已有的相似訂單里復制這樣數(shù)據(jù)更接近真實比手工一個個INSERT效率高得多。3.2 UPDATE場景模擬和狀態(tài)切換的利器UPDATE語句在測試中的應用非常巧妙。比如你要測試訂單列表頁在訂單處于不同狀態(tài)下的展示是否符合預期你沒有耐心一個個通過業(yè)務操作去觸發(fā)狀態(tài)流轉(zhuǎn)那就可以直接改數(shù)據(jù)庫。這屬于典型的測試后門操作合法且高效。UPDATE orders SET order_status PAID, pay_time NOW() WHERE order_id 20240101001;這種操作的性價比非常高幾分鐘內(nèi)你就能把一條訂單從待支付改到已支付再改到已發(fā)貨完整覆蓋各種狀態(tài)下的頁面展示和邏輯分支。但需要注意直接改數(shù)據(jù)庫繞過了業(yè)務邏輯校驗改出來的數(shù)據(jù)可能與正常業(yè)務流轉(zhuǎn)產(chǎn)生的數(shù)據(jù)存在細微差異。所以這種操作適合功能驗證不適合做嚴格的接口數(shù)據(jù)一致性測試。我踩過的一個大坑是UPDATE語句忘了加WHERE條件結(jié)果把整張表的數(shù)據(jù)全部更新了。這事在測試環(huán)境還好說恢復一下就行但如果在生產(chǎn)環(huán)境后果不堪設想。所以我給自己定了一個鐵律寫UPDATE和DELETE語句時先寫WHERE條件再回來寫UPDATE或DELETE后面的部分。同時養(yǎng)成寫完SQL先執(zhí)行SELECT驗證影響范圍的習慣。3.3 DELETE與TRUNCATE數(shù)據(jù)清理的學問測試結(jié)束后的數(shù)據(jù)清理是很多人忽略但必須重視的環(huán)節(jié)。DELETE和TRUNCATE都能刪除數(shù)據(jù)但區(qū)別很大。DELETE是逐條刪除支持WHERE條件刪除過程記錄日志可以配合事務回滾TRUNCATE是直接清空整張表速度快但不可回滾也不能加WHERE條件。我建議的清理策略是只清理你這次測試造出來的數(shù)據(jù)用DELETE加精確的篩選條件比如按測試標識、特定時間段或特定的測試賬號前綴來刪。TRUNCATE這種全表清空操作只適合用在完全獨立的臨時表上。我曾經(jīng)見過一個測試為了省事直接TRUNCATE了一張基礎數(shù)據(jù)表結(jié)果整個測試環(huán)境所有依賴這張表的模塊全部報錯修復花了大半天得不償失。一個更穩(wěn)妥的做法是造數(shù)據(jù)的時候帶上明顯的測試標識。比如插入測試用戶時用戶名統(tǒng)一加test_前綴或者加一個固定的batch_no字段這樣清理時一條DELETE就能精準搞定不會誤刪別人的數(shù)據(jù)。4. 聯(lián)表查詢驗證跨表數(shù)據(jù)的核心技能4.1 INNER JOIN、LEFT JOIN的場景差異測試中經(jīng)常要驗證多張表的數(shù)據(jù)聯(lián)動。比如用戶下單后用戶表要扣余額、訂單表要生成訂單、庫存表要減庫存、流水表要記一筆明細。你要驗證這些數(shù)據(jù)的一致性不可能一張表一張表分開查了再自己比對直接聯(lián)表查詢更高效。INNER JOIN只返回兩張表中匹配上的記錄適合驗證應該有對應關(guān)系的數(shù)據(jù)。LEFT JOIN返回左表所有記錄右表沒有匹配的字段顯示為NULL適合驗證左表存在的記錄在右表是否有對應記錄。我舉一個典型的測試場景驗證所有已支付訂單是否都有支付流水。這個需求用LEFT JOIN最容易查出不匹配的數(shù)據(jù)SELECT o.order_id, o.pay_status, p.pay_id FROM orders o LEFT JOIN payment_records p ON o.order_id p.order_id WHERE o.pay_status PAID AND p.pay_id IS NULL;這條SQL查出的是已支付但沒有支付流水的訂單如果有結(jié)果說明系統(tǒng)存在數(shù)據(jù)不一致問題這就是一個真正的Bug。測試中這類校驗特別管用。4.2 聯(lián)表查詢中的別名使用與常見錯誤寫聯(lián)表查詢時給表起別名的習慣非常重要。多個表有同名字段比如每張表都可能有create_time或status如果不加別名區(qū)分SQL會報模糊錯誤。實踐中的正確寫法是SELECT o.order_id, p.pay_time FROM orders o INNER JOIN payment_records p ON o.order_id p.order_id。我還想提醒一個高頻錯誤JOIN條件寫錯會導致結(jié)果集爆炸。比如兩張表通過兩個字段才能唯一關(guān)聯(lián)你只寫了一個關(guān)聯(lián)條件結(jié)果就會產(chǎn)生笛卡爾積式的重復數(shù)據(jù)查詢結(jié)果比實際數(shù)據(jù)多出無數(shù)倍。我排查過一次訂單數(shù)據(jù)翻倍的問題最后發(fā)現(xiàn)是JOIN條件漏了o.user_id p.user_id這第二個關(guān)聯(lián)字段。4.3 子查詢在測試中的應用子查詢也是測試中的常用手段。比如你要查購買過商品A的所有用戶可以先查出購買記錄里包含商品A的user_id集合再查這些用戶的詳細信息。寫法有兩種用IN子查詢或用JOIN測試中的數(shù)據(jù)量通常不大兩者都可以但IN子查詢語義更直觀SELECT user_id, user_name FROM users WHERE user_id IN ( SELECT user_id FROM order_items WHERE product_id P001 );如果你的測試數(shù)據(jù)量特別大建議用JOIN代替IN因為JOIN在多數(shù)數(shù)據(jù)庫優(yōu)化器里能走更好的執(zhí)行計劃。5. 索引與性能觀測定位測試中的慢SQL5.1 索引是什么測試工程師也需要了解很多測試工程師覺得索引是開發(fā)或DBA才需要管的東西。其實不然。你寫的SQL如果沒走對索引一條本來幾毫秒的查詢會變成幾秒鐘直接影響測試執(zhí)行效率。尤其是接口性能測試和全量回歸測試階段慢SQL一多會導致整個測試進度被拖累。索引的核心原理可以類比成一本書的目錄沒有目錄你要一頁頁翻有目錄你直接翻到對應頁碼。數(shù)據(jù)庫里的索引就是給表的某個或某幾個字段建立快速查找路徑。測試中最常見的是普通索引和唯一索引。查詢條件經(jīng)常用的字段比如訂單號order_id建議建索引而唯一索引可以保證字段值不重復在造數(shù)據(jù)的時候還能幫你防止插入重復數(shù)據(jù)。5.2 用EXPLAIN快速分析SQL執(zhí)行計劃排查SQL效率問題時EXPLAIN是必備工具。用法超級簡單在SQL前面加EXPLAIN關(guān)鍵字執(zhí)行后數(shù)據(jù)庫會告訴你這個SQL打算怎么執(zhí)行。關(guān)鍵要看幾個字段type表示訪問類型從好到差依次是const、eq_ref、ref、range、index、ALLALL代表全表掃描說明你的SQL沒有走索引需要重點排查key表示實際使用的索引名rows是一個估算值表示預計要掃描多少行這個數(shù)字越大說明SQL越低效。我之前排查過一個典型的案例查詢一條訂單記錄耗時2秒多用EXPLAIN一看type是ALL全表掃了兩百多萬行。后來發(fā)現(xiàn)order_id字段沒建索引建議開發(fā)加了索引之后同樣一條SQL幾十毫秒就返回了。整個排查過程不到十分鐘但如果沒有EXPLAIN這個工具你可能還在那里懷疑是不是數(shù)據(jù)庫服務器性能問題。5.3 測試環(huán)境與生產(chǎn)環(huán)境的性能差異提醒這里有一條重要的經(jīng)驗測試環(huán)境的SQL執(zhí)行耗時和生產(chǎn)環(huán)境往往差異巨大因為數(shù)據(jù)量完全不在一個數(shù)量級。你在測試環(huán)境看一條SQL跑200毫秒覺得沒問題但在生產(chǎn)環(huán)境可能因為數(shù)據(jù)量增長變成1秒、甚至5秒這就可能在真實的流量場景下拖垮接口。所以我的建議是測試工程師不要光看SQL能不能查出正確結(jié)果還要養(yǎng)成跑EXPLAIN的習慣看關(guān)鍵查詢是否走索引、預計掃描行數(shù)是否合理。如果發(fā)現(xiàn)明顯是全表掃描要提缺陷或反饋給開發(fā)這是性能隱患不只是測試效率問題。6. 事務與鎖保證測試數(shù)據(jù)一致性的基礎概念6.1 手動控制事務測試聯(lián)動的硬保障造數(shù)據(jù)時如果涉及多張表關(guān)聯(lián)插入最穩(wěn)妥的做法是把多步操作包在一個事務里。MySQL中默認是自動提交每一條SQL執(zhí)行完就立即生效無法回滾。手動控制事務的語法是START TRANSACTION; INSERT INTO users (user_id, user_name) VALUES (U001, test_user); INSERT INTO user_account (user_id, balance) VALUES (U001, 1000); COMMIT;這個事務保證了users表和user_account表的插入要么同時成功要么同時失敗。如果中途某條SQL執(zhí)行失敗你可以執(zhí)行ROLLBACK把整個事務回滾不會留下只有用戶沒有賬戶這種臟數(shù)據(jù)。事務的經(jīng)典特性ACID我簡單解釋一下原子性指事務中所有操作要么全部成功、要么全部失敗就像轉(zhuǎn)賬要么扣款和入賬都完成要么都不發(fā)生一致性指事務前后數(shù)據(jù)狀態(tài)符合業(yè)務規(guī)則隔離性指多個事務并發(fā)執(zhí)行時互相不干擾持久性指事務一旦提交數(shù)據(jù)永久生效。對測試工程師來說理解原子性和持久性已經(jīng)能覆蓋日常90%以上的事務應用場景。6.2 隔離級別與鎖測試并發(fā)場景時要注意什么并發(fā)測試中會涉及隔離級別和鎖的概念。MySQL默認隔離級別是REPEATABLE READ可重復讀意味著同一個事務內(nèi)多次查詢結(jié)果一致。如果你在并發(fā)測試中發(fā)現(xiàn)數(shù)據(jù)出現(xiàn)了明明事務提交了另一個連接卻查不到的情況多半跟隔離級別或事務未提交有關(guān)。這里有一個我反復用到的小技巧測試并發(fā)接口時為了確認數(shù)據(jù)庫層面的真實數(shù)據(jù)變化建議新開一個數(shù)據(jù)庫連接去查詢不要復用已經(jīng)開啟事務的連接。因為同一個連接里未提交的事務修改可能可以被自己查到容易造成數(shù)據(jù)已生效的誤判。在實際工作中我把這個坑叫同連接事務幻覺不少測試都栽在上面。鎖方面最直觀的場景是一個測試人員開啟事務執(zhí)行了UPDATE但沒提交另一個測試人員再去UPDATE同一行數(shù)據(jù)時會被阻塞等待。這不是數(shù)據(jù)庫卡死了是行鎖被第一個事務持有。排查這種問題時可以用SHOW PROCESSLIST查看當前連接和執(zhí)行的SQL找到那個一直掛著沒結(jié)束的事務確認后要么讓其提交要么殺掉對應連接。這類情況在共享測試環(huán)境里特別常見掌握查看命令能省下很多溝通成本。6.3 隔離級別設置查看與修改命令查看當前會話的隔離級別用SELECT transaction_isolation臨時修改用SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED。測試工程師不太需要深入理解每種隔離級別的實現(xiàn)細節(jié)但要清楚不同隔離級別下相同的并發(fā)操作可能產(chǎn)生不同的數(shù)據(jù)表現(xiàn)。如果你測的是一個高并發(fā)扣庫存的接口發(fā)現(xiàn)庫存出現(xiàn)負數(shù)先別急著報Bug去確認一下數(shù)據(jù)庫隔離級別和接口的事務實現(xiàn)方式這個排查思路會幫你少走很多彎路。7. 測試場景中的高階技巧與實戰(zhàn)案例7.1 造數(shù)據(jù)腳本的模板化管理我工作中積累的一個經(jīng)驗把常用的造數(shù)據(jù)SQL整理成模板腳本按業(yè)務模塊分門別類存放。每次接到新需求需要造數(shù)據(jù)直接復制模板修改參數(shù)比從頭寫SQL快得多。一個典型的造數(shù)據(jù)腳本大概長這樣-- 造測試用戶 INSERT INTO users (user_id, user_name, phone, reg_time) VALUES (U_20240101_001, test_user_001, 13800000001, NOW()); -- 造用戶賬戶并初始化余額 INSERT INTO user_account (user_id, balance, version) VALUES (U_20240101_001, 1000.00, 0); -- 造一張已支付訂單 INSERT INTO orders (order_id, user_id, amount, pay_status, create_time) VALUES (O_20240101_001, U_20240101_001, 99.50, PAID, NOW());腳本化之后你的數(shù)據(jù)準備時間能從十幾分鐘壓縮到幾秒鐘。另一個細節(jié)凡是腳本造出來的數(shù)據(jù)我都會在關(guān)鍵字段上標注測試特征比如ID前綴加TEST_或時間戳這樣清理時一條SQL就能精準搞定而且不會誤傷手工測試同學的正常數(shù)據(jù)。7.2 清理數(shù)據(jù)的正確思路與操作順序清理數(shù)據(jù)是有順序講究的。先刪子表、再刪父表因為有外鍵約束的表刪除順序反了會報錯。舉例來說訂單明細表(order_items)引用了訂單表(orders)的主鍵清理時必須先刪order_items再刪orders。但現(xiàn)實測試環(huán)境中很多表壓根沒建外鍵這時候刪除順序雖然不會報錯但如果你亂刪可能會出現(xiàn)明細還在、主單已刪的空殼記錄影響下一輪測試。一個更穩(wěn)的清數(shù)思路是不直接刪除原表數(shù)據(jù)而是把測試數(shù)據(jù)所在行標記成廢棄狀態(tài)或者整體遷移到一張歸檔表。不過這種做法需要和開發(fā)約定如果測試環(huán)境的數(shù)據(jù)口徑完全由你控制直接DELETE最省事。還有一點必須提醒清理前先備份。哪怕是在測試環(huán)境養(yǎng)成SELECT * FROM orders WHERE ...先確認影響行數(shù)的好習慣能避免很多意外。7.3 數(shù)據(jù)校驗的黃金組合界面、接口、數(shù)據(jù)庫三查合一真正嚴格的測試需要把界面展示、接口返回、數(shù)據(jù)庫記錄三者對齊校驗。我把它叫三層一致性驗證。舉個例子測一個訂單詳情頁界面顯示訂單狀態(tài)為已發(fā)貨接口返回的JSON里order_status是SHIPPED這兩個一致還不能立刻斷言通過。你還得去數(shù)據(jù)庫里查orders表的實際狀態(tài)字段如果表里是PAID而接口返回SHIPPED說明接口層存在數(shù)據(jù)轉(zhuǎn)換錯誤或緩存未更新的問題。實際執(zhí)行中先跑接口拿返回結(jié)果再用接口返回的關(guān)鍵字段比如order_id去數(shù)據(jù)庫里比對最后對照界面展示。這套組合拳打下來很多隱蔽問題才會現(xiàn)出原形。我在之前的項目里靠這種方式查出過好幾個接口返回正常但數(shù)據(jù)庫實際數(shù)據(jù)錯誤的深層Bug如果只看界面基本發(fā)現(xiàn)不了。8. 常見問題與排查技巧實錄8.1 SQL執(zhí)行很慢應該從哪里入手排查測試中最讓人抓狂的問題之一就是同樣一條SQL不知道為什么突然跑不動了。我的排查套路一般是三步走。第一步用EXPLAIN看執(zhí)行計劃確認有沒有走索引、掃描了多少行第二步看是不是有鎖等待用SHOW PROCESSLIST查看當前數(shù)據(jù)庫連接狀態(tài)如果發(fā)現(xiàn)大量Waiting for table metadata lock這類狀態(tài)說明有其他事務占著資源第三步看是不是查詢條件寫得太寬泛比如LIKE %關(guān)鍵字%導致無法走索引。給一個具體的經(jīng)驗數(shù)字一張百萬行級別的表走索引的精確查詢應該在幾十毫秒內(nèi)完成如果超過500毫秒基本就能判定SQL或索引存在優(yōu)化空間。你把這個基準記在心里排查時就知道問題大概出在哪個環(huán)節(jié)。8.2 數(shù)據(jù)查不到的幾類隱蔽原因我整理了一個高頻問題速查表覆蓋測試中最常遇到的數(shù)據(jù)查不到場景現(xiàn)象可能原因排查方向明明有數(shù)據(jù)但SELECT查不到查詢條件字段類型不匹配比如字段是VARCHAR但條件用了數(shù)值檢查字段類型和條件寫法查出來的結(jié)果和想象中不同數(shù)據(jù)庫連接到了錯誤的環(huán)境比如測試連到預發(fā)庫確認連接配置和當前環(huán)境WHERE條件看起來正確但返回空字段是NULL用條件永遠匹配不上改用IS NULL中文條件查不到字符集或排序規(guī)則不一致查看表字符集和連接字符集時間范圍查詢結(jié)果不對時區(qū)設置差異導致時間偏移用NOW()和字段值對比檢查這類問題大多數(shù)時候不是SQL寫錯了而是對數(shù)據(jù)本身和環(huán)境的理解不夠。排查時先確認我在哪個環(huán)境這張表長什么樣數(shù)據(jù)到底存了什么比反復改SQL更有意義。8.3 測試環(huán)境數(shù)據(jù)被污染后的自救方法共享測試環(huán)境最怕的就是數(shù)據(jù)被污染你造的數(shù)據(jù)被別人改掉了或者別人跑測試留下了一堆半成品數(shù)據(jù)導致你的用例執(zhí)行總是失敗。我的自救方案是造數(shù)據(jù)時盡量帶上自己的測試標識同時把關(guān)鍵數(shù)據(jù)的查詢條件設計成能精準鎖定自己數(shù)據(jù)的形式。比如用戶名加前綴、訂單號加批次號、備注字段寫入自己的標記這樣不管別人怎么污染你都能一條SQL精準撈回自己需要的數(shù)據(jù)。如果污染已經(jīng)發(fā)生且無法定位備份恢復是最后的底牌。我會在造完關(guān)鍵數(shù)據(jù)后用mysqldump導出單表數(shù)據(jù)備份測試過程中如果發(fā)現(xiàn)數(shù)據(jù)異常直接用備份文件恢復。這個操作在MySQL里相當實用準備大版本數(shù)據(jù)時一定要做。8.4 日常工作中的數(shù)據(jù)庫操作安全底線講幾個我給自己立的規(guī)矩希望對你有參考價值。第一條任何UPDATE和DELETE操作先寫WHERE、再寫語句主體這是保命級的習慣。第二條操作前先SELECT確認影響范圍哪怕影響一條數(shù)據(jù)也要確認。第三條嚴禁在測試環(huán)境執(zhí)行沒經(jīng)過驗證的腳本更不用說生產(chǎn)環(huán)境。第四條共享環(huán)境操作完主動清理現(xiàn)場不給別人留坑。這些底線聽起來像老生常談但我在真實項目中見過太多因為忽視這些規(guī)矩導致的事故比如一條未加WHERE的UPDATE把整張訂單表狀態(tài)全部刷成已支付開發(fā)排查了一整天。做測試的人對自己操作的數(shù)據(jù)要有敬畏心。數(shù)據(jù)庫命令的熟練度不是一蹴而就的它的提升路徑和測試用例設計很像——你不需要背會所有命令而是要在真實場景里反復用用多了自然就內(nèi)化成自己的經(jīng)驗。我希望這篇整理能幫你在日常測試工作中少走一些彎路也歡迎你把自己的實戰(zhàn)心得補充進來數(shù)據(jù)庫這個領域越交流越漲經(jīng)驗。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久色在线视频| 成人版视频在线观看| 婷婷亚洲久久| 婷婷伊人网| 婷婷另类开心| 婷婷五月天电影网| 婷婷综合五月天| 超碰免费在线| 欧美A片在线视频免费观看| 色婷青青| 日本啪啪天堂| 色婷婷激情| 这里只有精彩小视频视频网站| 日本欧美在线| 五月天停停成人网| 丁香五月婷婷啪| www.操.com| 婷婷狠狠综合网入口| 亚洲国产成人在线| 亚洲久久婷婷| 欧美日韩成人在线网站| 国产99久久久国产精品免费看| 日韩精品一区二区刘| 亚洲综合1024| 九热免费视频| 亚洲第一影院高清无码网站| 婷婷狠狠操| 久久伊人大香蕉| 久久狼人天堂| 色播激情五月天| 激情婷婷五月天| 日本三级中国三级99人妇网站| 国产伊人五月天| 丁香九九九九| 91操片| 久久久99精品免费观看| 思思热99在线视频| 中文字幕无线久必| 久久98| 激情综合激情综合| 激情综合五月天| 五月天色综合| 色色色在线观看| 伊人在线视频| 丁香六月婷婷色播| 综合网色| 五月婷婷六月激情在线| 日都一级A片| 天天色综合图片| 天堂爱啪啪| 狠狠草狠狠草| www久久久久久久97| 五月天激情网站| www狠狠| 婷婷色片| 久久九九国产精品怡红院| 91九色小视频| 色色色色色色色色色999| 婷婷色在线| 深爱五月激情网| 色婷婷狠狠禁18久久| 激情五月婷婷伊人| 色情五月天导航| 欧美色色色色色色色| 五夜丁香| XX色综合| 五月丁香婷婷综合网| 丁香五月天天| 欧美超碰亚洲| 免费视频WWW在线观看网站| 中文av网站| 婷婷月五天在线在线看| 国产亚洲色婷婷久久99精品9j| 六月丁丁香| 欧美极品999| 亚洲九九夜夜| 丁香五月婷婷基地| 99视频| 五月开心色| 狠狠色噜噜狠狠狠狠综合| 99视频精品| 99操无码视频观看| 伊人在线视频| 亚洲国产精品VA在线看黑人| 思思热精品免费视频| 婷婷啪啪| 丁香六月婷婷久久综合| 99热在线播放| 26uuu.| 在线成人va| 激情www| 狠狠爱婷婷丁香| 亚洲男女激情| 操日挥操日日| 99久久极情精品一区| 激情5月婷婷狠狠干| 丁香五月婷婷狠狠色| 色哟哟精品| 成人网在线视频| 色9999综合久久| 中文字幕丰满孑伦无码专区| 婷色综合| 97色在线| renre人人操国产超碰在线| 丁香婷婷成人在线播放| 色五月 五月婷婷| 五月婷婷综合在线| av狠狠操| 大伊香蕉精品视频在线| 996精品热视频| 色五月久久成人婷婷| 欧美噜噜久久久XXX| 婷丁香五月天| 五月婷婷综合在线| 伊人激情影院| 亚洲9久久精品| 99色干| 婷婷六月激情丁香| 色婷婷狠狠| 综合色在线| 九九久99免费视频| A色色| 成人操呦av| 婷婷射丁香| 狠狠干综合| 久久久婷婷色五月资源网| 激情五月婷| 五月丁香啪啪激情| 色色99| 人人亚洲| 1995年关宝慧版蜘蛛女| 色五月首页| 操碰97| 亚洲免费av观看| 九九这里精品| 综合色色婷婷| WWW·色色色·COM| 久久久久久久久人妻| 国产精品久久久久久妇女6080| 国产午夜成人AV在线播放| 九九re精品视频在线观看| 六月 丁香 视频| 99热这里只有精品免费| 激情丁香久久| 中文字幕性爱丰满| 99啪啪| 色欲色香,www,com| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 激情婷婷久久| 国产精品激情AV久久久青桔| 永久的网站AAAA| 婷婷五月天a| 亚洲精品永久久久久久| 狠狠99| 激情五月少妇| 久久性刺激| 99热99精品| 好看的国产精品| 色综合中文| av在线观看网站| 亚洲成人综合在线| 国产精产国品一二三在观看| sisi热国产| 久久精品一区二区三区四区| 九色91美女| 婷婷日日夜夜| 超碰人人在线| 超碰人人艹| 综合天天综合| 丁香五月熟女| 婷婷导航| www.成人婷婷综合| 99热啪啪| 欧美精品999| 免费精品66| 亚洲中文字幕翔田千里| 丁香花五月天| 色99自拍| 婷婷丁香综合网| 亚洲美女婷婷五月天| 国产偷人爽久久久久久老妇APP| 色婷婷导航| 亚洲乱码日产精品BD| 婷婷综合色五月天| 久久六月婷婷| 亚洲天堂99| 开心日韩丁香婷婷五月| 久久婷婷久久| 日韩AV大全| 思思久久网| 五月天婷婷无码| 情婷婷五月天| 狠狠干2007| 久久精品99久久久久久| 日韩啪啪视品| 粉嫩AV久久一区二区三区| 五月婷婷丁香五月天| 亚洲激情淫网| 婷婷啪啪| 欧美婷婷精品激| 99网| 亚洲色图81p| 五月天综合| 99热这里有精品6| 国产欧美日韩一区二区三区| 丁香五月之久操视频| 色香久久| 婷婷五月激情四射手| 日本黄色在线观看| 激情玖玖sh| 久久这里只有精品热在99| 天天干天天日天天操| 综合网激情五月天| 99无码黄色视频| 99这里有精品视频3| www色色com| 国产色色网址网站| 婷婷激情五月天色| 91人人操人人爱| 67194中文字幕| 99re在线观看| 五月婷婷成人w| 天天日P天天射P| 欧美精品999| 9精品视频在线观看| www.婷婷五月| www.久热| 婷婷五月激情四月综合| 色欲一区二区三区精品A片| 色播婷婷大香蕉| 色狠狠六月| 亭亭五月丁香综合欧美| 97亚洲色 torrent magnet| 婷婷六月丁香激情| 91在线视频综合| 婷婷色在线| 91精品久久久久久77777| 五月丁香激情婷婷综合| 超级黄色片| 91日本在线| 六月婷欧美| 婷婷色中文字幕| 亚洲人妻电影| 91呦呦呦| 黄色av网站在线免费播放| 婷婷综合视频| 天天干天天操天天爽| 99超碰人人| 婷婷成人综合| 99riAv1国产在线观看| 天天天天干| 人人摸人人搞| 超级碰人人操人人干| 色五月天 丁香| 综合久久综合久久| 天天综合永久| 五月综合色| 在线视频婷婷| 欧美欧盟性爱网| 91久久婷婷| 青草青草久热这里只有精品| 丁香五月色激情| 五月丁香六月激情| YW无码| 欧美日韩成人在线免费| 免费操超碰| 97人妻人人| 蜜臀av粉嫩av懂色av| 深爱激情小说五月婷婷| 99热99天堂| 色综合色婷婷色伊人| 五月丁香六月婷婷免费| 婷婷在线五月天观看| 五月婷婷丁香啪啪| 开心五月深爱五月| 丁香五月激情图片婷婷| 久超超碰| a久久| 亚洲狠9| 久久伊人婷婷| 99热这里只有免费精品| 超碰在线视屏| 激情五月综合| 国产片XXXXA片国语对白| 123草逼网| 只有久久精品免费| 色色色综合网| 色999五月色| 人妻久久久久久| 人妻第九页| 激情六月婷婷啪啪| 热久久成人| 婷婷性爱影院| 九九热啪啪| 五月天国产| 婷婷94s| 另类激情五月| 色婷婷久久综合| 激情文学 综合 九月| 超碰亚洲天堂| 色色色成人网| 噜噜噜噜婷婷五月天| 91在线日| 五月丁香操婷逼| 色9999日韩国产| 久久综合首页| 亚洲第一黄网| 中文网AV| 国产AV一区二区三区最新精品| 青青草原中文字幕| 色婷婷小说| 岛国资源网| 五月丁香婷婷伊人| 五月婷婷激情色情网| 香蕉久久国产AV一区二区| 精品五月视频婷婷在线观看| 色综合久久888| 蜜臀嫩草| 日韩99精品| 亚洲色婷婷| 亚洲综合五月天综合| 色综啪啪网| 九九精品视频在线观看| 日本黄色在线观看| 欧美狠狠色| 9热久久| 2020日日干| 久久三级视频| 四季8848精品成人免费网站| wuyuedingxiang99| 亚洲传媒在线观看| 96精品久久久久久久久| 9久久精品| 97在线观看| 五月婷婷综合网| 激情综合色五月六月婷婷| 伊人激情综合| 色中色综合| 欧美婷婷五月天综合| 五月天激情av| 精品牛仔裤超碰| 五月天婷婷在线播放| 婷婷色在线| 五月天色婷婷av| 99热在线只有精品| 9久热精品在线视频| 99热思思在线观看| 婷婷婷久久| 大香蕉五月天| 国产性av| 99在线精品免费视频| 久久精品99| 色爱99| 丁香五月婷婷综合91| 五月丁香六月婷婷国产视频| 99re这里| 99热这里只有精品10| 成人丁香婷婷| 色婷婷先锋| 色婷婷裸体色性在线| 五月丁香婷婷无码中文| 中文AV在线观看| 九九99免费理论| 九九aV| 久久五月综合| 色狠狠伊人久久五月丁香| 美国少妇性做爰| 日韩 欧美 国产 一区 二区| 亚洲国产成人AV在线| 婷婷五月超碰| 99色视频在线观看| 操一区| 中文字幕有多少字| 色狠狠综合入口| 五月天播播综合| 亚洲综合五月| 黄色片久久| 欧美成人日韩| 色五月丁香六月婷婷| 五月婷婷激情久久| 97超碰9久热婷婷热| 噜噜视频| 无码A片一区二区免费| 性 色 婷婷| 伊人综合网4| 激情综合无码| 九色在线观看91av| 99er久久| 91要啪| 久久婷婷五月综合色丁香花| 婷婷丁香五月视频| 99re这里| 婷婷五月天堂| 操操操Av| 午夜亚洲AV日韩无码| 9l视频自拍九色9l视频自拍九色9l社区| 欧美色色色| 99热9| 婷婷色色狠狠| www.夜夜操| 97超碰在线免费观看| 五月激情小说| 少妇AB又爽又紧无码网站| 99爽视频| 色狠狠激情五月| www.99精品视频| 人人看人人要| www.婷婷六月天| 五月丁香婷婷色播无码| 欧美草久久五月天91| 91成人电影| 激情五月黄色| 狠狠久综合| 97五月久久丁香婷婷| 丰满女老板BD高清A片| 色综合久久888| 九九这里是免费的视频5| 五月丁香婷婷99| 色丁香婷婷| 五月天婷婷综合色| 亚洲五月天色| 婷婷色五月激情| www.久久爱| 久久9视频| 日本色99| 九九婷婷综合| 五月丁香久久久久| 这里只有精品视频99| 欧美视频五区| www.minyis.com【JT】实力收量可预付QQ2101460746 | 久久久久9999| 91热99| 夜夜骑天天玩天天日| 丁香五月亚洲综合丝袜| 国产成人99久久亚洲综合精品| 五月成人丁香av91| 色五月婷婷影院| 丁香五月 无码| 五月激情六月综合| 亚洲婷婷久久综合| 日韩aaaaa| 精品在线| 中文字幕视频色婷婷| 久久久五月婷婷| 五月婷婷六月丁香| 丁香五月激情性色郤| 色伦专区97中文字幕| http://www.lingjunshare.com/| 大香蕉婷婷婷| 婷婷五月丁香在线观看| 狠狠色综合久久久久| 丁香婷婷影院| 久久电影五月天丁香电影| 久久久99精品| 婷婷激情97| 婷婷久久综合| 人人爽在线视频综合网| 国产成人精品亚洲线观看| Va另类视频| 97久久精品视频| 欧洲亚洲精品| 婷婷丁香人妻天久久| 欧美 日韩 人妻 高清 中文| a久久免费视频| 在线观看996精品| 五月丁香婷婷欧美| 丁香婷婷久久综合在线| 91碰碰视频| 欧洲色区| 久久久久久久人妻| site:esunnet.com| 五月丁香趴趴| 99热只有| 天天综合色丁香| Av性爱网站| 91高潮喷水久久久久久久久 | 香蕉AV777XXX色综合一区| www色婷婷com| 2014天天爽| 婷婷五月丁香综合瑟瑟| 日韩aaa| 天天色综合网吨吧| 久久婷婷五月天激情新地址| 五月丁香花激情啪啪网| 激情婷婷五月天| 九九精品在线观看视频6| 狠狠五月激情丁香六月| 色综合久| 14色综合婷婷| 99热久草| 欧美在线骚货| 色五月婷婷影院| 国产成人精品一区二区三区视频| 五月天婷婷成人网| 婷婷综合五月色播| 久久婷婷色情7777网站| 色拍九九九| 99日韩| 人妻久久久| 五月激情偷拍婷婷| 只有精品在线观看| 天天插操| 国产精品99久久久久久久女警| 婷婷五月天丁香社区| 丁香六月成人网| 日本在线wwww| 久久婷婷六月综合国际| 久热9| 国产精品电影网| 五月婷婷婷婷婷| 99热这里只有99| www.97干视频| 蒲京久久无码视频| 国产看真人毛片爱做A片| 91色噜噜狠狠狠狠色综合| 五月婷婷手机在线| 婷婷五月永远18免费久久久| 日韩色色网| 91久久五月天| 丁香五月综合首页| 久久精品日| yazhoujiqingav| 久久亚洲婷婷| 五月天色综合| 亚洲色网络| 色噜综| 五月视频日本免费观看| 五月丁香久久网| 中文字幕在线不卡| 色婷婷中文在线| 婷婷五月丁香香蕉| 碰碰碰91| 99久久久久久久| www.夜夜爱.com| Av狠狠色丁香婷| 人。妻久久| 99r这里只有精品在线观看| 丁香五月激情欧欧美| 婷婷五月天黄色网址| 自拍视频99| 9久热在线视频| 人五月天婷婷喷水| 热99.com婷婷| 五月丁香婷婷色播无码| 日本理论久久| 久99热在线观看| 久久婷婷人人| 超碰无码318604| 97黑人精品区| 777久久久| www.99热这里精品| 婷婷射图| 久久香蕉网| 日本综合久| 91要啪| 日韩AV片| 天天综合久久| 成人婷婷五月| 五月婷视屏在线观看| 色导航色婷婷五月天在线观看| 精品99只有。| 五月丁香六月成人| 国产97色在线| 丁香五月AV| 粉嫩AV久久一区二区三区| 26uuu亚洲| 大香蕉手机视频| 中文av网站| 婷婷丁香六月| 97日本在线播放| 99精品偷自拍| 婷婷五月a| 99热加勒比| 色婷视频| 天天模,夜夜模夜夜爽| 热99re| 色五婷婷开心缴| 五月色精品| 欧美五月婷婷| 91精品综合久久久久久五月丁香| 精品夜夜澡人妻无码AV| 久久99免费视频| 色婷另类| 视色网在线播放| 中文字幕色色色| 色五月成人| 日韩成人精品中文字幕| www超碰| 操97在线观看| 五月久久婷婷丁香| 天天撸夜夜爽| 一起草无码| A久久| 日韩啪图| 开心丁五月| 天天摸天天舔天天爽| 五月婷婷中文网| 天天弄天天操| 99在线精品视频| 大香蕉综合网| 五月丁香久久激情综合| 久久婷婷热| 九九视频免费| 五月婷婷丁香婷婷| 久热成人| 精品国产一区二区三区四区阿崩 | 婷婷丁香在线| 五月之婷婷| 丁香九月激情| 丁香五月激情啪啪啪啪| 久久精品婷婷| 日欧一片内射VA在线影院| 国产超碰人人| 色色五月丁香婷婷| 九九九九这里只有精品| 色五月网址| 9999综合99综合人| 五月婷婷久久综合| 三级三久久线久久99久目本WW| 97色色网| 超碰AV在线| 亚洲综合激情五月| 国产精产国品一二三在观看| 99碰超| 五月丁香亚洲婷婷| 99热超碰| 色月丁| 狠狠999| 啊v视频在线观看| 人人操碰| 国产精品成人在线| 日日干日日| 婷婷色五月91啪啪| 26uuu.| www999日韩精品| 婷婷狠狠青青| 思思色播| 九九热黄色| 东北黄色一级| 思思热国产在线| 色五月婷婷五月天| 五月天婷婷丁香人人操91| 综合久久五月天| 婷婷五月色情天| 天久综合91综合首页| 只有精品在线观看| 99久久6| www.wuyuetian啪啪| 婷婷基地成人五月天| 99自拍网| 日韩成人无码人妻| 色播婷婷五月天| 亚洲欧洲中文日韩久久AV乱码| 婷婷色五月激情| 777色色色| 久久成人亚洲欧美电影| 天天搽天天射| 婷婷激情六月视频| 九九色情网站| 夜夜做夜夜愛| 成人网在线观看视频| AV在线大香蕉| 97超碰综合| 91婷婷丁香| 婷婷五月色播| 久久久久久97| 五月天色丁香| 五月婷婷六月综合| www.婷婷.com| 黄色激情久久| 91色色色| 色婷婷WWW| 无码99| 五月天日日操夜夜操 | 亚洲第一综合| 激情婷婷狠狠干| 97在线观看| 精品久久久久久久久久久久人妻| 婷婷久久色五月婷婷久久久| 天天摸天天日天天舔| 亚洲av电影在线| 日日日日操| 日本女色人人| 人妻六月天| 九九精品在线观看视频6| 91久久人人操| 中文色婷婷| 操人91| 精品人妻伦一二三区久久| 五月天桃色深爱网| 欧洲亚洲欧洲99久久| AV亚洲在线| A久久| 庭庭久久内射| 深爱激情综合| 九九这里精品| 性爱激情小说AV五月丁香花| 开心激情婷婷| 99色在线视频观看| 影音先锋91网站在线观看| 久久婷婷五月天激情唯美| 国产肥白大熟妇BBBB视频| 人人做人人看人人摸| 午夜福利8055| 婷婷色综合| 爱射综合| 五月婷婷 婷婷五月 一区二区 久久久| 日日夜夜爽| 婷婷丁香宗合888| 婷婷五月天丁香花| 99热.com| 99re6热在线精品视频播放速度| 欧美性猛交99久久久久99按摩| 激情五月婷婷在线| 秋霞A V毛片| 色婷婷基地 | 婷婷五月丁香在线视频| 丁香五月婷婷狠狠色| 国产精品色情AAAAA片软件| 国产热精品| 91精产一区三区免费观看| 成人va在线播放| 狠狠操性爱av| 丁香啪啪| 曰韩少妇内射免费播放| 狠狠干天天日| 99九九在线观看免费| 日本欧美成人片AAAA| 激情五月婷婷综合色播小说| 超碰在线成人| www.色五月| 成人网在线视频| 伊人日日干| 婷婷五月色综合| 专区无日本视频高清8| A久久| 婷婷另类开心| 久综合色| 99丁香婷婷综合网| 丁香五月天啪啪| 久久九九视频| 亚洲精品操一操、噜一噜、摸一摸、爽 | 色播五月天婷婷老师| 色五月综合网| 超碰97干| 伊人丁香五月| 九九视频在线观看| avh片在线观看| 狠狠五月天| 久草视频一,二三四| 丁香六月婷婷缴情欧美| 99这里只有精| 综合色影院| 六月色婷婷欧美| 日日噜噜久久婷婷五月天| 啪啪啪五月天| 五月停停99| 丁香五月欧美| 亚洲成人av在线| 91色情播放| 五月天久久婷婷婷| 成人在线精品| 婷婷色爱| 五月天激情网图片| 五月婷久久久| 五月久久亚洲| 91成人性爱视频| Y11111111111少妇电影院| 成人综合AV| 久久久人妻门| 婷婷的色色五月天| 另类在线免费视频| 丁香五月婷婷啪啪| 激情五月天综合婷婷网| 欧美人与性动交CCOO| 婷婷五月激情的图片| 涩五月丁香| 人人干av| 97日在线视频| 天天干天天操| www.色婷婷| Aaa久久| 91九色视频| 成人免费va| 99热久久这里只有精品| 日韩成人无码人妻| 九九99久久| 精品久久久91久久影视网| 亚洲精品国产成人AV在线| 九九九九九无码| 91操片| 色综合色色色色色色综合| 另类图片五月天婷婷| 97干欧美| 丁香六月激情综合网| 婷婷丁香五月六月激情| 999热这里只有精品| 亚洲人人艹| 天天综合天天玩夜夜玩天天玩夜夜玩 | 色色综合网站| 激情亚洲网| 免费看欧美成人A片无码| 欧美99| 亚洲AV中文在线| 午夜福利8055| 日韩在线五月天婷婷| 思思热在线观看| 大香蕉伊人久久| 免费播放片大片| 亚洲无码AV片| 国产精品色婷婷AV综合色色| 婷婷大香焦| 五月丁香直播| 91九色精品熟女内射| av色婷婷| 新97人人上人人| 性爱五月婷婷| 天天插天天插天天插天天插| 性爱激情久久| 天天综合干| 国产毛片欧美毛片久久久| 激情网站五月| 亚洲热视频| 亚洲永久四色| 狠狠狠狠狠狠狠狠| 91婷婷色 | 99热主页日本| 中文字幕,综合,91| 天天爱天天秀天天做| 99热一本久道| 99热这里只有精| WWW.久久久久久久久久久久久| 午夜激情五月天| 色约约视频一区二区三区四区五区 | 亚洲精品操一操、噜一噜、摸一摸、爽| 色色色com| 99热只有精品在线播放| 欧洲色区| 日韩六十路91性交电影| 人人妖人人97| 五月天婷婷影院影院观看| 五月婷婷草| 精品99在线| 五月色婷婷中文字幕| 色色色五月婷婷| 9久操| 九九热婷婷| 国产成人在线精品| 99色在线视频| 五月婷婷综合网| 99久在线精品99re8热| 99精品在| 国产精产国品一二三在观看| 五月天影院| 欧美日韩五月婷婷| 91超碰在线观看| 天天玩夜夜操天天爽| 天天日天天色| 丁香六月成人网| 青青操日本摸摸看看| 79精品视频在线观看,| 99超级碰碰| 久久99久久99久久99人受| 开心 五月 综合| 亚洲黄网AV| 十月色综合| 色婷婷最新域名| 一起草Av| 干婷婷五月天| 大地9中文在线观看免费高清 | 色婷婷综合久久久久| 色综合综合色| 免费无码毛片一区二区A片| 欧美va欧美va差| 91九色大屁股| 婷婷五月天成人网| 成 人 色 色| 激情爱爱网站| 中文字幕无码人妻少妇免费视频| 狠狠色婷婷六月激情网| 日本在线99| 这里只有精品视频在线| 99re这里有精品手机在线| 综合久久婷婷99| 久久九九@| 思思99热在线| 亚洲成人AV电影网| 日韩无码专区| 91大屁股| 国产9色在线/日韩| 麻豆AV一区二区三区| 丁香婷婷深情五月亚洲| 丁香六月开心| 大香蕉丁香五月| 午夜激情综合| 久久性爱网站| 亚洲日本三级片| 中文无码婷婷| 丁香六月伊人| 无码四色色色| 国产91在线视频| 丁香午夜天| 婷婷性色| 99热久久这里只有精品| 99久久99视频| 日本一级一级一级一级| 丁香五月五月婷婷| 啪啪99| 色综合久久久无码中文字幕999| 成人免费高清在线播放| er99免费视频在线| 伊人色综合影院视频| 婷婷五月天天| 婷婷五月丁香五月| 深爱激情五月婷婷| 激情涩涩网| 一级片操逼视频| 啊v视频在线观看| 99热这里只有精品22| 99在线观看亚洲| 丁香综合久久| 久久精品99国产精品日本| 超碰在线免费9| 色五月六月婷婷| 综合五月婷婷| 日本久久9| 专区无日本视频高清8| 国産精品| 99免费在线| 国产乱码久久| 97色天堂| 五月丁了香蕉综合| 欧美性生交XXXXX无码小说| 日日天天干| 99爱在线视频观看| 婷婷五月天激情偷拍| 久久东京热婷婷五月| 99热免费18| 成人国产欧美大片一区| 99精色| 五月天成人综合| 亚洲色优| 五月激激激情综合网| 99爱视频精品| 久久久宗合| 欧美日韩日韩成人| aV直接看| 性爱综合网| 亚洲性视频| 亚洲五月婷婷| 狠狠操.COM| 色色色99韩| 九九色热| 91成人视频| av操B网站| 亚洲国产精品二二三三区| 狠狠色丁香| 九九热在线视频观看| 婷婷91| 91婷婷丁香五月| 狠狠狠色激情综合适合| 五月深爱激情网| 久久人妻情侣| 五月丁香色狠狠干大屄| 深爱激情四射| 天天肏屄夜夜爽| 涩五月婷婷| 色婷婷97| 亚洲欧洲国产精品| 99精品久久久久久久| 在线观看996精品| www.综合久久| www.久久9| 国产中文字幕在线视频免费观看| 伊人在线另类| 午夜天堂一区人妻| 激情综合五月婷婷| 五月丁香六月激情| 婷婷五月天影院| 可以免费观看的AV| 五月丁香婷婷综合| 婷婷成人五月天成人文学| 26uuu精品一区二区| 色偷偷色婷婷| 欧美色99| 中文字幕在线播放视频| 九月激情网| 91碰碰| 亚洲综合激情五月久久| 久久久噜噜噜久久人妻| www.久久久.com| 亚洲成人影视在线观看| 亚洲激情视频在线观看| 久久人人九| 99噜噜| 中文字幕在线免费| 激情综合五月| 日本色婷婷| 中文字幕无码人妻少妇免费视频 | 色综合丁香婷婷| 99热老网站| 天天干天天干天天干天天干天天干| 九九热最新视频| 色婷婷丁香五月天| 婷婷丁香成人| 日韩在线观看网址| 婷婷五月天av小说| 99色在线免费观看视频| 99热插| 狠狠久久婷五月| 99爽视频| 综合亚洲色色| 九九视频精品在线免费| 热99只有里视频| 五月丁香性| 思思久热6| 五月婷六月丁香| 拳交大逼| 五月丁香婷草| 开心激情婷婷| 欧美美女视频| 久久艹 五月天| 日本综合99| 91九色欧美| 久久婷婷五月天| 色九月激情综合网| 人人视频色| 亚洲网站999| 五月亭亭开心网| 亚洲字幕AV一区二区三区四区| 91综合视频丁香| 丁香五月婷婷久久久| 91碰超| 激情深爱综合| 欧美综合激情五月| 亚洲五月停停| 9月色婷婷| 97碰在线视频| 五月天另类小说久久小说网| 一区二区三区四区牛| 久热91| 少妇口诉沐足视频播放器网址| 欧美成人网99网| 五月婷在线观看| 五月丁香六月婷婷网| 狠狠ri| 91ncm视频| 色婷五月天亚洲| 日日杆天天| 99热免费精品| 国产亚洲精品久久久久苍井松| 免费91久久精品| 日本欧美999久久久三级片| 久久综合激情| 俺去也在线视频| 久久婷婷91| 97精品人人A片免费看| 丁香六月婷婷社区| 日韩五月婷婷| 色五月婷婷在线观看| 五月激情六月丁香| 91人人爽人人操| 久久视网36| 逼里香不卡| 五月亭亭直播| 九九亚洲视频| 国产综合婷婷| 久久香蕉婷婷五月天| 五月婷婷影院| 教师性爱毛片| 色偷偷色婷婷| 深爱激情网噜噜色| 色五月激情网| 操碰99在线视频观看| 开心亚洲久久开心| 激情久久久久久久久久| 青柠影视免费高清电视剧| 五月婷婷丁香综合| 婷婷综合网在线| 综合网啪| 国产AV一区二区三区最新精品| 第四色五月婷婷| 这里只有精品69| 可以免费观看的AV| 久99久99精品免| 激情五月婷婷综合视频| 丁香婷婷色情| 四色五月婷婷| 99热思思在线观看| 五月天婷婷操逼视频| 色欲久久99精品久久久久久| www色色com| 色色色热| 亚洲精品无码A片一区二区| aaa丁香五月天| 91丨九色丨白浆秘| 超碰永久在线| 丁香成人综合| 91精品丝袜久久久久久| 大香蕉狼人久久| 99re在线这里只有精品视频首页| 久婷| 99精品手机在线视频| 久久五月丁香综合17C| 色色色色色色色色网站| 欧美精品久| 九九色综合视频| 97香蕉碰碰人妻国产欧美| 九九狠狠干| www激情婷婷com| 超碰国产在线播放| 日韩一区二区在线播放| w婷婷五月婷婷w| 激情婷婷丁香五月| 夜夜涩涩涩| 99在线观看精品视频| …亚洲黄色在线播放日韩、av中文a…| 婷婷色丁香五月| 久久丁香| 中文精品在| 丁香五月天激情综合| 婷色综合| 九九视频在线免费视频| 色色色热| 毛片网站谁有| 色五月AV| 成人av免费观看| 五月丁香啪啪综合| 久久久99婷婷久久久久久| 五月天婷婷社区| 五月丁香综合网| 天天爽天天摸天天爱| 爱iii做iiii日日| 色婷婷丁香中文在线播放| 少妇性BBB搡BBB爽爽爽视頻| 激情小说五月天| 婷婷婷婷色| 99碰超| 丁香五月婷婷综合精品素人| 婷婷色五月大香蕉在线观看| 色婷婷的五月天| 色色色色色色五月婷婷| 99热思思| 青996青| 综合99久久天天综合| 99久在线精品99re5热视频| 天天操天天操天天操天天操天天操 | 久久色五月天| 日日干日日| 色狠狠999综合网| 粉嫩AV久久一区二区三区| 激情网站综合五月天| 国产精品久久久久久妇女6080| 99久久成人| 五月Huangsewang| 国产日日操夜夜操的肉棒视频| 超级碰碰碰久久网站| 五月婷视屏在线观看| 久久久九九九 99| 五月天伊人久久久久| 九色无码| 久久久大香蕉| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 深爱综合网| a色色片| av国产精品| 激情黄色小说五月天| 69人人操人人爽| 婷婷五月天堂| 色色五月婷婷久久| 青草五月天| 精品婷婷五月天| 激情婷婷丁香| 亚洲国产99| 亚洲操精品| 综合激情视频| 色婷婷五月网| 国产成人精品一区二三区熟女在线 | 人人人操B超碰| 色 噜噜 九月 婷婷| 五月丁香啪啪伦理电影| 九九99视频精品| 精品久久66| 色婷婷久久综| 国产精品色婷婷99久久精品| 操99| 白人荫道BBWBBB大荫道| 国产乱妇乱子伦| 铁牛TV人妻| 五月花免费视频| 婷婷丁香五另类网站| 三人荫蒂添的好舒服A片| 91精品久久久久久综合五月天| 日本97在线视频| 久久精彩免费视频| 婷婷五月天天| 九9九9无码| 日韩九九| 9这里只有精品| 久久亚洲无码| 激情五月综合婷婷| 激情狠狠丁香月| 97久久久免费福利网址| 涩五月婷婷| 亚洲人人操BD| 婷婷爱爱蜜臀天天操| 五月丁香五月综合欧美| 欧日美女Va| 99视频日韩| 思思热精品在线视频| 深爱激情五月天婷婷网| 日韩99视频| 亚洲色五月| 人妻操操色| 欧洲S级在线观看| 国产露脸150部国语对白| 色婷婷丁香五月在线观看| 精品激情| 色九月丁香婷婷蜜桃在线观看| 丁香五月婷婷色情综合| 丁香花五月天| 婷婷爱爱蜜臀天天操| 五月天婷婷视频| 99久久a线观| 九色无码| 激情丁香婷婷| 色色色色色色网站| 无码四色色色| 午夜丁香 婷婷| 亚洲人妻av| 色天五月天在线观看视频| 婷婷丁香五月天在线视频| 激情综合色图| 色一色综合| 综合网天天| 五月丁香激情综合| 超碰不卡在线| 精品欧美一区二区三区久久久| 伊人狠狠丁香婷婷综合尤物| 婷婷五月丁香综合人妻| 九九碰九九爱97超碰| 久久大香蕉伊人| 日韩成人中文| 午夜免费试看| 婷婷五月深爱五月| 五月六月激情婷婷| 99激情在线| 少妇性按摩无码中文A片| 九九大香蕉黄色影院| 天天xxxxxx天天日| 国产操B视频| 91在线视频观看午夜福利| 欧美色五月| 五月婷婷综合激情网| va婷婷在线免费观看| 久久久97| 久草a片| 热99热久| 色色色色色综合| 激情婷婷六月天| 天天夜天天色天天| 五月婷五月婷伊人伊人五月婷| 五月婷婷综合性爱噜噜| 无语停婷丁香网| 激情五月综合网丁| 亚洲超碰在线|