Flex開発のテスト・品質向上でかなり使えるツール5選
クラスメソッド株式会社
福田 寅成
2010/10/22
【4】シナリオベースのテストを自動で行う「QTP」
シナリオベースでアプリケーションの実際に動作させて画面の動きをテストすることがテストフェイズで最も重要なタスクであることは明らかです。そのシナリオベースのテストを自動で行うのが、QTPです。
特徴は“シナリオテストの自動化”の1点に尽きます。テスト時に最も工数が掛かるのがシナリオテストです。サーバ側のテストをどれほどやろうとも、クライアント側の単体テストや静的テストをどれほどやろうとも画面がちゃんと動かなければアプリケーション的には意味がありません。QTPは、このシナリオテストを自動化してくれます。
図7 QTPの実行イメージ |
□ 注意点
QTPは実のところ、Flex 2のころからFlexの自動テストに対応していましたが、これまであまり注目されていませんでした。その最も大きな原因の1つがQTPのライセンス料にあります。大規模案件でのテスト工数を考えると、それほど高価なツールではありません。
FlexMonkeyなどの無償シナリオテストツールもありますが、本格的に基幹業務アプリケーション開発プロジェクトなどで採用するには機能的に不十分なものが多く、あまり利用されていないのが現状かと思われます。
また、QTPを利用する際には準備が必要です。カスタムコンポーネントを開発する際にはQTP対応しておく必要があります。この注意点は重要で、あらかじめプロジェクトの計画段階から見積もりとして開発工数が1〜2割程度増加することを見積もっておく必要があります。もちろん、開発工数が増加した分、大幅にテスト工数が削減されるというのがQTPのメリットです。
下記に、FlexでQTPを利用する際に必ず参考すべきURLを2つ紹介しておきます。
Flex開発全般でいえることですが、必ずアドビ システムズが提供している開発ガイドを参照してください。必ず参照するようにしてください(重要なので2度書いてあります)。
□ 使い方
いったんカスタムコンポーネントをQTP対応してしまえば、QTPでの自動テストの実行は非常に簡単です。
- QTPを起動し、記録ボタンをクリック
- アプリケーションを普通にマウスやキーボードで動作させる
- シナリオが終了したらQTPの終了ボタンをクリック
- 必要に応じてQTP上でチェックポイントを追加
- 画面上の値などをチェックするようにテストシナリオを修正
これで、後は作成したシナリオを「再生」するだけで、何度でもシナリオテスト(回帰テスト)が実行できます。
【5】Flash Builderの「プロファイラ」機能
Flash Builderには「プロファイラ」機能があります。Flexの開発におけるパフォーマンスやメモリリークのチェックでは古くからプロファイラーが利用されていました。ほかのツールと違い以前から使われていたポピュラーなツールがプロファイラです。
メモリ使用量ビューのグラフ(「Flex Builder 3 ユーザーガイド」の「プロファイラビューについて 」より引用) |
プロファイラ機能はFlash BuilderのPremium Editionのみでしか利用できないので、注意してください。
詳細は、以下の記事をご覧ください。
基幹業務システム構築にも使える
Flexアプリケーション開発で利用可能な主要テストツールを紹介しましたが、いかがでしたでしょうか。
すでに筆者の所属会社では基幹業務システム構築プロジェクトを中心にテストツールを導入してFlexアプリケーションの品質向上を行っております。ぜひ皆さんも、Flex向けテストツールを開発に導入してテストツール群の威力を体験してみてはいかがでしょうか。
■ @IT関連記事
速いFlash/ActionScriptチューニング入門 Flash/ActionScriptチューニングの基礎知識から実践的テクニックまでを紹介する連載。読みながら試せるオンライン・サンプルもあります。Adobe AIR/Flexにも応用可能です 「デザインハック」コーナー |
現場の無駄な流血を止めるための「プロトタイプ」とは 再考:プロトタイプとユーザビリティテスト(1) サイトやWebアプリ/RIAの設計やデザインを効率良く進めるには、プロジェクト関係者の想定を一致させていくことが大事だが… |
Eclipseで使えるテストツールカタログ 統合開発ツールにEclipseを選択する開発現場に、テストの効率化、ソフトウェア品質の向上のヒントを提供する 「Java Solution」フォーラム |
プロフィール:福田 寅成(ふくだ ともなり) クラスメソッド株式会社 RIAエバンジェリスト/Adobe Certified Flex 3.0 Developer 大手SIerの技術部門で先進技術の調査や基幹業務アプリケーション開発に携わる。その後、クラスメソッドに入社。Flex+Javaによる業務RIA案件を多数担当。 最近はRIAやクラウドに関するセミナーの開催や技術記事執筆を通じて、先進技術の啓蒙を行う日々。FxUGでは、東京から遠い地域(北海道など)まで遠征し講演。RIAとクラウドを組み合わせた技術デモアプリを公開中 |
1-2-3 |
INDEX | ||
Flexフレームワークで変わるRIA開発の現場(6) Flex開発のテスト・品質向上でかなり使えるツール5選 |
||
Page1 Flex開発におけるテスト・品質向上ツールの充実 【1】単体テストツール「FlexUnit」 |
||
Page2 【2】コーディング規約を順守させる「Flex Formatter」 【3】コードを静的解析する「FlexPMD」 |
||
Page3 【4】シナリオベースのテストを自動で行う「QTP」 【5】Flash Builderの「プロファイラ」機能 基幹業務システム構築にも使える |
リッチクライアント&帳票 全記事一覧へ |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|