測試資料產生器(假資料:姓名、隨機地址,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號段。資料地區可在美國與日本之間切換,所有資料都在您的瀏覽器中產生,不會上傳任何內容。
如何產生測試用假資料
- 選擇地區與預設範本 選擇「美國」或「日本」,再從客戶名單、通訊錄、銷售資料、會員中載入最接近需求的預設範本。
- 調整欄位 修改欄位名稱和資料類型,或新增、刪除、調整欄位順序。年齡範圍、分隔符號、選項清單等各類型的專屬設定請在「選項」欄中填寫。
- 視需要設定空值比例 如果想測試應用程式如何處理缺漏值,可以為每個欄位輸入應留空的列所占的百分比。
- 選擇列數與格式後產生 選擇列數(最多50,000列)和輸出格式,按下「產生資料」即可查看前10列的預覽。
- 下載或複製 將結果儲存為檔案,或複製到剪貼簿(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。
常見問題
閒話 ― 為什麼測試資料需要「帶種子」又「前後一致」
在軟體開發中,以假資料取代真實資料進行測試是標準做法。主要原因有兩個:一是隱私,真實的客戶紀錄不應存放在開發或測試環境中;二是可控性,可以刻意加入邊界情況和異常值。Ruby與Python的Faker、JavaScript的@faker-js/faker等函式庫之所以廣受歡迎,正是這個原因。
不過,純隨機的資料有一個弱點:無法重現。當某個測試偶然失敗時,很難判斷原因究竟是程式碼的錯誤,還是碰巧產生了特殊的值。帶種子的偽隨機數產生器(seeded PRNG)可以解決這個問題。本工具使用的mulberry32演算法速度快,而且對相同的種子一律回傳完全相同的數列,非常適合產生測試資料。它不適用於密碼學用途,但對測試資料來說,「確定且快速」更為重要。
另一個容易被忽略的是各個值之間的一致性。如果郵遞區號和城市是各自獨立產生的,就無法測試依郵遞區號自動帶入城市的表單;如果電話號碼是西雅圖的區碼而地址卻在邁阿密,比對兩者的驗證規則也就失去了意義。正因如此,本工具每一列都只建立一位人物和一個地址並在各欄位之間共用,而且每個地址使用的郵遞區號、城市和州都是真實對應的組合。