測試公司資料是一整套刻意合成出來的企業主體描述:名稱、登記號、稅務號、登記地址與聯絡窗口都對應不上任何真實存在的公司,卻要在格式與彼此關係上像真的。讀完這篇,你會知道這套資料在哪些環節填補了空缺、為什麼不能順手拿客戶的營業登記來試,以及一條可用的企業樣本該具備什麼形狀。
測試公司資料到底解決什麼問題
企業相關的功能幾乎都不是靠單一欄位就能驗證的。表單要判斷必填與否、開票流程要決定帶入哪些欄位、後台要能把同一家公司底下的多筆訂單歸在一起、稽核報表要能依國家分組。這些行為的共同點是需要一整條主體紀錄,而且這條紀錄要能重複出現、重複刪除、重複匯入。
真實企業資料在這個場景裡幫不上忙。要取得它得先有授權,取得之後又不能任意複製,更不能在上百次自動化執行裡被反覆建立與刪除。於是合成出來的公司資料就成了唯一能同時滿足「像真的」與「可以隨便用」的東西。
它與隨手填一個假公司名最大的差別在於內部一致性。名稱後綴要和所選的法律形式對得上,登記號要和登記國家對得上,登記地址要和同一個國家的行政區與郵遞區號寫法對得上,稅務號要和開票情境對得上。只有這樣的樣本才跑得完正常路徑;欄位彼此矛盾的樣本,通常只會測到錯誤處理那一段。
還有一層容易被忽略的價值是討論的語言。當產品、法務、財務與測試在看同一筆虛構主體時,欄位齊全的樣本讓爭論集中在流程本身,而不是「這裡的資料本來就少一欄所以看不出來」。
什麼時候會真的需要它?
| 情境 | 對樣本的要求 |
|---|---|
| 表單與欄位驗證 | 格式合法的主體,另加幾筆刻意越界的值 |
| 開票與帳單流程 | 要能同時涵蓋有稅務號與沒有稅務號兩條路徑 |
| 沙箱與第三方串接 | 主體要穩定,同一組輸入每次得到同一條紀錄 |
| 示範與教育訓練 | 讀起來自然,且不會被誤認成真實公司 |
需要它的時機比多數人想像得多。會員或客戶主檔要有人可以填、企業入口網要有人可以登入、客服系統要有人可以搜尋、資料匯入要有一批可以重複跑的輸入。這些場合的共通點是需要一整條紀錄,而不是某一個值。
把需求攤開來看,就會發現它們對真實度的要求並不相同。示範用的樣本要讀起來自然、不要讓觀眾誤會;壓力測試用的樣本只要能大量產生、形狀正確即可;回歸測試用的樣本則必須固定不變。用同一批資料硬撐所有情境,通常會在某個環節出問題。
為什麼不該拿真實企業的登記資料來試?
第一個理由是授權。客戶為了簽約或開票而交付的營業登記資料,用途是完成那筆交易;把它複製到測試環境去驗證一個不相關的功能,本身就超出了原本的用途,而且往往沒有留下任何紀錄。
第二個理由是擴散。企業主體資料一旦進入測試環境,就會跟著備份、資料庫分支、容器映像與每一台開發機器散開。測試環境的存取控制通常比正式環境寬鬆,能碰到資料的人更多,而資料又很容易被貼進工單、對話紀錄與螢幕截圖裡。事後想收回,幾乎不可能。
第三個理由是測試本身。真實主體往往只覆蓋了少數幾種法律形式與國家組合,用它們跑測試容易產生「剛好都對」的錯覺,反而掩蓋了規則沒有寫好的地方。合成的樣本可以刻意排出各種組合,這正是真實資料做不到的。
第四個理由是誤用。一筆帶著真實登記號的樣本,若出現在對外的示範、截圖或文件裡,就可能被當成某家公司的實際資料流通出去。這種傷害與資料準不準無關,而是冒用他人企業身分。
一條企業樣本通常由哪些部分組成
多數企業樣本可以拆成四組資訊。第一組是識別用的名稱,包含法定名稱與對外顯示名稱。第二組是官方編號,包含登記機關發出的登記號與稅務用途的稅務號。第三組是所在地,包含登記地址與聯絡地址。第四組是往來資訊,包含聯絡人、電話與電子郵件。
這四組之間有方向性,不是並排放在一起就成立:
- 名稱後綴跟著法律形式走,法律形式跟著登記地走。
- 登記號的形狀由登記地的規則決定,換一個國家就得換一種寫法。
- 登記地址的行政區與郵遞區號寫法,同樣由登記地決定。
- 稅務號屬於開票情境,與登記號是兩個不同的欄位,不該互相代替。
當一筆樣本看起來怪,通常是其中一條關係被打破了,而不是某個欄位格式寫錯。
本站可以產生什麼樣的虛構公司
在本站的公司資訊產生器裡,可以指定國家或地區,一次產生公司名稱、行業、規模、法律形式、登記資本地址、聯絡電話,以及該國的登記號與增值稅號。同一次產生的欄位都屬於同一條紀錄,不會出現甲國的名稱配乙國的編號。關於編號在跨國情境裡為什麼長得不一樣,可以接著讀各國公司註冊號;若你的情境涉及開票欄位,各國 VAT 號格式整理了這個欄位在流程中的位置。
需要強調的是,這些內容只供測試、示範與流程演練使用,不能拿去申請真實的開戶或資質,也不該被當成通過企業審核的依據。
給開發者:企業樣本要包含哪些欄位
設計企業樣本時,先把欄位分成「辨識」「編號」「地點」「往來」四類,再決定每一類的必填與選填。名稱與登記地必須必填,因為編號與地址的形狀都從它們衍生;稅務號與聯絡人可以選填,但選填不等於可以留空字串,欄位缺席與欄位為空在流程裡通常是兩種狀態。
唯一性要處理兩層。一層是同一批樣本內不得重複,否則匯入與去重邏輯測不出東西;另一層是樣本要能穩定重現,同一組輸入每次得到同一條紀錄,失敗才重現得出來。這兩層常常互相拉扯,務實的做法是把識別碼與內容分開:識別碼固定,內容可以依情境抽換。
最後是環境。企業樣本只能在測試、沙箱與示範環境裡流動,不該有任何人為或自動的路徑把它推進正式環境;樣本本身也該帶有明顯的虛構標記,讓它在截圖與匯出檔裡一眼可辨。若你想讓樣本在版控裡長期存活而不腐化,可以參考可重現的測試資料。
下一步
先盤點你的測試環境裡有沒有來自真實客戶的企業主體,有的話換成合成樣本,並確認沒有任何自動流程會再把它寫回去。接著替最重要的三條流程各準備一筆固定樣本,讓失敗可以穩定重現。
當流程開始涉及企業准入,樣本的種類會突然變多。這種情況該檢查哪些項目,整理在企業准入測試檢查清單。本系列所有內容僅供軟體測試、表單示範與資料填充使用,全部為演算法合成的虛構主體,不對應任何真實公司,也不得用於冒充他人企業身分。