【17-B-6】RIAの性能テストとアプリケーション品質向上のための管理手法
Upcoming SlideShare
Loading in...5
×
 

【17-B-6】RIAの性能テストとアプリケーション品質向上のための管理手法

on

  • 2,487 views

 

Statistics

Views

Total Views
2,487
Views on SlideShare
2,381
Embed Views
106

Actions

Likes
1
Downloads
71
Comments
0

1 Embed 106

http://devsummary.miukoba.net 106

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    【17-B-6】RIAの性能テストとアプリケーション品質向上のための管理手法 【17-B-6】RIAの性能テストとアプリケーション品質向上のための管理手法 Presentation Transcript

    • RIAの性能テストとアプリケーション品質向上のための管理手法17-B-6 髙橋 亨 マイクロフォーカス株式会社 技術部 AMQ ソリューション Developers Summit 2011
    • マイクロフォーカスについて 沿革  1976年設立(日本法人は1984年設立)  オープンシステムターゲットのCOBOL開発環境でトップシェア  ロンドン証券市場に上場  全世界で約1,500名の従業員を持つグローバル企業  英国、米国、ドイツ、フランス、日本をはじめ世界中に事業所  昨年度 コンピュウェア社アプリケーションテスティング・ASQ (Automated Software Quality)ビジネス、 ボーランド社のビジ ネスを統合 最近のトピックス  2011年1月「DevPartner」製品の新バージョン10.1Jをリリース  2011年2月SilkTest, SilkPerformer, SilkCentral Test Manager 新バージョン2010R2をリリース Developers Summit 2011 2
    • マイクロフォーカスのテストライフサイクル製品要件とテストの連携によるライフサイクル全般の品質向上を実現 各種要件とテストを連携す ることによって開発ライフサ業務要件 イクル全体の効率化を実現 システムテスト 要件管理 テスト管理 機能テスト機能要件 (CaliberRM/ (SilkCentral (SilkTest) CaliberRDM) Test Manager) データ駆動・キーワード駆動テスト 要件の作成 テスト要件の作成 要件管理 テストケースの管理 負荷・性能テスト性能要件 要件の構造化 バグ管理 (SilkPerformer) 要件の変更管理 自動テストの実行 手動テストの管理 多重・性能テストコーディング 成果物管理・障害 静的解析 仕様 管理・進捗管理 デバッグ・テスト (StarTeam) (DevPartner) バージョン管理 ソースレベルでの 変更履歴管理 静的解析・カバレッジ分析 パフォーマンス分析・メモリ分析 Developers Summit 2011 3
    • アジェンダ RIAの普及・有効性 RIAにおけるテストの注意点 RIA環境での性能(負荷)テスト FLEX環境での負荷テスト クライアントの性能テスト AJAX環境での機能テスト クラウド環境を利用した負荷テスト 品質管理としてのテスト管理手法 リスクベースドテスト テスト管理ツール まとめ Developers Summit 2011 4
    • RIAの普及RIA技術の普及により、テストの効率化に苦労するケースも 多くなっている Developers Summit 2011 5
    • RIAの有効性1. 従来のWebアプリケーションでは実現できなかったインタラク ティブかつリッチなユーザー・インタフェースの実装が可能2. 即時応答性のある直感的な操作が可能3. 必要な部分のみデータを書き換え、通信量を最小限にとど めるなどデータ通信のトラフィックの軽減から、Webアプリ ケーションのレスポンス処理を解消 Developers Summit 2011 6
    • RIAにおける性能テストの注意点<サーバー側>  AJAXでは、同期の問題としてアプリケーションが次に進めるまで待ち 状態になる現象が発生 たとえば、  ページのリンクをクリックする前に、ページ全体がロードされていなければ ならない  ボタンは、クリックされる前に有効にならなければならない  データグリッドは、行が使用される前にその情報をロードする必要がある FLEXでは、バイナリでスクリプトがキャプチャされてしまうためデータ 解析が困難<クライアント側> クライアントが重い XMLファイルが大きくなり、クライアントの処理が重くなる Developers Summit 2011 7
    • RIA環境での性能(負荷)テスト Developers Summit 2011 8
    • WebアプリケーションとAJAXアプリケーション の違い Webアプリケーション AJAXアプリケーションクライアント環境 通常のブラウザ 通常のブラウザコンテンツの構成 HTML+CSS+ AJAX(HTML+CSS+ JavaScriptなどの標準技 JavaScript)などの技術を 術を使用 使用リクエストの発生頻度 画面遷移ごと 画面遷移時に限定されない通信方式 HTTP HTTP同期 同期通信 非同期または同期通信 Developers Summit 2011 9
    • 負荷テストツールの目的 サーバーに対し、高負荷を発生させる サーバーの状態を監視 Webサーバー APPサーバー DBサーバー仮想ユーザー 負荷テスト負荷テストツールアプリケーション、システム、インフラが期待通り動作するかを確認 Developers Summit 2011 10
    • これまでのHTTPプロトコルのスクリプト作成 ブラウザからサーバへのプロトコル ブラウザへのイベント 同期処理 記録 再生 プロトコルを直接記録するため、再生で同期エラーが 発生する可能性があるテストスクリプト スクリプトが冗長であり、メンテナンスが困難 Developers Summit 2011 11
    • これまでのHTTPプロトコルでAJAXを記録、再生してみると、 記録したスクリプトが、 実行時にエラー No response available. Document not found: http://demo.microfocus.com/InsuranceWebExt Js_dc=1275889716761 Developers Summit 2011 12
    • スクリプト作成における同期処理の課題 ページ 処理 HTTP Request Ext JS 処理 XML HTTP Request これまでの同期の対応は、 •スクリプトにWaitや遅延処理を追加する •JavaScriptそのものをスクリプトに取り込む Developers Summit 2011 13
    • ブラウザ駆動型負荷テスト http://demo.microfocus.com/InsuranceWebExtJS/index.jsfAJAXブラウザが自動的に同期を調整イベントベースのスクリプトなので、短くシンプルで 分かりやすい スクリプトの生産性・メンテナンス性が大幅に向上 Developers Summit 2011 14
    • ブラウザ駆動型負荷テストのスクリプト作成 ブラウザからサーバへのプロトコル ブラウザへのイベント AJAXブラウザ 記録 再生テストスクリプト Developers Summit 2011 15
    • FLEX環境での負荷テスト Developers Summit 2011 16
    • FLEX AMFのシステムにおけるデータ転送XML、JSON等による転送 AMFによる転送 <Naming> <Detail> <Namespaces> 010110111100100111 <Namespace line="0" name="" /> ・・・・・・ <Namespace line="6" name="" /> <Namespace line="9" name="" /> 転送データはテキストで管理され、 転送データはバイナリ化され、 そのまま転送される 更に圧縮される可読性は高いが、転送に時間がかかる 転送時間が大幅に短縮される Developers Summit 2011 17
    • HTTPプロトコルでキャプチャされたFLEX AMFの転送データ HTTPプロトコル によるキャプチャ 010110111 100100111 AMFのバイナリ転送 ユーザID ・・・・・・ データを、負荷テスト スクリプトとしてキャ プチャ AMFによる転送AMFバイナリデータがそのまま記録されるどこに、どの情報が記録されているのか、判別が困難テスト実行時のデータを編集することは、非常に困難 Developers Summit 2011 18
    • FLEX対応によるキャプチャされたFLEX AMFの転送データ FLEX対応 によるキャプチャ 圧縮されたAMFのバイ ナリ転送データを展開 ユーザID 010110111 100100111 し、XMLテキストデータ ・・・・・・ として負荷テストスクリ プトとしてキャプチャAMFによる転送AMFバイナリデータをXMLテキストファイルとして記録するどこに、どの情報が記録されているのか判別が容易テスト実行時のデータを自由に編集することが可能 Developers Summit 2011 19
    • クライアントの性能テスト Developers Summit 2011 20
    • AJAXのパフォーマンス問題を検証 AJAXのパフォーマンスボトルネック は、クライアント側にある場合も多い クライアントのパフォーマンスを測定する必要性が高い Developers Summit 2011 21
    • クライアントの性能測定のコツ世代古いスペックのPCが必要クライアントテストは、実際に使用するPCと同じスペックで行うフリーの計測ツールを上手に利用 dynaTrace 、YslowやPage Speedで実測する ポイント タイムラインでレンダリング、JavaScript やネットワークのパフォーマンスと同時 にCPUの負荷が一緒に表示されるとボ トルネックや改善したい方向性が見え てくる Developers Summit 2011 22
    • サーバーとクライアントの同時性能テスト 負荷テストツールと機能テストツールの活用 サーバーの APPサーバー DBサーバー負荷テストツール 性能計測 Webサーバーテスト管理ツールから クライアントの 性能計測両ツールを同時実行 負荷テストでサーバーに負荷をかけ、機能テストツール サーバーの状態を監視・計測 機能テストでアプリケーションを動作さ せることにより、クライアント性能を計測 Developers Summit 2011 23
    • AJAX環境での機能テスト Developers Summit 2011 24
    • 機能テストツールの目的 テストの手順を記録、再生、チェックしてテストを自動化同じ操作を繰り返すテスト(回帰テスト・スモークテスト)の効率を向上テスト結果をチェックすることにより精度の高いテストができる 一度目は、録画 テストの流れ それ以降は再生 テスト テスト 計画 同じテスト 実施 OSのパッチ 使用DBの変更など 機能 効果 テストを録画・再生 繰り返しテストの工数削減 発生箇所も指摘 デグレードの防止 Developers Summit 2011 25
    • AJAXに対する機能テスト AJAXのサーバとの 非同期データ通信 再生 自動Wait 画面準備 自動Wait 画面準備 自動Wait 画面準備機能テストのスクリプト ・ ・ ・AJAX画面がReady状態になるまで、自動的に実行をWaitするスクリプトの初期修正とメンテナンスの工数を大幅に低減可能 Developers Summit 2011 26
    • クラウド環境を利用した負荷テスト Developers Summit 2011 27
    • 一般的な負荷テストのイメージ 社内 エージェントPC 仮想ユーザを生成 インターネット負荷テストツール Web Application ・負荷テスト対象のサーバー群・スクリプト作成・シナリオ作成・負荷テストの実行・負荷テスト結果の表示・サーバーの情報を取得 Developers Summit 2011 28
    • クラウド環境を利用した負荷テスト クラウドエージェント Amazon EC2 サイト社内 インターネット負荷テストツール・スクリプト作成・シナリオ作成・負荷テストの実行・負荷テスト結果の表示 Web Application・サーバーの情報を取得 ・負荷テスト対象のサーバー群 Developers Summit 2011 29
    • クラウド環境を利用した負荷テストの利点クラウド環境を利用して仮想ユーザの生成するため、 Agent PCが必要なく、コストの削減Agent PCの準備工数、 設置スペースの削減Agentの配置・割り当てが簡単インターネットを経由した実測測定 Developers Summit 2011 30
    • 品質管理としてのテスト管理手法 Developers Summit 2011 31
    • リスクベースドテストとは?  テストの優先順位を決める  リスクを指数として表わす • テストをしなかった時のどれくらい欠陥が含まれて いるのか? • その欠陥はどれくらいの確率で発生するのか? • その欠陥の重要度は?  リスクを理解すれば、とても効率的なテスト Developers Summit 2011 32
    • リスクベースドテスト リスク低減が遅いバターン リスク コスト テスト 効率 リスク低減が早いバターン リスク コスト テストテストを効果的 効率に実施 同じコストで、より効果的にリスクを減らすテストを実現 Developers Summit 2011 33
    • リスクベースドテストの考え方 テスト可能範囲 テスト不可範囲 重要なテストが、 テスト漏れになる 可能性 リスク(重要度)によって優先 順位を行い、テスト範囲を調整 テスト可能範囲 テスト不可範囲リソース(人員、マシン)がスケジュール内で実施可能な範囲に、リスク(重要度)の高いテストを実施重大な問題がテスト対象から外れるケースの軽減が可能 Developers Summit 2011 34
    • リスクベースドテストの利用 Developers Summit 2011 35
    • テスト管理ツールとは?テストの見積もりは? テストケースの管理は?テスト実施状況は? 情報のトレーサビリティは?バグ管理とリスクは? テストのレポートは? Developers Summit 2011 36
    • テスト管理ツールの利点 • テストの実施状況・結果を把握 • テスト担当者の割り当て・管理 • 自動化テストや手動テストを一元管理 • テストケースの標準化・再利用が可能 • 指定したPCでテストの自動実行 • 関連したテストの順次実行の管理 • 要件定義システムやバグ管理システムとの連携 • ノウハウの蓄積・共有・駆使が可能 Developers Summit 2011 37
    • テストケースの一元管理と自動実行 自動テスト環境 プロジェクト 自動テスト テストケース1 合格 (テストツール+テストスクリプト) A テストケース2 不合格 実行/結果 ・・・ ` マニュアルテスト テストケース1 合格 ` テストケース2 不合格 ・・・ ` プロジェクト 自動テスト テストケース1 合格 マニュアルテストサーバでテ Bストケースカ テストケース2 不合格 (手動でのテスト)バレッジ情報 ・・・ を管理 マニュアルテスト テストケース1 合格 テストケース2 不合格 実行/結果 ・・・自動化テストおよび手動テストを一元管理し、プロジェクト全体 のテスト状況を把握指定したマシンでのテスト自動実行や、関連したテストの 順次実行を管理 Developers Summit 2011 38
    • 手動テストの管理テストの自動化は、テスト全体の10~40%残り90~60%は、手動テスト Excelを利用 ツールを利用 手動テスト管理の問題点 テストデータの管理が煩雑になってませんか? テストデータは正しいですか? レポート作成に時間がかかってませんか? Developers Summit 2011 39
    • 手動テストを助ける機能ビデオ録画 テストを記録することにより、テスト漏れの確認 障害が発生したときの再現性の確認 Developers Summit 2011 40
    • まとめRIAの性能テストやテストの管理手法を活用することにより、テスト工程やテスト管理の見通しがよくなり、実務に集中できます。それにより、「どんな観点でテストをすればいいのか?」「単純にテストを組み合わせたら膨大になってしまった!」「どんなにテストしても品質が上がらない!」「このテストケースは再利用できないだろうか?」「もっと簡単にテストができないだろうか?」こんな気づきを創発すると、品質が向上します! Developers Summit 2011 41
    • Application Management & Quality製品に関するお問い合わせ先: マイクロフォーカス株式会社 http://www.microfocus.co.jp/ TEL: 03-5413-4770 Email: qa-sales@microfocus.co.jp Copyright © 2011 Micro Focus. All Rights Reserved. 記載の会社名、製品名は、各社の商標または登録商標です。 Developers Summit 2011