Flexcover: Flex/AIR/AS3用のオープンソースのコードカバレッジ(テストのコード網羅チェック)ツール

Flexcoverとは、Allurent社のJoe Berkovitz氏が発表された、Flex・AIR・AS3用のオープンソースのコードカバレッジ(テストのコード網羅チェック)ツールだ。

Flex、AIR、AS3に対応していて、mxmlc/compc コンパイラとフレームワークに独自に手を加えたカスタムバージョンのFlexSDKを含んでいて、出力したSWF、SWCファイルに測定用の呼び出し関数を挿入することで、コードの実行とその回数を検知する仕組み。

Flexcoverの開発でBerkovitz氏は他言語で使われている既存のコードカバレッジツールの情報を入念に集めてみた。特にEmmaやCoverturaをはじめたくさんのJavaのオープンソースカバレッジツールを調べ、提供されている情報からわかる方法を調べました。それから私はより良いツールに着手し、リアルタイムなカバレッジの機能を加えました。それによりアプリケーションをテストしている時でもソースコードの更新をカバレッジ率と一緒に知ることができるようになりました。」と彼は語った。

flexcover

Flexcoverの設計で目指している主な目的には以下のようなものがあるという。

  • AS3アプリケーションのカバレッジ情報をリアルタイムに収集し視覚化する
  • カバレッジ率の低い部分が一目で分かるようにする
  • カバレッジ情報を蓄積する
  • 蓄積したカバレッジレポートを視覚化する
  • 自動テストからでも手動テストからでもカバレッジデータを収集できるようにする
  • 分析する
  • 測定の実行は、基本的には次のような流れ。

    1.Flexcover SDKで対象プロジェクトをコンパイルすると測定コード入りのSWFとカバレッジメタデータファイル(ソースコードと実行ラインの対照表のようなもの)が出力される

    2.CoverageViewerというスタンドアロンのAIRアプリケーションを起動して1.で出力したメタデータファイルをロード、最初はカバー率0%になる。

    3.測定対象のSWFを起動し、いじりたおす。

    4.再びCoverageViewerに戻ると、いま行った操作により呼び出されたコードラインとその回数が表示される

    flexcover-2

    自動化されたユニットテストスイートのカバレッジツールとしても使用できるようで、その場合はテキストベースのレポートファイルとして出力され、あとでそれをビューワーで閲覧できる。

    リソース:

    Google Code:http://code.google.com/p/flexcover/

    joseph.berkovitzブログ:

    http://joeberkovitz.com/blog/2008/04/12/flex-air-code-coverage-announce/
    参考(英語):http://www.infoq.com/news/2008/05/flexcover-code-coverage

    Leave a Reply

    Your email address will not be published. Required fields are marked *