DevOps中測試的現實
DevOps需要質量第一的心態、平衡的測試自動化,以及工具之外的考慮。
加入DZone社區,獲得完整的會員體驗。
免費加入DevOps震撼了應用程序開發界,無數組織為了不斷交付有價值的軟件而采用了它。由於連續交付需要持續保持警惕,以保持快速交付質量的微妙平衡,因此必然會造成破壞,而測試在受影響最嚴重的部門名單上占據很高的位置。事實上,測試通常被認為是DevOps延遲的頭號來源,而缺陷仍然是48%DevOps團隊的主要問題。
自DevOps在過去13年中成立以來,它培養了大量的開發運營專家。我們最近在DevOps Unbound係列中主持了其中的7個討論DevOps中測試的現實作為每月圓桌會議的一部分:
圓桌會議在各方的共同觀點中脫穎而出。在這個博客中,我們展示了他們的貢獻之間的關鍵相似之處,盡管小組成員的背景各不相同,但這些貢獻仍然相當一致。以戴爾(Dell)的Adam為例,他在大規模敏捷操作中堅定地同意希拉裏·韋弗(Hilary Weaver)信守的質量第一原則——盡管希拉裏在規模範圍的另一端工作,在一個8人的小團隊中擔任高級軟件工程師。
DevOps需要質量第一的心態
我們的專家都同意這樣一個事實,即成功的DevOps應用從軟件交付周期的一開始就關注質量交付,而不是在最後附加“測試”。這一轉變創造了奇跡,確保了測試不再像艾倫所說的那樣是“DevOps的替罪羊”。
希拉裏敦促各組織將質量作為首要目標,並認識到許多領導者將質量作為次要目標而犯了錯誤,“先發貨,後擔心質量”亞伯斷言,一旦你意識到質量應該是第一位的,就要準備好把錢放在嘴上。在很少有人知道單元測試是什麼之前,微軟就已經準備好為質量付出代價,這為他們隨後的數字轉型——包括跨產品套件的雲遷移——提供了極大的幫助。亞當指出,把一個bug推到雲端,所有人都能看到它,質量(或缺乏質量)從未如此暴露。
“你不能自動化主觀性”
雖然DevOps對交付速度的推動無疑引發了測試自動化的浪潮,但Hilary和Miriam首先建議不要全力以赴實現所有測試的自動化。不要忘記,探索性測試和可用性測試對於及時捕捉意外曲線球至關重要;手動測試員絕對仍然有他們的位置。至少就目前而言,在與用戶體驗相關的大多數方麵,您的人力資源比您的係統更智能。
Adam與Hilary和Miriam呼應,提倡手動測試來真正強調你的係統,並捕捉紙麵上有意義但實際上沒有意義的元素。他有力地提醒人們,軟件工程不是一場競賽,而是為專注於帶來價值而不僅僅是速度的測試創造了喘息空間。
Abel分享了這樣一個事實:“非常可悲的事實是,自動化UI測試可能非常脆弱,尤其是當你開始處理諸如微服務之類的現代架構時。你擁有的依賴層越多,你的測試就越脆弱……以至於我們不再運行完整的端到端自動化UI測試。”在Abel在微軟的7年多時間裏,他從未見過他們所有的自動化UI測試都變成綠色——這是從戰略上實施這些測試的有力證據。
不要跳過單元測試和功能測試
在實現測試自動化的地方,我們的專家一致認為——他們的單元和功能測試極大地提高了信心。Adam和Abel都使用了一個基於依賴層的測試排名係統,Abel也分享了他們在微軟的純單元測試無依賴性的比率為28000,隻是為了檢入代碼。
Adam指出,通過向左移動,Dell的DevOps方法允許他們在早期嚐試不同類型的測試,逐漸灌輸他們的信念,即他們在每一次發布中都在改進測試組合。果然,“名義上的單元測試和功能測試占據了大量的整體自動化測試。”
你必須超越工具
每一個成功的DevOps項目都共享有效的合作和公共所有權,每個人都被分配一個適當的角色,並對他們在結果中的利益承擔責任。特裏森蒂斯的克林特觀察到:
“很多時候,人們都非常關注‘我們將使用什麼工具來解決測試中的這個問題?’然而,一旦我們了解了我們擁有誰,他們的優勢是什麼,我們就可以決定我們需要什麼工具或解決方案來增強我們的過程。”
亞當非常同意,他說這一切都是關於人和互動,而不是過程和工具。在DevOps範例中,測試人員和開發人員之間的對話不僅是絕對關鍵的,而且他們還需要與團隊中正確的人在一起。Hilary強調,至少有一位專家以測試主題專家的身份發言,將測試作為其團隊的唯一關注點是非常重要的。不要陷入這樣的陷阱:隻雇傭那些將20%的時間用於測試的開發人員,因為他們沒有足夠的能力來解決關鍵的修複或質量問題。
我們都熟悉“產品路線圖”這個術語,但您是否考慮過實施團隊路線圖?Mitch建議,用這些來評估你計劃如何作為一個團隊成熟和發展,與你的測試策略並行工作。
DevOps工具中的ML和AI:我們隻觸及了表麵
雖然人工智能和測試自動化仍處於起步階段,但我們的一些專家已經對其能力感到興奮。Abel使用Applitools(它與Tricentis Tosca和qTest集成),在他最初的懷疑之後,現在認為它“太棒了”,希拉裏也對其進行了熱烈的評論。他們都同意,它的視覺回歸功能是智能的,而逐像素比較工具通常達不到這一點。
Clint表示,我們看到的是使測試盡可能容易的發展,這是Tricentis AI和ML解決方案(如Vision AI和LiveCompare)背後的關鍵激勵因素之一。
旁注:Tricentis AI和ML副總裁Dave Colwell對此表示讚同,最近分享了10個播客中的轉變支持未來版本的目標是讓測試人員更容易完成他們的工作。
Hilary感謝所有7位專家都非常幸運,因為他們都來自那些在測試自動化方麵真正投入了時間和精力的組織,這使得本次討論在DevOps上的測試現實的一係列觀點上相當引人注目。他們分享了自己的奮鬥和成功,因此,如果不犯同樣的錯誤——往往代價高昂——也是值得一試的。
DZone貢獻者表達的觀點是他們自己的。
評論