測試資料產生器(假資料:姓名、隨機地址,CSV/Excel)

測試資料產生器:依欄位選擇姓名、真實存在的郵遞區號與隨機地址、電子郵件、電話號碼、出生日期等資料類型,一次最多產生50,000列假資料,並匯出為CSV、Excel、JSON或SQL。支援美國與日本兩種格式。

產生資料範例

資料類型 日本 美國
姓名 佐藤 陽子 Emily Johnson
姓名(片假名讀音) サトウ ヨウコ —
姓名(羅馬拼音) Yoko Sato(護照式平文式羅馬字) —
性別、出生日期、年齡 女性, 1988-04-12, 38 Female, 1988-04-12, 38
電子郵件地址 [email protected] [email protected]
手機號碼 090-1234-5678 (415) 555-0123
市話號碼 03-1234-5678 (415) 555-0187
郵遞區號 064-0941(真實存在) 94103(真實存在)
地址 北海道札幌市中央区旭ケ丘2-14-7 さくらハイツ 203 4821 Oak Ave, Apt 12, San Francisco, CA 94103
地址(片假名讀音) ホッカイドウサッポロシチュウオウクアサヒガオカ2-14-7 —
公司名稱 株式会社みどり物産 Miller Holdings LLC
UUID、流水號ID 3f2a…-4…, USR-0001 3f2a…-4…, USR-0001
日期、日期時間、整數、小數、布林值、清單 2025-08-01 14:03:22, 42, 1980.50, true, 完了 2025-08-01 14:03:22, 42, 1980.50, true, done
假文字 これはテスト用のダミーテキストです。 Lorem ipsum dolor sit amet.

這款測試資料產生器能做什麼

開發與測試時,經常需要看起來像真實資料的測試資料。把正式環境的客戶紀錄複製到測試環境有隱私風險,而手動輸入數十筆姓名、地址和電話號碼既耗時又容易出錯。本工具會依照您定義的欄位產生測試資料——姓名、郵遞區號與街道地址、電子郵件地址、電話號碼、出生日期、公司名稱、UUID、價格等——一次最多可匯出50,000列,格式支援CSV、Excel、TSV、JSON和SQL。

本工具的特色在於同一列中的各個值彼此一致。姓名、電子郵件地址和性別都描述同一位產生的人物,年齡依出生日期計算,電話號碼使用與地址所在城市相符的區碼。郵遞區號、城市和州一律是真實存在的組合,因此可直接用來測試地址自動完成與驗證功能(門牌號碼和街道名稱是虛構的)。美國電話號碼只使用保留給虛構用途的555-0100至555-0199號段。資料地區可在美國與日本之間切換,所有資料都在您的瀏覽器中產生,不會上傳任何內容。

如何產生測試用假資料

  1. 選擇地區與預設範本 選擇「美國」或「日本」,再從客戶名單、通訊錄、銷售資料、會員中載入最接近需求的預設範本。
  2. 調整欄位 修改欄位名稱和資料類型,或新增、刪除、調整欄位順序。年齡範圍、分隔符號、選項清單等各類型的專屬設定請在「選項」欄中填寫。
  3. 視需要設定空值比例 如果想測試應用程式如何處理缺漏值,可以為每個欄位輸入應留空的列所占的百分比。
  4. 選擇列數與格式後產生 選擇列數(最多50,000列)和輸出格式,按下「產生資料」即可查看前10列的預覽。
  5. 下載或複製 將結果儲存為檔案,或複製到剪貼簿(Excel以外的格式皆可複製)。

用好本工具的小技巧

  • 如果要用Excel開啟CSV,請選擇「含BOM的UTF-8」,這樣帶重音的字母和非拉丁文字就不會變成亂碼;也可以直接下載Excel格式。
  • 在Excel檔案中,郵遞區號和電話號碼會以文字格式儲存,因此開頭的0(例如波士頓的02108)不會消失。只有整數、小數和年齡會成為可以加總的數值儲存格。
  • 輸入種子後,就能以相同的欄位定義再次得到完全相同的資料。在回報錯誤,或製作每次執行都不能改變的測試固定資料(fixture)時非常方便。
  • SQL格式會為每一列產生一條INSERT陳述式。欄位名稱只使用英文字母、數字和底線,指令碼就能在任何資料庫上直接執行。
  • 如需在產生後轉換資料格式,也可以使用CSV轉JSON工具或CSV轉Excel工具。

測試資料的應用情境

測試註冊表單與地址表單

由於郵遞區號、城市和州一律相互對應,您可以用逼真的輸入來檢查依郵遞區號自動帶入城市、州的下拉選單以及地址驗證功能。

檢查CSV匯入功能

產生不同字元編碼、換行字元和空值的檔案,確認匯入程式在任何一種情況下都不會出錯。

試用試算表與報表

將銷售資料預設範本匯出為Excel後,數量和價格都是真正的數值,可以直接用於樞紐分析表和公式。

為開發資料庫填入初始資料

使用SQL或JSON格式輸出,一次填入開發環境的資料表或模擬API(Mock API)。

展示與設計審查

在向客戶或團隊成員展示畫面之前,用可信的姓名和地址取代「測試測試」之類的佔位內容。

假資料與測試資料相關術語

假資料
為了測試而編造的資料。本工具中的姓名是將常見的姓和名隨機組合而成,並不指向任何真實的個人。
種子
偽隨機數產生器的起始數值。相同的種子加上相同的欄位定義,一律會產生相同的資料。
空值比例
某個欄位留空的列所占的比例。在CSV中輸出為空欄位,在JSON中輸出為null,在SQL中輸出為NULL。
BOM
位於檔案最開頭的標記(UTF-8中為EF BB BF)。Excel藉此判斷檔案為UTF-8編碼。
555號碼
在北美,555-0100至555-0199號段專門保留給虛構用途,因此這些號碼永遠不會撥通真實的用戶。
UUID
一種128位元的識別碼,以8-4-4-4-12位的十六進位數字表示。本工具產生的是第4版的格式。
平文式羅馬字(黑本式)
日本護照以拉丁字母書寫姓名時採用的拼寫方式。長音不標出,因此「サトウ」寫作SATO。

常見問題

姓名是產生器將常見的姓和名組合而成的,並不指向任何特定的人。地址中的郵遞區號、城市和州是真實存在的;門牌號碼、街道和公寓號碼是隨機產生的,但偶爾可能與真實地址一致。電子郵件地址只使用example.com、.test等保留給測試用的網域(RFC 2606),因此即使誤寄也不會送達真實的收件匣。請不要向產生的地址寄送任何物品。

美國格式不會。所有號碼都使用北美編號計畫(NANP)保留給虛構用途的555-0100至555-0199號段。日本沒有這樣的保留號段,因此以090/080/070或真實區碼開頭的日本號碼可能屬於某個真實的人。請絕對不要撥打產生的號碼或傳送簡訊。

Excel可能會以舊式編碼讀取不含BOM的CSV。請選擇「含BOM的UTF-8(適用於Excel)」後重新產生,或直接下載完全不受字元編碼影響的Excel格式。

為了讓瀏覽器維持順暢,一次最多可產生50,000列。如果需要更多,請使用不同的種子分批產生,再將它們合併。

目前支援美國與日本。由於各國的姓名、郵遞區號、地址和電話號碼格式各不相同,每個地區都需要對照真實資料進行確認。流水號ID、UUID、日期、數值、清單等通用類型在任何地區都能同樣使用。
工具君

閒話 ― 為什麼測試資料需要「帶種子」又「前後一致」

在軟體開發中,以假資料取代真實資料進行測試是標準做法。主要原因有兩個:一是隱私,真實的客戶紀錄不應存放在開發或測試環境中;二是可控性,可以刻意加入邊界情況和異常值。Ruby與Python的Faker、JavaScript的@faker-js/faker等函式庫之所以廣受歡迎,正是這個原因。

不過,純隨機的資料有一個弱點:無法重現。當某個測試偶然失敗時,很難判斷原因究竟是程式碼的錯誤,還是碰巧產生了特殊的值。帶種子的偽隨機數產生器(seeded PRNG)可以解決這個問題。本工具使用的mulberry32演算法速度快,而且對相同的種子一律回傳完全相同的數列,非常適合產生測試資料。它不適用於密碼學用途,但對測試資料來說,「確定且快速」更為重要。

另一個容易被忽略的是各個值之間的一致性。如果郵遞區號和城市是各自獨立產生的,就無法測試依郵遞區號自動帶入城市的表單;如果電話號碼是西雅圖的區碼而地址卻在邁阿密,比對兩者的驗證規則也就失去了意義。正因如此,本工具每一列都只建立一位人物和一個地址並在各欄位之間共用,而且每個地址使用的郵遞區號、城市和州都是真實對應的組合。