偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

服務(wù)虛擬化如何改進(jìn)應(yīng)用程序測試

譯文
開發(fā) 測試
API 和應(yīng)用程序服務(wù)的虛擬化支持強(qiáng)大的早期測試,這是應(yīng)用程序現(xiàn)代化的重要組成部分。如果您正在開發(fā)連接到多個(gè)微服務(wù)、軟件即服務(wù) (SaaS) API、遺留系統(tǒng)和其他第三方服務(wù)的應(yīng)用程序,那么創(chuàng)建一個(gè)強(qiáng)大的測試環(huán)境可能會(huì)很棘手。

 [[411557]]

【51CTO.com快譯】如果您正在開發(fā)連接到多個(gè)微服務(wù)、軟件即服務(wù) (SaaS) API、遺留系統(tǒng)和其他第三方服務(wù)的應(yīng)用程序,那么創(chuàng)建一個(gè)強(qiáng)大的測試環(huán)境可能會(huì)很棘手。例如,假設(shè)正在驗(yàn)證的一個(gè) API 是團(tuán)隊(duì)開發(fā)的微服務(wù)。在這種情況下,可能擁有 DevOps 功能,包括持續(xù)集成和持續(xù)交付 (CI/CD)、基礎(chǔ)設(shè)施即代碼以及創(chuàng)建測試數(shù)據(jù)集的工具,以便為該服務(wù)啟用測試環(huán)境。然而,即使有了這些功能,當(dāng)團(tuán)隊(duì)開發(fā)許多云原生應(yīng)用程序和微服務(wù)時(shí),啟動(dòng)多個(gè)測試服務(wù)的成本也會(huì)變得很高。

如果是第三方 API、SaaS 或數(shù)據(jù)流,則可能需要依賴該服務(wù)的測試基礎(chǔ)設(shè)施和功能。盡管這些測試環(huán)境應(yīng)該支持生產(chǎn)系統(tǒng)的功能,但它們可能沒有完整的數(shù)據(jù)集,并且將它們置于負(fù)載下以支持性能測試可能會(huì)違反服務(wù)條款或者造成費(fèi)用高昂。

服務(wù)和 API 虛擬化平臺(tái)旨在通過創(chuàng)建和模擬 API 和服務(wù)端點(diǎn)來解決這些復(fù)雜性。服務(wù)虛擬化平臺(tái)不再是旋轉(zhuǎn)測試環(huán)境,而是充當(dāng)測試下游應(yīng)用程序和組合服務(wù)的端點(diǎn),并響應(yīng)連接應(yīng)用程序或服務(wù)的請求和事務(wù)。

如果只使用少數(shù)幾個(gè) API,那么API模擬可能是模擬端點(diǎn)的一個(gè)足夠好的實(shí)踐,并且像 Mockito、JMock 或 WireMock 等工具都是 Java 選項(xiàng)。但是一旦有了許多開發(fā)團(tuán)隊(duì)、不斷增長的api或復(fù)雜的測試數(shù)據(jù)集,就需要一種更具可伸縮性的方法,比如服務(wù)虛擬化。此外,如果正在測試處理信用卡、連接到賬單支付服務(wù)或執(zhí)行其他復(fù)雜交易的應(yīng)用程序,那么服務(wù)虛擬化平臺(tái)可以針對更廣泛的用戶體驗(yàn)和錯(cuò)誤場景進(jìn)行驗(yàn)證。
我與金融服務(wù)領(lǐng)域的云工程師 Anna Ramadoss 討論過如何使用服務(wù)虛擬化平臺(tái)的問題。她說:“服務(wù)虛擬化,一旦成為團(tuán)隊(duì)的主流,就縮小了主系統(tǒng)和從屬系統(tǒng)之間的界限。更新是即時(shí)的,交付時(shí)間變得更快。其結(jié)果是一個(gè)精心設(shè)計(jì)的系統(tǒng),可以更快地更新市場。它還可以減少基礎(chǔ)設(shè)施需求和成本。”

服務(wù)虛擬化如何實(shí)現(xiàn)左移測試

許多組織都希望將他們的測試工作轉(zhuǎn)移到更快地識(shí)別和解決問題的方向。但是當(dāng)測試環(huán)境不可用于依賴服務(wù)時(shí)會(huì)發(fā)生什么呢?

開發(fā)人員很自然地避開阻礙其工程工作的障礙。在開發(fā)應(yīng)用程序時(shí),開發(fā)人員是應(yīng)該等待 API 的測試基礎(chǔ)設(shè)施和功能,還是更有可能將這種測試推遲到開發(fā)過程的后期?更麻煩的是,開發(fā)人員是否會(huì)對 API 的行為做出假設(shè),然后被迫在開發(fā)過程的后期解決缺陷,或者是,在生產(chǎn)中發(fā)現(xiàn)缺陷的時(shí)候呢?

建立一個(gè)服務(wù)虛擬化平臺(tái)并要求將服務(wù)虛擬化作為一個(gè)開發(fā)標(biāo)準(zhǔn)有很多好處,特別是對于需要針對許多 API 進(jìn)行廣泛測試能力的團(tuán)隊(duì)而言。以下是使用服務(wù)虛擬化平臺(tái)幫助左移測試的幾個(gè)優(yōu)點(diǎn):

    • 服務(wù)虛擬化是開發(fā)單元測試和為微服務(wù)進(jìn)行持續(xù)測試的自然延伸。作為開發(fā)過程的一部分,開發(fā)人員或質(zhì)量保證工程師應(yīng)該在服務(wù)虛擬化平臺(tái)中配置模擬API響應(yīng)的端點(diǎn)。所有開發(fā)人員在構(gòu)建下游應(yīng)用程序和服務(wù)時(shí)都可以使用這些端點(diǎn)。

    • 服務(wù)虛擬化層通過公開所有支持版本的端點(diǎn),來簡化針對一個(gè) API 的多版本測試。在對新的API版本進(jìn)行測試時(shí),開發(fā)人員可以創(chuàng)建測試來比較最新版本和舊版本的響應(yīng)。這種 A/B 測試對于驗(yàn)證機(jī)器學(xué)習(xí)模型和預(yù)測分析新版本的下游影響特別有用。

   • 服務(wù)虛擬化可以與測試數(shù)據(jù)集捆綁在一起,并用于驗(yàn)證事務(wù)。一旦開發(fā)人員完成了一個(gè)測試場景,他們就可以將端點(diǎn)刷新回原始測試數(shù)據(jù)集,并根據(jù)需要重復(fù)測試。

   • 在云上運(yùn)行時(shí),服務(wù)虛擬化平臺(tái)可以根據(jù)測試量增加和減少容量。因此,基礎(chǔ)設(shè)施可以擴(kuò)展以處理許多同時(shí)運(yùn)行測試或更健壯的性能測試的開發(fā)人員。

通過解決一個(gè)常見的測試基礎(chǔ)架構(gòu)挑戰(zhàn),團(tuán)隊(duì)可以使用服務(wù)虛擬化平臺(tái)的功能在開發(fā)過程的早期建立新的測試場景。

平臺(tái)提供商建議其他用例。例如,SmartBear 建議開發(fā)團(tuán)隊(duì)使用服務(wù)虛擬化來增強(qiáng)安全測試,根據(jù)消息類型自動(dòng)化不同的測試場景,并支持迭代設(shè)計(jì)。Parasoft 建議使用服務(wù)虛擬化來測試格式錯(cuò)誤的數(shù)據(jù)響應(yīng)、模擬高延遲,或驗(yàn)證對更大負(fù)載的響應(yīng)。Broadcom Service Virtualization(正式名稱為 CA DevTest)建議開發(fā)團(tuán)隊(duì)將測試鏈接到多步驟事務(wù)中,并持續(xù)驗(yàn)證業(yè)務(wù)工作流。
Ramadoss 建議開發(fā)團(tuán)隊(duì)確定他們的測試要求,以查看 API 虛擬化是否足夠,或者是否需要更通用的服務(wù)驗(yàn)證。例如,她說,“服務(wù)虛擬化擴(kuò)展到基于 TCP 的協(xié)議,以支持來自 TransUnion、Equifax 和 Experian 等信貸機(jī)構(gòu)的服務(wù)。” 可能需要的其他協(xié)議包括數(shù)據(jù)庫 (JDBC)、中間件(JMS、Rabbit MQ 等)和大型機(jī)協(xié)議(CICS 等)。

我與 Broadcom 的 DevOps 首席技術(shù)官 Shamim Ahmed 討論了 DevOps 組織如何在虛擬服務(wù)環(huán)境中使用服務(wù)虛擬化。他說:“隨著越來越多的組織為他們的軟件系統(tǒng)發(fā)展到組件架構(gòu),我們看到采用微服務(wù)進(jìn)行開發(fā)和容器化進(jìn)行部署的趨勢越來越大。為了支持這一趨勢,虛擬服務(wù)可以打包并部署在容器中,按需實(shí)例化,并在不再需要時(shí)停用。”

服務(wù)虛擬化的工作原理

平臺(tái)具有不同的能力來創(chuàng)建服務(wù)端點(diǎn),以下是常見的方法:

   • 以Web服務(wù)描述語言(WSDL)、Web應(yīng)用程序描述語言(WADL)或OpenAPI規(guī)范(OAS)鏈接或上載API的定義

   • 使用瀏覽器插件或web服務(wù)器代理記錄事務(wù)

   • 手動(dòng)創(chuàng)建服務(wù)定義,對于下游開發(fā)人員想要在 API 準(zhǔn)備好之前進(jìn)行測試時(shí)很有用

創(chuàng)建端點(diǎn)后,平臺(tái)通常支持連接到測試數(shù)據(jù)源、上傳測試數(shù)據(jù)或自動(dòng)生成測試數(shù)據(jù)。在驗(yàn)證表單或文檔上傳以及處理復(fù)雜事務(wù)時(shí),生成測試數(shù)據(jù)非常有用。這也是創(chuàng)建關(guān)于個(gè)人身份信息 (PII)(例如姓名、社會(huì)安全號(hào)碼或信用卡號(hào)碼)的模擬數(shù)據(jù)集的比較安全的方法。

一旦有了服務(wù)端點(diǎn),服務(wù)虛擬化平臺(tái)就會(huì)提供開發(fā)工具包、IDE 插件和 CI/CD 工具插件,作為接口和利用它們的不同方式。以頻繁部署為目標(biāo)的開發(fā)團(tuán)隊(duì)可以通過提供更多 API 端點(diǎn)和增加測試數(shù)據(jù)集的廣度來改進(jìn)連續(xù)測試實(shí)踐。 

使用服務(wù)虛擬化平臺(tái)和成熟的持續(xù)測試實(shí)踐的敏捷開發(fā)團(tuán)隊(duì)?wèi)?yīng)該考慮幾個(gè)最佳實(shí)踐,例如創(chuàng)建負(fù)面測試用例和培訓(xùn)技術(shù)人員。加快測試周期的幾個(gè)最佳實(shí)踐,包括定義基礎(chǔ)架構(gòu)要求、保護(hù)虛擬化服務(wù)以及定期更新系統(tǒng)。領(lǐng)導(dǎo)者還應(yīng)該尋求切實(shí)的商業(yè)利益,例如更快地將新應(yīng)用程序投入生產(chǎn)并降低成本。

隨著越來越多的組織針對云實(shí)現(xiàn)應(yīng)用程序現(xiàn)代化、開發(fā)微服務(wù)并與許多 SaaS 平臺(tái)集成,服務(wù)虛擬化成為支持穩(wěn)健和持續(xù)測試的關(guān)鍵平臺(tái)功能。

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:梁菲 來源: InfoWorld
相關(guān)推薦

2013-04-28 14:21:47

服務(wù)器虛擬化

2013-05-09 09:28:30

服務(wù)虛擬化云計(jì)算

2011-09-06 10:58:10

服務(wù)器應(yīng)用程序虛擬化

2012-06-07 09:15:14

ibmdw

2012-11-06 09:38:50

虛擬化

2009-02-26 17:03:36

虛擬化Windows桌面系統(tǒng)

2013-03-27 09:48:08

服務(wù)虛擬化CALISA

2010-01-05 15:50:35

Ubuntu軟件

2013-09-24 09:52:33

移動(dòng)應(yīng)用虛擬化

2013-01-05 10:28:18

虛擬化移動(dòng)應(yīng)用

2012-07-18 10:30:57

CA服務(wù)虛擬化社區(qū)

2022-12-22 08:01:09

Vue測試庫測試

2013-03-26 19:43:03

CA Technolo服務(wù)虛擬化CA LISA

2011-07-15 10:03:06

網(wǎng)絡(luò)服務(wù)虛擬應(yīng)用

2010-07-15 11:34:13

應(yīng)用虛擬化桌面虛擬化基礎(chǔ)架構(gòu)

2022-02-24 23:56:45

Web應(yīng)用程序工具

2013-03-27 09:48:05

CA虛擬化軟件

2013-03-27 09:42:29

CA Technolo服務(wù)虛擬化LISA

2018-09-13 08:49:08

DockerPythonDjango

2011-10-18 10:42:39

ibmdw虛擬化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)