久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

SOA 非功能測(cè)試最佳實(shí)踐

 chanvy 2008-11-13
在開(kāi)發(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í)通過(guò)網(wǎng)絡(luò)訪問(wèn)這些服務(wù)和任務(wù),。這個(gè)網(wǎng)絡(luò)可以是局域網(wǎng),、Internet,或者一組不同位置提供的分散各處且采用多種技術(shù),,但以類似于安裝在本地桌面的方式交互的服務(wù),。可以對(duì)這些服務(wù)進(jìn)行結(jié)合,,以完成特定的業(yè)務(wù)任務(wù),,從而讓您的業(yè)務(wù)快速適應(yīng)不斷變化的客觀條件和需求。也就是說(shuō),,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)換。這樣能夠帶來(lái)諸多好處,,包括:

  • 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ù)流程,。

不過(guò),,只有在將功能需求和非功能需求包含到應(yīng)用程序中并無(wú)縫集成到生產(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)境中開(kāi)發(fā)或作為軟件供應(yīng)商的新產(chǎn)品投資組合的一部分開(kāi)發(fā)時(shí),,在這些情況下,,大多數(shù)時(shí)候生產(chǎn)環(huán)境都不可用。其他的挑戰(zhàn)包括:

  • SOA 應(yīng)用程序具有大量的內(nèi)部和不可見(jiàn)組件,。
  • 要進(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)化工具的有限訪問(wèn),。
  • 根據(jù)所解決的業(yè)務(wù)問(wèn)題不同,用于應(yīng)用程序部署的體系結(jié)構(gòu)和組件可能會(huì)有所變化,。
  • NFR 比功能需求的變化頻率高,。
  • 在實(shí)驗(yàn)室環(huán)境中進(jìn)行測(cè)試需要在測(cè)試基礎(chǔ)設(shè)施方面進(jìn)行大量的投資。

最佳實(shí)踐

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

  • 首先組建測(cè)試團(tuán)隊(duì),,此團(tuán)隊(duì)需要具有在計(jì)劃使用的目標(biāo)操作系統(tǒng)和中間件組件上工作的足夠技能,。
  • 仔細(xì)分析需求,并找出自相矛盾的需求,。
  • 了解系統(tǒng)上下文關(guān)系圖,,以確定對(duì)存根的需求。
  • 確保在項(xiàng)目開(kāi)始時(shí)創(chuàng)建可測(cè)試性表格,。確定能夠測(cè)試的 NFR,、不能測(cè)試的 NFR,,以及哪些測(cè)試能夠?qū)崿F(xiàn)自動(dòng)化。
  • 創(chuàng)建了可測(cè)試性表格后,,確定能夠通過(guò)任何行業(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® 等。要在以后采購(gòu)服務(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è)試定義
可訪問(wèn)性 驗(yàn)證訪問(wè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)證用戶指南是否提供了正確的說(shuō)明,。
安裝 驗(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ù)不斷增長(zhǎng)的需求,。
安全性 驗(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í)間,、頁(yè)面吞吐量和并發(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è)試與問(wèn)題分析工具,,除了 Rational Performance Tester 的標(biāo)準(zhǔn)功能外,,還能夠幫助尋找性能瓶頸。它支持進(jìn)行 SOA 效率問(wèn)題確定,,并為支持部署的 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í)外,,還可以通過(guò)分析所開(kāi)發(fā)的應(yīng)用程序的系統(tǒng)上下文來(lái)創(chuàng)建存根和模擬器(請(qǐng)參見(jiàn)圖 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è)試的簡(jiǎn)單方法,。在大多數(shù)情況下,,一個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)就可以幫助解決問(wèn)題,但其中應(yīng)該包括支持所要測(cè)試的業(yè)務(wù)事務(wù)的所有表格和示例數(shù)據(jù),。





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

IBM 名為 Global Business Solutions Center (GBSC) 的團(tuán)隊(duì)開(kāi)發(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 FabricIBM 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ù)組成,。也就是說(shuō),,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)換的過(guò)程中如此重要的原因,。目前在 GBSC 中開(kāi)發(fā)的 CBS 已經(jīng)針對(duì)上面建議的大部分需求進(jìn)行了測(cè)試,,在某些情況下具有出眾的性能基準(zhǔn),如在單個(gè)批處理提交中能處理超過(guò) 2 百萬(wàn)個(gè)事務(wù)的能力,,以及所報(bào)告的各種任務(wù)關(guān)鍵型流程的卓越吞吐量和響應(yīng)時(shí)間,。

測(cè)試人員使用 Rational Performance Tester、IBM Tivoli® Composite Application Manager 以及自主構(gòu)建的實(shí)用工具程序等工具來(lái)創(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)鍵。如果沒(méi)有這些數(shù)字,,就沒(méi)有意義,。例如,如果收集并發(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)記住,,如果沒(méi)有具體的量化要求(在可能的情況下),則可能會(huì)遇到麻煩,。在實(shí)驗(yàn)室環(huán)境中進(jìn)行測(cè)試和開(kāi)發(fā)時(shí),,如果并發(fā)性和容量/負(fù)載需求之類的非功能標(biāo)準(zhǔn)未量化,而測(cè)試團(tuán)隊(duì)進(jìn)入了基準(zhǔn)確定階段,,則更容易出現(xiàn)這種情況,。此時(shí),完成項(xiàng)目所需的時(shí)間和工作量都會(huì)大幅度增加,。

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

首先,,將所有可以在測(cè)試環(huán)境中處理的事務(wù)排列和組合添加到表格中。請(qǐng)參見(jiàn)表 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)用程序開(kāi)發(fā)之后,處理少量的文件,,并根據(jù)得到的數(shù)據(jù)進(jìn)行推斷,。可以上載 100 個(gè)批次,,每個(gè)文件中包含 100 個(gè)請(qǐng)求,,根據(jù)其處理此數(shù)目所需的時(shí)間,可以評(píng)估處理表 3 中所示的文件排列和組合所需的時(shí)間,。

根據(jù)可用時(shí)間和資源以及確信度,,您可以決定基準(zhǔn)確定工作的開(kāi)始和結(jié)束時(shí)機(jī)。檢查根據(jù)表 3 創(chuàng)建的采樣計(jì)劃(請(qǐng)參見(jiàn)表 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ò)程中失效,但可以幫助規(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)參見(jiàn)表 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 的過(guò)程中,,完全有可能發(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é)

希望通過(guò)本文能夠給您組織的 SOA 采用之旅帶來(lái)一定的幫助,。雖然這些最佳實(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 試用軟件開(kāi)發(fā)您的下一個(gè)項(xiàng)目,,可下載或索取 DVD 光盤,。


討論


關(guān)于作者

http://pubimage.360doc.com/wz/default.gif

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)。


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多