一、敏捷開發(fā)與測試
測試不僅僅是測試軟件本身,還包含了軟件測試的過程和模式。產(chǎn)品多數(shù)在發(fā)布后才發(fā)現(xiàn)很多問題,多數(shù)可能是軟件開發(fā)過程出的問題,因此測試除了針對于軟件的質(zhì)量,即軟件做了正確的事情,以及軟件做了應該做的事情以外,敏捷的測試團隊還要保證整個軟件開發(fā)過程是正確的是符合用戶需求的。
在互聯(lián)網(wǎng)唯快不破的勢頭下,快速上線是很多產(chǎn)品搶占市場和生存的制勝法寶。敏捷開發(fā)的最大特點是高度迭代,有周期性,并且能夠及時、持續(xù)地響應客戶的頻繁反饋。敏捷測試即是不斷修正質(zhì)量指標,正確建立測試策略,確認客戶的有效需求得以圓滿實現(xiàn)和確保整個生產(chǎn)的過程安全的、及時的發(fā)布最終產(chǎn)品。敏捷測試人員因而需要在活動中關(guān)注產(chǎn)品需求,產(chǎn)品設(shè)計,解讀源代碼;在獨立完成各項測試計劃、測試執(zhí)行工作的同時,敏捷測試人員需要參與幾乎所有的團隊討論,團隊決策。
二、云測試(Cloud-testing)
云測試是基于云平臺提供測試服務的新模式。面向企業(yè)及開發(fā)者,通過云端調(diào)配和使用測試工具、測試設(shè)備、測試工程師,以解決企業(yè)軟件和系統(tǒng)的功能、兼容、性能、安全等全周期的測試需求。具備云服務彈性可伸縮的特征,以AI+RPA(業(yè)務流程自動化)的測試能力部分或全部取代人工測試為主要發(fā)展趨勢。云測試通常能將企業(yè)的軟件和系統(tǒng)測試效率提高50%,測試成本降低30%。
三、DevOps 開發(fā)運維一體化
DevOps是一種重視“軟件開發(fā)人員(Dev)”和“IT運維技術(shù)人員(Ops)”之間溝通合作的文化、運動或慣例。透過自動化“軟件交付”和“架構(gòu)變更”的流程,來使得構(gòu)建、測試、發(fā)布軟件能夠更加地快捷、頻繁和可靠。DevOps 其實包含了三個部分:開發(fā)、測試和運維。換句話 DevOps 希望做到的是軟件產(chǎn)品交付過程中IT工具鏈的打通,使得各個團隊減少時間損耗,更加高效地協(xié)同工作。
Google 提出的 5 個 DevOps 原則包括:精簡組織架構(gòu);愿意承擔一部分試錯帶來的損失;分階段地一小步一小步地進行轉(zhuǎn)型;最大化地利用工具和自動化流程;對所有的過程和結(jié)果進行記錄和分析。DevOps 不是簡單的開發(fā)軟件化,而是企業(yè)的學習能力不斷提升的結(jié)果,將企業(yè)改造成敏捷應對的學習型組織,運用新的工具,優(yōu)化組織架構(gòu)和流程,不斷地進行自我革命和創(chuàng)新的方式。工具是輔助,而非基礎(chǔ)。
四、測試自動化
為了有效地實施DevOps實踐,軟件團隊不能忽視測試自動化,因為它是DevOps過程的基本要素。軟件團隊需要找到用自動化測試代替手動測試的機會。由于測試自動化被認為是DevOps的一個重要瓶頸,因此大多數(shù)回歸測試應該是自動化的。
鑒于DevOps的普及以及測試自動化未得到充分利用的事實,只有不到20%的測試是自動化的,因此在組織中增加測試自動化的采用還有很大的空間。在項目中應該引入更先進的方法和工具,以便更好的利用自動化?,F(xiàn)有的流行自動化工具,如Selenium,iTestin Online,Katalon和TestComplete等,新功能不斷發(fā)展,使自動化變得更加容易和有效。
五、智能測試
盡管應用人工智能和機器學習(AI/ML)方法來應對軟件測試中的挑戰(zhàn)在軟件研究界并不新鮮,但隨著AI/ML出現(xiàn)大量可用數(shù)據(jù), 這個優(yōu)勢為在測試中應用AI/ML提供了新的機會。
目前,AI/ML在測試中的應用仍處于早期階段。開發(fā)AI和ML的算法以便生成更好的測試用例,測試腳本,測試數(shù)據(jù)和報告是未來軟件測試行業(yè)重點關(guān)注方向。預測模型將有助于決定測試點,測試內(nèi)容和時間。智能分析和可視化幫助團隊檢測故障,了解測試覆蓋范圍,高風險區(qū)域等。未來幾年,一定可以看到更多應用AI/ML來解決質(zhì)量預測,測試用例優(yōu)先級排列,故障分類和分布等問題。
六、云原生技術(shù)
云原生技術(shù)有利于各組織在公有云、私有云和混合云等新型動態(tài)環(huán)境中,構(gòu)建和運行可彈性擴展的應用。云原生的代表技術(shù)包括容器、服務網(wǎng)格、微服務、不可變基礎(chǔ)設(shè)施和聲明式 API,這些技術(shù)能夠構(gòu)建容錯性好、易于管理和便于觀察的松耦合系統(tǒng)。結(jié)合可靠的自動化手段,云原生技術(shù)使工程師能夠輕松地對系統(tǒng)作出頻繁和可預測的重大變更。
七、測試管理數(shù)字化
傳統(tǒng)企業(yè)數(shù)字化轉(zhuǎn)型對軟件質(zhì)量提出了更高的要求,企業(yè)數(shù)字化轉(zhuǎn)型致使軟件數(shù)量、數(shù)據(jù)量、軟件復雜度呈現(xiàn)指數(shù)級提高,業(yè)務變化快、需求不確定對軟件的快速響應能力提出了更高的要求。測試管理數(shù)字化,既是企業(yè)數(shù)字化轉(zhuǎn)型的一部分,也是企業(yè)數(shù)字化升級質(zhì)量和效率的保障。軟件測試長久以來都存在測試執(zhí)行的時間長、結(jié)果反饋慢,測試結(jié)果不可信、無法充分反映軟件風險,測試資產(chǎn)管理困難、無法整合和拉通等問題,因此無法為測試的優(yōu)化改進提供依據(jù)。
而市場上多數(shù)都是專注提高研發(fā)團隊效能的管理平臺,缺少面向測試團隊垂直領(lǐng)域、專注提高測試效能的管理平臺,傳統(tǒng)的測試管理工具又無法滿足企業(yè)的數(shù)字化轉(zhuǎn)型要求。通過建設(shè)企業(yè)測試管理數(shù)字化平臺,可以實現(xiàn)測試全生命周期數(shù)字化管理,逐步實現(xiàn)對測試過程管理可視化、測試結(jié)果管理可視化、人員能效管理可視化等。
近年來,在人工智能、云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)等先進技術(shù)的賦能下,萬物互聯(lián)的數(shù)字經(jīng)濟時代到來,各行各業(yè)都在對已有業(yè)務場景進行數(shù)字化改造和智能化升級,利用各種數(shù)字化技術(shù)對新業(yè)務場景進行創(chuàng)新。
據(jù)市場研究機構(gòu)Gartner的最新預測,2022年全球IT支出預計將達到4.5萬億美元,相比2021年增長5.5%。Gartner還預測,到了2023年,全球相應的軟件測試市場,預計將出現(xiàn)14%的綜合年度增長率。而如果說現(xiàn)在是測試技術(shù)的天下,未來一定是人工智能的天下,以人工智能先進技術(shù)為基礎(chǔ)的智能化測試、自動化測試等勢必成為軟件測試行業(yè)未來重點發(fā)展方向。