<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網易首頁 > 網易號 > 正文 申請入駐

      測試人員如何在測試環境數據庫批量生成測試數據?方案分享

      0
      分享至

      測試人員為了測試某個特定場景,往往需要在測試環境數據庫中插入特定的測試數據來滿足需求;

      性能測試時,常需要在測試環境生成大量可用測試數據來支持性能測試;

      建設持續集成持續交付體系時,我們往往也需要在測試環境生成測試數據來保障自動化用例可以持續穩定的運行。



      因此,如何在測試數據庫批量生成大量可用的測試數據就成為了測試領域一個關鍵而難解決的問題,本文就來講講測試數據批量生成工具的一種實現方案。

      測試數據生成的難點

      測試數據生成主要難點大致可以歸結為以下幾個方面:

      <1>編寫大量的sql語句費事耗力。

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

      <3>造數sql腳本復用性差。

      傳統數據生成工具的問題

      傳統批量數據生成工具基本思路有兩大類:

      方式1

      通過程序隨機的生成測試數據,而實際的實現過程中,對隨機的方式沒有精準的控制,往往造成以下結果,導致工具無法滿足實際需要:

      <1>數據隨機性太大,造出來的數據和真實數據差別太大。

      <2>隨機生成的數據往往存在大量不可用的臟數據。

      <3>很難解決多表關聯的數據生成。

      <4>生成的數據往往無法滿足特定場景的數據要求。

      方式2

      精準的針對某個特定場景編寫代碼造數,這種方式的缺點也很明顯:

      <1>代碼針對性太強,沒有通用性。

      <2>對測試人員代碼能力要求高。

      <3>業務邏輯或數據表結構發生變化,需要修改代碼,成本高。

      測試數據批量生成工具設計思路

      能夠真正滿足實際需要的數據生成工具,應當滿足以下要求:

      <1>有較好的通用性,不需要關心具體的業務或針對具體的系統。

      <2>對數據隨機生成有精準的控制能力,可以控制生成字段的長度、類型、能否重復、由什么字符組成等等。

      <3>必須解決表關聯數據生成的問題。

      <4>可配置化,不需要因為數據需求修改而改動程序代碼。

      本文介紹的工具實現方案遵循的基本思路是:在數據庫造數歸根結底是針對數據表的每個字段進行造數,需要設計一套配置方法,可以精準的描述每一個表字段數據的生成規則和限制。然后通過工具解析規則,批量生成數據。

      舉一個簡單的例子,有一張數據表的主鍵是一個長度固定為27位的數字,作為主鍵它不能重復。這時候對于這個字段的生成規則就有4條:

      <1>長度是27;

      <2>由純數字組成;

      <3>不能重復;

      <4>生成方式是隨機生成。

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

      實踐方案整體介紹

      通過上一節的例子不難看出,按照本文介紹的方式設計實現批量造數,核心重點在于如何用固定的,程序可解析的格式來描述數據生成的規則。下邊就詳細介紹一種方式。

      我們使用以下的json結構來描述整個數據生成的規則:



      json配置文件最外層有3個字段:

      connectionInfo:描述數據庫鏈接信息,將要造數的目標數據信息寫在這里。

      roles:這是一個json數據,用于描述多張表的數據生成規則,有幾張表,這個數組中就有幾個元素。

      sqlScriptNmae:最終生成的sql腳本名稱,本文介紹的工具不是直接將生成的數據寫入數據庫,而是將生成的數據轉換為對應的insert語句,生成sql腳本,以便根據需要執行。

      下邊看下connectionInfo和roles的具體內容:



      connectionInfo包括數據庫類型、host、端口、用戶名、密碼、連接的數據庫名稱6個字段,用于描述造數目標數據庫鏈接信息。

      再來看一下roles字段:



      roles描述數據生成規則,roles是一個數組,數組中的每一項描述一張表的數據生成規則,roles中的每一項有3個字段:

      tableName:當前配置規則是哪張表的。

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

      fields:一個json數據,里邊的每一項對應tableA的一個字段,描述這個字段的詳細生成規則。

      最后看一下fields中的每一項:



      每一個字段的生成規則,都是用上圖中的12個字段進行描述,字段說明如下:



      字段規則詳細說明

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

      <1>FIXED(固定值)



      <2>RELATED(關聯)



      <3>RANDAM(隨機)或RANDAM_UNIQUE(隨機不重復)



      <4>ENUM(枚舉)



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



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



      總結

      本文提出了一種通過配置字段生成規則來精準批量的生成測試數據的方案。這種方案增加了數據生成的通用性,同時能在較大程度上滿足對測試數據精準性的要求。

      但本文舉例的實踐方案也只是這種思路的一個具體實踐,相比較方案本身,筆者認為這種規則配置的數據生成思路更加重要。希望這篇文章可以在批量測試數據自動生成方面為你和你的團隊提供參考。

      最后:在我的V :atstudy-js,可以免費領取一份10G軟件測試工程師面試寶典文檔資料。以及相對應的視頻學習教程免費分享!其中包括了有基礎知識、Linux必備、Shell、互聯網程序原理、Mysql數據庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續集成、測試架構開發測試框架、性能測試、安全測試等。


      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

      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.

      相關推薦
      熱點推薦
      日媒:重磅!日政府私密文件曝光,小泉被孤立,高市內閣瘋狂內斗

      日媒:重磅!日政府私密文件曝光,小泉被孤立,高市內閣瘋狂內斗

      格斗聯盟有話說
      2026-04-04 11:28:26
      萬科前董事長郁亮曾兩次拒絕王石

      萬科前董事長郁亮曾兩次拒絕王石

      地產微資訊
      2026-03-04 08:40:10
      B站“上岸”了,愛優騰還在“海底”

      B站“上岸”了,愛優騰還在“海底”

      藍鯨新聞
      2026-04-03 12:53:31
      0-2到3-2!神劇情:拜仁讓二追三,補時連進2球,上演極限逆襲

      0-2到3-2!神劇情:拜仁讓二追三,補時連進2球,上演極限逆襲

      足球狗說
      2026-04-04 23:33:41
      媒體狂噴觀眾超愛!《馬里奧》新片被吐槽不搞LGBT

      媒體狂噴觀眾超愛!《馬里奧》新片被吐槽不搞LGBT

      游民星空
      2026-04-04 20:25:13
      意媒:意大利球員在戰波黑前申請30萬歐獎金,加圖索勸阻后作罷

      意媒:意大利球員在戰波黑前申請30萬歐獎金,加圖索勸阻后作罷

      懂球帝
      2026-04-04 21:17:58
      玄學提醒:如果一個人還在穿著10年前的衣服,只說明3個問題

      玄學提醒:如果一個人還在穿著10年前的衣服,只說明3個問題

      洞讀君
      2026-03-04 14:30:12
      輕斷食再次封神!復旦大學研究證實:讓肝臟脂肪在3月內少20.5%?

      輕斷食再次封神!復旦大學研究證實:讓肝臟脂肪在3月內少20.5%?

      健康科普365
      2026-04-02 10:16:49
      1965年,山西黃河發現巨龜,行走如百米大山,7人因此命喪黃泉

      1965年,山西黃河發現巨龜,行走如百米大山,7人因此命喪黃泉

      古怪奇談錄
      2025-05-09 14:24:29
      鈴木殺瘋了 全新150水冷踏板曝光 ABSTCS拉滿 1.3萬起要卷翻市場

      鈴木殺瘋了 全新150水冷踏板曝光 ABSTCS拉滿 1.3萬起要卷翻市場

      生活魔術專家
      2026-04-04 19:49:26
      伊朗圍著飛行員狩獵戰機,美軍第二次波黑救援失敗,大批戰機出事

      伊朗圍著飛行員狩獵戰機,美軍第二次波黑救援失敗,大批戰機出事

      堅果甜瓜
      2026-04-04 07:43:48
      暴雨大暴雨,要來了!

      暴雨大暴雨,要來了!

      環球時報國際
      2026-04-04 21:43:38
      資深站姐怒爆料!卡琳娜參加完浪姐和工作人員戀愛,同框照被扒出

      資深站姐怒爆料!卡琳娜參加完浪姐和工作人員戀愛,同框照被扒出

      一盅情懷
      2026-04-04 09:12:18
      馬興全與他的深圳生意

      馬興全與他的深圳生意

      法經網
      2025-12-15 17:52:35
      不裝闊不套近乎!李亞鵬隔空回應張雪:現狀買不起,但兄弟我拉群

      不裝闊不套近乎!李亞鵬隔空回應張雪:現狀買不起,但兄弟我拉群

      小娛樂悠悠
      2026-04-04 17:32:57
      被炸毀的伊朗大橋是誰建的

      被炸毀的伊朗大橋是誰建的

      阿亮評論
      2026-04-03 10:00:44
      隨著皇馬1-2爆冷+皇家社會2-0!西甲最新積分榜:被巴薩甩開4分

      隨著皇馬1-2爆冷+皇家社會2-0!西甲最新積分榜:被巴薩甩開4分

      萬花筒體育球球
      2026-04-05 01:42:27
      大結局要來了!伊朗憋了一個月的大招,終于放出來!不是核彈,卻比核彈還狠!

      大結局要來了!伊朗憋了一個月的大招,終于放出來!不是核彈,卻比核彈還狠!

      喀秋莎大世界
      2026-04-03 22:17:35
      斯諾克巡回錦標賽戰報:趙心童6-0希金斯,開局6連鞭要進決賽

      斯諾克巡回錦標賽戰報:趙心童6-0希金斯,開局6連鞭要進決賽

      越嶺尋蹤
      2026-04-05 03:55:43
      孩子把同學鞋子踩壞,家長照價賠償后發視頻自證,對方卻急眼了

      孩子把同學鞋子踩壞,家長照價賠償后發視頻自證,對方卻急眼了

      朗威談星座
      2026-04-04 17:43:37
      2026-04-05 04:32:49
      51Testing軟件測試網 incentive-icons
      51Testing軟件測試網
      中國軟件測試人的精神家園
      1549文章數 13258關注度
      往期回顧 全部

      科技要聞

      內存一年漲四倍!國產手機廠商集體漲價

      頭條要聞

      伊朗發動第七輪導彈襲擊 耶路撒冷攔截導彈升空

      頭條要聞

      伊朗發動第七輪導彈襲擊 耶路撒冷攔截導彈升空

      體育要聞

      剎不住的泰格·伍茲,口袋里的兩粒藥丸

      娛樂要聞

      Q女士反擊,否認逼宋寧峰張婉婷離婚

      財經要聞

      中微董事長,給半導體潑點冷水

      汽車要聞

      17萬級海豹07EV 不僅續航長還有9分鐘滿電的快樂

      態度原創

      房產
      旅游
      親子
      教育
      軍事航空

      房產要聞

      小陽春全面啟動!現房,才是這波行情里最穩的上車票

      旅游要聞

      櫻郵聯動!郵輪游客赴顧村公園賞櫻,解鎖“一票雙享”新玩法

      親子要聞

      我這個00后舅舅怎么這么會帶娃

      教育要聞

      這些英國大學開始崩盤!

      軍事要聞

      美軍又一架戰機墜毀 此前F-15E被擊落

      無障礙瀏覽 進入關懷版