測試系統(tǒng)的時(shí)候,往往會(huì)碰到這樣的一種情況:系統(tǒng)開發(fā)完成了,但是沒有合適的數(shù)據(jù)可以使用。原因是多方面的:比如用戶的數(shù)據(jù)不能公開,機(jī)密程度比較高。雖讓你可以隨機(jī)產(chǎn)生一些測試數(shù)據(jù),但是簡單的測試數(shù)據(jù),和真正復(fù)雜的用戶數(shù)據(jù)是無法相比的,所產(chǎn)生的問題就是,在測試數(shù)據(jù)上,簡單的操作可以通過,而同樣的操作到了用戶數(shù)據(jù)上面,就產(chǎn)生各種情況(如性能問題)。
你如何解決這個(gè)問題呢?你如何得到一組數(shù)據(jù),既不會(huì)泄露用戶的機(jī)密數(shù)據(jù),也保證了足夠的數(shù)據(jù)量和復(fù)雜度?
Bobby Woolf 在他的blog中提出了使用Data Obfuscator(混淆數(shù)據(jù)):即通過一個(gè)特定的程序,特定的一組算法和規(guī)則,從用戶的數(shù)據(jù)中摘取足夠的數(shù)據(jù)量,同時(shí),把一些敏感的數(shù)據(jù)(如姓名,薪水,保險(xiǎn)號碼等)替換成一些不重要(或者不敏感)的數(shù)據(jù)(比如,把姓名用A001, A002來替換掉)。

Data Obfuscator 原文參考
Design Pattern
Programming