■ 中國(guó)軟件評(píng)測(cè)中心 周潤(rùn)松
云計(jì)算是信息技術(shù)發(fā)展和服務(wù)模式創(chuàng)新的集中體現(xiàn),是信息化發(fā)展的重大變革和必然趨勢(shì)。支持企業(yè)上云,有利于推動(dòng)企業(yè)加快數(shù)字化、網(wǎng)絡(luò)化、智能化轉(zhuǎn)型,提高創(chuàng)新能力、業(yè)務(wù)實(shí)力和發(fā)展水平;有利于加快軟件和信息技術(shù)服務(wù)業(yè)發(fā)展,深化供給側(cè)結(jié)構(gòu)性改革,促進(jìn)互聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能與實(shí)體經(jīng)濟(jì)深度融合,加快現(xiàn)代化經(jīng)濟(jì)體系建設(shè)。
國(guó)家先后出臺(tái)了一系列的政策文件,包括《國(guó)務(wù)院關(guān)于促進(jìn)云計(jì)算創(chuàng)新發(fā)展培育信息產(chǎn)業(yè)新業(yè)態(tài)的意見(jiàn)》(國(guó)發(fā)〔2015〕5 號(hào))、《云計(jì)算發(fā)展三年行動(dòng)計(jì)劃(2017-2019年)》(工信部信軟〔2017〕49號(hào))和《推動(dòng)企業(yè)上云實(shí)施指南(2018-2020 年)》(工信部信軟〔2018〕135 號(hào)),鼓勵(lì)企業(yè)上云務(wù)實(shí)推進(jìn)企業(yè)上云工作,引導(dǎo)企業(yè)加快數(shù)字化轉(zhuǎn)型步伐,促進(jìn)新一代信息技術(shù)與實(shí)體經(jīng)濟(jì)深度融合。
云計(jì)算,通俗來(lái)講就是放在云端的IT 服務(wù),云計(jì)算讓使用IT 資源就像用水、用電一樣的方便。你無(wú)需關(guān)心電廠在哪里、是怎么工作的,將插頭插入插座即可獲取電能,對(duì)用戶(hù)來(lái)說(shuō)電廠好像有用不完的電,而用戶(hù)僅需為自己使用那部分電能付費(fèi)。云計(jì)算的快速發(fā)展,依托于以下的一些核心技術(shù):
虛擬化技術(shù),云計(jì)算技術(shù)的核心基礎(chǔ),實(shí)現(xiàn)對(duì)物理資源的統(tǒng)一管理。從表面上看,云上運(yùn)行的虛擬機(jī)都是獨(dú)立的服務(wù)器,但實(shí)際上,它們共享了物理服務(wù)器的CPU、內(nèi)存、硬件和網(wǎng)卡等資源。KVM 目前是最熱門(mén)的虛擬化方案,但由于用戶(hù)交互體驗(yàn)不是很好,不方便使用,因此OpenStack 這樣的云管理平臺(tái)就出現(xiàn)了。很多廠商基于KVM以及OpenStack等主流方案構(gòu)建自己的云平臺(tái)。
容器技術(shù),更輕量級(jí)的虛擬化技術(shù)。它和虛擬機(jī)有很大不同,虛擬機(jī)是操作系統(tǒng)級(jí)別的資源隔離,而容器本質(zhì)上是進(jìn)程級(jí)的資源隔離。大家經(jīng)常聽(tīng)說(shuō)的Docker 就是創(chuàng)建容器的工具,是應(yīng)用容器引擎。容器的技術(shù)優(yōu)勢(shì)在于極其輕量、秒級(jí)部署、一次構(gòu)建隨處部署、彈性伸縮。總之容器是一種輕量級(jí)的打包和隔離應(yīng)用工作負(fù)載的方法。容器允許在同一物理或虛擬服務(wù)器上毫不沖突地運(yùn)行多項(xiàng)工作負(fù)載。Kubernetes(k8s) 目前幾乎成為了實(shí)際默認(rèn)的容器化平臺(tái)標(biāo)準(zhǔn),集成了大規(guī)模容器的配置和注冊(cè)管理功能。
微服務(wù)架構(gòu),最新的應(yīng)用軟件架構(gòu)設(shè)計(jì)模式,推崇單一職責(zé)、服務(wù)自治、輕量通信和接口明確等原則。應(yīng)用架構(gòu)正在從采用瀑布模型開(kāi)發(fā)法的單體代碼庫(kù)轉(zhuǎn)變?yōu)楠?dú)立開(kāi)發(fā)和部署的松耦合服務(wù)。成千上萬(wàn)個(gè)相關(guān)的服務(wù)相互連接就形成了應(yīng)用。微服務(wù)很適合采用容器的方式部署,每個(gè)容器承載一個(gè)服務(wù)。單臺(tái)物理機(jī)或者虛擬機(jī)可以同時(shí)運(yùn)行多個(gè)容器,從而輕松地模擬出復(fù)雜的微服務(wù)架構(gòu)的應(yīng)用。容器允許開(kāi)發(fā)人員選擇最適合于每種服務(wù)的工具或技術(shù)棧,并且可以獨(dú)立于應(yīng)用的其他服務(wù)組件,輕松共享、部署、更新和瞬間擴(kuò)展。
DevOps 技術(shù),是一種軟件開(kāi)發(fā)方法,涉及軟件在整個(gè)開(kāi)發(fā)生命周期中的持續(xù)開(kāi)發(fā),持續(xù)測(cè)試,持續(xù)集成,持續(xù)部署和持續(xù)監(jiān)控。現(xiàn)代化開(kāi)發(fā)流程快速、持續(xù)且具備自動(dòng)執(zhí)行能力,最終目標(biāo)是開(kāi)發(fā)出更加可靠的軟件。通過(guò)持續(xù)集成(CI)和持續(xù)部署(CD),每次開(kāi)發(fā)人員簽入代碼并順利測(cè)試之后,IT 團(tuán)隊(duì)都能夠集成新代碼。作為開(kāi)發(fā)運(yùn)維方法的基礎(chǔ),CI/CD創(chuàng)造了一種實(shí)時(shí)反饋回路機(jī)制,持續(xù)地傳輸小型迭代更改,從而加速更改,提高質(zhì)量。持續(xù)集成環(huán)境通常是完全自動(dòng)化的,通過(guò)git 推送命令觸發(fā)測(cè)試,測(cè)試成功時(shí)自動(dòng)構(gòu)建新鏡像,然后推送到容器鏡像庫(kù)。通過(guò)后續(xù)的自動(dòng)化和腳本,可以將新鏡像的容器部署到預(yù)演環(huán)境,從而進(jìn)行進(jìn)一步測(cè)試。
云測(cè)試,狹義的理解就是基于云計(jì)算支撐技術(shù),在云平臺(tái)進(jìn)行測(cè)試服務(wù)的平行遷移工作,開(kāi)展的類(lèi)似傳統(tǒng)的測(cè)試服務(wù)工作。
測(cè)試上云的方式主要表現(xiàn)在于利用云平臺(tái)的快速部署能力,迅速的將傳統(tǒng)的信息化系統(tǒng)測(cè)評(píng)能力遷移到云平臺(tái)中,配套開(kāi)展傳統(tǒng)信息系統(tǒng)相關(guān)的功能測(cè)試、性能測(cè)試、兼容性測(cè)試、安全性測(cè)試等測(cè)評(píng)服務(wù)工作。
云測(cè)試的主要優(yōu)勢(shì)在于快速的環(huán)境部署能力。基于虛機(jī)模板技術(shù)以及備份策略,可以快速的部署服務(wù)器端應(yīng)用程序;依托云平臺(tái)靈活的主機(jī)配置參數(shù)調(diào)整能力、存儲(chǔ)部署能力以及便捷的網(wǎng)絡(luò)部署配置能力,可以在云平臺(tái)上快速的構(gòu)建和更換被測(cè)環(huán)境;同時(shí)基于虛機(jī)的定制鏡像技術(shù),也可以快速高效的推送部署測(cè)試工具環(huán)境以及測(cè)試過(guò)程管理平臺(tái),相較于傳統(tǒng)測(cè)試,更加高效、便捷,也同步降低了測(cè)試成本。
另外針對(duì)移動(dòng)應(yīng)用的盛行,類(lèi)似于Testin 云測(cè)、百度MTC、騰訊移動(dòng)云測(cè)試平臺(tái)等,都推出了基于真實(shí)終端設(shè)備環(huán)境,基于自動(dòng)化測(cè)試技術(shù)的7×24 云端服務(wù),可以在線上通過(guò)鍵盤(pán)鼠標(biāo)的操作控制遠(yuǎn)程的移動(dòng)終端設(shè)備(手機(jī)或者平板電腦),開(kāi)展移動(dòng)APP 的功能測(cè)試、兼容性測(cè)試、安全測(cè)試、遠(yuǎn)程真機(jī)調(diào)試、定制化測(cè)試等服務(wù)。
測(cè)試云,簡(jiǎn)單的理解就是針對(duì)云計(jì)算平臺(tái)的特性以及容器、微服務(wù)和DevOps 等新的技術(shù)發(fā)展方向,開(kāi)展有針對(duì)性的測(cè)試技術(shù)研究,利用云平臺(tái)構(gòu)建進(jìn)一步的測(cè)試組合環(huán)境,并采用新的技術(shù)方式或者業(yè)務(wù)模式,創(chuàng)新性地開(kāi)展測(cè)試工作。
當(dāng)下主要研究發(fā)展方向如下:
面向微服務(wù)架構(gòu)的測(cè)試探索。面向與容器化部署的微服務(wù)應(yīng)用程序,微服務(wù)具有顆粒度更小、部署靈活、運(yùn)行時(shí)環(huán)境復(fù)雜多變的特性,如何在云環(huán)境下有效的對(duì)微服務(wù)展開(kāi)接口測(cè)試、Mock 測(cè)試、性能測(cè)試以及故障模擬測(cè)試,相較于傳統(tǒng)測(cè)試,都是新的挑戰(zhàn)。基于流量錄制和回放的測(cè)試方法,已經(jīng)在阿里、京東等企業(yè)內(nèi)部用于演練雙十一、6.18 等購(gòu)物狂歡的壓測(cè);基于APM 原理的全鏈路監(jiān)測(cè)分析技術(shù),也將極大地提升微服務(wù)架構(gòu)平臺(tái)的性能監(jiān)測(cè)和故障檢測(cè)能力。
大數(shù)據(jù)和人工智能技術(shù)在測(cè)試中的應(yīng)用。目前已經(jīng)出現(xiàn)了基于人工智能技術(shù),進(jìn)行交互界面的圖像識(shí)別,自動(dòng)創(chuàng)建可編輯的自動(dòng)化腳本。隨著數(shù)據(jù)分析技術(shù)以及自然語(yǔ)言處理技術(shù)的不斷成熟,在自動(dòng)化測(cè)試過(guò)程中的數(shù)據(jù)準(zhǔn)備、腳本編輯以及結(jié)果驗(yàn)證比對(duì)方面,將會(huì)發(fā)揮更大的應(yīng)用。另外,對(duì)于測(cè)試結(jié)果以及缺陷的分析工作,也將隨著沉淀的數(shù)據(jù)規(guī)模增長(zhǎng),為數(shù)據(jù)分析提供更充分的原料。
面向開(kāi)源軟件的檢測(cè)服務(wù)探索。中美貿(mào)易摩擦的發(fā)生,引起了大家對(duì)開(kāi)源技術(shù)的進(jìn)一步關(guān)注。開(kāi)源代碼的應(yīng)用與共享、缺陷分析、安全檢測(cè)和溯源工作,也成為了各家機(jī)構(gòu)關(guān)注的重點(diǎn)。源代碼檢測(cè)工具的線上SaaS 化、以及跨工具的檢測(cè)結(jié)果整合分析,已經(jīng)成為工具廠商和集成廠商的工作方向之一。源代碼的溯源、危險(xiǎn)成分分析也是當(dāng)下圍繞開(kāi)源工作的熱門(mén)工作。
眾包。眾包測(cè)試(Crowdsourced Testing)是軟件測(cè)試的一個(gè)新興趨勢(shì),它利用了眾包和云平臺(tái)的優(yōu)勢(shì)、有效性和效率。允許招募大量的工作人員,圍繞特定的工作內(nèi)容展開(kāi)線上的協(xié)作工作。當(dāng)下,圍繞數(shù)據(jù)采集、數(shù)據(jù)標(biāo)注以及眾包測(cè)試等新型的創(chuàng)新工作方式,也成為一些公共測(cè)試服務(wù)平臺(tái)布局的功能之一。
隸屬于中國(guó)電子信息產(chǎn)業(yè)發(fā)展研究院的中國(guó)軟件評(píng)測(cè)中心與青云公司合作,部署了自己的私有云環(huán)境,物理節(jié)點(diǎn)40 多個(gè),552 個(gè)物理CPU,2.3TB物理內(nèi)存,40TB存儲(chǔ)空間,已經(jīng)完成了云測(cè)試的遷移工作,針對(duì)主流的測(cè)試業(yè)務(wù)構(gòu)建了大量的測(cè)試鏡像資源,能夠相對(duì)比較嫻熟的在云平臺(tái)上開(kāi)展傳統(tǒng)的測(cè)評(píng)業(yè)務(wù)。
中國(guó)軟件評(píng)測(cè)中心正在探索研發(fā)一體化測(cè)試管理平臺(tái),實(shí)現(xiàn)全程的信息化管理;積極開(kāi)展微服務(wù)架構(gòu)的測(cè)試、APM 技術(shù)的應(yīng)用探索;針對(duì)工業(yè)互聯(lián)網(wǎng)的典型應(yīng)用,開(kāi)展工業(yè)時(shí)序數(shù)據(jù)庫(kù)產(chǎn)品的專(zhuān)項(xiàng)測(cè)評(píng)技術(shù)突破工作;另外圍繞醫(yī)療行業(yè)移動(dòng)APP、工業(yè)互聯(lián)網(wǎng)平臺(tái)的業(yè)務(wù)需求,開(kāi)發(fā)部署了線上實(shí)施數(shù)據(jù)的監(jiān)測(cè)分析服務(wù)平臺(tái),進(jìn)一步延伸測(cè)評(píng)咨詢(xún)服務(wù)能力。