HOME > 開発者向けBLOG > Sencha Blog >  Sencha Test 早期アクセス版の発表

Technology Note 開発者向けBLOG

Sencha Blog

Sencha Test 早期アクセス版の発表

こんにちは、ゼノフィseoです。

この記事は、US Sencha社ブログSencha Test Early Access is Available Now (2015年12月17日|Subu Baskaran) を翻訳したものです。
Sencha Test

Sencha Test の早期アクセス版を発表でき非常にうれしく思います。この早期アクセス版により、Senchaコミュニティの皆様に我々の新製品であるSencha Test を評価していただけます。

Sencha Test はSenchaプラットホームに新たに加わった製品で、これによりユニットテストやとエンドツーエンドの機能テストを素早く作成、様々なブラウザで同時に実行することができます。Sencha Test は内部では強力なJasmineフレームワークを活用しており、JavaScriptでテストを書くことができます。

数多くのアサーション、マッチャー、スタブ、そしてモックを使用して強力なテストを作成することで、質の高いアプリケーションを届けることが可能となります。Sencha Test は二つの目標を念頭に生み出されました

  • エンドツーエンドテストを実施できるようにすることでExt JS アプリの質を向上させる
  • ユニットテストおよび機能テストを実施できるようにすることで開発生産性を劇的に上げる

今すぐお試しください

Sencha Test 早期アクセス版をダウンロード
ガイドやドキュメンテーションを見る (英語)
Sencha Test のウェビナー録画を見る

製品の構成

Sencha Test は4つのコアコンポーネントで成り立っており、これらにより、統合されたテスト環境でユニットテストや機能テストを素早く作成することができます。Sencha Test のコンポーネントは以下の4点です:

  • Test Studio
  • Test Runner
  • Test CLI (コマンドラインインタフェース)
  • Test Archiver

Test Studio はグラフィカルなユーザーインターフェースで、組み込まれたSencha Test エディターを使用して開発者やテストエンジニアがJasmineテストを書くことができます。テストはJacaScriptで書かれ、チームで利用しているソース管理の仕組みに入れることができます。また、別々のIDEでコーディングしたり、Sencha Test で直接テストを作成し、即座に実行することもTest Studio では可能です。継続的にテストを実施することで、この反復プロセスにおいてより強力なテストコードを作ることができます。 Sencha Test Studio

Test RunnerはSencha Test の中心となる存在です。Test Runner を使用することで、ローカルマシンやローカルで接続されたモバイル端末、ブラウザファームのどのようなブラウザでも任意のユニットテストや機能テストを実行することができます。ローカルTest Runner に設定されているコンフィギュレーションはSencha Test CLI(下部参照) でも使用されており、同じテストをContinuous Integration (CI)システム で実行することができます。これにより自動化されたテストをスケジューリングすることができ、設定の追加は最低限で済みます。

Sencha Test CLI(Command Line Interface)により、自動化されたテストを最大限に利用することができます。テストが記述され、ソース管理レポジトリに一度チェックインされれば、CIシステムを使ってそれらを起動することができます。アプリケーションコードやソース管理リポジトリ内のテストファイルの変更を感知すると、CIシステムはCLIを自動的に呼び出すことができます。

Test ArchiverはCIシステムで実行されたテストの結果を保存するためのファイルサーバーです。アーカイブサーバーは画像ベース(もしくはスクリーンショット)テストがベースライン画像を取得する場所でもあります。対応するベースライン画像にスクリーンショットテストが一致しない場合、テスト失敗と報告されます。これらの結果はSencha Test を通じてレビュー、管理されます。

上記のコンポーネント全てが共にシームレスに動くことで、Ext JS アプリケーションをテストするために設計された包括的で、かつ統合されたテスト環境が提供されます。

製品の特徴

イベントレコーダー

イベントレコーダーを使うことで、テスト対象のアプリケーション(AUT) で様々なアクションを行っている状態で素早くイベントを掴むことができます。イベントレコーダーは多くの方法を活用することで、安定したテストを生成できるようにします。イベントレコーダーがデフォルトで取り入れている方法論はComponent Query とDOM セレクターを組み合わせで、これによりチェックボックスやコンボボックスなどのある特定のコンポーネントに対してプロパティを固定します。また、環境設定に合わせてXPATH もしくはID から選択することも可能です。

テストはアプリケーションの開発段階において開発者のマシンでも、レグレッションテストに向けてCIプロセスに統合された場合と同じく手動で実行することができます。CIシステムはビルドエージェントを呼び出してAUTに対してテストを実施、結果をSencha Test Archiver に送ります。CI環境におけるシンプルなHTMLやテキストファイル形式の結果と異なり、Sencha Test での結果はリッチなマトリクス形式で提供されます。その結果はSencha Test で見ることができ、失敗したテストに関しては詳しく掘り下げて知ることもできます。

ブラウザファーム統合

数多くのブラウザの組合せをテストし続けることは非常に難しく、そこで、Sencha Test をそのままSauce Labs やBrowserStack などのブラウザファームと統合できるようにしました。これによりテストを複数のブラウザで同時に実施することができるようになり、その実行時間を劇的に削減することができます。

ビジュアルスクリーン比較

画像比較テストは外部向けのアプリケーションにとっては非常に重要なことです。Ext JS はUIコンポーネントを豊富に提供しており、高解像度のチャートや画像を利用いただけます。Sencha Testのビジュアルスクリーン比較機能を使うと、テストの最初の自動走行で画像をベースラインとし、続くテストではそのベースライン画像と比較することができます。これにより何百というスクリーンで画像を確認する手間を最小限に抑えることができます。

コードカバレージ

Sencha Test はJavaScriptの強力なコードカバレッジツールであるInstanbul と統合されており、大量のコードのうちテスト範囲に含んだものと範囲に含んでいないものの差分を明らかにすることができます。ステートメントやブランチ、機能、コードラインのレベルまで理解しやすい形式でパーセントで表示します。さらにテストが必要な部分をこれにより把握することができます。 Sencha Test Integrated with Istanbul

結果のレポート

Sencha Test のもう一つの大きな特徴は、結果のレポートと解析にあります。結果は整理されたマトリックス形式で表示され、失敗したテストをすぐに見つけ出すことができます。クロスブラウザ表示を使えば、すべてのブラウザでの結果を同時に比較することもできます。結果の解析に要する時間をSencha Test により削減することで、アプリケーション開発をより生産的なものにしていただけます。

フィードバックをください

Sencha Test 早期アクセス版は今すぐにダウンロードすることができます。GA版のリリースを少しでも早くできるよう全力を注いでいます。その実現のためにも皆様のご協力が必要です。皆さまのExt JS アプリのテストにSencha Test を試していただき、手始めに我々の用意したサンプルもお使いください。フィードバックを共有いただき、バグはSencha Test フォーラムで報告していただけますと幸いです。フィードバックをお待ちしています。

PAGETOP