こちらの記事はEmbedded testing with Squish – watch a video demoの抄訳です。
組み込み向けGUI(Graphical User Interface)やHMI(Human-Machine Interface)のテスト、その最良のアプローチとは何でしょうか?
通常、自動テストと手動テストの二者択一が求められます。既に皆さんご承知かと思いますが、それぞれにはメリットとデメリットがあり、それらを考慮に入れる必要があります。
人間のエンジニアは、GUIやHMIの使い勝手や直感性、効果性を、人間の観点から評価することが可能です。手作業でシステムがユーザーの入力やジェスチャーに対して適切に反応するか確認し、バッテリーの残量が少ない状態やネットワーク接続が不安定な状況など、さまざまな条件下でシステムの反応性を確認することもできます。
一方、自動テストは、異なるデバイス、オペレーティング・システム、ハードウェア構成において、GUIやHMIシステムが一貫して働くことを保証する、より効率的な方法と言えます。
自動化の魅力は、無効なユーザー入力や予期せぬエラー状況など、事前に定義された入力や条件に対してシステムがどのように反応するかを検証できることにあります。また、自動化は大量のユーザートラフィックや負荷をシミュレートすることも可能にします。
ソフトウェアテストの世界で、手動テストと自動テスト、あなたはどちらを選びますか?もっと詳しく知りたいと思いませんか?この記事では、さまざまなテスト状況に応じて最適な選択をするための詳細なガイダンスを提供しています。
さて、ここでSquishによる組み込みアプリケーションの自動テストについてのビデオデモに焦点を当てていきましょう。
ただし、それに先立って、Squishについて少しご紹介します:
Squishは、GUI自動テストツールで、あらゆるグラフィカル・ユーザー・インターフェース(GUI)を持つソフトウェア・アプリケーションのテストに使用されています。Squishの強みは、Java SWT/Eclipse RCP、Java Swing、Windows Forms、WPF、Qt、macOS、iOS、Android、Web/HTML/Ajaxなど、多種多様なGUIテクノロジをサポートしているところです。
Squishは、スクリプト言語、オブジェクトマップ、テストスイートなど、多機能で強力な機能を提供し、テストプロセスをより簡単かつ効率的にします。
これらの機能を使えば、開発者やテスターは、アプリケーションの品質と信頼性をしっかりと保証することができます。また、Squishは組み込みシステムを含む様々なGUIベースのアプリケーションで動作する設計になっていますので、特に組み込みアプリケーションのテストにおいては非常に便利です。
つまり、Squishはテストの設計から開発、デバッグ、保守、実行まで、全てをカバーする強力なツールなのです。
Squishで作成されたテストはクロスプラットフォーム対応しています。なぜなら、SquishはUIコントロールの認識を、単にピクセルの比較としてではなく、プロパティの内省によって確立しているからです。もしオブジェクトベースの認識が適切でない場合でも、Squishは画像ベースの比較テストを提供し、画面上のテキストの検証のための文字認識とOCRもサポートしています。
Squishが真に注目すべき特性の一つは、ひとつのテストスクリプトで、プロパティ認識、画像やスクリーンショットの比較、そしてOCRを使ったテキスト検証を同時に組み合わせることができる点です。
これにより、テストプロセスが多角的に強化されるわけです:
本ビデオを視聴いただければ、Squishの言語サポートがいかに独特なのか、明確に理解いただけることでしょう。
多くの他のツールと異なり、Squishでは新規に独自の言語を学習する必要はございません。それどころか、Python、JavaScript、Ruby、Perl、TCLといった5つの自由選択可能な言語の中からお選びいただけます。もちろん、これら全ての言語に対して均等なサポートを提供しております。
これにより、既存の外部モジュールの広範なエコシステムを活用し、テスト内でそれらを参照することが可能となります。したがって、全く新たな基盤から始める必要なく、既存の資源を再利用して効率的に進めることが可能です。
このビデオでは、Squishを使って組込みGUIやHMIの機能テストを設計、開発、自動化する方法について具体的なデモを行います。
デモに進む前に、Squishのアーキテクチャについて少し詳しく見てみましょう。デモでは、ARM iMX6ボードが搭載された実際のタッチスクリーンデバイスを使って、Qtベースのサンプルアプリケーションを実行します。
自動化ツール、開発環境、テスト作成用フレームワークとしてのSquish GUIテスターを使ってデモを行います。
それでは、さっそくビデオを再生し、Squishがどのように動作するのか見てみましょう!
SquishをはじめとするQtのQA(品質保証)ツールにご興味がおありの方は、Qt JapanのEメールアドレス:japan@qt.ioまでお気軽にご連絡ください。概要のご説明から詳細な技術的相談、また無料のツールトライアルのご案内もいたしております。