国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

測(cè)試人員如何在測(cè)試環(huán)境數(shù)據(jù)庫(kù)批量生成測(cè)試數(shù)據(jù)?方案分享

0
分享至

測(cè)試人員為了測(cè)試某個(gè)特定場(chǎng)景,往往需要在測(cè)試環(huán)境數(shù)據(jù)庫(kù)中插入特定的測(cè)試數(shù)據(jù)來滿足需求;

性能測(cè)試時(shí),常需要在測(cè)試環(huán)境生成大量可用測(cè)試數(shù)據(jù)來支持性能測(cè)試;

建設(shè)持續(xù)集成持續(xù)交付體系時(shí),我們往往也需要在測(cè)試環(huán)境生成測(cè)試數(shù)據(jù)來保障自動(dòng)化用例可以持續(xù)穩(wěn)定的運(yùn)行。

因此,如何在測(cè)試數(shù)據(jù)庫(kù)批量生成大量可用的測(cè)試數(shù)據(jù)就成為了測(cè)試領(lǐng)域一個(gè)關(guān)鍵而難解決的問題,本文就來講講測(cè)試數(shù)據(jù)批量生成工具的一種實(shí)現(xiàn)方案。

測(cè)試數(shù)據(jù)生成的難點(diǎn)

測(cè)試數(shù)據(jù)生成主要難點(diǎn)大致可以歸結(jié)為以下幾個(gè)方面:

<1>編寫大量的sql語(yǔ)句費(fèi)事耗力。

<2>由于主鍵、外鍵和業(yè)務(wù)本身的邏輯約束,很難通過寫sql一次性大批量插入測(cè)試數(shù)據(jù),往往的情況是需要對(duì)sql的一些關(guān)鍵字段進(jìn)行一些修改,如對(duì)id字段進(jìn)行修改避免重復(fù)。

<3>造數(shù)sql腳本復(fù)用性差。

傳統(tǒng)數(shù)據(jù)生成工具的問題

傳統(tǒng)批量數(shù)據(jù)生成工具基本思路有兩大類:

方式1

通過程序隨機(jī)的生成測(cè)試數(shù)據(jù),而實(shí)際的實(shí)現(xiàn)過程中,對(duì)隨機(jī)的方式?jīng)]有精準(zhǔn)的控制,往往造成以下結(jié)果,導(dǎo)致工具無法滿足實(shí)際需要:

<1>數(shù)據(jù)隨機(jī)性太大,造出來的數(shù)據(jù)和真實(shí)數(shù)據(jù)差別太大。

<2>隨機(jī)生成的數(shù)據(jù)往往存在大量不可用的臟數(shù)據(jù)。

<3>很難解決多表關(guān)聯(lián)的數(shù)據(jù)生成。

<4>生成的數(shù)據(jù)往往無法滿足特定場(chǎng)景的數(shù)據(jù)要求。

方式2

精準(zhǔn)的針對(duì)某個(gè)特定場(chǎng)景編寫代碼造數(shù),這種方式的缺點(diǎn)也很明顯:

<1>代碼針對(duì)性太強(qiáng),沒有通用性。

<2>對(duì)測(cè)試人員代碼能力要求高。

<3>業(yè)務(wù)邏輯或數(shù)據(jù)表結(jié)構(gòu)發(fā)生變化,需要修改代碼,成本高。

測(cè)試數(shù)據(jù)批量生成工具設(shè)計(jì)思路

能夠真正滿足實(shí)際需要的數(shù)據(jù)生成工具,應(yīng)當(dāng)滿足以下要求:

<1>有較好的通用性,不需要關(guān)心具體的業(yè)務(wù)或針對(duì)具體的系統(tǒng)。

<2>對(duì)數(shù)據(jù)隨機(jī)生成有精準(zhǔn)的控制能力,可以控制生成字段的長(zhǎng)度、類型、能否重復(fù)、由什么字符組成等等。

<3>必須解決表關(guān)聯(lián)數(shù)據(jù)生成的問題。

<4>可配置化,不需要因?yàn)閿?shù)據(jù)需求修改而改動(dòng)程序代碼。

本文介紹的工具實(shí)現(xiàn)方案遵循的基本思路是:在數(shù)據(jù)庫(kù)造數(shù)歸根結(jié)底是針對(duì)數(shù)據(jù)表的每個(gè)字段進(jìn)行造數(shù),需要設(shè)計(jì)一套配置方法,可以精準(zhǔn)的描述每一個(gè)表字段數(shù)據(jù)的生成規(guī)則和限制。然后通過工具解析規(guī)則,批量生成數(shù)據(jù)。

舉一個(gè)簡(jiǎn)單的例子,有一張數(shù)據(jù)表的主鍵是一個(gè)長(zhǎng)度固定為27位的數(shù)字,作為主鍵它不能重復(fù)。這時(shí)候?qū)τ谶@個(gè)字段的生成規(guī)則就有4條:

<1>長(zhǎng)度是27;

<2>由純數(shù)字組成;

<3>不能重復(fù);

<4>生成方式是隨機(jī)生成。

我們只需要將每一張表的每一個(gè)字段的數(shù)據(jù)生成規(guī)則都拆解成上邊例子一樣,然后用特定的格式描述出來,利用程序解析這些規(guī)則,就可以批量的生成符合要求的測(cè)試數(shù)據(jù)了。

實(shí)踐方案整體介紹

通過上一節(jié)的例子不難看出,按照本文介紹的方式設(shè)計(jì)實(shí)現(xiàn)批量造數(shù),核心重點(diǎn)在于如何用固定的,程序可解析的格式來描述數(shù)據(jù)生成的規(guī)則。下邊就詳細(xì)介紹一種方式。

我們使用以下的json結(jié)構(gòu)來描述整個(gè)數(shù)據(jù)生成的規(guī)則:

json配置文件最外層有3個(gè)字段:

connectionInfo:描述數(shù)據(jù)庫(kù)鏈接信息,將要造數(shù)的目標(biāo)數(shù)據(jù)信息寫在這里。

roles:這是一個(gè)json數(shù)據(jù),用于描述多張表的數(shù)據(jù)生成規(guī)則,有幾張表,這個(gè)數(shù)組中就有幾個(gè)元素。

sqlScriptNmae:最終生成的sql腳本名稱,本文介紹的工具不是直接將生成的數(shù)據(jù)寫入數(shù)據(jù)庫(kù),而是將生成的數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的insert語(yǔ)句,生成sql腳本,以便根據(jù)需要執(zhí)行。

下邊看下connectionInfo和roles的具體內(nèi)容:

connectionInfo包括數(shù)據(jù)庫(kù)類型、host、端口、用戶名、密碼、連接的數(shù)據(jù)庫(kù)名稱6個(gè)字段,用于描述造數(shù)目標(biāo)數(shù)據(jù)庫(kù)鏈接信息。

再來看一下roles字段:

roles描述數(shù)據(jù)生成規(guī)則,roles是一個(gè)數(shù)組,數(shù)組中的每一項(xiàng)描述一張表的數(shù)據(jù)生成規(guī)則,roles中的每一項(xiàng)有3個(gè)字段:

tableName:當(dāng)前配置規(guī)則是哪張表的。

size:想要一次性批量生成數(shù)據(jù)的數(shù)量,如上圖一次為tableA表生成100條數(shù)據(jù)。

fields:一個(gè)json數(shù)據(jù),里邊的每一項(xiàng)對(duì)應(yīng)tableA的一個(gè)字段,描述這個(gè)字段的詳細(xì)生成規(guī)則。

最后看一下fields中的每一項(xiàng):

每一個(gè)字段的生成規(guī)則,都是用上圖中的12個(gè)字段進(jìn)行描述,字段說明如下:

字段規(guī)則詳細(xì)說明

上一節(jié)看到字段的生成方式總共有9種,本節(jié)詳細(xì)說明這9種生成方式和它們的配合字段如何描述生成規(guī)則。

<1>FIXED(固定值)

<2>RELATED(關(guān)聯(lián))

<3>RANDAM(隨機(jī))或RANDAM_UNIQUE(隨機(jī)不重復(fù))

<4>ENUM(枚舉)

<5>NUMRANGE(數(shù)字范圍)或NUMRANGE_UNIQUE(數(shù)字范圍不重復(fù))

<6>SQL(sql提取)或SQL_UNIQUE(sql提取不重復(fù))

總結(jié)

本文提出了一種通過配置字段生成規(guī)則來精準(zhǔn)批量的生成測(cè)試數(shù)據(jù)的方案。這種方案增加了數(shù)據(jù)生成的通用性,同時(shí)能在較大程度上滿足對(duì)測(cè)試數(shù)據(jù)精準(zhǔn)性的要求。

但本文舉例的實(shí)踐方案也只是這種思路的一個(gè)具體實(shí)踐,相比較方案本身,筆者認(rèn)為這種規(guī)則配置的數(shù)據(jù)生成思路更加重要。希望這篇文章可以在批量測(cè)試數(shù)據(jù)自動(dòng)生成方面為你和你的團(tuán)隊(duì)提供參考。

最后:在我的V :atstudy-js,可以免費(fèi)領(lǐng)取一份10G軟件測(cè)試工程師面試寶典文檔資料。以及相對(duì)應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!其中包括了有基礎(chǔ)知識(shí)、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫(kù)、抓包工具專題、接口測(cè)試工具、測(cè)試進(jìn)階-Python編程、Web自動(dòng)化測(cè)試、APP自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試、測(cè)試高級(jí)持續(xù)集成、測(cè)試架構(gòu)開發(fā)測(cè)試框架、性能測(cè)試、安全測(cè)試等。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
上海醫(yī)院最好的“眼耳鼻喉”科室排名,建議先收藏

上海醫(yī)院最好的“眼耳鼻喉”科室排名,建議先收藏

華庭講美食
2026-02-28 19:54:50
“聯(lián)系大使館!必須派飛機(jī)!”

“聯(lián)系大使館!必須派飛機(jī)!”

百態(tài)人間
2026-02-05 15:35:32
周扒皮都怕!女兒替父請(qǐng)假2小時(shí)遭辭退,店已關(guān)門,老板底褲被扒

周扒皮都怕!女兒替父請(qǐng)假2小時(shí)遭辭退,店已關(guān)門,老板底褲被扒

千言?shī)蕵酚?/span>
2026-02-28 14:42:55
千萬(wàn)網(wǎng)紅“一栗小莎子”確診癌癥,不良惡習(xí)害了她,兒子不到兩歲

千萬(wàn)網(wǎng)紅“一栗小莎子”確診癌癥,不良惡習(xí)害了她,兒子不到兩歲

溫讀史
2026-01-24 07:39:28
霍爾木茲陷入停滯?券商策略會(huì)火爆!國(guó)際暗金飆至5500?張憶東研判

霍爾木茲陷入停滯?券商策略會(huì)火爆!國(guó)際暗金飆至5500?張憶東研判

金石隨筆
2026-03-01 00:10:48
陳幸同意難平,不僅因?yàn)?:4慘敗陳熠,更多在于以下這四點(diǎn):

陳幸同意難平,不僅因?yàn)?:4慘敗陳熠,更多在于以下這四點(diǎn):

林子說事
2026-02-28 19:37:05
慌了!東莞南城要跌破1字頭了……

慌了!東莞南城要跌破1字頭了……

樓市滅霸
2026-02-28 22:56:28
丈夫影院暴打男小三,妻子帶娃出軌視頻曝光,真容被扒后續(xù)更炸裂

丈夫影院暴打男小三,妻子帶娃出軌視頻曝光,真容被扒后續(xù)更炸裂

壹月情感
2026-02-28 14:02:30
官宣在即!阿森納 5100 萬(wàn)敲定后防新核,巴薩趁機(jī)挖角!

官宣在即!阿森納 5100 萬(wàn)敲定后防新核,巴薩趁機(jī)挖角!

瀾歸序
2026-03-01 06:17:05
人可以狠心到什么程度?看網(wǎng)友講述,發(fā)現(xiàn)我真做不到這般絕

人可以狠心到什么程度?看網(wǎng)友講述,發(fā)現(xiàn)我真做不到這般絕

侃神評(píng)故事
2026-02-27 07:40:03
CP感真玄學(xué),25歲陳飛宇和38歲陳曉,同演孫千愛人,但差距太明顯

CP感真玄學(xué),25歲陳飛宇和38歲陳曉,同演孫千愛人,但差距太明顯

亦暖追劇隨筆
2026-02-28 17:24:22
2-0進(jìn)四強(qiáng)!中國(guó)女網(wǎng)15歲天才新星閃耀成人賽:追趕鄭欽文王欣瑜

2-0進(jìn)四強(qiáng)!中國(guó)女網(wǎng)15歲天才新星閃耀成人賽:追趕鄭欽文王欣瑜

李喜林籃球絕殺
2026-02-28 10:09:14
汪小菲吐槽小汪寶心眼太多,回應(yīng)玥箖上學(xué)問題,筱梅或成了導(dǎo)火索

汪小菲吐槽小汪寶心眼太多,回應(yīng)玥箖上學(xué)問題,筱梅或成了導(dǎo)火索

查爾菲的筆記
2026-02-28 13:39:27
美以宣布哈梅內(nèi)伊已身亡,伊朗否認(rèn);伊朗關(guān)閉霍爾木茲海峽;多家航司出臺(tái)中東航線退改方案;伯克希爾哈撒韋去年凈利潤(rùn)669億美元丨每經(jīng)早參

美以宣布哈梅內(nèi)伊已身亡,伊朗否認(rèn);伊朗關(guān)閉霍爾木茲海峽;多家航司出臺(tái)中東航線退改方案;伯克希爾哈撒韋去年凈利潤(rùn)669億美元丨每經(jīng)早參

每日經(jīng)濟(jì)新聞
2026-03-01 07:07:07
一句臟話葬送22年努力!看著滿頭白發(fā)的周煒,郭冬臨效應(yīng)還在繼續(xù)

一句臟話葬送22年努力!看著滿頭白發(fā)的周煒,郭冬臨效應(yīng)還在繼續(xù)

姩姩有娛
2026-02-26 14:48:49
你聞過最難聞的味道是什么?網(wǎng)友:分手多年,依然忘不了她的味道

你聞過最難聞的味道是什么?網(wǎng)友:分手多年,依然忘不了她的味道

另子維愛讀史
2026-01-03 21:33:36
壽命延長(zhǎng)40倍?Cell:高劑量維生素B3(NR),逆轉(zhuǎn)致死性代謝缺陷

壽命延長(zhǎng)40倍?Cell:高劑量維生素B3(NR),逆轉(zhuǎn)致死性代謝缺陷

時(shí)光派健康抗衰
2026-02-27 17:52:58
伊朗宣布啟動(dòng)“誠(chéng)實(shí)承諾4號(hào)”大規(guī)模軍事行動(dòng)

伊朗宣布啟動(dòng)“誠(chéng)實(shí)承諾4號(hào)”大規(guī)模軍事行動(dòng)

每日經(jīng)濟(jì)新聞
2026-02-28 18:47:10
曼聯(lián)更衣室呼吁轉(zhuǎn)正卡里克,三大佬力挺!索斯蓋特明確拒執(zhí)教紅魔

曼聯(lián)更衣室呼吁轉(zhuǎn)正卡里克,三大佬力挺!索斯蓋特明確拒執(zhí)教紅魔

羅米的曼聯(lián)博客
2026-03-01 09:53:10
美國(guó)關(guān)閉GPS,導(dǎo)彈依舊精準(zhǔn)轟炸以色列,誰(shuí)干的?中國(guó)還是俄羅斯

美國(guó)關(guān)閉GPS,導(dǎo)彈依舊精準(zhǔn)轟炸以色列,誰(shuí)干的?中國(guó)還是俄羅斯

高山非凡創(chuàng)作
2024-05-09 05:48:13
2026-03-01 10:27:00
51Testing軟件測(cè)試網(wǎng) incentive-icons
51Testing軟件測(cè)試網(wǎng)
中國(guó)軟件測(cè)試人的精神家園
1528文章數(shù) 13252關(guān)注度
往期回顧 全部

科技要聞

狂攬1100億美元!OpenAI再創(chuàng)融資神話

頭條要聞

牛彈琴:中東大戰(zhàn)開始 有三個(gè)可怕的后果

頭條要聞

牛彈琴:中東大戰(zhàn)開始 有三個(gè)可怕的后果

體育要聞

球隊(duì)主力全報(bào)銷?頂風(fēng)擺爛演都不演了

娛樂要聞

周杰倫兒子正面照曝光,與父親好像

財(cái)經(jīng)要聞

沖突爆發(fā) 市場(chǎng)變天?

汽車要聞

嵐圖泰山黑武士版3月上市 搭載華為四激光智駕方案

態(tài)度原創(chuàng)

藝術(shù)
家居
旅游
房產(chǎn)
健康

藝術(shù)要聞

這9個(gè)字讓你懷舊,能全認(rèn)出就是真正的書法家!

家居要聞

素色肌理 品意式格調(diào)

旅游要聞

春晚一鳴,“爾濱”“燃”冬!百萬(wàn)人潮涌入中央大街,道里區(qū)交出開年最“熱”文旅答卷

房產(chǎn)要聞

濱江九小也來了!集齊海僑北+哈羅、寰島...江東教育要炸了!

轉(zhuǎn)頭就暈的耳石癥,能開車上班嗎?

無障礙瀏覽 進(jìn)入關(guān)懷版