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