2010-10-12 52 views
0

對於我的C類,我編寫了一個簡單的統計程序 - 它計算最大值,最小值,平均值等。無論如何,我已經成功編譯了程序,所以現在我需要做的就是測試它;唯一的問題是我沒有任何東西可以用來測試我從哪裏得到「垃圾」數據來幫助測試我的代碼?

就我而言,我需要一個雙打列表 - 我的程序需要接受2到1,000,000;網上有一些資源可以產生其他無意義數據的清單嗎?我知道Lorem Ipsum被用於排版,我想知道是否有類似的各種類型的數值數據。

還是我運氣不好,我只能創建自己的垃圾數據?

回答

2

剛剛生成一個隨機雙?

Random r = new Random(); 
for (int i = 0; i < 100000; i++) 
{ 
    double number = r.NextDouble(); 
    //do something with the value 
} 
+1

我怎麼能忘記我是一名電腦程序員? >。< – 2010-10-12 22:41:44

1

由於您需要的數據將取決於程序,因此我不知道通用數據的來源。

如果您能夠編寫該程序,您應該能夠編寫腳本來爲自己生成虛擬數據。

只需使用循環打印出您的程序可以接受的範圍內的隨機數。

1

生成隨機字節的文件:

$ dd \ 
    of=random-bytes \ 
    if=/dev/urandom \ 
    bs=1024 \ 
    count=1024 
+0

這是什麼語言? – 2010-10-12 22:42:44

+1

'dd'是一個命令行工具。適用於大多數操作系統。 – 2010-10-12 22:43:42

0

你可以採取first million digits of pi和砍他們到你想然而,許多雙打。

例如,前幾個可以是3.14159,2.65358,9.79323,8.46264,3.338327,9.50288,4.19716和9.39937。

1

http://www.generatedata.com/#generator

我用這些數據生成了一些成功之前。公平地說,它通常會涉及到將其生成的數據複製/粘貼到其他可供您閱讀的格式。

雖然您可以很容易地爲此特定情況生成自己的數據。循環隨機次數爲1,000,000的終止條件。在您期望的範圍內生成隨機雙打。飼料,無論你走了。

在這種情況下生成自己的測試數據可能是最好的選擇。

3

測試軟件的問題不是數據的來源,而是測試裝置。我的意思是,你可以測試一個int sum(int a, int b)方法只需輸入隨機數字?不,你需要知道會發生什麼。這是一個測試集:輸入和預期輸出。

你說什麼時候發現548888876 + 99814465 = 643503341?你怎麼能說這是真正的結果?

超過查找隨機數給你的程序,你必須事先知道你的計算結果,以便比較它。

有幾個方法可以做到這一點:我的建議,你是選擇一個隨機數發生器(amphetamachine +1),並使用數據在你的,你已經知道的是程序代碼好,即。 Matlab爲你的目的。使用兩者計算您的統計數據後,比較您的結果並查看您編碼是否正確或需要進行一些調試。

順便說一下,我自己改變了以上總和的結果...

+0

是的。我不難計算Excel中的總和/平均值/其他任何值,所以我打算用這個值來檢查。但是,無論如何,聲音建議+1。 – 2010-10-12 22:50:12