《软件测试的艺术》
1、每當(dāng)測(cè)試一個(gè)程序時(shí),應(yīng)當(dāng)想到要為程序增加一些價(jià)值。通過測(cè)試來增加程序的價(jià)值,是指測(cè)試提高了程序的可靠性或質(zhì)量。提高了程序的可靠性,是指找出并最終修改了程序的錯(cuò)誤。
因此,不要只是為了證明程序能夠正確運(yùn)行而去測(cè)試程序;相反,應(yīng)該一開始就假設(shè)程序中隱藏著錯(cuò)誤(這種假設(shè)對(duì)于幾乎所有的程序都成立),然后測(cè)試程序,發(fā)現(xiàn)盡可能多的錯(cuò)誤。
那么,對(duì)于測(cè)試,更為合適的定義應(yīng)該是:
“測(cè)試是為發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程”。
2、我們認(rèn)為,如果在測(cè)試某段程序時(shí)發(fā)現(xiàn)了錯(cuò)誤,而且這些錯(cuò)誤是可以修復(fù)的,就將這次合理設(shè)計(jì)并得到有效執(zhí)行的測(cè)試稱做是“成功的”。如果本次測(cè)試可以最終確定再無其他可查出的錯(cuò)誤,同樣也被稱做是“成功的”。所謂“不成功的”測(cè)試,僅指未能適當(dāng)?shù)貙?duì)程序進(jìn)行檢查,在大多數(shù)情況下,未能找出錯(cuò)誤的測(cè)試被認(rèn)為是“不成功的”,這是因?yàn)檎J(rèn)為軟件中不包含錯(cuò)誤的觀點(diǎn)基本上是不切實(shí)際的。
3、窮舉輸入測(cè)試是無法實(shí)現(xiàn)的。這有兩方面的含義,一是我們無法測(cè)試一個(gè)程序以確保它是無錯(cuò)的,二是軟件測(cè)試中需要考慮的一個(gè)基本問題是軟件測(cè)試的經(jīng)濟(jì)學(xué)。也就是說,由于窮舉測(cè)試是不可能的,測(cè)試投入的目標(biāo)在于通過有限的測(cè)試用例,最大限度地提高發(fā)現(xiàn)的問題的數(shù)量,以取得最好的測(cè)試效果。除了其他因素之外,要實(shí)現(xiàn)這個(gè)目標(biāo),還需要能夠窺見軟件的內(nèi)部,對(duì)程序作些合理但非無懈可擊的假設(shè)
4、邏輯覆蓋測(cè)試。該測(cè)試要求程序中的所有判斷都應(yīng)至少覆蓋一次,同時(shí)每一條語(yǔ)句或者入口點(diǎn)都被執(zhí)行一次。
·等價(jià)類劃分。通過定義條件和錯(cuò)誤類來幫助減少測(cè)試的工作量。這種劃分假設(shè)某分類的一個(gè)代表值能夠等價(jià)于屬于該分類的所有值或者條件。
·邊界值分析。測(cè)試等價(jià)類中每一個(gè)分類取邊界值時(shí)的情況,既要考慮輸入等價(jià)類,也要考慮輸出等價(jià)類。
·因果圖。通過生成布爾圖來詮釋測(cè)試用例的可能結(jié)果,使用該法旨在幫助選擇那些有效地測(cè)試用例達(dá)到比較完整的測(cè)試用例設(shè)計(jì)效果。
·錯(cuò)誤猜測(cè)。依靠直覺和測(cè)試專家經(jīng)驗(yàn)來定位程序可能出錯(cuò)的地方,并由此設(shè)計(jì)出更高效的測(cè)試用例。
總結(jié)
- 上一篇: Android--通知之Notifica
- 下一篇: hdu 3079水题