Flexフレームワークで変わるRIA開発の現場
連載インデックスへ
第6回

Flex開発のテスト・品質向上でかなり使えるツール5選


クラスメソッド株式会社
福田 寅成
2010/10/22


【4】シナリオベースのテストを自動で行う「QTP」

 シナリオベースでアプリケーションの実際に動作させて画面の動きをテストすることがテストフェイズで最も重要なタスクであることは明らかです。そのシナリオベースのテストを自動で行うのが、QTPです。

 特徴は“シナリオテストの自動化”の1点に尽きます。テスト時に最も工数が掛かるのがシナリオテストです。サーバ側のテストをどれほどやろうとも、クライアント側の単体テストや静的テストをどれほどやろうとも画面がちゃんと動かなければアプリケーション的には意味がありません。QTPは、このシナリオテストを自動化してくれます。

図7 QTPの実行イメージ
図7 QTPの実行イメージ

注意点

 QTPは実のところ、Flex 2のころからFlexの自動テストに対応していましたが、これまであまり注目されていませんでした。その最も大きな原因の1つがQTPのライセンス料にあります。大規模案件でのテスト工数を考えると、それほど高価なツールではありません。

 FlexMonkeyなどの無償シナリオテストツールもありますが、本格的に基幹業務アプリケーション開発プロジェクトなどで採用するには機能的に不十分なものが多く、あまり利用されていないのが現状かと思われます。

 また、QTPを利用する際には準備が必要です。カスタムコンポーネントを開発する際にはQTP対応しておく必要があります。この注意点は重要で、あらかじめプロジェクトの計画段階から見積もりとして開発工数が1〜2割程度増加することを見積もっておく必要があります。もちろん、開発工数が増加した分、大幅にテスト工数が削減されるというのがQTPのメリットです。

 下記に、FlexでQTPを利用する際に必ず参考すべきURLを2つ紹介しておきます。

 Flex開発全般でいえることですが、必ずアドビ システムズが提供している開発ガイドを参照してください。必ず参照するようにしてください(重要なので2度書いてあります)。

使い方

 いったんカスタムコンポーネントをQTP対応してしまえば、QTPでの自動テストの実行は非常に簡単です。

  1. QTPを起動し、記録ボタンをクリック
  2. アプリケーションを普通にマウスやキーボードで動作させる
  3. シナリオが終了したらQTPの終了ボタンをクリック
  4. 必要に応じてQTP上でチェックポイントを追加
  5. 画面上の値などをチェックするようにテストシナリオを修正

 これで、後は作成したシナリオを「再生」するだけで、何度でもシナリオテスト(回帰テスト)が実行できます。

【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の「プロファイラ」機能
基幹業務システム構築にも使える


リッチクライアント&帳票 全記事一覧へ



HTML5 + UX フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日 月間