鍍金池/ 問答/C  C++  測試/ 如何自動產(chǎn)生測試數(shù)據(jù)?

如何自動產(chǎn)生測試數(shù)據(jù)?

要測試一個函數(shù)是否正確,一般是怎么自動生成測試數(shù)據(jù)?如果有這樣的程序,那編寫這個函數(shù)就沒有意義了,感覺很矛盾?一般的發(fā)行庫,比如C的標準庫,在發(fā)布之前都會經(jīng)歷怎么樣的測試?

回答
編輯回答
薔薇花

你的矛盾毫無邏輯。
假設現(xiàn)在有一個函數(shù)計算兩個數(shù)的和 Sum函數(shù),你的測試數(shù)據(jù)可以是任何兩個數(shù)a,b。按你的意思是,你可以自動生成a,b兩個數(shù),那么Sum就沒有意義了,很明顯Sum函數(shù)是測試a,b作為輸入項的前提。

2018年2月14日 00:56
編輯回答
莓森

你的矛盾毫無邏輯。
自動產(chǎn)生數(shù)據(jù)其實應用范圍很小,僅僅是需要大量填充時才這么干。
一般的測試都是手工指定數(shù)據(jù)的,因為邊界條件我們是知道或者大約知道的,只需要檢查(一個正常值)和邊界附近的數(shù)據(jù)即可。
測試就是用來增強我們發(fā)布軟件時的信心的,你的軟件是否完成了既定目標,在經(jīng)歷測試前你并不一定知曉以及信息不足。所以決定測試量的就是我們對目標軟件的了解程度和我們的信心。了解充分以及信心十足,那完全可以只做少量的測試。

2017年1月2日 00:08
編輯回答
朕略萌

自動生成測試數(shù)據(jù)并不代表要完全重現(xiàn)函數(shù)的所有功能,例如測試排序函數(shù)的數(shù)據(jù)只需要隨機生成一組數(shù)據(jù)和最樸素的排序算法排好的數(shù)據(jù),然而可以用來測試所有類型的排序算法;

2018年8月17日 18:07