有些開發(fā)團隊十分推崇自動化測試,不可否認,自動化測試在回歸測試和檢查冗余組件方面不失為安全有效的方法。但是我們更應該堅信探索性的手動測試。雖然自動化測試變得越來越復雜,但這始終需要人工驅動。實際上,自動化測試通常是從最初的手工工作中轉換過來的。這就是為什么開發(fā)團隊需要手動測試人員,不管是外包還是內部測試。人工測試是由測試人員手工逐步執(zhí)行所有的活動,并觀察每一步是否成功完成。在自動化測試過程中,可以節(jié)省人力、時間或硬件資源,提高測試效率,所以自動化測試越來越流行。
1、bug總是出現在你意料不到的地方
即使在測試特定的產品案例時,測試人員依然可以找到他們沒有預料到的bug。這可不是一項小工程!對于一些項目, 大多數bug其實是測試人員在尋找其他問題的時候發(fā)現的,自動測試無法注意到程序沒有找到的錯誤。
2、相當一部分測試工作必須要人工進行 用戶體驗應該算是進行人工測試很重要的原因。我們可以通過用戶的反饋得到寶貴的意見,即便是批評,也是有價值 的。因為在產品推出的時候,用戶不僅會關注其功能,對UI界面的第一印象也很重要。
因為任何一個細節(jié)都逃不過用戶的眼睛。雖然冒煙測試(冒煙測試是微軟公司在《微軟項目求生法則》一書中提出的一種功能測試,目的是對一個新編譯需要正式測試的軟件版本,確認軟件的基本功能是正常的,可以進行后續(xù)的測試工作。)可以實現自動化,但人工測試始終是無法代替的。對于測試人員來說,查看應用程序是否適合 進行自動化測試,比編寫同樣的腳本進行自動化測試要快得多。而且早期的腳本也不會持續(xù)太久。此外,只有人工才能 針對多個區(qū)域的產品中的語言使用和其他關鍵本地化因素進行雙重檢查。
3、對于小型項目來說,自動化測試成本太高 自動化軟件是需要付費的,而且由于腳本編寫和重寫,以及設置和處理時間,需要更高的相關維護和管理成本。對于長 期項目或大型產品來說,高成本的付出是值得的,但對于周期較短,比較小的項目來說,實施自動化測試是對時間和金 錢的巨大浪費。在計算自動化采購的潛在投資回報率時,還必須考慮額外增加的工時的因素
4、人工測試人員對用戶習慣更加了解 測試人員在漫長的工作過程中積累了豐富的經驗,誰也不想浪費這些經驗和知識。因為測試人員經常像用戶一樣工作, 他們提供的價值遠遠超過了產品的測試文檔所描述的。測試人員還可以通過交付問題和建議幫助和引導產品走向新的方向。
5、自動化測試需要測試人員監(jiān)督 就像開車在緊急情況下需要急剎車一樣,自動化測試同樣需要人的監(jiān)管。雖然自動化軟件測試節(jié)省了重復工作的時間, 但手工測試工作可以圍繞創(chuàng)造性的用例展開。自動化測試最成功的用途并不是試圖使其行為像人一樣工作,而是通過創(chuàng)建性的,獨特的腳本來提高整體產品的覆蓋率。
6、人工測試的通過率更高 在測試中產品是否通過測試是很重要的一件事,我們要求自動測試軟件一邊模擬使用,一邊呈現所有的測試結果。但對 于大多數項目來說,可能發(fā)生更復雜的情況。
7、自動化測試無法捕捉到測試人員沒有意識到的問題 跟第1點類似,bug經常出現在我們意想不到的地方。除此之外,在整個項目中還可能存在其他我們沒有意識到的風險, 而探索性的測試可能會降低這些風險的發(fā)生。無論測試團隊依賴什么形式,預先制定策略總是必要的。簡單的一次性測試通過是不可能的,對于那些細枝末節(jié),人工測試的速度反而更快。
8.人工測試具有創(chuàng)造力和分析能力 雖然我們總在抱怨人類能力的不足,但我們也有自己的優(yōu)點。測試人員帶來的技能和經驗可以幫助他們在每次開始新會話時制定策略。在這一點上,沒有什么可以替代我們快速的思維處理速度和分析能力!
9.自動化測試更適合用于最后沖刺 我們希望技術能為我們做什么,與我們實際能用它做什么是有區(qū)別的。隨著腳本的不斷更新,要持續(xù)保證自動化測試的 準確性是很困難的,測試不再流行的補丁也沒有價值。成功的自動化測試很早就開始了,而且從來沒有在更新環(huán)節(jié)上落 后過。如果開發(fā)團隊沒有資源來實現這一目標,最好不要嘗試(除非團隊正在進行長期投資以改進流程)。
10、好的測試是可重復的,也是可變的 成功的測試有兩個因素:重復和變化。自動化測試對于持續(xù)的檢查過程非常有用,但這還不夠。你還需要演進,還有一些未知的變化。綜合考慮這兩個因素,可以最大程度地實現產品的全面覆蓋。
11.測試腳本的快速重寫
在不斷的反饋、快速反應的環(huán)境下使用測試腳本意味著對產品流、UI甚至特性的更改。幾乎每次更改都要重新編寫一個Sprint自動化腳本。新的更改也會影響回歸測試的腳本,因此即使是典型的自動化測試也需要進行大量快速的更新。這之中大量的工作需要開發(fā)團隊考量應該在何處投放更多資源。
12.手工發(fā)現的缺陷遠遠比自動化測試得多
在目前如果不采用基于AI的自動化測試下,有機構做過統(tǒng)計,估計80%的缺陷是由人工測試發(fā)現的,自動化測試發(fā)現的缺陷僅占20%。在ISTQB初級大綱中,軟件測試目的被概括為四點,其兩點為“發(fā)現程序缺陷”和“對程序樹立質量信心”。所以手工測試主要針對于新開發(fā)出來的特性,其目的主要在于“發(fā)現程序缺陷”;而自動化測試化測試主要在于對老特性的回歸測試,其目的主要在于“對程序樹立質量信心。把軟件測試分為“測”與“試”兩部分:“測”即驗證軟件是否滿足用戶提出的需求,主要通過自動化測試來實現;而“試”即試圖找出軟件中存在的缺陷,主要通過手工測試來實現。
如上所述,自動化測試完全不可能取代手工測試。現在有些書籍、論壇、社群把自動化測試談得神乎其神,無所不能、無所不可,這是對自動化測試的曲解,是一種不負責任的表現。什么樣的產品用什么樣的方式這個是最重要的。
免責聲明:1、文章文字與圖片來源網絡,如有問題請及時聯系我們。2、涉及轉載的所有文章、圖片、音頻視頻文件等資料,版權歸版權所有人所有。3、本文章內容如無意中侵犯了媒體或個人的知識產權,請聯系我們立即刪除
審核編輯 黃昊宇
-
測試
+關注
關注
8文章
5360瀏覽量
126873 -
自動化測試
+關注
關注
0文章
214瀏覽量
26929
發(fā)布評論請先 登錄
相關推薦
評論