選單

測試身份資料是什麼?測試環境為何不該用真實個人資料

測試身份資料是為了驗證表單、流程與批次作業而合成出來的假資料。本文說明它解決哪些問題、什麼時候需要它、真實個資為什麼不能進測試環境,以及一條身份紀錄通常由哪些欄位組成。

發佈於

  • 測試資料
  • 身份資訊

測試身份資料指的是為了驗證系統行為而合成出來的姓名、證件號、出生日期、地址與聯絡方式,它不對應任何真人,卻要長得像真的。以下說明它實際解決哪些問題、什麼場合會用到它、真實個資為什麼不該留在測試環境,以及一條身份紀錄通常由哪些欄位組成。

測試身份資料到底解決什麼問題

表單能不能接受各種長度的姓名、系統能不能正確算出年齡、批次匯入會不會因為一筆格式怪異的證件號而整批中斷——這些問題都得靠資料才驗證得出來。真實資料取得困難,又牽涉隱私與授權,於是合成出來的身份資料就是用來填補這個空缺的東西。

它與隨手打幾個字的假字串差別在於「像真的」。欄位長度符合該國慣例、證件號的格式與校驗規則對得上、出生日期與年齡不會互相矛盾,只有這樣的樣本才測得到系統的正常路徑;格式一看就錯的樣本,通常只測到錯誤處理。

還有一個常被忽略的作用是溝通。當產品、設計與測試在看同一筆紀錄時,欄位齊全的樣本讓討論聚焦在流程本身,而不是「這裡的資料本來就少一欄」。

還有一層價值是讓樣本可以互相對照。當十筆測試資料各自來自不同的隨機組合,失敗時很難判斷是規則錯了還是剛好遇到特例;若樣本經過設計,每一筆都代表一種情境,失敗的訊息本身就會指出問題在哪一段規則。

什麼時候會需要它?

需要它的時機比想像中多:註冊與登入流程要有人可以填、會員中心要有人可以顯示、客服後台要有人可以搜尋、資料匯入與報表要有一批可以重複跑的輸入。這些場合的共同特徵是需要一整條紀錄,而不是單一個值。

情境 對樣本的要求
表單驗證 長度與格式都合法的值,另加幾個刻意越界的值
介面示範 姓名與地址要符合顯示語言的排版習慣
批次匯入 一次多筆,且每一筆都要能獨立通過檢查
壓力測試 數量夠大、產生夠快,內容可以簡化

把這些需求分開看,就會發現它們對「真實度」的要求並不相同。示範用的樣本要讀起來自然,批次匯入用的樣本要涵蓋各種國家,壓力測試用的樣本則只需要形狀正確。用同一批資料硬撐所有情境,通常會在某個環節出問題。

為什麼真實的身份資料不能進測試環境?

因為它一旦複製進去,就會跟著備份、分支與每一台開發機器擴散,事後想收回幾乎不可能。測試環境的存取控制通常比正式環境鬆,能碰到資料的人更多,而且資料很容易被貼進工單、對話紀錄與截圖裡。

第二個理由是目的。為了服務某位客戶而收集的資料,被拿去驗證一個不相關的功能,本身就超出了原本的用途;若這個過程沒有留下紀錄,事後也難以說明它被用過。這是隱私原則裡最基本的一條,卻也是最常在趕進度時被跳過的一條。

第三個理由是測試本身。真實資料的分布並不均勻,也不保證涵蓋邊界情況,用它跑測試容易產生「剛好都對」的錯覺,反而掩蓋了規則沒有寫好的地方。

同一批測試資料可以放多久?

測試資料也有保存期限。當產品規則調整、欄位增減,或某個國家改用新的證件格式,舊樣本就會從「像真的」變成「一看就知道過時」。定期檢視樣本還能不能反映現況,比一次準備一大批然後放著不動更有用。

判斷方式很簡單:隨機抽幾筆,問它還符不符合現在的規則。若答案是「大概可以」,那就是該更新的時候。更新時盡量只改內容、不改名稱,參照它的測試才不會跟著一起失效。

本站產生的身份資料可以拿來做什麼

在本站的身份產生器裡,可以選擇國家與行政區,一次產生姓名、證件號、出生日期、地址與線上資料,同一次產生的欄位都屬於同一筆紀錄,不會出現甲國的地址配乙國的格式。這些內容只供測試與示範使用,不能拿來冒充真人,也不該被當成通過實名驗證或開設帳號的依據。

需要跨國家與跨格式的樣本時,它比手寫更省事;而當你要確認欄位之間會不會互相矛盾時,可以對照身份資料一致性這篇整理的檢查方式。

給開發者:一條身份紀錄有哪些欄位與依賴

身份紀錄不是把欄位並排放在一起就好,欄位之間有方向性:

  • 姓名與性別要相符,稱謂、照片與名字的搭配也要一致。
  • 出生日期決定年齡,年齡是衍生的結果,不該獨立填寫。
  • 國家決定證件號的格式,地址決定行政區與郵遞區號的寫法。
  • 電話與電子郵件要與國家、語言一致,否則顯示時就會出現混搭。
  • 缺少選填欄位是正常狀態,程式不該假設每一欄都有值。

這些依賴關係正好是自動檢查的切入點:欄位齊全、彼此對應的樣本應該通過,缺一項或互相矛盾的樣本應該被擋下或標記。把兩類樣本都準備好,改動規則時才能立刻看出影響範圍。

在測試資料裡,這幾條依賴就是檢查清單。當一筆樣本看起來怪,通常是其中一條依賴被打破了,而不是某個欄位格式寫錯。

隨機產生與固定樣本該怎麼選?

固定樣本負責穩定,適合回歸測試與缺陷重現;隨機產生負責廣度,適合探索性測試與壓測。兩者混用時要特別小心:如果每次執行都重新產生,失敗就難以重現,也很難比對兩次之間的差異。

務實的做法是分層。核心流程用固定樣本,探索階段用產生器,發現問題後把造成問題的那一筆固定下來,成為新的樣本。樣本怎麼組織與命名,可以接著讀測試固定裝置裡的身份資料。

下一步

先盤點你的測試環境裡有沒有一眼就能認出是真人的紀錄,有的話換成合成資料,並確認它不會再從任何來源寫回去。接著替最重要的三條流程各準備一筆固定樣本,讓失敗可以穩定重現;想了解樣本要怎麼留在版控裡又不腐化,可參考可重現的測試資料。

還有一個容易忘記的起點是示範環境。示範資料常被當成臨時的東西,於是直接用真實資料代替;它其實與測試環境同等重要,同樣應該使用合成資料,並在示範腳本裡寫明來源。需要避免真實個資的完整理由,整理在地址資料隱私。

繼續閱讀

線上身份與測試資料產生器相關文章