喜歡在網(wǎng)上書店中遛達(dá),看到不錯(cuò)的書就買下。為什么不去書店?一個(gè)字,懶唄!總覺(jué)得,有那去書店的時(shí)間,完全可以好好睡一美覺(jué),亦或可親手烹制一頓美味可口的美食。哎,反正就是,懶得走出家門去逛街!
恰巧,此次瀏覽書籍時(shí),無(wú)意間看到了《The Art of Software Testing》這本書。在看了大家所給予它極高的評(píng)價(jià)留言后,雖然有些疑惑(畢竟這個(gè)時(shí)代,槍手太多了!),但我深信:一本書能夠“活”25年,應(yīng)該還是很不簡(jiǎn)單的。于是,就半信半疑的訂購(gòu)了這本書,期望能夠從這本書中獲悉到有用的知識(shí),來(lái)豐富一下自己面對(duì)這個(gè)領(lǐng)域時(shí)的貧乏困境,亦作為知識(shí)儲(chǔ)備。
暈,這么薄!這是我拿到這本書后的第一反應(yīng)。真的!沒(méi)有預(yù)料到這書會(huì)這么?。≡詾檫@本經(jīng)典的書,會(huì)諸如《C++ Primer》、《The C++ Programming Language》、《Programming Windows》等這些著作那么厚。而當(dāng)翻看了幾章后,覺(jué)得確實(shí)很經(jīng)典,也明白了為什么這本書會(huì)“活”了25年。于是,就誕生了我對(duì)這本書的第二感覺(jué):薄而精!看來(lái)是需要自己多花些時(shí)間去慢慢的品味,這樣才方可體味到最純最美的底醞。
打住自己對(duì)這本書的侃侃而談(怕跑題太遠(yuǎn),拽不回來(lái)),還是關(guān)注一下軟件測(cè)試這個(gè)領(lǐng)話題吧!
軟件測(cè)試,怎么說(shuō)呢?就自身經(jīng)歷而言,確實(shí)如書上所說(shuō):測(cè)試依然是軟件開(kāi)發(fā)中的“黑色藝術(shù)”。大學(xué)期間,計(jì)算機(jī)課程開(kāi)的不少,沒(méi)聽(tīng)說(shuō)有專門開(kāi)一門關(guān)于測(cè)試的課程。所以,在學(xué)生階段,測(cè)試就屬于是個(gè)被拋棄掉的名詞!畢業(yè)時(shí),不是做軟件就是去搞網(wǎng)絡(luò),沒(méi)有聽(tīng)到一個(gè)同學(xué)去應(yīng)聘測(cè)試的!工作中,有專門的測(cè)試組(或部門),就更不用自己怎么上心去研究了!如今的氛圍就是:紅的夠紅,黑的夠黑!那叫一個(gè)“?!?!哎,為什么不實(shí)行“兩手都要抓,兩手都要硬”的政策呢(一己之見(jiàn),偏頗在所難免)?或許,我還不明白:“術(shù)業(yè)有專攻”的深刻含義吧!
算了,最后還是談?wù)剬?duì)這本書的總觀吧!
-
該書是針對(duì)測(cè)試這一主題進(jìn)行的實(shí)踐探討,而不是理論研究,順便捎帶了些對(duì)新的語(yǔ)言和過(guò)程的探討;
-
前言中提到了一個(gè)最為重要而又是長(zhǎng)期、基本的指南:如何確保所開(kāi)發(fā)的所有軟件做了其應(yīng)該做的,并且同樣重要的是,未做其不應(yīng)該做的?
-
引言里指出一條著名的經(jīng)驗(yàn):即在一個(gè)典型的編程項(xiàng)目中,軟件測(cè)試或系統(tǒng)測(cè)試大約占用50%的項(xiàng)目時(shí)間和超過(guò)50%的總成本。
有創(chuàng)意!這是我對(duì)該書第一章的評(píng)價(jià),也是唯一一次在看新書開(kāi)篇時(shí),能夠把第一章給透透徹徹看完的。為何?還不是實(shí)在不能恭維有些書籍在開(kāi)篇就進(jìn)行枯燥而繁多的總結(jié)性、介紹性的文字。雖心里也清楚這些文字存在的重要性。但每每,還總是先粗略瞄過(guò),在通讀全書后,才會(huì)再次認(rèn)認(rèn)真真的看那些文字(這時(shí),才真的能感悟到“提綱攜領(lǐng)”的中文含義啊)。
創(chuàng)意在于:它只通過(guò)展示一次自評(píng)價(jià)測(cè)試,就能吸引我的眼球,并涌出一種想繼續(xù)向下讀的沖動(dòng);更能引起對(duì)自身一些有關(guān)邏輯思維(考慮欠周全、縝密,存在盲點(diǎn))、聯(lián)想能力(需拓展思維,要富于聯(lián)想與想像,即:思維“活”起來(lái))、角度問(wèn)題(要巧妙轉(zhuǎn)換角度)等方面,所可能存在的不足進(jìn)行深思。當(dāng)然,能夠引起深思的緣故,還不是在于那個(gè)評(píng)價(jià)測(cè)試嘛!提起來(lái),汗顏!依據(jù)所謂的測(cè)試用例(即:特定的數(shù)據(jù)集合)自測(cè)試后,發(fā)現(xiàn)自己只能考慮到11項(xiàng)(總14項(xiàng))需要測(cè)試的關(guān)鍵點(diǎn)。
文尾,談?wù)勛髡邔?duì)“軟件測(cè)試”這個(gè)概念的定義吧。所謂軟件測(cè)試,就是一個(gè)過(guò)程或一系列過(guò)程,用來(lái)確認(rèn)計(jì)算機(jī)代碼完成了其應(yīng)該完成的功能,不執(zhí)行其不該有的操作。軟件應(yīng)當(dāng)是可預(yù)測(cè)且穩(wěn)定的,是不會(huì)給用戶帶來(lái)意外驚奇的。
“軟件測(cè)試是一項(xiàng)技術(shù)性工作,但同時(shí)也涉及經(jīng)濟(jì)學(xué)和人類心理學(xué)的一些重要因素”,這是該書第二章中最吸引我的話,耐人深思。而對(duì)于該章的內(nèi)容,我個(gè)人覺(jué)得可概括為以下三個(gè)方面:
-
心理學(xué)角度:駁斥了一些社會(huì)普遍存在的錯(cuò)誤認(rèn)識(shí),并給出了測(cè)試的正確定義及在含義上進(jìn)行了延伸。(用寫文章上常用的術(shù)語(yǔ)來(lái)說(shuō),是:先破后立。)
-
經(jīng)濟(jì)學(xué)角度:驗(yàn)證軟件測(cè)試不能夠發(fā)現(xiàn)“所有”的錯(cuò)誤。(術(shù)語(yǔ)是:各個(gè)擊破。)
-
歸納了軟件測(cè)試中的一些基本原則(術(shù)語(yǔ)是:歸納與演繹。),及三個(gè)重要的測(cè)試原則:
-
軟件測(cè)試是為發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程;
-
一個(gè)好的測(cè)試用例具有較高的發(fā)現(xiàn)某個(gè)尚未發(fā)現(xiàn)的錯(cuò)誤的可能性;
-
一個(gè)成功的測(cè)試用例能夠發(fā)現(xiàn)某個(gè)尚未發(fā)現(xiàn)的錯(cuò)誤。
文尾,值得一提的是:在本章能明顯感到作者側(cè)重于從心理學(xué)角度來(lái)分析一些潛在的問(wèn)題。