示例CSV(虛擬資料)生成工具

只需指定列名和型別(序號ID、姓名、郵箱、日期、數值等),即可即時生成並下載用於測試和QA的虛擬CSV資料。

支援的資料型別

型別 生成示例
序號ID 1, 2, 3, ... 或帶字首的序號,如 USR-0001
姓名 混合日式與歐美風格的虛構姓名,如 Taro Yamada、Emma Smith
郵箱地址 [email protected](根據生成的姓名自動建立)
電話號碼 類似日本手機號格式的 090-1234-5678
日期 在指定範圍內的隨機日期,格式為 YYYY-MM-DD
整數 在指定的最小值與最大值範圍內的隨機整數
小數(金額等) 在指定範圍內的隨機小數(保留兩位小數)
布林值 true/false(標籤可自定義)
自由文本 類似 "Lorem ipsum dolor sit amet." 的隨機詞句

使用提示

  • 在種子欄輸入任意數字,即可從相同的列定義中反覆生成完全相同的虛擬資料,便於共享錯誤報告或自動化測試的fixture。
  • 生成的CSV遵循RFC 4180規範,包含逗號、換行符或雙引號的值都會被正確加引號和轉義。
  • 郵箱列會自動引用同一行中位於其前面的姓名列的資料,將兩者搭配使用可以得到內部一致的資料。
  • 所有生成過程完全在瀏覽器內完成,不會發送到任何伺服器——這是完全虛構的資料,不包含任何真實的個人資訊。
  • 行數上限為10,000行,以避免瀏覽器卡頓。如需更多資料,可固定種子後分批生成再合併檔案。

常見問題

完全無關。姓名、郵箱地址和電話號碼都是通過內建的測試姓名列表與虛擬域名/格式機械組合生成的,均不對應任何真實個人。

為避免瀏覽器卡頓,單次生成最多限制為10,000行。如需更多資料,可固定種子值分批生成,再將結果檔案合併使用。

種子是偽隨機數生成器的起始數值。使用相同的種子和相同的列定義,總能生成完全相同順序的虛擬資料。這在需要"隨機但可復現"的資料時非常有用,例如分享錯誤復現步驟,或在測試程式碼中與預期值進行比對。

部分名字採用了日語羅馬字表記(如 Taro、Hanako),但目前尚不支援生成漢字或假名姓名。不過列名和布林值標籤可以自由輸入包括中文在內的任意文本。

下載的檔案採用UTF-8編碼。直接用Excel開啟可能因編碼設定不同而出現亂碼,建議使用Excel的"資料"選項卡中的"從文本/CSV匯入",並明確將檔案來源指定為UTF-8。
ツールくん

閒話 ― 為什麼測試需要"帶種子"的虛擬資料

在軟體開發中,使用虛擬資料而非真實記錄進行測試是普遍做法,主要出於兩個原因:保護個人資訊(避免在開發或測試環境中出現真實客戶資料),以及可以自由地按需構造邊界情形和異常輸入。這也正是 Ruby 的 Faker、Python 的 Faker、JavaScript 的 @faker-js/faker 等庫被廣泛使用的原因。

然而,完全隨機的虛擬資料有一個弱點:不可復現。當某個測試偶爾失敗時,很難判斷原因究竟是邏輯上的真實缺陷,還是恰好生成了某個特殊的異常值所致。帶種子的偽隨機數生成器(seeded PRNG)正是為解決這一問題而生:只要給定相同的種子,每次執行都會得到完全相同的數列,也就是完全相同的虛擬資料,從而使缺陷復現和測試結果驗證變得容易得多。

本工具採用的 mulberry32 演算法,能夠以相對簡單的計算量生成質量較高的偽隨機數列,是 JavaScript 中常用的輕量級選擇。它並不適用於加密用途,但對於測試資料生成這種更看重"確定性與速度"的場景來說,恰恰是合適的選擇。