一般認(rèn)為“軟件測(cè)試員”是為了保證軟件的正確運(yùn)行而設(shè)置的職位。這樣的觀點(diǎn)對(duì)不對(duì)呢?我認(rèn)為這是軟件開(kāi)發(fā)團(tuán)隊(duì)的管理者的看法,但正因?yàn)檫@樣,這個(gè)看法幾乎被所有團(tuán)隊(duì)成員所接受了,包括測(cè)試員自己。

  我認(rèn)為測(cè)試員不應(yīng)該這樣看待自己的工作。如果測(cè)試員認(rèn)為自己的工作是要保證軟件的正確運(yùn)行,那么在潛意識(shí)里,他(她)會(huì)傾向于忽略那些可以發(fā)現(xiàn)Bug的測(cè)試用例。這也是弗洛伊德所說(shuō)的“失誤動(dòng)作”中的“選擇性遺忘”。這樣還怎樣保證軟件的正確性呢?

  我的觀點(diǎn)是:測(cè)試員的工作目的應(yīng)該是想盡一切非物理攻擊的辦法毀滅這個(gè)軟件。測(cè)試員應(yīng)該有這樣的心態(tài),這樣才可能更多的發(fā)現(xiàn)軟件中的Bug,從而提升軟件的價(jià)值。還是從心理學(xué)的角度來(lái)說(shuō),如果一個(gè)測(cè)試員有了這樣的心態(tài),那么在工作時(shí)的不經(jīng)意間會(huì)有Bug被逮到,尤其是那些莫名其妙的“失誤動(dòng)作”。這也是為什么一些的測(cè)試員經(jīng)常能夠不應(yīng)用一般的測(cè)試?yán)碚摱鴥H僅憑借“直覺(jué)”發(fā)現(xiàn)比其它測(cè)試員更多的Bug的原因了。

  測(cè)試員應(yīng)該給自己定好位。我們不是質(zhì)量保證人員,我們是“毀滅者”。

  偉大的卡爾?波普爾提出過(guò)一個(gè)叫做“證偽”的論斷。大意是“科學(xué)的增長(zhǎng)是通過(guò)猜想和反駁發(fā)展的,理論不能被證實(shí),只能被證偽”。這個(gè)觀點(diǎn)有點(diǎn)奇怪,但我對(duì)它深信不疑。公司里制定的每一個(gè)項(xiàng)目計(jì)劃,我們都無(wú)法證明那個(gè)計(jì)劃是正確的,我們只能想方設(shè)法證明這個(gè)計(jì)劃是錯(cuò)誤的,然后修正,再證明,再修正,直到我們不能證明它有Bug為止,這時(shí)我們認(rèn)為它是可行的。軟件開(kāi)發(fā)也是一樣,我們永遠(yuǎn)無(wú)法證明一個(gè)軟件是完全正確的,我們只能不斷地找Bug,然后修正,再找Bug,然后打補(bǔ)丁……直到我們找不到Bug為止,這時(shí)我們認(rèn)為這個(gè)軟件是接近于完美的(完美幾乎是不可能的)。

  所以,做為測(cè)試員,永遠(yuǎn)要堅(jiān)定一個(gè)信念:這個(gè)軟件一定有問(wèn)題,算它以前沒(méi)問(wèn)題,經(jīng)過(guò)我的手,我也要找出問(wèn)題來(lái)。