測試工作無(wú)論是手工測試還是自動(dòng)化測試都是軟件質(zhì)量保障的一個(gè)途徑。如何更好的使兩者相互結合也是我們現在所要討論的話(huà)題。我們何時(shí)應用手工測試又何時(shí)應用自動(dòng)化測試呢?
對于一些基本的、邏輯性不強的操作,可以使用自動(dòng)化測試工具。應該說(shuō),現在在性能測試、壓力測試等方面,自動(dòng)化測試有其不可替代的優(yōu)勢。它可以用簡(jiǎn)單的腳本,實(shí)現大量的重復的操作。從而通過(guò)對測試結果的分析,得出結論,這樣不僅節省了大量的人力和物力,而且使測試的結果更準確。對于一些邏輯性很強的操作,如果自動(dòng)化測試不是很健全的話(huà),不建議使用。因為這需要比較復雜的腳本語(yǔ)言,不可避免的增加了由于測試腳本的缺陷所造成測試結果錯誤的誤差。這時(shí)就需要手動(dòng)測試了。
手工測試也存在這一些缺陷,手工測試者最常做的就是重復的手工回歸測試,不但代價(jià)昂貴,而且容易出錯。自動(dòng)化測試可以減少但不能消除這種工作的工作量。測試者可以有更多的時(shí)間去從事更有趣的測試,例如在應用程序在復雜的場(chǎng)景下的不同處理等,盡管測試就是要花費更長(cháng)的時(shí)間找到錯誤,但比不意味著(zhù)因此而要付出更高的代價(jià)。所以選擇正確的測試方法是尤為重要的。
我在某位博客上又歸結了自動(dòng)化測試的優(yōu)缺點(diǎn):
自動(dòng)化測試的優(yōu)點(diǎn):
1、對程序的回歸測試更方便。這可能是自動(dòng)化測試最主要的任務(wù),特別是在程序修改比較頻繁時(shí),效果是非常明顯的。由于回歸測試的動(dòng)作和用例是完全設計好的,測試期望的結果也是完全可以預料的,將回歸測試自動(dòng)運行,可以極大提高測試效率,縮短回歸測試時(shí)間。
2、可以運行更多更繁瑣的測試。自動(dòng)化的一個(gè)明顯的好處是可以在較少的時(shí)間內運行更多的測試。
3、可以執行一些手工測試困難或不可能進(jìn)行的測試。比如,對于大量用戶(hù)的測試,不可能同時(shí)讓足夠多的測試人員同時(shí)進(jìn)行測試,但是卻可以通過(guò)自動(dòng)化測試模擬同時(shí)有許多用戶(hù),從而達到測試的目的。
4、更好地利用資源。將繁瑣的任務(wù)自動(dòng)化,可以提高準確性和測試人員的積極性,將測試技術(shù)人員解脫出來(lái)投入更多精力設計更好的測試用例。有些測試不適合于自動(dòng)測試,僅適合于手工測試,將可自動(dòng)測試的測試自動(dòng)化后,可以讓測試人員專(zhuān)注于手工測試部分,提高手工測試的效率。
5、測試具有一致性和可重復性。由于測試是自動(dòng)執行的,每次測試的結果和執行的內容的一致性是可以得到保障的,從而達到測試的可重復的效果。
6、測試的復用性。由于自動(dòng)測試通常采用腳本技術(shù),這樣就有可能只需要做少量的甚至不做修改,實(shí)現在不同的測試過(guò)程中使用相同的用例。
7、增加軟件信任度。由于測試是自動(dòng)執行的,所以不存在執行過(guò)程中的疏忽和錯誤,完全取決于測試的設計質(zhì)量。一旦軟件通過(guò)了強有力的自動(dòng)測試后,軟件的信任度自然會(huì )增加。
自動(dòng)化測試的缺點(diǎn):
1、不能取代手工測試
2、手工測試比自動(dòng)測試發(fā)現的缺陷更多
3、對測試質(zhì)量的依賴(lài)性極大
4、測試自動(dòng)化不能提高有效性
5、測試自動(dòng)化可能會(huì )制約軟件開(kāi)發(fā)。由于自動(dòng)測試比手動(dòng)測試更脆弱,所以維護會(huì )受到限制,從而制約軟件的開(kāi)發(fā)。
7、工具本身并無(wú)想像力
綜上所述,可以歸結自動(dòng)化完成不了的,手工測試都能彌補,兩者有效的結合是測試質(zhì)量保證的關(guān)鍵。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/