《MySQL如何實現 DTLE 自動化測試-愛可生》 作者:張靜文愛可生上海研發中心成員,測試工程師,負責 DMP 以及 DTLE 自動化測試。任務:測試開源產品 dtle,對 mysql 字符類型,表結構的支持性。測試需求如下:1. 測試 dtle 對 mysql 所有的字符類型支持性2. 測試 dtle 對表結構的支持性3. 等.測試步驟大致為:1. 設計表結構,數據類型。2. 使用 dtle 遷移表/數據。3. 對比使用 dtle 遷移的源數據庫和目標數據庫的數據、表結構是否有差異。起初,我開啟了 2 個窗口一條條的對比,但是當我比對到第 100 條數據的時候,我發現眼花了,似乎有些數據“好像不一樣”。我還有好幾萬條數據要這麼對比呢,而且每次發新版本,我都要這麼來一次這不是人能完成的艱難任務!所以我尋找是不是有什麼工具能幫我做這部分工作,搜索後發現一部分私人寫的小工具(具體的就不列舉了),但是經過使用後,發現很多工具自身就帶有一部分 BUG,如果我用這些工具做數據對比肯定會遺漏 BUG。經過幾天的搜索試用,發現 mysql 官方提供了一個非常不錯工具mysqldiff/mysqldbcompare,所以想著分享給大家。以下就直接說說使用方法:(系統:Ubuntu 18.04)1. 軟件下載2. 解壓到當前目錄 mysql-utilities-1.6.5 下:tar -zxvf mysql-utilities-1.6.5.tar.gz3. cd 到 mysql-utilities-1.6.5,執行安裝:apt install mysql-utilities如下圖: 4. 演示 mysql-utilities 中的 mysqldiff 使用和效果:首先我們可以通 過 mysqldiff --help 命令查看用法: 接下來我要測試通過 DTLE 數據遷移的 2 個數據庫,然後驗證:1. 是否有表結構改變2. DTLE 是否將源數據庫的所有數據全部遷移到目標數據庫分別使用如下 2 條命令:mysqldiff--server1=test:test@10.20.30.3:3306--server2=test1:test1@10.20.30.4:3307 testdb:testdb執行效果如下: 結論:通過比對,發現源數據庫中有 2 張表並不在目標數據庫中,而且很詳細的列出了遷移失敗的表名。mysqldiff--server1=test:test@10.20.30.3:3306--server2=test1:test1@10.20.30.4:3307 testdb.char_columns:testdb.char_columns 結論:通過比對,發現有源數據庫中 char_columns 表的建表語句有差異。5. 演示 mysql-utilities 中的 mysqldbcompare 使用和效果:同上我們可以通過 mysqldbcompare --help 命令查看用法: 使用如下命令可以查看源庫和目標庫中的表數據是否有差異:mysqldbcompare--server1=test:test@10.20.30.3:3306--server2=test1:test1@10.20.30.4:3307 testdb:testdb 結論:通過比對,發現源庫和目標庫中的數據一致。本次分享幾條簡單的命令到此結束。重點在於:1. 作為測試,我們可以通過以上 2 個小工具減少我們重複性的工作,提高測試結果的准確性。2. 如果我們有一定代碼基礎,可以集成以上小工具,完成一套 DTLE 的自動化測試腳本,方便以後每次版本發布的回歸測試。 《MySQL如何實現 DTLE 自動化測試-愛可生》完,請繼續朗讀精采文章。 喜歡 小編的世界 e4to.com,請記得按讚、收藏及分享!
音調
速度
音量
語言
MySQL如何實現 DTLE 自動化測試-愛可生
精確朗讀模式適合大多數瀏覽器,也相容於桌上型與行動裝置。
不過,使用Chorme瀏覽器仍存在一些問題,不建議使用Chorme瀏覽器進行精確朗讀。