在國外,資深的軟體測試人員大多是手動測試,他們厲害之處在於測試用例的設計,但在中國,很多測試人員都把自動化測試當成很厲害的資本,為什麼?

  • 2019 年 10 月 22 日
  • 筆記

 導語 :   ‘“國外,資深的軟體測試人員大多是手動測試,他們厲害之處在於測試用例的設計,但在中國,很多測試人員都把自動化測試當成很厲害的資本,為什麼?”

 

       ● ○ ● 背景 ● ○ ●

 

    偶然在知乎上看到一篇關注度很高的話題,標題如上。 作為一名從業8年有餘的軟體測試工程師,並且一直在外企做測試的我, 忍不住想發表一些自己的看法和見解。

          我覺得在中國,很多公司或者個人把自動化測試當成一個了不起的資本,根本是源於中國大家對程式碼的無上崇拜,這也造就了中國現在IT互聯網行業內一個鄙視鏈: 開發—> 測試開發—>自動化測試—>純手工測試。所以,在這個鄙視鏈中,純手工測試屬於底端被碾壓的生物。

        實際上,我覺得這是一種嚴重的偏見,並且體現了其對測試行業認知的極其不專業。

 

 ●自動化測試固然重要,但是測試思路才是重中之重● 

        首先,我們不能否認自動化測試的作用,他肯定是將來軟體測試發展的一個大方向。

       自動化測試將QA從繁重的重複勞動中解放出來,優化測試資源,提高測試效率,對產品品質保證起到積極的作用;另外,一個有自動化測試腳本、框架、工具開發能力的QA,更有競爭力也是一件毋庸置疑的事情。

  但是,但凡做過測試工程師的朋友都知道,一些邏輯非常複雜的場景是很難用自動化腳本實現的,就算要強行實現,也性價比很低,因為太費時費力了。  

  所以用手工測試來執行一些奇葩的場景更靈活方便並且可以發現很多問題;而且,從事過測試的人應該很清楚,同樣的一個測試任務,交給不同的測試人員是會有特別不一樣的結果,發現的bug數量和最終產品的品質都不一樣。

  所以,手工測試不是手工執行測試,其更重要的部分應該是測試思路和用例設計靈感,這點往往是最困難的,也是需要經驗積累以及自我沉澱的地方,更不是自動化程式碼可以替代的。

  如果沒有一個很好的測試用例和測試思路,純有程式碼和工具,那也是巧婦難為無米之炊。 

 

 ● ○ ● 測試思路才是重中之重 ● ○ ●

 

        所以,不論自動化測試還是手工測試,都只是一種測試手段或者說是一種測試工具,他們各有自己所服務和側重的領域,並無高低貴賤之分。

  真正專業的公司和企業,絕對不會一味的追尋和崇尚自動化測試, 關注的核心一般會放在測試用例、業務模型和測試分析上。

        我自己待過三家公司,都是在北京的外企或者外資企業,三家公司都是美國或者台灣上市的成熟公司,成立至少15+年左右。

  我在職期間,公司雖然都有自動化測試團隊,但是都並不是最核心部門。

  舉例其中一家,其團隊模型是手工測試和自動化測試分別在不同的team里,雖然都是服務於同一個產品的,但是業務是完全隔離的。純手工測試負責測試用例的設計,執行手工測試,包括功能性能等,然後自動化測試拿著相應的測試用例,去實現程式碼自動化。

  相信,這種測試模型分布在目前中國大部分的公司來說是最常見的,但是卻也是問題比較顯著的。這裡的主要問題就是,純自動化團隊沒有參與手工測試所以他們並不懂業務,不會設計測試用例測試,他們實現的自動化程式碼,往往不能覆蓋我們產品核心重要的業務,能夠發現的問題往往是用戶不那麼關心的問題。

  這樣,自動化測試的初衷就不復存在了。導致的一個現象就是,本來自動化測試是為了釋放雙手,節約人工和時間成本,但是後來手工測試團隊沒有辦法完全信任自動化團隊的測試結果,很多版本的迭代測試,都還是要親力親為測一遍才敢發布出去,這樣自動化測試就成為了一個很雞肋的存在。

        當然,這種問題目前也慢慢被重視起來所以得到了一些改善。

  現在很多公司都是手工測試和自動化測試歸屬於同一個team。

  在產品項目前期,設計測試用例和定測試模型是他們;等產品部分功能穩定了,程式碼改動少了,實現自動化腳本覆蓋每個迭代的回歸測試是他們;隨著產品成熟,優化手工測試用例,以及開發自動化框架提高覆蓋率的還是他們…..

  當然,這種工作模型是一種比較理想的狀態,需要測試人員的素質和技術都是一流的,才能完全覆蓋包括手工測試和自動化測試各個階段的工作,企業需要這樣的人才,個人需要這樣的奮鬥方向,這將會是測試領域的人才需求的趨向。

 

     ● ○ ● 總結 ● ○ ●

 

       說了這麼多,總結一下,對於測試行業,手工測試和自動化測試缺一不可,手工測試是基礎,自動化測試是錦上添花。

  所以,基於現在的市場需求,測試工程師們應該先打好基礎,積累很好的測試理念和測試思想,然後可以進一步提升自己的自動化能力,讓自己成為市場需要的全面型人才。