原創(chuàng)|行業(yè)資訊|編輯:鄭恭琳|2020-11-19 14:40:35.993|閱讀 314 次
概述:將服務(wù)虛擬化引入組織的最佳方法是逐步利用最有價值的方法,以降低測試的總成本,并獲得通過完全自動化的DevOps工作流程真正控制測試自動化過程的能力。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
將服務(wù)虛擬化引入組織的最佳方法是逐步利用最有價值的方法,以降低測試的總成本,并獲得通過完全自動化的DevOps工作流程真正控制測試自動化過程的能力。
當(dāng)您決定要減肥時,您可能需要進(jìn)行一些研究,并最終得到“停止喝酒!開始吃蔬菜!8點上床睡覺!每天步行5公里!”盡管接受所有這些活動以采用健康的生活方式可能很有意義,但是如果您嘗試一次全部采用這些活動,則可能會失敗。相反,您需要逐步進(jìn)行:在此處進(jìn)行額外的鍛煉,為那里的食物做出健康的選擇……慢慢地使自己達(dá)到可以真正像專家一樣節(jié)食的水平。
服務(wù)虛擬化也不例外。多年來,我已經(jīng)幫助眾多客戶采用了這種有價值的DevOps支持器,并且我發(fā)現(xiàn)大多數(shù)組織都想采用爆炸式發(fā)展方法——立即引入跨多個團(tuán)隊且已作為其一部分集成的全面部署的解決方案持續(xù)交付管道。而且,是的,所有這些事情對于充分實現(xiàn)服務(wù)虛擬化可以為您帶來的潛在投資回報至關(guān)重要,如果您嘗試在第一天完成所有這些事情,則可能無法有效擴(kuò)展到您的完整DevOps部署。那你怎么到達(dá)那里?
在此文中,我將僅分享這一點。我們將跟蹤一個人,從她的單個免費服務(wù)虛擬化許可到她組織的服務(wù)虛擬化的完整部署,一直集成到他們的DevOps工作流程中。這是基于真實的故事,但是為了匿名起見,我們將其稱為Sally。
認(rèn)識Sally開發(fā)人員。Sally很聰明,能夠以比她的同事更快的速度發(fā)展。在測試階段,她已經(jīng)開始使用模擬來隔離自己,但是她花了很多時間來開發(fā)她需要構(gòu)建到這些系統(tǒng)中的邏輯類型,因為要進(jìn)行存根的實際應(yīng)用程序有些復(fù)雜。
因此,她了解了如何使用服務(wù)虛擬化在很短的時間內(nèi)創(chuàng)建更復(fù)雜的虛擬服務(wù)。她下載了Parasoft Virtualize的免費版本以免費獲得服務(wù)虛擬化,這使她能夠開始創(chuàng)建虛擬化服務(wù),并在實際服務(wù)進(jìn)行更改時輕松地對其進(jìn)行修改。結(jié)果,她可以在完全隔離的環(huán)境中進(jìn)行所有測試和開發(fā)。
在她與一些同事討論這些優(yōu)勢時,他們也想利用她創(chuàng)建的服務(wù),因為它們是不同開發(fā)人員之間的通用服務(wù),他們只需將應(yīng)用程序指向Sally的機器即可獲得收益。
因此,他們也可以通過Parasoft Virtualize獲得免費服務(wù)虛擬化,并開始制作新服務(wù),調(diào)整這些服務(wù)并從其免費桌面使用這些服務(wù)。該團(tuán)隊在開發(fā)和測試方面取得了重大進(jìn)展,因為他們能夠減少環(huán)境中存在的許多瓶頸。該團(tuán)隊因其敏捷性而受歡迎,并獲得了所有最佳項目。
有一天,管理人員與Sally的團(tuán)隊接觸,他們對團(tuán)隊使用的服務(wù)虛擬化解決方案感到好奇,該解決方案可幫助他們更快地構(gòu)建和測試應(yīng)用程序。他們希望就其在較大環(huán)境中的實際應(yīng)用進(jìn)行討論。關(guān)于由遺留應(yīng)用程序引起的集成和生產(chǎn)環(huán)境中斷的嗡嗡聲。這些應(yīng)用程序依賴于一系列Oracle數(shù)據(jù)庫以及復(fù)雜的ESB和大型機。
這些系統(tǒng)很難進(jìn)行測試,原因有很多,Sally和她的團(tuán)隊能夠證明,由于它們是基本的REST和SOAP服務(wù),以及一些JMS和MQ與本地XML。為了解決舊硬件,他們需要增強服務(wù)虛擬化桌面的功能,因此他們升級到了Parasoft Virtualize的完整版本。
在這一點上,他們能夠輕松地將服務(wù)虛擬化應(yīng)用于管理層所描述的用例中提出的各種挑戰(zhàn)。花了幾天的時間來確保虛擬服務(wù)滿足所有不同的用例,但是它們能夠消除在這些環(huán)境中所面臨的所有挑戰(zhàn)。這是Sally組織中服務(wù)虛擬化運動的關(guān)鍵轉(zhuǎn)折點之一,因為他們能夠利用Sally團(tuán)隊的專業(yè)知識與基本服務(wù)虛擬化來解決更復(fù)雜的挑戰(zhàn),這些挑戰(zhàn)實際上與他們相關(guān)。
然后,管理團(tuán)隊為他們的組織邁出了下一步的重要一步,在組織內(nèi)創(chuàng)建了一個專門的服務(wù)虛擬化卓越中心,可以在出現(xiàn)新挑戰(zhàn)時利用它來構(gòu)建虛擬服務(wù)。當(dāng)然,Sally是領(lǐng)導(dǎo)團(tuán)隊的自然之選。
Sally開始圍繞啟動虛擬化計劃建立流程并創(chuàng)建接受標(biāo)準(zhǔn),因此團(tuán)隊本身并沒有成為新的瓶頸。治理成為對話的重要組成部分。該團(tuán)隊設(shè)置了一系列角色和職責(zé),以確保每個虛擬化項目都成功。有5個角色:
測試員。每當(dāng)創(chuàng)建虛擬服務(wù)時,都需要有理由對特定組件進(jìn)行虛擬化。團(tuán)隊經(jīng)常會收到請求,以模擬環(huán)境中不可靠的應(yīng)用程序。當(dāng)他們與請求者進(jìn)行初次交談時,他們會問“您不能做什么?”這個問題很關(guān)鍵,因為您必須明確定義接受標(biāo)準(zhǔn)才能為虛擬資產(chǎn)定義“完成”。測試人員成為該過程的重要組成部分,因為他們可以定義需要成功執(zhí)行的測試用例,并且虛擬化團(tuán)隊將知道他們創(chuàng)建了成功的虛擬資產(chǎn)。
開發(fā)人員。創(chuàng)建虛擬資產(chǎn)時,幾乎不需要了解您正在虛擬化的應(yīng)用程序,但是為了以最小的努力創(chuàng)建虛擬服務(wù),有助于獲得有關(guān)您正在仿真的應(yīng)用程序的領(lǐng)域知識。因此,開發(fā)人員成為虛擬資產(chǎn)創(chuàng)建過程的重要組成部分,對服務(wù)如何運行進(jìn)行了解釋,以便在創(chuàng)建虛擬服務(wù)時能夠理解其運行方式的功能。
測試數(shù)據(jù)管理。有爭議的是,許多服務(wù)虛擬化挑戰(zhàn)實際上都是測試數(shù)據(jù)挑戰(zhàn)的核心,因此測試數(shù)據(jù)管理團(tuán)隊在構(gòu)建虛擬資產(chǎn)時變得至關(guān)重要。大多數(shù)虛擬資產(chǎn)都是通過記錄和回放創(chuàng)建的,因此,在確定測試用例并就其行為達(dá)成一致之后,要記錄的環(huán)境在記錄時具有正確的測試數(shù)據(jù)就很重要。因此,盡管測試數(shù)據(jù)管理團(tuán)隊在虛擬化流程本身中的作用微乎其微,但至關(guān)重要的是在創(chuàng)建初始產(chǎn)品之前將他們帶入流程。
操作。虛擬服務(wù)會復(fù)制真實服務(wù),因此,如果您創(chuàng)建了虛擬服務(wù)權(quán)限,則用戶可能實際上并不知道他們正在模擬。結(jié)果,虛擬服務(wù)需要在實際服務(wù)所在的環(huán)境中定義的端點上可用。這通常可能成為虛擬化過程的障礙,因為許多人將無權(quán)重新配置必要的連接以將應(yīng)用程序指向虛擬服務(wù)端點。Parasoft Virtualize使用一種稱為代理的機制,該機制允許服務(wù)通過中間人進(jìn)行通信,該過程可由Sally的團(tuán)隊控制。但是獲取初始連接集是操作團(tuán)隊的責(zé)任。提前確定運營資源并與該計劃進(jìn)行簽訂的前期合同是確保將所有管道實際連接在一起的最佳方法,以使團(tuán)隊能夠做好準(zhǔn)備并且能夠了解發(fā)生了什么發(fā)生。
領(lǐng)導(dǎo)。為了使任何服務(wù)虛擬化項目成功,管理層必須接受。對于Sally來說,這并不困難,因為它們是從頭開始的,并已被證明具有重要價值,但保持領(lǐng)導(dǎo)層對公司持續(xù)關(guān)注的重要性很重要。團(tuán)隊發(fā)揮作用。
設(shè)置這些角色對于服務(wù)虛擬化團(tuán)隊的成功至關(guān)重要,明確了使虛擬化項目成功的需求。服務(wù)虛擬化團(tuán)隊的每個成員都有一個Parasoft Virtualize桌面軟件。他們將在桌面上創(chuàng)建虛擬服務(wù),然后將其提供給用戶。
隨著團(tuán)隊變得越來越受歡迎,很明顯,他們需要擴(kuò)展部署。如果團(tuán)隊成員之一必須關(guān)閉計算機或休假,這將影響用戶使用虛擬服務(wù)。因此,Sally認(rèn)為該是再次升級其部署體系結(jié)構(gòu)的時候了,他們購買了虛擬化登臺服務(wù)器。
這使團(tuán)隊中的每個成員可以聯(lián)合起來并共享他們的虛擬資產(chǎn)。該服務(wù)器“始終在線”并充當(dāng)虛擬工件庫。服務(wù)器已連接到源代碼管理,因此將不同版本的服務(wù)部署到服務(wù)器時,將自動檢入它們。這使團(tuán)隊可以對所有虛擬資產(chǎn)有一個中心的真理,而無需猜測最新版本在哪里。
團(tuán)隊愉快地忙了幾個月,以解決組織面臨的重大挑戰(zhàn)。它的規(guī)模不斷擴(kuò)大,并增加了一些成員。為了提高團(tuán)隊的知名度和知名度(并增加預(yù)算額),Sally實施了“Hoo-Rah”計劃。每當(dāng)團(tuán)隊構(gòu)建具有可量化ROI的產(chǎn)品時,他們都會跟蹤收益,并發(fā)送公開電子郵件說明他們的工作以及哪些團(tuán)隊受益。這些“噓”的例子有:
該團(tuán)隊在Oracle主數(shù)據(jù)庫中模擬了沖鋒隊SOAP服務(wù)和擴(kuò)展表,并啟用了自動流程來配置和測試支付服務(wù)的111種組合。測試吞吐量的增加和自動化測試的執(zhí)行,為項目周期節(jié)省了27950美元。
該團(tuán)隊能夠通過模擬尚未準(zhǔn)備好遷移到云中的服務(wù)來簡化云遷移計劃。這樣一來,轉(zhuǎn)換就可以提前2周進(jìn)行,因為他們可以分階段進(jìn)行驗證,但是即使缺少部分也可以正常運行。這為他們節(jié)省了45875美元的工時。
該團(tuán)隊通過創(chuàng)建新服務(wù)的虛擬表示形式來主動管理第三方服務(wù)變更,并在2-6周前提供對開發(fā)/測試的訪問權(quán)限。這種變更管理減少了與第三方服務(wù)相關(guān)的計劃外停機(約30%),為計劃節(jié)省了27146美元。
該團(tuán)隊在大型機上模擬了會員搜索服務(wù),該服務(wù)在呼叫客戶時提供了唯一的會員,從而大大簡化了流程的測試要求。現(xiàn)在,團(tuán)隊可以控制大型機和數(shù)據(jù)庫的數(shù)據(jù),并且他們可以插入所需的任何類型的行為。預(yù)計這將大大減少15,000小時的中間件計劃外中斷。
該團(tuán)隊成功地模擬了主密鑰輸入回歸場景所需的112個服務(wù)。這使團(tuán)隊能夠在密鑰輸入服務(wù)周圍部署虛擬服務(wù),并減少了對物理性能環(huán)境的需求,從而為組織節(jié)省了用于采購額外性能環(huán)境的123654美元的資本支出成本。
這些“呼嘯”電子郵件對于使更多的團(tuán)隊參與其中至關(guān)重要,但也幫助企業(yè)的關(guān)鍵利益相關(guān)者了解了服務(wù)虛擬化對測試自動化流程的重要性。
從負(fù)面模擬中獲取價值
然后,在夏末的一個晚上,安全團(tuán)隊的成員對關(guān)鍵應(yīng)用程序進(jìn)行了審計,發(fā)現(xiàn)了潛在的攻擊媒介進(jìn)入系統(tǒng),可以被利用,不僅導(dǎo)致敏感的客戶數(shù)據(jù)泄漏,而且迫使組織不合規(guī)。如果不能迅速補救,則該組織將被迫更新合規(guī)委員會并開始處罰程序。
該團(tuán)隊意識到,如果他們可以在特定的時間范圍內(nèi)修復(fù)缺陷,則可以將更改推送到生產(chǎn)環(huán)境中,并且一切都會很好。挑戰(zhàn)在于,為了成功重現(xiàn)此問題,他們不得不將其許多第三方支付系統(tǒng)置于一種狀態(tài),在這種狀態(tài)下,他們將提供各種錯誤條件并有意泄漏PII或客戶數(shù)據(jù)。團(tuán)隊沒有能力將這些超出其控制范圍的系統(tǒng)強制進(jìn)入他們所需的狀態(tài),以暴露缺陷并驗證將要實施的修復(fù)程序。Sally在傍晚被召喚,并被要求上班。該團(tuán)隊迅速進(jìn)行了工作,重新使用了他們?yōu)檫@些第三方支付系統(tǒng)創(chuàng)建的現(xiàn)有虛擬服務(wù),并將其置于將開始返回負(fù)面行為的狀態(tài)。由于不必重新部署應(yīng)用程序,因此他們可以在開發(fā)人員進(jìn)行更改時簡單地修改行為,并清除所有可能導(dǎo)致潛在利用的組合。不用說,該團(tuán)隊成功地將熱補丁交付生產(chǎn),從而為公司節(jié)省了數(shù)百萬美元。
Sally的服務(wù)虛擬化卓越中心團(tuán)隊現(xiàn)在在開發(fā)人員和測試人員中很受歡迎,其中許多人開始要求自己訪問Parasoft Virtualize,以便他們可以制作自己的原型并驗證正面和負(fù)面的情況。 Sally擁有支持它的基礎(chǔ)架構(gòu),但她并不一定需要像專業(yè)臺式機版本那樣繁重地工作,因此她再次升級了他們的基礎(chǔ)架構(gòu),并加入了Parasoft的瘦客戶端界面來完全啟用其DevOps工作流程。該集中式儀表板使組織中的任何用戶都可以訪問,并使他們能夠直接從其瀏覽器創(chuàng)建虛擬服務(wù)和測試用例。
部署的這種演變創(chuàng)建了一個“混合模型”,在該模型中,各個團(tuán)隊成員可以采取聯(lián)合行動,根據(jù)自己的需求創(chuàng)建自己的虛擬服務(wù),對其進(jìn)行訪問、修改,等等。將服務(wù)擴(kuò)展到更大的體系結(jié)構(gòu)中,他們就有了與卓越虛擬化中心協(xié)作的機制。該團(tuán)隊可以添加其他服務(wù)器來支持負(fù)載,并在性能團(tuán)隊加入時加入性能服務(wù)器。
至此,Sally擁有了一個完整的虛擬資產(chǎn)庫以及相應(yīng)的自動化測試用例。她有一個將這兩個測試工件輸入的測試數(shù)據(jù)庫。實際的服務(wù)創(chuàng)建大部分由各個團(tuán)隊完成,而Sally的團(tuán)隊則主要負(fù)責(zé)將所有這些不同的虛擬服務(wù)編排為一個“環(huán)境”。該環(huán)境實際上只是虛擬資產(chǎn)、測試用例和測試數(shù)據(jù)的模板,這些模板內(nèi)置于特定的配置中,以滿足測試計劃的需要。他們構(gòu)建了許多這些環(huán)境模板,并將它們與組織中的不同應(yīng)用程序?qū)R。
每當(dāng)需要對應(yīng)用程序進(jìn)行測試而實際環(huán)境不夠用時,卓越的虛擬化中心將剝離具有不同虛擬服務(wù)的環(huán)境,并允許團(tuán)隊成員進(jìn)行測試。作為測試執(zhí)行的一部分,團(tuán)隊越來越依賴虛擬服務(wù),這是向連續(xù)交付管道的自然過渡。
Sally組織中的最終且完全實現(xiàn)的服務(wù)虛擬化部署如下所示:
各個團(tuán)隊成員將在其瀏覽器中創(chuàng)建虛擬服務(wù)和測試用例。如果需要更新虛擬服務(wù)或需要添加其他邏輯,則虛擬化COE將使用其專業(yè)臺式機進(jìn)行處理。然后,虛擬服務(wù)和測試用例將在瘦客戶機界面內(nèi)部進(jìn)行組合,并且當(dāng)需要這些環(huán)境時,它們的構(gòu)建系統(tǒng)將調(diào)用它們并將它們部署到云或?qū)S梅?wù)器中。然后將啟動自動測試用例,將結(jié)果發(fā)送到其匯總的儀表板,并銷毀動態(tài)環(huán)境。
通過服務(wù)虛擬化實現(xiàn)的真正的連續(xù)測試并非一overnight而就。這個故事是真實的,并且可以通過服務(wù)虛擬化來實現(xiàn),但這就像Sally一樣,要求組織投入并從頭開始。(順便說一句,她現(xiàn)在是執(zhí)行董事會的成員。)這是將服務(wù)虛擬化帶入您的組織的最佳方法-逐步利用最有價值的地方。每個人的確切旅程都會有所不同,但是最終結(jié)果應(yīng)該是相同的:降低測試的總成本,并獲得真正控制測試自動化過程的能力。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn