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