移動互聯(lián)時(shí)代,智能手機(jī)成為了新時(shí)代的流量入口,數(shù)十億用戶無時(shí)無刻不在使用著各式各樣的軟件,從而給軟件開發(fā)行業(yè)帶來了空前苛刻的用戶體驗(yàn)要求。
這些苛刻的用戶期望,軟件開發(fā)人員專注于將越來越小的代碼增量越來越快地投入生產(chǎn),產(chǎn)生了更多模塊化和動態(tài)的軟件開發(fā)和部署方法,因而越來越多的開發(fā)團(tuán)隊(duì)開始采用微服務(wù)和容器技術(shù)構(gòu)建云原生應(yīng)用程序。軟件開發(fā)逐漸從傳統(tǒng)的瀑布開發(fā)模式過渡到敏捷開發(fā),再到如今的DevOps時(shí)代。然而,無論在哪個(gè)時(shí)代,測試都被視為快速交付的瓶頸之一。軟件測試的演變在企業(yè)發(fā)展初期,互聯(lián)網(wǎng)業(yè)務(wù)較為單一,采用傳統(tǒng)的瀑布開發(fā)模式,即在整個(gè)項(xiàng)目生命周期中,前半部分用于設(shè)計(jì)和開發(fā),后半部分用來測試。在軟件產(chǎn)品完成交付之前,無法獲得用戶的反饋,難以驗(yàn)證其價(jià)值,更談不上適應(yīng)各種變化。為了讓產(chǎn)品更快交付到用戶手中,開發(fā)者們引入了敏捷模型。敏捷開發(fā)以用戶的需求進(jìn)化為核心,采用迭代、循序漸進(jìn)的方法進(jìn)行軟件開發(fā)。在敏捷開發(fā)中,軟件項(xiàng)目在構(gòu)建初期被切分成多個(gè)子項(xiàng)目,各個(gè)子項(xiàng)目的成果都要經(jīng)過測試,具備可視、可集成和可運(yùn)行使用的特征。換言之,就是把一個(gè)大項(xiàng)目分為多個(gè)相互聯(lián)系,但也可獨(dú)立運(yùn)行的小項(xiàng)目,并分別完成,在此過程中軟件一直處于可使用狀態(tài)。近年來,得益于容器技術(shù)與微服務(wù)架構(gòu)的蓬勃發(fā)展,在敏捷模型基礎(chǔ)之上,開發(fā)和運(yùn)維協(xié)同工作的DevOps模式應(yīng)運(yùn)而生。DevOps是一系列軟件開發(fā)實(shí)踐,強(qiáng)調(diào)開發(fā)人員(Dev)和運(yùn)維人員(Ops)之間的溝通合作,通過自動化流程,使得軟件構(gòu)建、測試、交付更加快捷、頻繁和可靠。這種開發(fā)模式的特點(diǎn)是可以把產(chǎn)品的每個(gè)迭代,或者每修復(fù)一個(gè)線上缺陷就立即部署到生產(chǎn)環(huán)境,這樣一來,開發(fā)者就能夠迅速從用戶處獲得反饋并且快速做出響應(yīng)。在DevOps開發(fā)流程中,測試工作融入到了項(xiàng)目生命周期的每個(gè)環(huán)節(jié)。DevOps測試帶來的挑戰(zhàn)
當(dāng)然,這樣的變革也為軟件測試工作帶來了更多挑戰(zhàn)。挑戰(zhàn)一:頻繁部署在采用DevOps之后,開發(fā)團(tuán)隊(duì)能夠根據(jù)項(xiàng)目具體情況做到每天一次甚至多次部署。在生產(chǎn)環(huán)境頻繁部署軟件,最大的挑戰(zhàn)就是測試。以前,測試基本上都在開發(fā)階段之后和產(chǎn)品上線之前完成。但現(xiàn)在,不再有充足的時(shí)間留給QA團(tuán)隊(duì)去發(fā)現(xiàn)問題再拋給開發(fā)團(tuán)隊(duì)進(jìn)行修復(fù)。那么,速度成了測試面臨的一大挑戰(zhàn)。而很多企業(yè)缺少足夠的測試工程師,或時(shí)間緊張,無法按時(shí)完成用例設(shè)計(jì)和執(zhí)行,確保產(chǎn)品準(zhǔn)時(shí)上線,測試執(zhí)行時(shí)間長,結(jié)果反饋慢。挑戰(zhàn)二:自動化在DevOps趨勢下,測試部門從原先的大量集中測試,變成了高頻快速測試。原先大部分企業(yè)采用純手工測試的方式,從根本上無法適應(yīng)DevOps的高頻快節(jié)奏需求,從而滋生了對自動化測試的訴求,這就對測試人員的自動化編碼能力提出了更高的要求。挑戰(zhàn)三:測試跟蹤管理難DevOps流程中,測試過程會產(chǎn)生大量新的數(shù)據(jù),這些數(shù)據(jù)資產(chǎn)、結(jié)果資產(chǎn)分析數(shù)字化程度低,難以整合和拉通并作為測試優(yōu)化改進(jìn)的依據(jù)。挑戰(zhàn)四:Bug發(fā)現(xiàn)和解決成本高內(nèi)部測試團(tuán)隊(duì)形成測試“思維定式”,無法從用戶視角及不同維度對產(chǎn)品進(jìn)行補(bǔ)充測試,導(dǎo)致測試結(jié)果不可信,測試結(jié)果無法充分反映軟件風(fēng)險(xiǎn)。總而言之,DevOps在帶來更加敏捷高效的開發(fā)模式的同時(shí),對測試人員提出了更高的要求,也帶來了更高的測試成本。基于云的測試平臺為了解決DevOps的測試瓶頸,市面上涌現(xiàn)出了很多自動化測試工具,其中基于云的測試平臺成為了一大發(fā)展趨勢。云測試面向企業(yè)及開發(fā)者,通過云端調(diào)配和使用測試工具、測試設(shè)備、測試工程師,以解決企業(yè)軟件和系統(tǒng)的功能、兼容、性能、安全等全周期的測試需求,具備云服務(wù)彈性可伸縮的特征,能提高企業(yè)的軟件和系統(tǒng)測試效率,降低測試成本。根據(jù)EmergenResearch的最新分析,未來7年全球云測試市場規(guī)模將以年均13%的增長率穩(wěn)步上漲,預(yù)計(jì)在2028年達(dá)到216.7億美元。其中北美仍是全球最大的市場,而亞太地區(qū)則是增長最快的市場。在國內(nèi),以百度、阿里云、騰訊云、華為云等頭部廠商為代表的云服務(wù)供應(yīng)商都推出了各自的云測試服務(wù)平臺,為國內(nèi)中小企業(yè)開發(fā)者提供自動化云測試服務(wù),幫助企業(yè)實(shí)現(xiàn)降本增效。在此基礎(chǔ)之上,將“讓人人都能開發(fā)軟件”作為產(chǎn)品使命的飛算更進(jìn)一步,推出了更易于初學(xué)者使用的飛算SoFlu全自動測試平臺。飛算SoFlu全自動測試平臺能夠?yàn)橹行∑髽I(yè)開發(fā)團(tuán)隊(duì)提供易用、可靠的云測試服務(wù),包括:- 測試生命周期管理:提供測試用例管理、測試用例評審、測試計(jì)劃跟蹤、測試報(bào)告生成等測試生命周期管理相關(guān)功能。
- 測試用例自動生成:用戶通過錄制工具把操作過程記錄下來,平臺自動識別相關(guān)的接口并創(chuàng)建相應(yīng)的測試用例場景。
- 測試數(shù)據(jù)管理:基于測試腳本與測試數(shù)據(jù)分離的思路,方便研發(fā)測試協(xié)同、方便自動化測試中的測試數(shù)據(jù)使用,支持在UI、接口等自動化工具中快速可重復(fù)地使用。
- 精準(zhǔn)回歸測試:項(xiàng)目測試時(shí)自動識別所有變動的接口,自動查找接口關(guān)聯(lián)的所有測試用例進(jìn)行精準(zhǔn)回歸測試。
以飛算SoFlu全自動測試平臺為代表的云測試平臺能夠讓開發(fā)團(tuán)隊(duì)輕松應(yīng)對DevOps模式下帶來的四大測試挑戰(zhàn),幫助開發(fā)人員匱乏的中小企業(yè)或組織機(jī)構(gòu)降低測試工作門檻,實(shí)現(xiàn)降本增效,進(jìn)一步完成數(shù)字化轉(zhuǎn)型。