vs xaml 语句完成 自动列出成员_数据传输 | mysqldiff/mysqldbcompare 实现 DTLE 自动化测试...
作者:張靜文
愛可生上海研發(fā)中心成員,測試工程師,負(fù)責(zé) DMP 以及 DTLE 自動(dòng)化測試。
本文來源:原創(chuàng)投稿 *愛可生開源社區(qū)出品,原創(chuàng)內(nèi)容未經(jīng)授權(quán)不得隨意使用,轉(zhuǎn)載請聯(lián)系小編并注明來源。任務(wù):
測試開源產(chǎn)品 dtle(https://github.com/actiontech/dtle),對 mysql 字符類型,表結(jié)構(gòu)的支持性。測試需求如下:1.?測試 dtle 對 mysql 所有的字符類型支持性
2.?測試 dtle 對表結(jié)構(gòu)的支持性
3.?等.......
測試步驟大致為:
1. 設(shè)計(jì)表結(jié)構(gòu),數(shù)據(jù)類型。
2. 使用 dtle 遷移表/數(shù)據(jù)。
3. 對比使用 dtle 遷移的源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)、表結(jié)構(gòu)是否有差異。
起初,我開啟了 2 個(gè)窗口一條條的對比,但是當(dāng)我比對到第 100 條數(shù)據(jù)的時(shí)候,我發(fā)現(xiàn)眼花了,似乎有些數(shù)據(jù)“好像不一樣”。我還有好幾萬條數(shù)據(jù)要這么對比呢,而且每次發(fā)新版本,我都要這么來一次......這不是人能完成的艱難任務(wù)!
所以我尋找是不是有什么工具能幫我做這部分工作,搜索后發(fā)現(xiàn)一部分私人寫的小工具(具體的就不列舉了),但是經(jīng)過使用后,發(fā)現(xiàn)很多工具自身就帶有一部分 BUG,如果我用這些工具做數(shù)據(jù)對比肯定會(huì)遺漏 BUG。
經(jīng)過幾天的搜索試用,發(fā)現(xiàn) mysql 官方提供了一個(gè)非常不錯(cuò)工具mysqldiff/mysqldbcompare,所以想著分享給大家。
以下就直接說說使用方法:
?(系統(tǒng):Ubuntu 18.04)
1. 軟件下載,地址如下:https://cdn.mysql.com/archives/mysql-utilities/mysql-utilities-1.6.5.tar.gz2. 解壓到當(dāng)前目錄 mysql-utilities-1.6.5 下:tar -zxvf mysql-utilities-1.6.5.tar.gz3. cd 到 mysql-utilities-1.6.5,執(zhí)行安裝:apt install mysql-utilities如下圖:
4. 演示 mysql-utilities 中的 mysqldiff 使用和效果:首先我們可以通 過 mysqldiff --help 命令查看用法:
接下來我要測試通過 DTLE 數(shù)據(jù)遷移的 2 個(gè)數(shù)據(jù)庫,然后驗(yàn)證:
1.?是否有表結(jié)構(gòu)改變
2.?DTLE 是否將源數(shù)據(jù)庫的所有數(shù)據(jù)全部遷移到目標(biāo)數(shù)據(jù)庫
分別使用如下 2 條命令:
mysqldiff--server1=test:test@10.20.30.3:3306--server2=test1:test1@10.20.30.4:3307 testdb:testdb執(zhí)行效果如下:
結(jié)論:通過比對,發(fā)現(xiàn)源數(shù)據(jù)庫中有 2 張表并不在目標(biāo)數(shù)據(jù)庫中,而且很詳細(xì)的列出了遷移失敗的表名。
mysqldiff--server1=test:test@10.20.30.3:3306--server2=test1:test1@10.20.30.4:3307 testdb.char_columns:testdb.char_columns執(zhí)行效果如下:
結(jié)論:通過比對,發(fā)現(xiàn)有源數(shù)據(jù)庫中 char_columns 表的建表語句有差異。
5. 演示 mysql-utilities 中的 mysqldbcompare 使用和效果:同上我們可以通過 mysqldbcompare --help 命令查看用法:
使用如下命令可以查看源庫和目標(biāo)庫中的表數(shù)據(jù)是否有差異:
mysqldbcompare--server1=test:test@10.20.30.3:3306--server2=test1:test1@10.20.30.4:3307 testdb:testdb執(zhí)行效果如下:
結(jié)論:通過比對,發(fā)現(xiàn)源庫和目標(biāo)庫中的數(shù)據(jù)一致。
本次分享幾條簡單的命令到此結(jié)束。
重點(diǎn)在于:
1. 作為測試,我們可以通過以上 2 個(gè)小工具減少我們重復(fù)性的工作,提高測試結(jié)果的準(zhǔn)確性。
2. 如果我們有一定代碼基礎(chǔ),可以集成以上小工具,完成一套 DTLE 的自動(dòng)化測試腳本,方便以后每次版本發(fā)布的回歸測試。
文章推薦:
數(shù)據(jù)傳輸 | dtle 使用初探數(shù)據(jù)傳輸 | dtle 之 job 實(shí)現(xiàn)簡析社區(qū)近期動(dòng)態(tài)
?點(diǎn)一下“閱讀原文”了解更多資訊
總結(jié)
以上是生活随笔為你收集整理的vs xaml 语句完成 自动列出成员_数据传输 | mysqldiff/mysqldbcompare 实现 DTLE 自动化测试...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hive 配置用户名_配置HiveSer
- 下一篇: mysql连接服务密码_Hydra爆破常