Pesticide Paradox (殺蟲劑詭論)


第一次看到Pesticide Paradox這個term, 覺得很陌生, 總覺得怎麼可能他和software testing有關, 但是我卻從來沒聽過. 後來上網查了一下, 才知道它出自於Boris Beizer的大作. 在1990, Boris Beizer在Software Testing Techniques, Second Edition一書中, 第1.7小節中提到

1.7 Pesticide Paradox and the Complexity Barrier

.......
First Law: The Pesticide Paradox - Every method you use to prevent or find bugs leaves a residue of subtler bugs against which those methods are ineffectual.

你Run你的測試越多次, 受測軟體就越有免疫力. 也就是說相同的測試個案在重複執行後, 能夠再找到bug的機率會越來越低

因為為了克服Pesticide Paradox的現象, QA 必須要不斷開立新的測試個案, 來驗證受測軟體, 以期待找出不同的bug.

同樣地, 在test automation上, 也是會有同樣的現象. 就像James Bach說的
Highly repeatable testing can actually minimize the chance of discovering all the important problems, for the same reason that stepping in someone else’s footprints minimizes the chance of being blown up by a land mine.

所以不是你把所有測試個案自動化, 世界就太平了, 最多只是這些個案的形很快, 不需要人介入, 但是也是非常的一成不變. 這是另一個test automation的迷思, 也是upper manager最誤會的地方.


Reference
1. Pesticide Paradox
http://blogs.msdn.com/nihitk/articles/185836.aspx

2. Software Testing Techniques, Second Edition, Boris Beizer
這本書應該是絕版了, 目前在Amazon好像是買不到, 我有的也是翻印的版本. 它是所有white box testing的bible. 幾乎沒有書寫的這麼詳盡, 不過也相對的很難看, 實在是太硬了. 慶幸的是我在研究所看過後, 確實幫我打下很好的基礎.
arrow
arrow
    全站熱搜

    kojenchieh 發表在 痞客邦 留言(0) 人氣()