第三方檢測中—人工測試無法被取代的理由

testering發表於2022-11-27


有些開發團隊十分推崇自動化測試,不可否認,自動化測試在迴歸測試和檢查冗餘元件方面不失為安全有效的方法。但是我們更應該堅信探索性的手動測試。雖然自動化測試變得越來越複雜,但這始終需要人工驅動。實際上,自動化測試通常是從最初的手工工作中轉換過來的。這就是為什麼開發團隊需要手動測試人員,不管是外包還是內部測試。人工測試是由測試人員手工逐步執行所有的活動,並觀察每一步是否成功完成。在自動化測試過程中,可以節省人力、時間或硬體資源,提高測試效率,所以自動化測試越來越流行。 


1、bug總是出現在你意料不到的地方

 即使在測試特定的產品案例時,測試人員依然可以找到他們沒有預料到的bug。這可不是一項小工程!對於一些專案, 大多數bug其實是測試人員在尋找其他問題的時候發現的,自動測試無法注意到程式沒有找到的錯誤。


2、相當一部分測試工作必須要人工進行 使用者體驗應該算是進行人工測試很重要的原因。我們可以透過使用者的反饋得到寶貴的意見,即便是批評,也是有價值 的。因為在產品推出的時候,使用者不僅會關注其功能,對UI介面的第一印象也很重要。

因為任何一個細節都逃不過使用者的眼睛。雖然冒煙測試(冒煙測試是微軟公司在《微軟專案求生法則》一書中提出的一種功能測試,目的是對一個新編譯需要正式測試的軟體版本,確認軟體的基本功能是正常的,可以進行後續的測試工作。)可以實現自動化,但人工測試始終是無法代替的。對於測試人員來說,檢視應用程式是否適合 進行自動化測試,比編寫同樣的指令碼進行自動化測試要快得多。而且早期的指令碼也不會持續太久。此外,只有人工才能 針對多個區域的產品中的語言使用和其他關鍵本地化因素進行雙重檢查。


3、對於小型專案來說,自動化測試成本太高 自動化軟體是需要付費的,而且由於指令碼編寫和重寫,以及設定和處理時間,需要更高的相關維護和管理成本。對於長 期專案或大型產品來說,高成本的付出是值得的,但對於週期較短,比較小的專案來說,實施自動化測試是對時間和金 錢的巨大浪費。在計算自動化採購的潛在投資回報率時,還必須考慮額外增加的工時的因素


4、人工測試人員對使用者習慣更加了解 測試人員在漫長的工作過程中積累了豐富的經驗,誰也不想浪費這些經驗和知識。因為測試人員經常像使用者一樣工作, 他們提供的價值遠遠超過了產品的測試文件所描述的。測試人員還可以透過交付問題和建議幫助和引導產品走向新的方向。


5、自動化測試需要測試人員監督 就像開車在緊急情況下需要急剎車一樣,自動化測試同樣需要人的監管。雖然自動化軟體測試節省了重複工作的時間, 但手工測試工作可以圍繞創造性的用例展開。自動化測試最成功的用途並不是試圖使其行為像人一樣工作,而是透過建立性的,獨特的指令碼來提高整體產品的覆蓋率。


6、人工測試的透過率更高 在測試中產品是否透過測試是很重要的一件事,我們要求自動測試軟體一邊模擬使用,一邊呈現所有的測試結果。但對 於大多數專案來說,可能發生更復雜的情況。


7、自動化測試無法捕捉到測試人員沒有意識到的問題 跟第1點類似,bug經常出現在我們意想不到的地方。除此之外,在整個專案中還可能存在其他我們沒有意識到的風險, 而探索性的測試可能會降低這些風險的發生。無論測試團隊依賴什麼形式,預先制定策略總是必要的。簡單的一次性測試透過是不可能的,對於那些細枝末節,人工測試的速度反而更快。


8.人工測試具有創造力和分析能力 雖然我們總在抱怨人類能力的不足,但我們也有自己的優點。測試人員帶來的技能和經驗可以幫助他們在每次開始新會話時制定策略。在這一點上,沒有什麼可以替代我們快速的思維處理速度和分析能力!


9.自動化測試更適合用於最後衝刺 我們希望技術能為我們做什麼,與我們實際能用它做什麼是有區別的。隨著指令碼的不斷更新,要持續保證自動化測試的 準確性是很困難的,測試不再流行的補丁也沒有價值。成功的自動化測試很早就開始了,而且從來沒有在更新環節上落 後過。如果開發團隊沒有資源來實現這一目標,最好不要嘗試(除非團隊正在進行長期投資以改進流程)。


10、好的測試是可重複的,也是可變的 成功的測試有兩個因素:重複和變化。自動化測試對於持續的檢查過程非常有用,但這還不夠。你還需要演進,還有一些未知的變化。綜合考慮這兩個因素,可以最大程度地實現產品的全面覆蓋。


 11.測試指令碼的快速重寫

  在不斷的反饋、快速反應的環境下使用測試指令碼意味著對產品流、UI甚至特性的更改。幾乎每次更改都要重新編寫一個Sprint自動化指令碼。新的更改也會影響迴歸測試的指令碼,因此即使是典型的自動化測試也需要進行大量快速的更新。這之中大量的工作需要開發團隊考量應該在何處投放更多資源。


12.手工發現的缺陷遠遠比自動化測試得多

  在目前如果不採用基於AI的自動化測試下,有機構做過統計,估計80%的缺陷是由人工測試發現的,自動化測試發現的缺陷僅佔20%。在ISTQB初級大綱中,軟體測試目的被概括為四點,其兩點為“發現程式缺陷”和“對程式樹立質量信心”。所以手工測試主要針對於新開發出來的特性,其目的主要在於“發現程式缺陷”;而自動化測試化測試主要在於對老特性的迴歸測試,其目的主要在於“對程式樹立質量信心。把軟體測試分為“測”與“試”兩部分:“測”即驗證軟體是否滿足使用者提出的需求,主要透過自動化測試來實現;而“試”即試圖找出軟體中存在的缺陷,主要透過手工測試來實現。


如上所述,自動化測試完全不可能取代手工測試。現在有些書籍、論壇、社群把自動化測試談得神乎其神,無所不能、無所不可,這是對自動化測試的曲解,是一種不負責任的表現。什麼樣的產品用什麼樣的方式這個是最重要的。


免責宣告:1、文章文字與圖片來源網路,如有問題請及時聯絡我們。2、涉及轉載的所有文章、圖片、音訊影片檔案等資料,版權歸版權所有人所有。3、本文章內容如無意中侵犯了媒體或個人的智慧財產權,請聯絡我們立即刪除


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70019202/viewspace-2925345/,如需轉載,請註明出處,否則將追究法律責任。

相關文章