Qtブログ(日本語)

【Squishノウハウ】GUIテストをバージョン管理システムに登録する

作成者: Qt Group 日本オフィス|Mar 17, 2023 12:00:00 AM

こちらの記事はPutting Your GUI Tests Under Version Controlの抄訳です。

テストケースのスクリプトファイルをはじめとするGUIテストのほとんどの要素はテキストベースのコンテンツに依存しているため、GitSVNのようなシステムでバージョン管理下に置くことができます。このブログでは、バージョン管理システム(VCS)の仕組み、GUIテストでVCSを使用する利点、そしてEclipse IDEを使用してバージョン管理下でSquish GUIテストを設定するデモについてご紹介します。

バージョン管理システムの仕組み

バージョン管理システムは、リポジトリ、または変更内容を保持するデータベースを確立することによって動作し、ユーザーはそこから、変更を作成するファイルの個人的なコピーをチェックアウトして使用します。変更がリポジトリに提出できる状態になると、「コミット」によって個々の変更がリポジトリに戻されます。リポジトリは、コミッターによって行われたすべての変更の履歴であり、プロジェクトのスナップショットとして機能します。

なぜGUIテストをバージョン管理システムで管理するのか?

VCSを採用し、テストオートメーションワークフローに統合することはプロジェクトにとってとても有益であり、強くお勧めします。テストスクリプト、共有/グローバルスクリプト、データファイル、共有データファイル、検証ポイントファイル、オブジェクトリポジトリなど、複数のファイルで構成されるテストオートメーションフレームワークでは、プロジェクトの変更を可視化するだけでなく、それらを適切に管理することが重要になるためです。

VCSを導入することによって、テスト開発のシナリオはどうなるのでしょうか。例えば、複数のエディションが存在するアプリケーションをテストする必要が生じたとしましょう。それぞれのアプリケーションのエディションは、ソースコードの異なるブランチから構築されています。各リビジョンで異なるテストスクリプトを使用したり、各エディションのさまざまな機能に対して異なるテストデータセットが必要になったりして、テストが複雑になることがあります。このような環境を制御するためのベストプラクティスは、VCSの下でテストスイートを管理することであり、できればアプリケーションソースと同じシステムで一緒に管理することです。ここでは、テスト対象のアプリケーション(AUT)ソースとテストスクリプト、テストデータは、同じリポジトリ内で一緒に管理されます。

AUTのソースコードがブランチ化され、複数の異なるリビジョンが並行して存在する場合、関連するテストスクリプトも各ブランチに共存させることができます。それぞれのテストは、AUTのリビジョンのあらゆる要件に合わせて、独自に調整することができます。VCSを使用することで、AUTに発生する開発サイクルの典型的な変更とリビジョンと一緒に、潜在的に大きくなりうるテストスクリプトのセットとそのデータを維持、管理、追跡することができるようになります。

Squishを使ったバージョン管理下でのGUIテスト開発

Eclipse IDE用のSquishプラグインは、EclipseからSquishのGUIテストを開発することができます。そして、Eclipse IDE自体が、GitやSVNなどの一般的なバージョン管理システム用のプラグインを提供しています。いくつかのステップを踏むことで、リビジョン管理下にあるテストスイートを作成し、維持することができます。

ステップ1:Eclipse IDE用のSquish統合プラグインのインストール

  • プラグインをダウンロードします。
  • Eclipse IDEで、メニュー > ヘルプ > 新しいソフトウェアのインストールを選択します。
  • Install New Softwareダイアログで、「Add」、「Local」を選択します。
  • ダウンロードしたプラグインの.jarファイルへのパスを入力します。

ステップ2:EclipseのGitインテグレーションをインストールする

  • Eclipse IDEで、Menu > Help > Install New Softwareを選択します。
  • ドロップダウン・リストから、「--All Available Sites--」を選択します。
  • 「Git Integration for Eclipse」プラグインを検索します。

ステップ3:SquishパースペクティブにGitビューを追加する

  • Window > Perspectiveから「Squish Test Management」のパースペクティブを設定します。
  • Window > Show View > OtherからSquishのパースペクティブに「Git View」を追加します。
 

最後に、「Add Repository」または「Checkout Repository」を使用して、テストスクリプトが保存されている場所を追加します。

テストセンターとGitの統合

Squishと一緒に使うことで、Test Centerがテスト自動化の進捗を一歩前進させます。Test Center は、テスト結果の分析および管理のためのプラットフォームです。Test Centerには、プロジェクトの進展に合わせて結果を統計的かつ視覚的に集約します。ユーザーがプロジェクト全体のテスト結果を管理し、主要な傾向を分析するための機能群が組み込まれています。既存のワークフローに適合し、改善していくために、Test Center には、外部のテストおよび要件管理ツール、一般的な CI/CD システム、および課題追跡とレポート作成プラットフォームとの統合がいくつか用意されています。

これにより、a)テストスイートを含むGitリポジトリの設定、b)バージョン管理されたテストスクリプトファイルの特定の行をアップロードされたテスト実行結果に対応させることが可能になります。Test CenterとGitの統合により、プラットフォームのユーザーは、一元化された場所から、より迅速にリグレッションを発見し修正することができます。

詳細については、Test Center 3.2:テスト結果アップロードAPI、Robot Frameworkのサポートなどご確認ください。

 

おわりに

以上が、記事の内容となります。

Test CenterをはじめとするQtのQA(品質保証)ツールにご興味のおありの方は、Qt JapanのEメールアドレスjapan@qt.ioまでお気軽にご連絡ください。

概要のご説明から詳細な技術的相談、また無償のツールトライアルのご案内もいたしております。