背景

持續測試框架

定義測試策略

作者

馬克陳

高級數字化轉型策略師

日期2022年8月26日

介紹

加速您的軟件交付周期是不可能的,除非您也加速和增強您的軟件測試方法。在另一篇文章中,我們描述了將您的組織轉變為現代測試組織的八個步驟。

本文將重點介紹如何定義您的測試策略。您將了解采用敏捷實踐的重要性。我們還將引導您了解測試活動的級別,概述測試策略的組件,解釋現代工具策略中包含的內容,並總結建立您的策略所需要的內容。

定義測試策略

測試策略是描述公司將在其軟件開發生命周期(SDLC)中采用的測試方法的大綱。因為今天的許多團隊都遵循敏捷開發的原則,所以他們也應該遵循敏捷測試的原則。為此,采用敏捷測試是定義測試策略的關鍵元素:

  1. 擁抱敏捷測試
  2. 理解測試活動的三個層次
  3. 調整測試策略的組件
  4. 創建一個現代化的工具策略
  5. 製定策略

1

擁抱敏捷測試

敏捷測試包含測試團隊已經習慣在測試周期中使用的相同測試類型。不同之處在於,在敏捷測試中,團隊必須在更短的時間內更頻繁地執行這些測試。

  • 單元測試通常由開發人員在代碼、類或功能級上執行。
  • 係統測試驗證係統的功能。
  • 係統集成測試驗證係統之間的集成。
  • 端到端測試驗證完整的業務流程。
  • 用戶驗收測試為團隊提供來自業務用戶的反饋。

團隊還可以選擇執行非功能測試,例如安全性測試或負載和性能測試。因為敏捷開發需要團隊更頻繁地執行這些類型的測試,所以團隊盡可能地自動化將是理想的。

自動化不僅可以幫助您滿足敏捷測試中對速度的需求,還可以幫助您處理日益增加的複雜性。敏捷團隊經常必須麵對:

  • 不同的測試策略。在不同階段、不同流程和不同應用程序上工作的團隊將傾向於使用他們自己的測試策略。這些策略可能與其他團隊使用的策略相衝突。
  • 豎井式測試周期.一個團隊使用的測試策略和資源對其他團隊是不可訪問的。
  • 多個團隊共同開發一個應用程序。對於這些團隊來說,協作和溝通是最重要的。

當您在組織中擴展測試時,像這樣的挑戰將導致更多的依賴、更低的效率和更高的成本。如果您打算繼續滿足客戶的質量標準,您現在就需要轉變您的測試實踐,以實現簡單和高效。

2

理解測試活動的三個層次

通過理解公司通常執行的三個級別的測試活動:團隊、程序和企業,我們可以開始消除擴展測試活動的複雜性。如果公司一次隻有一個團隊和一個正在開發的應用程序,那麼執行這些級別的測試將非常簡單。但是您的公司可能有多個團隊同時在不同的程序上工作,並且隨著您擴展測試足跡,您的測試活動將變得更加複雜,需要更多的努力。請記住,根據公司的規模,某些活動可能會在這些級別之間向左或向右移動。

團隊層麵

在團隊級別,團隊執行單元和係統測試。他們執行API和契約測試,測試微服務和數據庫,並驗證你的特性和功能。團隊應該在孤立的環境中執行此測試。有些組件可以虛擬化,但一切都是根據團隊的需要量身定製的。

在團隊級別的測試中涉及到兩個核心角色:

  • 自動化專家使用提供的工具集並根據定義的測試策略執行測試。這些專家構建並執行自動化、標準化和可重用的測試,這些測試將集成到提供的工具集中。
  • 測試分析師執行風險分析,不斷重新定義煙霧測試、回歸和進展組合以及探索性測試。

在團隊級別,自動化專家和測試分析師應該努力:

  • 交付可以跨團隊重用的解決方案
  • 遵循自動化最佳實踐
  • 營造合適的環境
  • 考慮一下虛擬化如何提供幫助
  • 準備好測試數據
  • 自動化盡可能多的階段
  • 努力消除誤報
  • 將探索性測試納入測試過程

項目級別

在程序層,團隊測試用戶界麵、業務流程和係統之間的集成。測試可能包括虛擬化的組件。

在程序級別的測試中涉及到三個中心角色:

  • 程序測試架構師將定義測試策略和測試工具鏈,並將協調工具決策
  • 程序自動化工程師實施和整合測試策略和工具以進行持續測試。
  • 係統團隊將跨多個團隊或應用程序/業務線組裝和執行自動化測試。

企業級

企業級測試包括跨多個測試階段的測試。一個例子是跨不同應用程序測試客戶事務。企業級測試也可以稱為端到端測試。它包含功能測試和非功能測試,還可能包含負載測試和性能測試。在這個階段,環境開始非常類似於生產環境。測試將不同團隊的工件組合成端到端的測試,然後交給專門的團隊(係統團隊)進行進一步的測試。在端到端測試的基礎上,業務用戶將執行用戶驗收測試,將業務視角整合到測試結果中。

在企業級測試中涉及到三個中心角色:

  • 企業測試架構師將定義測試策略和測試工具鏈,並將在企業級編排工具決策
  • 企業自動化工程師將執行和集成用於(企業)持續測試的測試策略和工具
  • 係統團隊將跨多個團隊或應用程序、業務線和程序組裝和執行自動化測試。

在企業級,測試團隊成員應該努力做到:

  • 在企業級別跨所有程序編排測試
  • 涵蓋最常用和風險最高的端到端業務流程
  • 模擬終端用戶行為
  • 定義生產測試

3.

調整測試策略的組件

一旦您闡明了您的團隊將要執行的三個級別的測試活動,您就可以開始定義您的測試實踐了。

您的測試實踐構成了您的測試策略的核心。這是您如何確定您的軟件是否準備好發布的方法。您的測試策略是由這些層定義的:人員、過程和技術。

在人員層,共享團隊在不同的級別上運行。在這裏,係統團隊將使用其他團隊交付的工件執行端到端測試。

關鍵人物層次問題的答案

我們如何使我們的測試組織現代化?

定義責任。給每個人關於他們在持續測試中的角色的明確指示。

我們怎樣才能有效地合作?

最大化的合作。明確每個團隊成員對其他人的期望,以及對他們的期望。

我們如何將測試擴展到其他團隊?

啟用端到端測試。使用您已經建立的職責和可交付成果來為端到端測試設置一個框架。

我們怎樣才能變得更加敏捷?

地址管理。將治理分配給專門的企業支持團隊。

了解有關企業支持團隊的更多信息

過程

在過程層,您的團隊將專注於建立您的測試活動的一致的、準確的度量,以便他們可以向涉眾提供有用的反饋。他們還將製定您的策略,以幫助加速和優先級測試。

您的團隊可能會尋找這些問題的答案

如何統一我們的測試?

增加可追溯性擁有最先進的測試管理工具。

我們如何衡量我們的轉變?

統一報告跨團隊、應用程序、工具和業務流程。

我們如何減少浪費?

統一測試工具支持端到端協作。

我們如何縮短發布或測試周期?

利用協同效應通過刪除重複的係統、流程和工作。

您還可以通過以下方法收緊您的持續測試策略:

  • 仔細計劃您要測試的內容。
  • 製定如何準備測試數據的策略。
  • 確保您的測試數據可以輕鬆地跨團隊和環境共享、訪問和管理。
  • 創建一個測試執行策略,該策略定義執行哪些測試、何時、何地以及使用什麼數據。
  • 確保您的測試環境對於測試執行是可用的和穩定的。

技術

在技術層,您的團隊將通過關注自動化測試用例執行、服務虛擬化、用戶界麵測試、API測試和測試數據管理來增強功能測試。他們還將評估非功能測試,如性能測試,尋求盡可能多地合並自動化。

專注於使用技術來增強您的測試

我們如何提高發布頻率?

自動化測試用例執行,團隊將減少手工工作,並確保團隊在應用程序中引入任何問題時得到快速通知。通過這樣做,他們可以擴大覆蓋麵,降低風險。

我們如何提高質量?

性能測試自動化驗證應用程序的速度、健壯性、可靠性和正確大小的測試。

我們如何測試不可靠的、不斷發展的或尚未完成的應用程序?

服務虛擬化,團隊將把測試移到左邊,並增加測試和部署的頻率。他們將通過創建可以在測試周期的所有階段由不同團隊共享的服務,使測試民主化。

我們如何模擬和測試客戶行為?

用戶界麵測試旨在提高測試人員以及業務用戶和客戶的整體產品體驗。

我們如何減少浪費?

具有良好的測試數據管理,它們將為您的測試人員騰出時間,並簡化手動的、緩慢的和昂貴的流程。

我們如何通過卓越的運營來優化成本?

API測試,團隊將測試基於微服務的應用程序、api等的遷移。

4

創建一個現代化的工具策略

如果您的組織非常重視實現高速發布,那麼您需要跨團隊、項目和應用程序優化和編排質量。一旦確定了測試策略的組件,就將重點放在構建工具策略上。現代工具策略應該由特定的目標驅動,並且能夠滿足許多不同的需求。

這些具體目標應包括:

  • 將測試自動化擴展到企業級別。將重點放在集成和擴展測試自動化到您的整個軟件開發生命周期以及您的測試管理過程中。
  • 加強團隊間的協作。標準化您的開發人員、測試人員和業務之間的協作,以及來自需求、測試和缺陷級別的可跟蹤性。
  • 加快上市速度。使您的組織能夠通過盡早和經常測試來從戰略上接近QA,並更快地進入市場。

這就是工具發揮作用的地方。您可以通過實現正確的工具來支持這些目標。尋找高度集成的解決方案,這樣它們將促進並促進團隊之間的協作。更具體地說,你的解決方案應該提供:

  • 一個開放的平台,支持和協調廣泛的開源和商業技術。
  • 可追溯性,這樣您就可以通過DevOps生態係統集成將您的生產部署追溯到您的業務和功能需求。
  • 完整的測試生命周期。如果您找到一個支持眾多測試需求的單一平台,那麼您將受益於擁有一個公共信息模型,該模型使所有用戶能夠在測試用例、計劃、數據和工件上進行協作,以便跨測試的所有階段使用。
  • 實時分析。當您集成報告和數據倉庫技術時,您可以在一個地方獲得所有測試活動的全麵可見性和洞察力,使您能夠進行持續改進。

5

製定策略

您已經定義了您的測試策略和工具。現在是時候實施你的策略了。這就是你的企業支持團隊會參與進來的。

企業實現團隊包括來自企業級的架構師和工程師,他們通過以下方式在整個組織中設置團隊的測試策略:

  • 協調測試工具的決策。
  • 在戰略討論中代表QA。
  • 定義和管理運營模式
  • 跨團隊收集和傳播最佳實踐。
  • 支持新團隊。

6

結論

從本質上講,構建您的測試策略僅僅包括確定您想要執行多少測試活動,您的團隊能夠做什麼,以及您需要實現哪種工具來授權您的團隊。在整個過程中,您將努力統一您的團隊,增加他們的協作,並通過最大限度地標準化工具和流程來消除他們所做的一切的複雜性。

記住:這裏的目標不是最初的完美,而是不斷的改進。

作者:

馬克陳

高級數字化轉型策略師

日期2022年8月26日
Baidu
map