軟件測試 | 不要把手工測試與自動化測試等同起來
當(dāng)手工執(zhí)行測試時,可以充分利用人的能力??梢耘R時想出新測試,也可以注意到?jīng)]有或不能預(yù)測的現(xiàn)象。自動化測試則時高智能過程微弱的、很小的反映。這也是為什么說把自動化測試看做自動化的人員測試是錯誤的原因。
自動化并不能使用計算機(jī)完成測試人員所做的事,自動化測試執(zhí)行測試員明確描述的測試,不能利用測試員隱含的知識和認(rèn)識。自動化測試每次運行都以同樣的速度、同樣的順序、完全一樣的鼠標(biāo)移動和鍵盤操作做同樣的事。但是手工測試員在每次運行測試時都必須對測試做變動。這些變動可以發(fā)現(xiàn)未看到的程序錯誤。
自動化測試結(jié)果檢驗也有局限性。以任何測試過程為例,這種檢驗?zāi)芨嬖V測試員來自揚聲器的奇怪噪聲嗎?能告訴測試員檢查屏幕上的異常雪花嗎?能告訴測試員漸進(jìn)性能退化嗎?也許不能。但是即使沒有得到指示,優(yōu)秀測試員也會注意到并報告這些問題。經(jīng)過專業(yè)培訓(xùn)的人的頭腦時最好的測試工具,要超過任何可能想像的自動化測試。在測試員說“怎么了?這不可能正確“時,可以臨時注意到成百上千以前甚至想都沒想到的問題。
自動化測試有很多優(yōu)點,但是測試員和測試是有很大區(qū)別的。這意味著問題可能被觸發(fā)但是沒有被注意。與自動化測試不同,手工測試員可以立即聯(lián)系當(dāng)時的背景條件,調(diào)查研究所出現(xiàn)的異常。測試員還可以識別并過濾很大范圍內(nèi)的虛警,而這些虛警會對自動化測試帶來麻煩。
因此,不要拿手工測試與自動化測試相比,而應(yīng)該把自動化測試看做是對測試員能力的擴(kuò)充,能夠完成手工測試所不能完成的工作。