GSS資安電子報0210期 【自動化測試是什麼?4個企業導入自動化測試的優勢解析!】

訂閱電子報
2023年五月14日(日) AM 09:00
翻譯及整理:叡揚資訊 資訊安全事業處
         

      團隊間的溝通對於任何組織來說都是至關重要的。那麼,測試和 QA 團隊該如何提出建議而不被忽視?管理層又該如何積極傾聽?讓我們繼續看下去。

 

持續測試

      沒有人喜歡聽到「我早就跟你說過了」,但有的時候有人就是喜歡告訴別人「他才是對的,並且他從一開始就知道了。」我們不是來告訴你要這樣做,儘管這種慾望是可以理解的。測試和 QA 團隊的成員通常被困在產品團隊、開發人員和業務團隊成員之間。測試人員在組織中的角色不僅僅是測試。他們必須能夠有效地溝通,並為共同目標將團隊凝聚在一起。目標是在快速且大規模的情況下交付網頁和行動APP。QA 主管和測試團隊經理需要在多個方面應用他們的溝通技能。

  • 說服企業領袖明白測試自動化的價值
  • 了解用戶的觀點,並向管理層指出差距
  • 與開發人員合作解決缺陷

      然而,正如我們所知道的,公司中存在著溝通誤差,QA 或測試團隊成員提出的最好建議往往會被忽視。因此,讓我們來看看一些最相關的建議,這些建議由 QA 和測試人員提供,但常常被忽視。

      

更多自動化測試並不自動等於更好的測試計劃

      企業領袖喜歡堅持這一點。當然,自動化測試是好的,而且更多的自動化測試是更好的。然而,這裡還有更多的要考慮。我們知道自動化測試的好處。那麼為什麼不把所有東西都自動化呢?簡短來說是這不僅很困難,而且也不必要。過去,只有在平台和使用者流程穩定一致時,才會自動化測試。這使得測試的創建和維護更加耗時。事實上,現在有了新的測試編輯器等工具,手動創建測試並進行驗證所需的時間比以往任何時候都要短。所以,我們仍然面臨著最一開始的問題:為什麼不把所有東西都自動化呢?

      你可能能夠實現高達80%的自動化,但仍有一些情況需要人類干預才能執行。儘管您可能認為在客戶和業務壓力相加之下,促使你嘗試實現100%的自動化,但軟體測試中仍有重要的部分需要保留給手動測試。

  

業務團隊向客戶作出不切實際的預估和承諾

      準備測試軟體時,公司面臨的兩個關鍵問題是需要多長時間進行測試以及需要多少成本。在內部溝通不良的組織中,這些答案通常會給出不切實際的預估和承諾。問題在於,軟體測試估計是由管理層建立的,他們並不總是理解持續測試的技術性。預估對於確保測試團隊不超出時間限制或預算非常重要。它有助於測試項目計劃,因為它賦予您分配資源和優化測試活動的能力。那麼,企業領袖如何在不讓其測試和QA團隊受到傷害的情況下做出更好的軟體測試預估呢?

      做好持續測試估算有四個核心面向:時間、資源、成本和技能。讓我們更詳細地看看每個方面。

  • 時間:首先,團隊經理計算每個測試項目所需的最佳時間,然後制定時間表,以確保測試執行在設定的參數內。而成功的關鍵在於團隊能否在時限內完成任務。
  • 資源:包括基礎設施、工具和專家等團隊需要的東西。如果團隊沒有足夠的資源,一個成功的測試執行就不可能按時完成。
  • 成本:這在一定程度上包含在資源部分中。成功的測試預估需要團隊了解他們需要什麼,並相應地編定預算。理想情況下,預算應事先確定,並且測試專案應與預算相一致。
  • 技能:這指的是團隊成員的技術和專業技能。如果他們缺乏或不足,整個測試過程將放緩。

  

實施Shift-Left和成為測試中心

      Shift-Left方法的目的是盡早在開發流程中發現缺陷。這意味著需要更好的協作和團隊之間的溝通。由於實施這些方法的成本(時間和金錢)比較高,管理層對採用這些方法持有反對意見。他們仍然認為測試是SDLC的最後一步,這導致問題。最令人擔憂的是,測試開始成為一個軟體交付的瓶頸。Shift-Left的重點在於,測試仍然可以在週期的最後進行,但是因為已經提前測試,所以最後的執行速度會更快更短。在這種意義上,Shift-Left不完全是將測試移至開發週期開頭的方法,而是更像是用香料對整個開發過程中進行調味。

 

更多的QA並不代表更多的缺陷

      一些企業領袖認為QA是必要的惡,他們知道QA需要實施交付高品質軟體相關的流程,但這個過程通常發生在交付週期的晚期,可能會讓人感覺像是一個瓶頸。他們錯誤地認為,更多的QA將導致發現更多缺陷,進而延遲發佈。當測試人員識別缺陷和錯誤時,QA將關注可能不是技術性的可用性問題。因此會出現QA和延遲的感覺。他們會考慮超出錯誤範圍的缺陷。QA關注最終使用者體驗和更多與性能相關的問題,如糟糕的導航或較慢的加載時間。因此,儘管進行更多的QA可以改善應用程式並提高用戶體驗,但這並不意味著應用程式會因此被發現比測試團隊已經發現的問題更多或更嚴重。

 

底線

      當我們談到企業領袖忽視建議時,看似總是涉及權力和直覺。一方面,他們通常想要保留對公司流程的權力和所有權。另一方面,當做決策時,他們可能過度信任直覺,因為正是那種第六感讓領袖一開始得以擔任自己的職位。當談到軟體測試和QA時,更多的測試或增加QA的想法常常會引起SDLC延誤的疑慮。除了要對商業團隊坦誠和誠實外,公司需要一種方式來不僅將測試提前到開發過程的早期,而且還要找到一個報告工具,幫助開啟對軟體測試流程的可行性的對話並提供實際證據。

 

自動化測試工具的主要優點包括:

  • 測試速度更快:自動化測試可以持續快速運行,減少測試時間。
  • 測試可靠性更高:確保測試一致性和可重複性可消除人為錯誤。
  • 測試範圍增加:執行覆蓋廣泛場景的測試可提高測試覆蓋率,確保所有場景都得到測試。
  • 成本降低:自動化測試工具減少了手動測試的需求,讓測試人員可以處理更複雜的場景。
  • 可擴展性強:自動化測試工具可以輕鬆地對大型應用程序進行測試,更容易在大規模上執行測試。

 

手動測試和自動化測試:優劣比較

手動測試-優勢

    • 人為互動:手動測試者具有經驗和直覺,可以測試自動化測試可能忽略的情況。
    • 探索性測試:手動測試人員可以探索被測試的網站或移動應用程序,找出未知或未計劃的問題。
    • 成本效益:在處理較小的項目或無法投資自動化測試時,手動測試可以是一個成本較低的選擇。
    • 靈活:手動測試可以更快地適應專案需求的變化。

 

手動測試-弱點

    • 耗時:大型和複雜的測試項目可能需要較長的時間。
    • 測試範圍有限:由於時間限制,手動測試僅涵蓋有限的測試範圍。
    • 易錯:手動測試容易出現人為失誤和錯誤結果。
    • 重複性高:手動測試可能導致測試人員感到乏味和疲勞。

 

自動化測試-優點

    • 節省時間:自動化測試運行比手動測試更快
    • 可擴展:可以簡單而有效地擴展測試以覆蓋更多情況
    • 一致性:可以一遍又一遍地運行相同的測試,而不會有人為錯誤
    • 全面性:覆蓋大量的情況,並檢測手動測試中遺漏的問題

 

自動化測試-缺點

    • 高成本:自動化測試需要投資於軟體、硬體和培訓
    • 範圍有限:測試僅限於預設的情況,自動化測試工具無法像人類一樣與應用程式互動
    • 維護:測試需要維護和維護,尤其是當應用程序發生更改時,這是一個耗時的過程
    • 偽陽性:在自動化測試中產生假陽性可能需要進行更多的手動測試

 

您是否需要自動化測試工具?

      自動化測試工具在持續進行網頁和行動應用測試時非常有用。儘管許多企業都在進行某種形式的數位轉型,但仍需要一些說服力來證明是否需要這樣的工具。當開發、品質保證和測試團隊不斷執行重複的任務時,可能需要考慮自動化這些任務。此外,需要多個步驟才能完成的複雜情境的團隊,將會從自動化中獲得極大幫助,因為它可以確保測試被一致和準確地執行。另一個推動測試自動化工具需求的使用案例是回歸測試。當在更新的程式碼資料庫上運行測試集以確保更新沒有引入新錯誤時,自動化是一個巨大的優勢。具有CI/CD管道的測試和開發團隊肯定需要自動化作為管道的必要部分。他們可以將測試集成到管道中,確保程式碼更改不會破壞功能。通過深入研究您的測試實踐,查看您的Sprint需要多長時間,測試套件需要多長時間,以及新版本需要多長時間才能發布,您將很快發現您確實需要自動化測試工具。