1. 程式人生 > >持續測試之現狀和趨勢:2018最新質量報告現狀解讀

持續測試之現狀和趨勢:2018最新質量報告現狀解讀

測試和安全一直是DevOps實踐中及其重要的環節,但是由於在於ROI不能短平快地看到效果,在具體地實施中往往是被繞過或者是列為遠期規劃的事情。 在上月底,Capgemini釋出了2018年的世界質量報告,藉著這份報告,我們來看一下測試相關的現狀,同時試圖討論一下趨勢和最佳實踐。

WQR 2018

WQR是測試領域一份較為權威的報告,在2018年也在1700份CIO以及資深技術人員的反饋基礎上得到的報告,含括32個國家的多個行業和角度。

1700 份調查

這1700份調查中,中國部分的資料為85份,佔到調查資料的5%。 在這裡插入圖片描述

32個國家

調查資料來源如下32個國家 在這裡插入圖片描述

涵括行業

調查涵括金融/健康醫療/公共服務/製造/運輸/高科技/通訊/能源等十個行業。 在這裡插入圖片描述

受訪者

受訪者以企業中高層為主 在這裡插入圖片描述

釋出者

在這裡插入圖片描述

調查的維度

在這裡插入圖片描述 調查相關的維度為:

  • 安全強化
  • 客戶體驗強化
  • 提升軟體解決方案質量
  • 提升業務需求響應速度
  • IT成本優化
  • 雲端遷移
  • 敏捷或者DevOps實踐
  • 輸出強化
  • 三方SaaS結合

IT主要趨勢

雖然這是一份聚焦於測試的報告,但是從資料的分析上還是能夠看到當今IT的主要趨勢:

IoT/BlockChain/AI等新技術在不斷地被採納

新的技術不斷地湧現,在企業層面上也體現了對這些技術的傾向性,調查物件中的企業中包含IoT相關實踐或者計劃的企業從83%上升到了97%。

雲端計算的普及以及安全策略強化的需求

根據WQR的調查反饋中,有76%的應用已經佈置在雲端,雲端計算的普及帶來了對安全的強烈需求,安全增強成為WQR報告中使用者最為關注的領域。

新技術的推廣導致在測試領域對相關技能的人員需求不斷增加

雲端計算/區塊鏈/物聯網等不斷地進行擴充套件和推廣,但由於這些技術仍然在不斷的發展和更新中,當前在測試中仍然需要有這些知識領域的相關技能的專家進行支援,這也導致了對擁有這些知識和技能的人員的需求不斷增加。

人工智慧與測試

根據調研顯示,57%的受訪者表示他們已經有專案靠考慮或者即將這接下來的12個月中在測試中使用AI的技術。最新的WQR的報告認為,人工智慧和測試是能夠相互影響和促進的

  • 首先:人工智慧使得企業從傳統的測試方式到自建立/自執行/自適應的測試方式
  • 其次:人工智慧的發展也需要新的方式去驗證和檢驗

當然使用AI在測試領域仍然是一個比較前沿的問題,但是這將會是近幾年企業會考慮的策略性的方向。在此之前,建立比較成熟程度的自動化的測試更顯的現實和重要

測試團隊去中心化的雙刃劍

根據反饋,接近99%的受訪者承認他們至少在一部分專案中已經在推進DevOps。高舉著“又好又快”的大旗的敏捷和DevOps的實踐使得實踐者不得不作出一些改變進行適應。而在適應的過程中,很多情況下測試團隊被打散到各個專案中以適應“一個團隊”的文化和組織結構的需要。測試團隊的去中心化給各個專案帶來快速適應變化的益處的同時,這把雙刃劍引入了新的問題:

  • 測試更加依賴於Scrum團隊成員的能力
  • 測試團隊的專業知識以及最佳實踐的積累和利用變得更加困難
  • 重複製造輪子的情況也不斷湧現

所以在這種情況下,很多組織的對應策略是在保持整體測試團隊去中心化的同時,保持一個非常精簡的中心化團隊用於知識和最佳時間等的積累,在測試之外的其他領域也是同樣。

自動化

自動化測試一直是測試領域在不斷實踐的領域,在最近的自動化測試的實踐中,也不斷進行擴充套件:

  • 自動化的範圍:從測試用例的自動化執行擴充套件是使用建模工具進行用例的自動生成
  • 自動化的目標:伴隨著DevOps的Quality at Speed的口號,自動化也將縮短測試時間和更有效地使用測試用例兩者均作為聚焦的內容

雖然一直在努力推進,但是自動化測試的整體推擠程度一致很低(佔到整體的大致14-18%),而自動化測試也成為目前企業在測試方面的重要瓶頸。根據調查結果,這麼低的自動化測試水平也是事出有因:

  • 61%的受訪者由於在每次釋出中應用的變化過大導致在推進自動化測試時非常困難,變化很大意味著整個自動化測試的解決方案應該是健壯的而且是能夠進行適應的,在現有的技術下非常困難。
  • 48%的受訪者受困於如何建立穩定可預期可重用的測試環境和測試資料
  • 46%的企業指出缺乏自動化測試經驗和技能也是導致難以推進的原因

自動化測試的現狀不能令人滿意,但是企業還需要做到的更多,必須需要在測試自動化中進行更多一些的端到端的自動化測試,所以,WQR認為未來的測試解決方案應該是前文所提到的能夠自適應和調節的方式,畢業於AI這個專業的我對於此項2-3年內AI自動測試能夠大行其道的預期抱悲觀態度。但是不可否認一旦成真,必定將會是下一個顛覆性的技術。希望技術的推進啪啪的來打我們的臉,那也應該是一種幸福。

測試環境和測試資料

整體來說測試環境和資料的自動化仍然處於起步狀態,根據調查,58%的受訪者表示仍然在使用手動的方式生成測試資料。測試環境和資料已經成為敏捷開發對測試影響的最重要的挑戰之一,這也是自動化測試推進過程中的另一個重要瓶頸。很多企業已經在這個方面做了很多有效的實踐,比如通過容器化的方式來解決測試環境的自動生成以及一致性的問題。

成本

測試是軟體生命週期中的重要一環,花費在這一環節的費用佔整個IT預算的比率,根據WQR的調查,結果如下

2015 2016 2017 2018
35% 31% 26% 26%

資料需要通過兩個方面來看,測試的自動化提升了效率節省了成本,但同時為了進行這些自動化,為了使用敏捷開發,在基礎架構/工具/組織變更/流程更改等所帶來影響導致了一波支出,所以在2015和2016年正是這個投資階段,然後整體的成本逐步下降而趨於穩定。 同樣可以預期的是在未來的2-3年內,隨著測試環境的虛擬化/測試資料管理/測試自動化/測試環節資料的智慧分析的引入會導致一波新的超過30%的預算投入,然後隨著技術的引入產生的效率提升會有另外一段穩定期的出現。

主要發現

終端使用者滿意度首次成為測試環節的關鍵因素

終端使用者滿意度從去年的34%上升到42%,佔到相同比重的還有“增強使用者體驗”,僅僅落後於“安全增強”的47%,首次將終端使用者滿意度提升到測試環節的關鍵因素。

自動化工具的使用得到提高

在調查中發現,79%的受訪者計劃或者正在使用自動化工具用於測試環境的建立,77%的使用者考慮或者正在使用自動化工具用於測試資料的建立。

人工智慧/機器學習將會測試領域的變革提供顛覆性的驅動力

在未來的2到3年內,人工智慧和機器學習等技術將會成為驅動測試領域變革的巔峰性力量。調查顯示圍繞人工智慧和機器學習很多試驗性的實踐已經暫開,企業IT預算的22%作用用於人工智慧相關的專案,而達到57%的受訪者表示他們正在使用或者在12個月內有計劃使用AI技術用於測試質量保證。

自動化進展緩慢/測試環境與資料的挑戰成為測試效率的瓶頸所在

99%的受訪者表示他們在專案中實踐DevOps,但是由於自動化發展仍然處於初步階段,加之測試資料和測試環境如何有效合理地重用等問題,是的自動化測試成為主要瓶頸之一。在敏捷開發的專案中,根據受訪者的反饋,測試所碰到的最大挑戰是:

  • 缺乏合適的測試環境和資料:從去年的46%上升到今年的53%
  • 測試自動化水平較低: 從去年的41%上升到今年的50% 另外,在問及應用開發的技術挑戰,有55%的受訪者對“缺乏從構建到部署的端到端的自動化”給出了最高的權重。

43%的受訪者認為“測試流程過慢” 是當今應用開發的主要挑戰之一。

測試所需技能正在發生變化

測試的方式正在發生變化,一方面是由於新的框架和技術的推廣所導致,另一方面敏捷開發的推廣也在導致測試團隊和實施方式的變化,在這個過程中會有很多新的角色出現,在2017年的WQR報告中提到了測試團隊對於那些測試團隊中的開發工程師(SDET)成為需求之一,而2018年,則更多地圍繞於技術領域,比如具有AI或者IOT相關技能的人員。 根據調查:

  • 42%的受訪者稱他們在測試中缺少相應的知識和技能
  • 36%的受訪者認為隨著AI的到來,他們應該對AI有更多的瞭解
  • 30%的受訪者認為他們需要更多功能測試自動化技能
  • 29%的受訪者認為他們需要更多測試環境/TDD/BDD相關知識和技能

重要建議

測試自動化分階段推進

測試自動化成為關鍵瓶頸,推動其發展成為當務之急,但是這個目標不是一蹴而就的,需要循序漸進逐步推進,建議使用如下三階段方式推進:

  • 第一階段: 測試優化
  • 第二階段: 基本自動化的實現
  • 第三階段: 實現智慧的自適應的測試自動化

綜合考慮測試環境和測試資料的配置和實現

有53%的受訪者承認在敏捷開發過程中他們噴到了測試資料和環境的挑戰,測試環境和資料的配置和準備拖慢了整個的程序,使之前的其他努力化為烏有。這是我們需要重點關注的問題,推薦的方式則是使用中心化的解決方案,組織必須從整體生命週期上去考慮自動化,而不是分裂開來的自動化,比如測試環境和測試資料配置一起考慮自動化的實現,而不是分別進行。 而這種中心化的解決方案能使得最佳實踐/工具/技術能更好地得到利用,整個基礎架構也能得到更好的重用,整體得到更好的效率。同時,測試環境的管理也必須考慮到更加“智慧”,比如,能根據特定需求建立/配置/監控/恢復環境等。

測試知識技能重建

隨著敏捷/Devops/雲端計算/物聯網/區塊鏈/人工智慧等的發展,對測試人員的需要也不僅僅只是要求測試人員能夠會一些開發了,基於這些挑戰,WQR建議組織應該採取如下四個步驟來推動測試團隊的知識與技能的重建。

  • 步驟1: 首先需要保證敏捷團隊測試成員相關的測試技能以及自動化技能,建議所有測試團隊的成員都具有自動化相關的技能。
  • 步驟2: SDET必須要具有更高級別的自動化技能,百合測試能力,開發能力等
  • 步驟3: 確保足夠的小眾的測試技能比如:安全/非功能性因素/測試環境/資料管理等相關
  • 步驟4: 測試專傢俱有人工智慧相關的技能,比如深度學習概念/演算法/決策樹/分類器/神經網路/高階統計知識/資料優化等技能。

跟蹤支出並不斷優化

精確地跟蹤/理解/優化測試相關的花費,對於投資回報比進行確認,建議組織對於預算和花費進行細粒度的確認,並形成跟蹤機制確認預算花費在哪裡並且是如何花掉的,這樣的機制能保證在測試所投入的成本得到較好的回報。

人工智慧解決方案的測試方法

人工智慧正在如火如荼地發展,調查顯示企業IT預算的22%作用用於人工智慧相關的專案,而達到57%的受訪者表示他們正在使用或者在12個月內有計劃使用AI技術用於測試質量保證。 但是被問及如何測試這些智慧應用時,57%的受訪者回應他們正在試驗新的方法進行測試,45%的受訪者稱他們正在調查合適的測試方法。隨著人工智慧時代的到來,相關的測試方法必須儘早提上日程。

參考文章