《軟件測試的藝術(shù)》
總的來說這本書講的是中規(guī)中矩,感覺還是七十年代那種純學(xué)術(shù)化的氣息,讓人聯(lián)想到了大學(xué)的教科書。書的開頭還是非常精彩的,非常哲理化的開頭,講述了測試的本質(zhì),之后是一些看得頭暈的名詞和方法,最后的兩篇關(guān)于調(diào)試和極限測試的不錯,而新加的網(wǎng)站測試內(nèi)容讓人有點失望??偟膩碚f,對于想了解“軟件測試”的同學(xué)還是可以去看看的,至于要學(xué)到什么的話,可能還要從其他地方繼續(xù)深入了解。不過就了解測試的目的,一些常用名詞的意義,以及一些基本的原則來說,這本書還是不錯的。 開頭的經(jīng)典: - 軟件測試心理學(xué):測試是為發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。軟件不是為了證明軟件是好的,發(fā)現(xiàn)錯誤是他的目標(biāo)。 - 軟件測試經(jīng)濟學(xué):軟件中包含的錯誤的總和永遠是個未知數(shù),所以要找到軟件中包含的所有的錯誤,幾乎是不可能的。 - 原則1:測試用例中一個必需部分是對與其輸出或結(jié)果的定義。 - 原則2:程序員應(yīng)當(dāng)避免自己測試自己編寫的程序。 - 原則3:編寫軟件的組織不應(yīng)當(dāng)測試自己編寫的軟件。 - 原則4:應(yīng)當(dāng)徹底檢查每個測試的執(zhí)行結(jié)果。 - 原則5:測試用例的編寫不僅應(yīng)當(dāng)根據(jù)有效和與其的輸入情況,而且也應(yīng)當(dāng)根據(jù)無效的和未預(yù)料到的輸入情況。 - 原則6:檢查程序是否“未做其應(yīng)該做的”僅是測試的一半,測試的另一半是檢查程序是否“做了其不應(yīng)該做的”。 - 原則7:應(yīng)避免測試用例用后即棄,除非軟件本身就是一個一次性的軟件。 - 原則8:計劃測試工作時不應(yīng)默許假定不會發(fā)生錯誤。 - 原則9:程序某部分存在更多錯誤的可能性,與該部分已發(fā)現(xiàn)錯誤的數(shù)量成正比。 - 原則10:軟件測試是一項極富創(chuàng)造性,極具智力挑戰(zhàn)性的工作。 特別喜歡調(diào)試那個章節(jié),感覺作者有過很多的代碼的經(jīng)歷。 定位問題的原則: 1. 動腦筋 2. 如果遇到了僵局,就留到稍后解決。 3. 如果遇到了困境,就把問題描述給其他人聽。 4. 僅將測試工具作為第二種手段。 5. 避免使用試驗法-僅將其作為最后的手段。 修改錯誤的技術(shù): 1. 存在一個缺陷的地方,很有可能還存在其他的缺陷。 2. 應(yīng)糾正錯誤本身,而不僅是其癥狀。 3. 正確糾正錯誤的可能性并非100%。 4. 正確修正錯誤的可能性隨著程序規(guī)模的增加而降低。 5. 應(yīng)意識到改正錯誤會帶來新錯誤的可能性。 6. 修改錯誤的過程是臨時回到設(shè)計階段的過程。 7. 應(yīng)修改源代碼,而不是目標(biāo)代碼。 特別是關(guān)于程序中出現(xiàn)的錯誤的分析,實際上是程序員提高最好的方法: 1. 什么原因?qū)е碌腻e誤? 2. 如何避免這樣的錯誤? 3. 如果更早的發(fā)現(xiàn)這樣的錯誤? 幾個不是很好的地方: 1. 翻譯,也許給我有大學(xué)教科書感覺的不是作者本身,而是翻譯的人的問題。 2. 印刷,我覺得這樣內(nèi)容少的書,為什么不用小本印刷,而要用這么大的,厚度又是這么沒有質(zhì)感,很不舒服。 |
|
|
來自: digman2005 > 《測試》