原創(chuàng)|實施案例|編輯:張瑩心|2021-09-29 10:31:35.660|閱讀 247 次
概述:API和應用服務的虛擬化支持穩(wěn)健和更早的測試,這是應用現(xiàn)代化的一個重要部分。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
API和應用服務的虛擬化支持穩(wěn)健和更早的測試,這是應用現(xiàn)代化的一個重要部分。
如果你正在開發(fā)連接到多個微服務、軟件即服務(SaaS)API、遺留系統(tǒng)和其他第三方服務的應用程序,創(chuàng)建一個強大的測試環(huán)境可能很棘手。例如,假設你正在驗證的一個API是你的團隊開發(fā)的一個微服務。在這種情況下,你可能有devops能力,包括持續(xù)集成和持續(xù)交付(CI/CD),基礎設施即代碼,以及創(chuàng)建測試數(shù)據(jù)集的工具,以便為這個服務提供測試環(huán)境。然而,即使有這些能力,當團隊開發(fā)許多云原生應用程序和微服務時,旋轉(zhuǎn)多個測試服務也會變得昂貴。
如果是第三方API、SaaS或數(shù)據(jù)流,你可能不得不依賴該服務的測試基礎設施和能力。雖然這些測試環(huán)境應該支持生產(chǎn)系統(tǒng)的功能,但它們可能沒有完整的數(shù)據(jù)集,而且將它們置于負載之下以支持性能測試可能會違反服務條款或費用昂貴。
什么是API?應用編程接口解釋
服務和API虛擬化平臺旨在通過創(chuàng)建和模擬API和服務端點來解決這些復雜問題。服務虛擬化平臺作為測試下游應用和復合服務的端點,而不是啟動測試環(huán)境,它對連接應用或服務的請求和事務做出響應。
如果你只處理幾個API,API模擬可能是模擬端點的一個足夠好的做法,像Mockito、JMock或WireMock這樣的工具是Java的選擇。但一旦你有許多開發(fā)團隊,不斷增長的API,或復雜的測試數(shù)據(jù)集,就需要像服務虛擬化這樣更可擴展的方法。此外,如果你正在測試處理信用卡、連接到賬單支付服務或執(zhí)行其他復雜交易的應用程序,那么服務虛擬化平臺可以針對更廣泛的用戶體驗和錯誤場景進行驗證。
金融服務領域的云計算工程師Anna Ramadoss對如何使用服務虛擬化平臺問題時,她說:"服務虛擬化,一旦成為團隊的主流,就會淡化主系統(tǒng)和附屬系統(tǒng)之間的界限。更新是立竿見影的,而且交付的時間線也變快了。其結(jié)果是一個精心設計的系統(tǒng),對市場的更新更快。它還可以減少基礎設施需求和成本"。
服務虛擬化如何實現(xiàn)左移測試
許多組織都希望將他們的測試工作轉(zhuǎn)移到左邊,以便更快地發(fā)現(xiàn)和解決問題。但是,當測試環(huán)境對依賴性服務不可用時,會發(fā)生什么?
開發(fā)人員自然要規(guī)避他們工程努力的障礙和阻礙。在開發(fā)應用程序時,開發(fā)人員應該等待API的測試基礎設施和能力,還是他們更有可能將這種測試推到開發(fā)過程的后期?更有問題的是,開發(fā)人員是否會對一個API的行為做出假設,然后被迫在開發(fā)過程的后期解決缺陷,或者更糟糕的是,在生產(chǎn)中發(fā)現(xiàn)這些缺陷?
推薦的白皮書
Ramadoss建議開發(fā)團隊確定他們的測試要求,看看API虛擬化是否足夠,或者是否需要更普遍的服務驗證。例如,她說:"服務虛擬化擴展到基于TCP的協(xié)議,以支持來自TransUnion、Equifax和Experian等信用局的服務"。其他可能需要的協(xié)議包括數(shù)據(jù)庫(JDBC)、中間件(JMS、Rabbit MQ和其他)和大型機協(xié)議(CICS和其他)。
Broadcom公司的devops首席技術官Shamim Ahmed在談及devops組織如何在虛擬服務環(huán)境中使用服務虛擬化時,他說:"隨著越來越多的組織的軟件系統(tǒng)向組件架構(gòu)發(fā)展,我們看到越來越多的趨勢是采用微服務進行開發(fā),采用容器化進行部署。為了支持這一趨勢,虛擬服務可以被打包并部署在容器中,按需實例化,并在不再需要時退役。"
服務虛擬化的工作原理
平臺有不同的能力來創(chuàng)建服務端點,以下是常見的方法:
在創(chuàng)建端點后,平臺一般都能連接到測試數(shù)據(jù)源,上傳測試數(shù)據(jù),或自動生成測試數(shù)據(jù)。生成測試數(shù)據(jù)在驗證表單或文件上傳和處理復雜交易時非常有用。這也是一種更安全的方式來創(chuàng)建個人身份信息(PII)的模擬數(shù)據(jù)集,如姓名、社會安全號碼或信用卡號碼。
一旦有了服務端點,服務虛擬化平臺就會提供開發(fā)工具包、IDE插件和CI/CD工具插件作為對接和利用它們的不同方式。以頻繁部署為目標的開發(fā)團隊可以通過擁有更多可用的API端點和增加測試數(shù)據(jù)集的廣度來改善持續(xù)測試實踐。
使用服務虛擬化平臺和成熟的持續(xù)測試實踐的敏捷開發(fā)團隊應考慮幾個最佳實踐,如創(chuàng)建負面測試案例和培訓技術人員。一些加速測試周期的最佳實踐包括定義基礎設施要求,確保虛擬化服務的安全,并定期更新系統(tǒng)。領導者還應該尋求切實的商業(yè)利益,如更快地將新的應用程序投入生產(chǎn)并降低成本。
隨著越來越多的企業(yè)對云計算應用進行現(xiàn)代化改造,開發(fā)微服務,并與許多SaaS平臺集成,服務虛擬化是支持強大和持續(xù)測試的關鍵平臺能力。
在SmartBear,我們專注于您永遠不變的一個優(yōu)先事項:質(zhì)量!我們知道一遍又一遍地交付高質(zhì)量的軟件很復雜。因此,我們的工具旨在簡化您的流程,同時與您使用的和將要使用的所有工具無縫協(xié)作。無論是,,,,TestComplete還是更多,我們的工具都易于嘗試、易于購買且易于集成。超過22000個組織的700萬開發(fā)人員、測試人員和操作工程師正在使用我們的軟件,其中包括Adobe,JetBlue和Microsoft等世界知名的創(chuàng)新者。無論您要去哪里,我們都會幫助您到達那里。在SmartBear上了解更多信息,或以獲取更多獨家資料。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn