圖片

    測試自動化

    為了提升業務敏捷性,平衡您的測試自動化策略

    傑森英語,Intellyx的主要分析師

    任何參與軟件交付的人都會告訴您自動化 - 盡可能 - 是一個本質上的好事。但是,可以奉獻自動化的奉獻,以某種方式將軟件生命周期拋出平衡?

    我們最近一切都變得敏銳地意識到了確保我們自己的健康狀況的需求,以及我們關心的人的健康。我們消耗流行病學家,營養學家和私人教練的內容,尋找這種平衡。

    在隨著時間的推移,我們的身體的表現與實現平衡有很大關係。控製熱量攝入對飲食很重要,但您還需要適量的全部食物脂肪和膽固醇的長期成功。運動是訓練運動時有益的,但在沒有足夠休息的情況下將其帶到極端情況實際上可以削弱身體的恢複能力並導致該領域的傷害。您可能需要維生素D和鉀來預防感染,但是太多這些化合物可能是危險的。

    這甚至沒有解決我們的心態,如果突然受到過度的精神壓力,那麼穩定我們的心態也可以穩定我們,或者對我們的健康產生最具破壞性的影響。

    構建,測試,部署和可觀察性的自動化都對我們的軟件的健康有益 - 但僅適度。我們可以用自動化替換大多數功能性UI測試,但需要始終保持對某種級別手動UAT和人為驗證的需求。

    如果應用過多的測試自動化,則在最少的時間內,出於錯誤的原因,軟件生命周期 - 以及您的業務敏捷性 - 將被推超出平衡。

    盲人自動化是有風險的

    測試是楊向尹軟件開發 - 沒有它,沒有可能的方式知道軟件會滿足要求。

    隨著敏捷軟件開發和交付加速,我們可以盡可能多地進行連續自動化測試的顯而易見的。但我們需要戰略地進行戰略性,並不盲目地進行。否則,壞習慣可能導致測試自動化變得適得其反,實際破壞我們的業務敏捷性:

    • 將秤從客戶成果中傾斜。測試自動化目標應始終與客戶目標保持一致:更好的軟件功能,可靠性,安全性,性能。很容易忘記將業務激勵融入介紹和維護的測試自動化實例中,但如果沒有這種對齊,團隊就是為了檢查一個盒子而產生無果子的勞動力和成本。
    • 感受到虛假的安全感。這種習慣的症狀可能包括由數十萬個靜態代碼檢查,單位測試,數據比較和回歸而創建的99%或更高級別的“測試覆蓋”索賠。高批量試驗程序對於軟件交付生命周期的每個階段的質量控製網關非常有用。但是,在任何一個級別的“我們百萬單位測試通過”並沒有自動轉化為更好的用戶體驗 - 此類統計數據不能在複雜的應用程序組合中提供超過一片覆蓋的覆蓋範圍。
    • 改變的不靈活性。如果測試策略未歸屬於更改,那麼每一個新的更新,組件或貢獻都會使測試自動化無法使用,測試數據無效,並且難以重現。脆性測試 - 無法生存變化的人,特別是在敏捷環境中 - 產生60%至80%的測試人員看到的誤報和否定。當資產對變革不負責任時,團隊開始放棄修複現有測試和建立新的測試的浪費努力,影響本組織向前發展的能力。
    • 測試膨脹和燃燒。對不平衡測試自動化的反身響應正在創造越來越多的易於測試,或現有的易於測試或略有變化。由於冗餘測試的故障很難追溯到它們的源,因此幾乎可以使用重新創建測試,因為假設發生故障是因為測試不好,而不是應用程序本身。測試膨脹導致更高的係統成本和雲OPEX,用於運行測試工作負載和收集和清潔測試數據,該測試數據在更高的勞動力燃燒速率之前。如果涉及集成夥伴並激勵進行更多測試,他們可能會以驚人的速度燃燒預算,而內部測試人員將經曆更高的倦怠。

    在一起,所有這些挑戰消耗了許多昂貴的資源,可以更好地投資最高價值的工作,這是無法自動化的。這種組織隨著時間的推移對測試的信心,對快速發布符合客戶不斷變化需求的軟件的能力產生了巨大影響。

    成功的合適資源

    幸運的是,可以通過在合適的時間,在正確的位置自動化正確的測試,並獲得成功的合適資源來打破這種惡性循環。

    • 在合適的時間測試:我們可以做更多的是,編織關鍵的功能,回歸,集成,性能和安全測試到SDLC的每個階段,使其成為更平滑的體驗。問題可能不是“太多的自動化”,這非常確保我們確保的測試自動化添加了業務價值,避免在軟件開發的任何一個階段進行任何一種測試的不平衡和或潛在的不健康情況。
    • 在正確的地方進行測試:多年來要平衡自己的健康,我們延伸以保持靈活性,以及​​更好的運動範圍。在軟件條款中,我們還培養靈活性,因此我們的測試將保持彈性,無論何處都有風險,在應用程序架構的每層都有風險。這包括彈性UI測試,API和微服務層驗證,端到端數據測試並且歸零在高風險的變化影響,以降低測試範圍。
    • 使用合適的資源測試:通過專業成就,組織設計,教育和技能發展的文化組合,始終強調提高所有團隊成員的生產能力 - 通過將程序,工具和基礎設施進行平衡讓他們成功。

    基本原料

    這些必要的成分應始終出現催化高質量的敏捷軟件交付。

    • 快速反饋循環。實現近乎瞬間的結果響應測試運行,以及模擬環境和實時客戶使用的快速反饋被認為是測試驅動開發的“超級食物”。高測試響應允許團隊調試問題或針對開發人員問題解決的根原因,而無需上下文切換。
    • 要求測試自動化。如果你真的想從左邊轉移測試,為什麼不開始測試測試要求?這種方法可能聽起來荒謬,但需求測試是幾十年來電子和防禦等高度監管環境的基本設計證明點。解決方案喜歡Tricentis Tosca.允許通過業務價值和風險進行加權和優先考慮的測試要求,允許以完全留下更少的相關性和影響的測試。
    • 自助自動化環境。軟件定義基礎設施的所有優度作為代碼(IAC)和彈性縮放的公共/私有雲容量不僅適用於軟件構建和部署團隊。完整測試環境的自動設置和拆除,補充了Golden State測試數據,大大減少了周期時間和開銷成本。自助服務在這裏使得所有區別在這裏,因為測試團隊茁壯成長,而無需記錄IT支持請求即可。
    • 服務虛擬化用於模擬。有時,您需要違反現實,並滿足虛擬環境。服務虛擬化(或SV)允許捕獲,配置和仿真係統,因此您不再需要訪問真實的東西。為什麼這可能會更好?SV不僅消除了受約束係統的可用性衝突,虛擬環境可以更可預測地模擬“待”狀態和場景數據,包括在現實世界中難以重現的邊緣條件,以獲得更加一致的測試結果。
    • 歡迎我們的AI合作者。調用IT機器學習或增強智能,但我們開始看到一類新的AI驅動測試,可以在視覺上檢測和識別屏幕元素,並了解人類用戶的交互如何與應用程序邏輯相關聯。Tricentis介紹Vision AI.所以功能,使用情況和非功能性測試可以保持有效且穩定,而不會維護,即使當呈現層變化也會發生變化。這裏沒有“魔法” - 團隊仍然需要告訴Vision Ai在哪裏看起來 - 但是一旦訂婚,這種認知引擎可以通過編碼和測試工具快速反饋來保持自動化。

    intellyx占據了

    鑒於我們在現實世界中的應用造成的混亂,過度工程和過度自動化的測試隻是自然的人體反應。

    測試自動化不必變得不健康。智能,戰略自動化是最佳預防措施,以及軟件交付的最佳藥物。正確激勵具有平衡方法的激勵測試團隊可以克服虛假的陽性和否定,以及伴隨著不斷擴展的測試自動化套件的數據和警報排氣。

    它不關存在使用開發語言或工具,也不重要,也不是您正在交付的基礎設施。您的應用程序的開發階段也不是什麼。

    實現平衡的軟件測試自動化實踐,使用智能關注關鍵挑戰將釋放人類思想,專注於創造性的解決方案和批判性思維 - 導致風險更少,更高的產出和更真實的創新。

    ***

    閱讀本報告的完整版本 - 以及更多來自Tricentis的分析師的Intellyx和其他分析師研究庫

    Baidu
    map