<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.

      相關推薦
      熱點推薦
      拉什福德接受19萬周薪,永久轉會巴薩已定!曼聯不降價但同意分期

      拉什福德接受19萬周薪,永久轉會巴薩已定!曼聯不降價但同意分期

      羅米的曼聯博客
      2026-02-28 10:42:01
      不慣著!女子回婆家過年,車被妯娌砸爛,報警硬剛到底,結局亮了

      不慣著!女子回婆家過年,車被妯娌砸爛,報警硬剛到底,結局亮了

      川渝視覺
      2026-02-28 09:15:48
      世界首次五百強30 年反轉,日本149家,美國151家,中國3家

      世界首次五百強30 年反轉,日本149家,美國151家,中國3家

      愛吃醋的貓咪
      2026-02-27 17:51:23
      中國要做好戰爭準備,中國的下場戰爭不是印度菲律賓越南而是日本

      中國要做好戰爭準備,中國的下場戰爭不是印度菲律賓越南而是日本

      百態人間
      2026-01-09 17:17:17
      新加坡大滿貫賽:大捷報!林昀儒4:1淘汰世界亞軍,晉級男單4強

      新加坡大滿貫賽:大捷報!林昀儒4:1淘汰世界亞軍,晉級男單4強

      國乒二三事
      2026-02-28 19:55:46
      把天捅破!美國駐以色列大使:若以色列拿下整個中東,那也沒問題

      把天捅破!美國駐以色列大使:若以色列拿下整個中東,那也沒問題

      達文西看世界
      2026-02-22 21:18:10
      每天4點起床做包子,這位00后上海小囡,在國企食堂干出了全網羨慕的松弛感!

      每天4點起床做包子,這位00后上海小囡,在國企食堂干出了全網羨慕的松弛感!

      新民晚報
      2026-02-28 21:23:57
      34歲評上副教授,直接躺平15年!山東一教師自曝生活狀態,引爭議

      34歲評上副教授,直接躺平15年!山東一教師自曝生活狀態,引爭議

      火山詩話
      2026-02-27 09:09:49
      網傳阿塔最高領導人阿洪扎達在空襲中身亡

      網傳阿塔最高領導人阿洪扎達在空襲中身亡

      頭條爆料007
      2026-02-28 06:29:13
      馬布里,48歲,剛領著一位中國姑娘去領了證。

      馬布里,48歲,剛領著一位中國姑娘去領了證。

      南權先生
      2026-02-28 15:50:16
      完全體廣東來了!崔永熙首秀,徐杰正式復出,杜鋒打響爭冠第一槍

      完全體廣東來了!崔永熙首秀,徐杰正式復出,杜鋒打響爭冠第一槍

      多特體育說
      2026-02-28 21:59:57
      梅西封神了!球王之爭已經終結,歷史第一人再無懸念

      梅西封神了!球王之爭已經終結,歷史第一人再無懸念

      籃球看比賽
      2026-02-28 17:05:26
      寶馬iX給出最大誠意!售價直降23.79萬,網友:有它不要奔馳

      寶馬iX給出最大誠意!售價直降23.79萬,網友:有它不要奔馳

      汽車網評
      2026-02-28 21:28:03
      為什么這次伊朗不升旗了?因為升旗的地方已經被炸了

      為什么這次伊朗不升旗了?因為升旗的地方已經被炸了

      怪口歷史的K先生
      2026-02-28 17:12:58
      44歲高云翔天津街邊攤煎餅,穿著樸素動作生澀,直言找到新工作了

      44歲高云翔天津街邊攤煎餅,穿著樸素動作生澀,直言找到新工作了

      一盅情懷
      2026-02-28 17:55:12
      內馬爾:我跟維尼修斯說,他進球再做和首回合同樣的慶祝動作

      內馬爾:我跟維尼修斯說,他進球再做和首回合同樣的慶祝動作

      懂球帝
      2026-02-28 19:27:26
      梅婷大年初九在北京別墅宴客,和德華劉琳同框,吃海鮮大口喝酒

      梅婷大年初九在北京別墅宴客,和德華劉琳同框,吃海鮮大口喝酒

      林雁飛
      2026-02-27 16:36:10
      美方要求中方參加中美俄三邊核裁軍談判,外交部:不公平、不合理也不可行!“中國的核力量同美俄完全不在一個量級”

      美方要求中方參加中美俄三邊核裁軍談判,外交部:不公平、不合理也不可行!“中國的核力量同美俄完全不在一個量級”

      每日經濟新聞
      2026-02-27 17:25:20
      特朗普說等行動結束接管伊朗政府

      特朗普說等行動結束接管伊朗政府

      財聯社
      2026-02-28 16:38:07
      俄羅斯全境響起導彈警報聲,伊朗陸軍司令確定已死亡

      俄羅斯全境響起導彈警報聲,伊朗陸軍司令確定已死亡

      史政先鋒
      2026-02-28 22:13:45
      2026-02-28 23:16:49
      51Testing軟件測試網 incentive-icons
      51Testing軟件測試網
      中國軟件測試人的精神家園
      1528文章數 13252關注度
      往期回顧 全部

      科技要聞

      狂攬1100億美元!OpenAI再創融資神話

      頭條要聞

      美以襲擊伊朗 華人緊急逃離德黑蘭:沒想到來得這么快

      頭條要聞

      美以襲擊伊朗 華人緊急逃離德黑蘭:沒想到來得這么快

      體育要聞

      球隊主力全報銷?頂風擺爛演都不演了

      娛樂要聞

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

      財經要聞

      沖突爆發 市場變天?

      汽車要聞

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

      態度原創

      教育
      數碼
      藝術
      游戲
      時尚

      教育要聞

      這件事不做對,將來孩子會恨你!

      數碼要聞

      達爾優推出聽界A3/Pro無線游戲耳機新品,199~229元

      藝術要聞

      就是這個畫風,美的我有點兒接受不了!

      《怪獵荒野》一周年:仍未走出差評深淵

      這6款發色居然這么火?50張圖可以直接給tony

      無障礙瀏覽 進入關懷版