「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-戻る
--[[FAQ - その他]]
--[[設計のポイント]]

*目次 [#c394b69f]
#contents

*概要 [#u03a749c]
負荷テストでは、実行毎に変わる値を正規表現などを使用して抜いて引き継ぐ必要がある。
*Open棟梁独自 [#b82b0aea]

-ログインユーザ毎に可変となる値。
-実行タイミング次第で可変となる値。
-ランダム値が使用されていて可変となる値。
**ASP.NET Web Forms [#k16fc2ef]
Open棟梁のASP.NET Web Forms用のP層フレームワークは、以下の4つのFormパラメタの引継が必要。

*ASP.NET一般 [#zeca1ef1]
***Forms [#jf236ccb]
[[マスタページ>#j81eaecd]]に定義されている、以下のパラメタの引継が必要。

**WebForms [#mad7663c]
-<asp:HiddenField ID="ScreenGuid" runat="server" Value="0" />
-<asp:HiddenField ID="WindowGuid" runat="server" Value="0" />
-<asp:HiddenField ID="RequestTicketGuid" runat="server" Value="0" />

***ポイント [#u9475ca2]
以下がポイントのもよう。
***QueryString [#qbc114ad]
画面遷移時にQueryStringに付与される、BrowserWindowsGuidの引継が必要。

-HTTPクッキーマネージャを設定(Session利用時)
この値は、WindowGuid (Form上) = BrowserWindowGUID (QueryString上)だが、~
PostBack → Redirectの遷移パターンの場合もあるため、QueryStringでの引継が必要。

-VIEWSTATEの引継を設定
***Cookie [#b8c5b492]
HTTPクッキーマネージャの設定が必要。

-EVENTVALIDATIONの引継を設定
>EVENTVALIDATIONは、EnableEventValidation = true の際に~
生成され、PostBackおよびCallbackイベントを検証するための情報。~
これにより、Response・PostBack間で保存 → 復元される値が、~
改ざんされていないかどうかをチェックするようになるので、~
Response・PostBack間で保存 → 復元される値が、~
動的に変更になるような場合は、追跡する必要がある。
Open棟梁のWebFormの[[P層フレームワーク>#l5a2440b]]では、Sessionが必須のため、Sessionクッキーの引継が必要。

-CSRF(XSRF)対策用のTokenの引継を設定
--[[CSRF(XSRF)対策の実装方針 - 対応方針の材料 - ASP.NET Web Forms>CSRF(XSRF)対策の実装方針#iffca9fe]]
**ASP.NET MVC [#k16fc2ef]
Open棟梁のASP.NET MVC用のP層フレームワークには引継が必要なパラメタは存在しない。

***参考 [#c808874d]
-ASP.NET アプリケーションの過負荷試験を JMeter で行う。 - dunno logs~
http://d.hatena.ne.jp/dany1468/20101209/1291906047
-JMeter で ASP.NET の負荷試験検証した - minato128 blog~
http://minato128.hateblo.jp/entry/2013/05/24/212016
**リッチクライアント [#y517ae73]
-Windows Forms
-WPF
-, etc.

**MVC [#i76a8281]
-CSRF(XSRF)対策用のTokenの引継を設定
--[[CSRF(XSRF)対策の実装方針 - 対応方針の材料 - ASP.NET MVC>CSRF(XSRF)対策の実装方針#b06cdc95]]
については、[[コチラの、リッチクライアント>https://techinfoofmicrosofttech.osscons.jp/index.php?%E8%B2%A0%E8%8D%B7%E3%83%86%E3%82%B9%E3%83%88%E3%81%AE%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88#o40ef1cb]]を参照のこと。

*リッチクライアント一般 [#q49fda79]
リッチクライアントの負荷テストは、~
HTTPに特化した負荷テストツールでは実行が困難。
***[[リッチクライアント(3層 C/S)>https://techinfoofmicrosofttech.osscons.jp/index.php?%E8%B2%A0%E8%8D%B7%E3%83%86%E3%82%B9%E3%83%88%E3%81%AE%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88#q49fda79]] [#l59834cd]

以下のような、回帰テストツールもあるが、
***[[リッチクライアント(2層 C/S)>https://techinfoofmicrosofttech.osscons.jp/index.php?%E8%B2%A0%E8%8D%B7%E3%83%86%E3%82%B9%E3%83%88%E3%81%AE%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88#vbe698df]] [#d3093cec]

-マイクロフォーカス製品 - テストツール - Silk Test : マイクロフォーカス~
https://www.microfocus.co.jp/products/silk/silktest/
-HP Unified Functional Testing 12 | HPE 日本(UFT, 旧QTP)~
http://h22242.www2.hpe.com/products/software/hpsoftware/uft12.html
*参考 [#ie55af31]
**OpenTouryoProject/OpenTouryo [#u4351c54]
***パラメタが定義されているマスタページ [#j81eaecd]
-OpenTouryo/testBlankScreen.master~
https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Samples/WebApp_sample/WebForms_Sample/WebForms_Sample/Aspx/Common/Master/testBlankScreen.master

リッチクライアント(HTTPでない、若しくはHTTPでも内部がバイナリ電文)の場合、
***上記パラメタを使用するP層フレームワーク [#l5a2440b]
-OpenTouryo/BaseController.cs at develop~
https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Framework/Presentation/BaseController.cs

負荷テストは、多重実行など、回帰テストツールでの代替が難しいため、~
クライアントサイドのシミュレータやスクリプトを作成して再生することが多い。
**マイクロソフト系技術情報 Wiki [#l777e875]

**3層 C/S [#nf6d8cf7]
3層 C/Sの場合、基本的にシミュレータやスクリプトを作成して負荷テストを実行する。
***[[負荷テストのポイント>https://techinfoofmicrosofttech.osscons.jp/index.php?%E8%B2%A0%E8%8D%B7%E3%83%86%E3%82%B9%E3%83%88%E3%81%AE%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88]] [#m6deeee2]

**2層 C/S [#fc39de1b]
2層 C/Sの場合、
***[[Apache Jmeter>https://techinfoofmicrosofttech.osscons.jp/index.php?Apache%20Jmeter]] [#z431cd5c]

-以下を使用してもイイかもしれない。
--トレース ファイルの再生 (SQL Server Profiler)~
https://msdn.microsoft.com/ja-jp/library/ms189604.aspx

-P層 / B層(D層)が適切にクラス分割されていれば、~
3層C/Sのようなシミュレータやスクリプトを作成しやすい。

*Open棟梁独自 [#b82b0aea]

**WebFormsのポイント [#k16fc2ef]
Open棟梁のWebForms用のP層フレームワークは、以下の4つのFormパラメタの引継が必要。

***Forms [#jf236ccb]
マスタページに定義されている、以下のパラメタをの引継が必要。

-<asp:HiddenField ID="ScreenGuid" runat="server" Value="0" />
-<asp:HiddenField ID="WindowGuid" runat="server" Value="0" />
-<asp:HiddenField ID="RequestTicketGuid" runat="server" Value="0" />

***QueryString [#qbc114ad]
-画面遷移時にQueryStringに付与される、BrowserWindowsGuid。

-この値は、WindowGuid (Form) = BrowserWindowGUID (QueryString)だが、~
PostBack → Redirectの遷移パターンの場合もあため、追跡必要。

***Cookie [#b8c5b492]
-HTTPクッキーマネージャを設定~
Open棟梁のWebFormのP層フレームワークではSessionが必須のため。 

**MVCのポイント [#k16fc2ef]
Open棟梁のMVC用のP層フレームワークには引き継ぎが必要なパラメタは存在しない。

*参考 [#ie55af31]
-OpenTouryoProject/OpenTouryo
--OpenTouryo/BaseController.cs at develop~
https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/Framework/Presentation/BaseController.cs
--OpenTouryo/testBlankScreen.master~
https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Samples/WebApp_sample/ProjectX_sample/Aspx/Common/testBlankScreen.master


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS