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