軟體開發方式變化越多,測試挑戰就越維持不變。

作者:Jonny Steiner,產品行銷經理

 

在2008年重拍的電影《地球停轉之日》中,巴恩哈特教授和克拉圖博士討論時,醫生問道:「一定有其他辦法。你們一定掌握了某種可以解決我們問題的技術。」克拉圖博士輕描淡寫地回答:「你們的問題不在於技術,而在於你們自己。你們缺乏改變的意願。」

感覺編劇大衛·斯卡帕和埃德蒙·H·諾斯好像旁聽了我最近的一次客戶會議。在這個企業正經歷快速數位轉型的時代,我不只一次遇到開發和測試領域的專業人士,他們希望透過科技解決自身的問題。他們問我我們是做什麼的,而我總是會反問他們測試流程的成熟度如何。 「我們可以根據您的實際情況提供幫助,」我自信地解釋道。

這看似是個簡單的選擇:買個工具,然後實現數位轉型。然而,正如我們在實踐中所知,要真正幫助企業轉型,需要的遠不止於購買一個嶄新的工具。

與時俱進

1980年代個人電腦的興起提高了個人生產力和互聯互通能力。 90年代的網路革命進一步加強了全球各地人們和企業的連結。進入21世紀後,電子商務蓬勃發展,行動裝置也開始出現。如今,隨著我們充分利用數據和雲端運算的力量,數位轉型已成為企業發展演變中不可或缺的一部分。企業必須順應時代潮流,運用數位科技進行創新、提高效率、推動創新並提升客戶體驗。

在此期間,軟體開發測試和交付變得更加動態,並且每年都在逐步發展。推動軟體開發方法發展的動力是加快產品上市速度,旨在提高客戶滿意度。敏捷開發和 DevOps 實踐正在取代瀑布等傳統方法,因為它們強調持續交付、頻繁回饋以及開發、測試和維運團隊之間的密切合作。

同樣,數位轉型已成為各組織關注的重點,其結果是技術已融入業務的各個層面,從敏捷規劃到部署。然而,隨著軟體開發、測試和交付的演進,我們必須認識到,儘管技術和方法不斷進步,但根本性的挑戰仍然存在。這些持續存在的挑戰每天都在影響著全球各地的組織,雖然它們並非新出現,但應對這些挑戰的方法可能運用到一些獨特的技術,以至於看起來像科幻小說裡的情節。

測試挑戰依然存在

這看似矛盾,實則不然。困擾全球測試機構的諸多挑戰與八到十年前並無二致。現代軟體系統日益複雜,而開發和測試週期卻不斷縮短。組織內部的壁壘會阻礙利害關係人、開發人員和測試人員之間的溝通與協作,而這些團隊卻持續產生大量資料。管理這些數據和測試環境至關重要,其重要性不亞於確保擁有足夠的測試覆蓋率和可擴展性來真正滿足自身需求。因此,適應時代變遷至關重要。不過,正如我們將要看到的,時代的變化遠沒有你想像的那麼大。

測試挑戰

測試自動化

目前的挑戰在於,實現持續測試環境的自動化需要熟練的專業人員來開發和維護自動化框架。遺憾的是,全球範圍內熟練的品質保證和測試專業人員短缺,使得這項挑戰始終居高不下。測試自動化面臨的其他挑戰還包括:

  • 技能 測試自動化要求從業人員精通程式設計、腳本語言和測試自動化框架。這些技能用於設計、開發和維護框架,同時確保框架與組織需求保持一致。
  • 學習 團隊的技能固然重要,但同樣重要的是不斷提陞技能,掌握最新的技術、工具和最佳實務。持續學習對於團隊充分發揮自動化測試的優勢至關重要。
  • 可擴充性 隨著軟體的不斷發展,測試也必須隨之更新。更新後的自動化腳本必須能夠支援任何 Web 或行動應用程式的變更。

框架本身也必須能夠隨著應用程式複雜性的增加而擴展。

環境管理

目前的挑戰在於,開發人員和測試人員必須存取多個環境,以確保程式碼在各種場景下都能正常運作。此外,Web 和行動應用程式日益複雜,進一步加劇了管理這些環境的難度。深入分析這項挑戰,我們發現團隊在以下方面面臨許多挑戰:

  • Access – 開發人員和測試人員必須存取開發環境、測試環境和生產環境以進行程式碼驗證。每個環境都可能具有獨特的配置、資料庫和第三方整合。
  • 複雜 Web 和行動應用程式通常包含多個元件和服務,每個元件和服務都有各自的依賴關係和配置。因此,確保所有組件連接、可用並針對每個環境進行配置比以往任何時候都更加重要。
  • 數據 管理測試產生的數據是一項艱鉅的任務。資料必須受到保護,同時也要在整個組織內保持同步。在處理跨環境的資料遷移時,管理資料依賴關係和一致性需要格外謹慎和努力。

測試數據

這裡的挑戰很簡單。測試會產生大量數據。一旦產生,就需要對資料進行管理和分析,才能使其發揮作用。以下是一些更詳細的要點:

  • 現實主義 測試數據需要模擬真實場景以確保準確性。擁有多樣化的資料集固然重要,但也十分複雜且耗時。測試數據必須盡可能準確地反映生產環境,才能有效地發現缺陷。
  • 安全防護 敏感資訊經常混入測試資料中,包括個人識別資訊或專有商業資料。隱私至關重要,遵守全球法規也同樣重要。
  • 可操作性 持續自動化測試產生的數據需要以有助於識別問題和追蹤結果的方式呈現。數據必須經過組織和結構化處理,才能達到最佳的結果分析。

快速反饋

每個組織都需要這種能力,但它常常被忽略。其重要性在於幫助開發人員快速識別和解決缺陷,並防止開發和測試流程崩潰。應對這項挑戰的關鍵在於:

  • 識別 缺陷需要在開發和測試過程中儘早發現。缺陷修復所需時間越長,修復成本和時間就越高,難度也越大。
  • 解析度 一旦發現缺陷,必須立即進行修復。否則,缺陷會造成瓶頸,損害流程。此外,開發人員和測試人員還需要工具、資源和專業知識來有效地調查和修復缺陷,這也增加了修復難度。
  • 報告儀表板 歸根究底,問題在於溝通。測試人員必須報告缺陷,並儘可能向開發人員提供詳細資訊。而開發人員也需要理解測試人員的發現並確定優先級,以便及時修復缺陷。

文化變遷

過去的挑戰多年來基本未變,而這可能是近期新增的挑戰。要改變一種文化,必須打破部門壁壘,改善協作,並將開發方法轉變為更迭代的方式。與此挑戰最相關的是:

  • 筒倉 即使在製定了持續測試實踐的組織中,團隊之間仍然存在資訊孤島。開發人員、測試人員和品質保證人員各自獨立工作,而他們共享的流程卻停滯不前。打破這些資訊孤島需要分擔責任,並努力改善溝通。
  • 傳播學 說到這裡,加強協作和溝通對於明確需求、設定品質目標以及更好地協調工作至關重要。同樣重要的是分享回饋和知識。
  • 支持 這必須依靠管理階層的大力支持和領導。團隊領導者需要積極倡導採用持續測試,同時為團隊提供推動這項工作所需的資源、工具和專業知識。

克服挑戰

應對測試自動化挑戰的關鍵在於組織對培訓和改善自動化資源的投入。然而,使用有助於提高易用性、可維護性和可擴展性的自動化工具和技術,是一個好的開始。

當我們檢視測試環境的管理時,關鍵在於有效的環境管理實務。透過更完善的版本控制和變更管理,可以確保所有環境的一致性。我們稍後會詳細討論溝通,但它在環境管理中至關重要,因為它可以幫助開發、測試和維運團隊簡化流程。

這直接引出了測試資料方面的挑戰,因為這些流程和環境會產生大量資料。資料管理工具在此發揮重要作用,它們提供資料產生、資料版本控制和資料同步等功能。然而,測試資料管理的指導原則必須清晰明確,流程也必須定義完善。

這些數據以快速回饋的形式呈現,在鼓勵協作和回饋的敏捷環境中更容易理解和消化。借助合適的缺陷發現和解決工具,您可以提高回饋循環的速度。

這一切都將促成整個組織的文化變革,因為你需要建立跨職能團隊,透過定期會議和研討會鼓勵協作,並促進知識共享和學習。當然,管理層需要以身作則,但有了能夠賦予業務用戶測試自動化能力的工具,這無疑是朝著這個方向邁出的重要一步。改變公司文化需要時間、毅力和清晰的溝通,但這是一個會帶來多面向回報的過程。

回報

令人震驚的是,全球測試流程的成熟度仍然很低。許多大型組織仍需實施持續測試,卻仍受困於陳舊的流程和繁瑣的手動操作。更令人驚訝的是,即使在擁有自動化測試實踐和流程的成熟組織中,測試工具也存在著嚴重的碎片化問題。這不僅體現了產業的快速發展,也反映了某些領導者的固執己見——他們似乎無法推動文化變革,從而實現工具和流程的統一、打破資訊孤島、加強利益相關者、開發人員和測試團隊之間的溝通。

企業領導者需要更多地參與產品開發和測試過程。這並非指責任或權力,而是需要他們能夠深入第一線,了解團隊成員的觀點。我們在這篇文章中討論了工具的使用,而這或許是關鍵所在。首先, 分析工具 這將使組織中的每個人都能全面了解他們的開發和測試執行情況,從而幫助所有團隊理解彼此的工作。相較之下,數百個由人工智慧驅動的洞察和分析將有助於做出更明智的決策。最後, 低程式碼工具 允許業務使用者創建自動化測試,有助於打破資訊孤島,促進溝通,並創造持久而積極的組織變革。

你可能還喜歡