對于支援編程,測試主要作為準(zhǔn)備和保證。你通過寫測試代碼來闡明關(guān)于問題的思考。你把它作為說明性的例子來描述代碼應(yīng)該怎樣做。幸運地是,它同時是活躍地檢查代碼的說明性例子,即重新保證。這些測試也會找bug,但是那是第二目的。
在另一方面,測試是關(guān)于暴露主要錯誤和遺漏。這里,測試的原義就是關(guān)于bug。有其它的意義,但是首要的意義是最主要的。(很多測試員,尤其是最好的測試員,在他們的身上已經(jīng)融入了那些詞語的內(nèi)涵。)
我想做個嘗試。如果我們在矩陣的左邊不使用“testing”和“test”這些詞語會怎樣?如果我們把它叫做“checked examples”(檢查例子)怎樣?
設(shè)想兩個XP程序員坐在代碼前面。他們開始構(gòu)建一個例子來說明下一步要做什么。他們會檢查,在代碼還沒寫之前。(如果寫了,那是很特殊個別的情況。)他們編寫代碼。檢查例子是否運行正確,其他例子也保持正確。然后繼續(xù)下一個例子用于展示下一步應(yīng)該做的事情。
替換詞語有意義嗎?是否只是文字上的替換而已?你做一些嘗試,然后回答這些問題吧。嘗試經(jīng)常使用“example(例子)”,經(jīng)常使用讓它聽起來不會感覺很奇怪。現(xiàn)在,當(dāng)你坐在代碼前面時,是否根本改變了你的觀點?是否有了一些不同:在你向客戶要求一個例子,而不是一個測試時。加上一些形容詞:example(例子)是否看起來更具激發(fā)性、更生動、更有深刻內(nèi)涵?與強大的測試存在怎樣的區(qū)別?(“強大”作為附加給測試的典型的形容詞。)測試人員在XP項目中,每個人都在制作例子,沒有人做測試,這樣是否看起來更輕松些?
文章來源:中國項目管理資源網(wǎng)
|