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