国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
SOA 非功能測(cè)試最佳實(shí)踐
在開發(fā)面向服務(wù)的體系結(jié)構(gòu)(Service-Oriented Architecture,SOA)應(yīng)用程序時(shí),您的組織很可能會(huì)存在需要進(jìn)行大量的實(shí)現(xiàn)和測(cè)試工作的非功能需求(NonFunctional Requirement,NFR)。Shiv Asthana 在本文中介紹了在測(cè)試作為 SOA 環(huán)境的一部分構(gòu)建的應(yīng)用程序的非功能需求時(shí)需要遵循的最佳實(shí)踐。

引言

SOA 是一種 IT 體系結(jié)構(gòu)風(fēng)格,支持將您的業(yè)務(wù)轉(zhuǎn)換為一組相互鏈接的服務(wù)或可重復(fù)業(yè)務(wù)任務(wù),可在需要時(shí)通過網(wǎng)絡(luò)訪問這些服務(wù)和任務(wù)。這個(gè)網(wǎng)絡(luò)可以是局域網(wǎng)、Internet,或者一組不同位置提供的分散各處且采用多種技術(shù),但以類似于安裝在本地桌面的方式交互的服務(wù)。可以對(duì)這些服務(wù)進(jìn)行結(jié)合,以完成特定的業(yè)務(wù)任務(wù),從而讓您的業(yè)務(wù)快速適應(yīng)不斷變化的客觀條件和需求。也就是說,SOA 遵循查找、綁定并執(zhí)行的關(guān)鍵原則工作,非常適合用于滿足請(qǐng)求/響應(yīng)類型的業(yè)務(wù)需求。

當(dāng)由能夠解決難點(diǎn)或?qū)崿F(xiàn)特定手動(dòng)任務(wù)的自動(dòng)化的策略業(yè)務(wù)目標(biāo)和需求對(duì) SOA 實(shí)現(xiàn)進(jìn)行引導(dǎo)時(shí),就可以實(shí)現(xiàn)業(yè)務(wù)轉(zhuǎn)換。這樣能夠帶來諸多好處,包括:

  • IT 與業(yè)務(wù)的一致性。
  • 最大限度地重用 IT 資產(chǎn)(不采用拆除和替換方法)。
  • 手動(dòng)和重復(fù)性任務(wù)的自動(dòng)化。
  • 遵循行業(yè)標(biāo)準(zhǔn)和法律法規(guī)。
  • 填補(bǔ)組織的 IT 豎井 (Silo) 間的空白。
  • 持續(xù)更改能夠方便地映射為新服務(wù)的業(yè)務(wù)流程。

不過,只有在將功能需求和非功能需求包含到應(yīng)用程序中并無縫集成到生產(chǎn)環(huán)境中,才能夠?qū)崿F(xiàn) SOA 承諾的好處。因此,理想的實(shí)現(xiàn)和測(cè)試在關(guān)鍵時(shí)刻是必不可少的。

NFR 測(cè)試的主要挑戰(zhàn)出現(xiàn)在 SOA 應(yīng)用程序在實(shí)驗(yàn)室環(huán)境中開發(fā)或作為軟件供應(yīng)商的新產(chǎn)品投資組合的一部分開發(fā)時(shí),在這些情況下,大多數(shù)時(shí)候生產(chǎn)環(huán)境都不可用。其他的挑戰(zhàn)包括:

  • SOA 應(yīng)用程序具有大量的內(nèi)部和不可見組件。
  • 要進(jìn)行測(cè)試,需要?jiǎng)?chuàng)建存根,用于替代生產(chǎn)環(huán)境中的遺留應(yīng)用程序。
  • 互操作性期望非常高。
  • SOA 應(yīng)用程序在重型中間件堆?;蚱脚_(tái)上運(yùn)行。
  • 性能和負(fù)載承載能力非常依賴于中間件堆棧和遺留應(yīng)用程序(在生產(chǎn)環(huán)境中)。
  • 由于實(shí)現(xiàn) SOA 的目的是為了填補(bǔ)企業(yè)級(jí)的空白,因此 NFR 的數(shù)量可能非常多。
  • 早期技術(shù) (SOA) 適配器具有對(duì)測(cè)試自動(dòng)化工具的有限訪問。
  • 根據(jù)所解決的業(yè)務(wù)問題不同,用于應(yīng)用程序部署的體系結(jié)構(gòu)和組件可能會(huì)有所變化。
  • NFR 比功能需求的變化頻率高。
  • 在實(shí)驗(yàn)室環(huán)境中進(jìn)行測(cè)試需要在測(cè)試基礎(chǔ)設(shè)施方面進(jìn)行大量的投資。

最佳實(shí)踐

雖然沒有測(cè)試軟件的最佳萬能方法,但可以參考下面根據(jù)我的經(jīng)驗(yàn)給出的列表。除了應(yīng)對(duì)上面的一些挑戰(zhàn)外,這些建議還可能會(huì)帶來其他優(yōu)勢(shì):

  • 首先組建測(cè)試團(tuán)隊(duì),此團(tuán)隊(duì)需要具有在計(jì)劃使用的目標(biāo)操作系統(tǒng)和中間件組件上工作的足夠技能。
  • 仔細(xì)分析需求,并找出自相矛盾的需求。
  • 了解系統(tǒng)上下文關(guān)系圖,以確定對(duì)存根的需求。
  • 確保在項(xiàng)目開始時(shí)創(chuàng)建可測(cè)試性表格。確定能夠測(cè)試的 NFR、不能測(cè)試的 NFR,以及哪些測(cè)試能夠?qū)崿F(xiàn)自動(dòng)化。
  • 創(chuàng)建了可測(cè)試性表格后,確定能夠通過任何行業(yè)標(biāo)準(zhǔn)工具(如 IBM® Rational® Performance Tester)進(jìn)行測(cè)試的需求,或者確定實(shí)現(xiàn)測(cè)試自動(dòng)化是否需要自定義軟件程序或腳本。
  • 盡早規(guī)劃測(cè)試基礎(chǔ)設(shè)施??赡軙?huì)需要在各個(gè)平臺(tái)上測(cè)試應(yīng)用程序,如 Microsoft® Windows®、Linux®、IBM AIX® 等。要在以后采購服務(wù)器可能會(huì)比較困難。
  • 估算測(cè)試數(shù)據(jù)需求并確定創(chuàng)建足夠的有效測(cè)試數(shù)據(jù)量以進(jìn)行容量和負(fù)載測(cè)試。
  • 對(duì)于您的 SOA 應(yīng)用程序,請(qǐng)至少對(duì)表 1 中所給出的非功能方面進(jìn)行測(cè)試。
測(cè)試類型 測(cè)試定義
可訪問性 驗(yàn)證訪問應(yīng)用程序功能的能力。
審核與控制 驗(yàn)證檢查歷史工作流和審核記錄的便利性。
可用性 驗(yàn)證應(yīng)用程序是否能提供服務(wù)水平協(xié)議(Service Level Agreement,SLA)中規(guī)定的高正常運(yùn)行時(shí)間。
兼容性 驗(yàn)證應(yīng)用程序是否適合之前已有(較舊)的環(huán)境。
文檔 驗(yàn)證用戶指南是否提供了正確的說明。
安裝 驗(yàn)證應(yīng)用程序是否能在所定義的中間件堆棧上工作。
互操作性 驗(yàn)證在更改環(huán)境中的重要組件后應(yīng)用程序是否能正常工作。
負(fù)載/容量 驗(yàn)證給定時(shí)間應(yīng)用程序是否能完成所需處理的事務(wù)數(shù)量。
可維護(hù)性 驗(yàn)證在應(yīng)用程序投入生產(chǎn)環(huán)境中后進(jìn)行維護(hù)的便利性。
性能 驗(yàn)證響應(yīng)時(shí)間、吞吐量、并發(fā)性等等標(biāo)準(zhǔn)是否滿足需求。
可靠性 驗(yàn)證應(yīng)用程序在與生產(chǎn)環(huán)境類似的負(fù)載壓力下是否能正常工作。
可伸縮性 驗(yàn)證應(yīng)用程序是否能滿足業(yè)務(wù)不斷增長的需求。
安全性 驗(yàn)證應(yīng)用程序是否具有足夠的安全措施,能夠防止信息被盜。
服務(wù)能力 驗(yàn)證是否能夠在不對(duì)業(yè)務(wù)造成任何影響的情況下對(duì)應(yīng)用程序進(jìn)行調(diào)試。
可用性 從最終用戶的角度驗(yàn)證應(yīng)用程序是否可用。
工具 功能
IBM Rational AppScan 支持以集中方式進(jìn)行 SOA 應(yīng)用程序安全性評(píng)估,并提供了完全集成的解決方案集。Rational AppScan 能夠隨著企業(yè)體系結(jié)構(gòu)伸縮,支持同時(shí)掃描多個(gè)應(yīng)用程序。
IBM Rational Functional Tester 為測(cè)試人員提供用于功能和非功能測(cè)試、回歸測(cè)試、GUI 測(cè)試和數(shù)據(jù)驅(qū)動(dòng)測(cè)試的自動(dòng)化測(cè)試功能。工具的測(cè)試自動(dòng)化功能也允許進(jìn)行負(fù)載和壓力測(cè)試。
IBM Rational Performance Tester 捕獲響應(yīng)時(shí)間、頁面吞吐量和并發(fā)性。此性能測(cè)試創(chuàng)建、執(zhí)行和分析工具供團(tuán)隊(duì)用于在部署前驗(yàn)證復(fù)雜 SOA 應(yīng)用程序的可伸縮性和可靠性。
IBM Rational Performance Tester Extension for SOA Quality 擴(kuò)展 SOA 應(yīng)用程序的性能和可伸縮性測(cè)試。這是負(fù)載和性能測(cè)試與問題分析工具,除了 Rational Performance Tester 的標(biāo)準(zhǔn)功能外,還能夠幫助尋找性能瓶頸。它支持進(jìn)行 SOA 效率問題確定,并為支持部署的 Web 服務(wù)提供了廣泛的平臺(tái)監(jiān)視支持部署,且支持服務(wù)器資源數(shù)據(jù)的收集和可視化。

注意: IBM Rational RequisitePro、IBM Rational Test Manager 和 IBM Rational ClearQuest® 可分別用于進(jìn)行需求管理、測(cè)試用例管理和缺陷管理。

標(biāo)識(shí)為測(cè)試創(chuàng)建存根和模擬器的需求

正如前面提到的,SOA 測(cè)試中的一個(gè)挑戰(zhàn)是創(chuàng)建存根和模擬器。存根和模擬器替代生產(chǎn)環(huán)境中的遺留應(yīng)用程序和其他外部應(yīng)用程序(在生產(chǎn)中作為后端系統(tǒng))。除了業(yè)務(wù)領(lǐng)域的知識(shí)外,還可以通過分析所開發(fā)的應(yīng)用程序的系統(tǒng)上下文來創(chuàng)建存根和模擬器(請(qǐng)參見圖 2)。

在圖 2 中,需要模擬遺留生產(chǎn)系統(tǒng)(藍(lán)色)和外部系統(tǒng)(粉紅色)作為存根,以測(cè)試新應(yīng)用程序(功能和非功能測(cè)試都需要)。

測(cè)試團(tuán)隊(duì)可以首先從了解這些系統(tǒng)的功能入手,然后尋找模擬這些系統(tǒng)進(jìn)行測(cè)試的簡單方法。在大多數(shù)情況下,一個(gè)簡單的數(shù)據(jù)庫就可以幫助解決問題,但其中應(yīng)該包括支持所要測(cè)試的業(yè)務(wù)事務(wù)的所有表格和示例數(shù)據(jù)。





這些最佳實(shí)踐在實(shí)際工作中的應(yīng)用

IBM 名為 Global Business Solutions Center (GBSC) 的團(tuán)隊(duì)開發(fā)并測(cè)試了名為組合業(yè)務(wù)服務(wù)(Composite Business Service,CBS)的 SOA 應(yīng)用程序,此類應(yīng)用程序在 IBM SOA Foundation 和中間件堆棧(如 IBM WebSphere® Process Server、IBM WebSphere Application Server、IBM WebSphere Business Services Fabric、IBM WebSphere MQIBM DB2® 產(chǎn)品)上運(yùn)行。CBS 是相關(guān)的集成業(yè)務(wù)服務(wù)的集合,能提供特定的業(yè)務(wù)解決方案,并支持在 SOA 上構(gòu)建的業(yè)務(wù)流程。

通常,CBS 與客戶環(huán)境中的其他應(yīng)用程序和/或服務(wù)集成,從而為客戶提供所需的業(yè)務(wù)解決方案。業(yè)務(wù)解決方案由編排在一起的業(yè)務(wù)服務(wù)組成。也就是說,CBS 不是獨(dú)立解決方案,而是能夠使用一個(gè)或多個(gè) CBS 創(chuàng)建的解決方案。

使用 CBS 創(chuàng)建的端到端解決方案的客戶目標(biāo)是銀行、醫(yī)療、保險(xiǎn)和零售等行業(yè)及政府部門??紤]到這些行業(yè)的本質(zhì)和規(guī)模,您可以發(fā)現(xiàn),SOA 的角色是支持大容量和任務(wù)關(guān)鍵型業(yè)務(wù)事務(wù)的處理,以及支持異類環(huán)境中的持續(xù)業(yè)務(wù)更改。

這就是 NFR 為何在對(duì)客戶的業(yè)務(wù)進(jìn)行轉(zhuǎn)換的過程中如此重要的原因。目前在 GBSC 中開發(fā)的 CBS 已經(jīng)針對(duì)上面建議的大部分需求進(jìn)行了測(cè)試,在某些情況下具有出眾的性能基準(zhǔn),如在單個(gè)批處理提交中能處理超過 2 百萬個(gè)事務(wù)的能力,以及所報(bào)告的各種任務(wù)關(guān)鍵型流程的卓越吞吐量和響應(yīng)時(shí)間。

測(cè)試人員使用 Rational Performance Tester、IBM Tivoli® Composite Application Manager 以及自主構(gòu)建的實(shí)用工具程序等工具來創(chuàng)建測(cè)試數(shù)據(jù)和實(shí)現(xiàn)特定測(cè)試用例的自動(dòng)化。我在這個(gè)列表中忽略了常規(guī)的測(cè)試和缺陷管理工具,如 Rational Test Manager 和 Rational ClearQuest 等,因?yàn)榇祟惓R?guī)工具用于同時(shí)支持功能和非功能測(cè)試。

圖 3 顯示,在示例應(yīng)用程序中的業(yè)務(wù)事務(wù) 1 的并發(fā)用戶數(shù)量從 1,000 增加到 1,150 時(shí),平均響應(yīng)時(shí)間從 3 秒增加到了 3.2 秒。

圖 4 顯示,在示例應(yīng)用程序中的業(yè)務(wù)事務(wù) 2 的并發(fā)用戶數(shù)量從 1,000 增加到 1,150 時(shí),平均響應(yīng)時(shí)間從 7.9 秒增加到了 10.7 秒。

回顧與 NFR 關(guān)聯(lián)的表格時(shí),請(qǐng)注意參考數(shù)據(jù)極為關(guān)鍵。如果沒有這些數(shù)字,就沒有意義。例如,如果收集并發(fā)布性能相關(guān)的基準(zhǔn),至少應(yīng)該提供以下參考數(shù)據(jù):

  • 測(cè)試環(huán)境詳細(xì)信息,如服務(wù)器規(guī)范(硬件和軟件規(guī)范)
  • 客戶端詳細(xì)信息或用于執(zhí)行測(cè)試的桌面的規(guī)范
  • 用于進(jìn)行測(cè)試的工具的詳細(xì)信息(例如,使用了 Rational Performance Tester 生成圖 1圖 2 中的示例圖)。




注意事項(xiàng)

雖然測(cè)試 NFR 是成功采用 SOA 應(yīng)用程序所必不可少的步驟,但請(qǐng)記住,如果沒有具體的量化要求(在可能的情況下),則可能會(huì)遇到麻煩。在實(shí)驗(yàn)室環(huán)境中進(jìn)行測(cè)試和開發(fā)時(shí),如果并發(fā)性和容量/負(fù)載需求之類的非功能標(biāo)準(zhǔn)未量化,而測(cè)試團(tuán)隊(duì)進(jìn)入了基準(zhǔn)確定階段,則更容易出現(xiàn)這種情況。此時(shí),完成項(xiàng)目所需的時(shí)間和工作量都會(huì)大幅度增加。

不過,如果創(chuàng)建了采用計(jì)劃并與所有項(xiàng)目涉眾進(jìn)行了共享,則可以緩解這個(gè)風(fēng)險(xiǎn)。接下來讓我們了解一下如何為項(xiàng)目制定采樣計(jì)劃,您需要在其中確定 SOA 應(yīng)用程序能夠處理的最大事務(wù)量。

首先,將所有可以在測(cè)試環(huán)境中處理的事務(wù)排列和組合添加到表格中。請(qǐng)參見表 3 中的示例。

文件中的事務(wù)請(qǐng)求數(shù)量 上載的單個(gè)批次中的文件數(shù)量
100 10000 20000 30000 40000 50000
1000 1000 2000 3000 4000 5000
10000 100 200 300 400 500
100000 10 20 30 40 50
1000000 1 2 3 4 5

隨后,進(jìn)行了應(yīng)用程序開發(fā)之后,處理少量的文件,并根據(jù)得到的數(shù)據(jù)進(jìn)行推斷??梢陨陷d 100 個(gè)批次,每個(gè)文件中包含 100 個(gè)請(qǐng)求,根據(jù)其處理此數(shù)目所需的時(shí)間,可以評(píng)估處理表 3 中所示的文件排列和組合所需的時(shí)間。

根據(jù)可用時(shí)間和資源以及確信度,您可以決定基準(zhǔn)確定工作的開始和結(jié)束時(shí)機(jī)。檢查根據(jù)表 3 創(chuàng)建的采樣計(jì)劃(請(qǐng)參見表 4)。

文件中的事務(wù)請(qǐng)求數(shù)量 上載的單個(gè)批次中的文件數(shù)量
100 10000 20000 30000 40000 50000
1000 1000 2000 3000 4000 5000
10000 100 200 300 400 500
100000 10 20 30 40 50
1000000 1 2 3 4 5

盡管這些目標(biāo)值可能會(huì)在確定基準(zhǔn)的過程中失效,但可以幫助規(guī)劃這個(gè)級(jí)別本身的測(cè)試方法。例如,如果采用 100*40000 個(gè)文件的測(cè)試用例失敗,那么如何進(jìn)行相關(guān)工作呢?可行且實(shí)際的做法是,僅僅以預(yù)先規(guī)劃的方式進(jìn)行處理;例如,如果 100*40000 失敗,則嘗試 100*37500,然后 100*35000,以此類推。請(qǐng)參見表 5 中給出的更多示例。

文件中的事務(wù)請(qǐng)求數(shù)量 上載的單個(gè)批次中的文件數(shù)量
嘗試-1 嘗試-2 嘗試-3 嘗試-4 嘗試-5
100 40000 37500 35000 32500 30000
1000 3000 2750 2500 2250 2000
10000 300 275 250 225 200
100000 20 18 16 14 12
1000000 2 1 - - -


在實(shí)現(xiàn)較高級(jí)別的非功能能力方面的限制

在采用 SOA 的過程中,完全有可能發(fā)掘出現(xiàn)有 IT 系統(tǒng)的全部潛力。但中間件堆棧中使用的各個(gè)組件可能會(huì)造成一些限制,而在運(yùn)行生產(chǎn)環(huán)境中的 SOA 應(yīng)用程序和遺留應(yīng)用程序時(shí)需要中間件堆棧。為了便于理解,讓我們以使用規(guī)則引擎為例,該引擎在給定時(shí)間只能處理 X 個(gè)事務(wù)。如果此規(guī)則引擎掛鉤到 SOA 應(yīng)用程序,就會(huì)造成約束,使性能級(jí)別不高于 X。





總結(jié)

希望通過本文能夠給您組織的 SOA 采用之旅帶來一定的幫助。雖然這些最佳實(shí)踐的應(yīng)用取決于您當(dāng)前的 SOA 成熟度級(jí)別和改進(jìn)機(jī)會(huì),但上面列表中給出的挑戰(zhàn)、非功能特征、工具、實(shí)際實(shí)現(xiàn)示例能夠幫助您確定如何著手進(jìn)行此工作。而且,NFR 的成功實(shí)現(xiàn)最終將在 IT 和業(yè)務(wù)流程之間形成一個(gè)關(guān)聯(lián)關(guān)系,而這就是我們的主要目標(biāo)。



參考資料

學(xué)習(xí)

獲得產(chǎn)品和技術(shù)
  • 使用 IBM 試用軟件開發(fā)您的下一個(gè)項(xiàng)目,可下載或索取 DVD 光盤。


討論


關(guān)于作者

Shiv Asthana 在位于印度海德拉巴的 IBM GBSC 測(cè)試管理團(tuán)隊(duì)任職,該團(tuán)隊(duì)負(fù)責(zé)對(duì)基于 SOA 的資產(chǎn)進(jìn)行測(cè)試。Shiv 擁有 Birla Institute of Technology and Science, Pilani (BITS, Pilani) 的質(zhì)量管理碩士學(xué)位,有 8 年 IT 行業(yè)從業(yè)經(jīng)驗(yàn)。


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
SOA (面向服務(wù)的架構(gòu))
SOA
關(guān)于微服務(wù)架構(gòu),你需要關(guān)注的那些點(diǎn)
微服務(wù)、SOA 和 API:是敵是友?
SOA 快速指南 1 2 3(轉(zhuǎn)IBM developerWorks 中國)
SOA 探索,第 1 部分: 通過動(dòng)態(tài)解耦來簡化 Web 服務(wù)調(diào)用
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服