コード化された UI テスト自動化フレームワークのチュートリアル
典型的なソフトウェア自動化 テストには、Selenium や QTP などの自動化ツールが必要です。コード化された UI はこれらのツールに似ており、特に機能テストに役立ちます。
コード化された UI テスト (CUIT) は、Visual Studio を使用して記録を行うことができるため、Visual Studio IDE を使用してスクリプトを記述します。
この初心者向けのコード化された UI チュートリアルでは、次のことを学びます-
- コード化された UI テストとは
- コード化された UI テスト機能
- コード化された UI テスト (CUIT) がサポートするテクノロジ
- テストの自動化にコード化された UI を使用する理由
- コード化された UI テスト (CUIT) の作成方法
- コード化された UI テストの内容
- コード化された UI テストの実行方法
- コード化された UI テスト (CUIT) のベスト プラクティス
- コード化された UI テストと Selenium と QTP の比較
コード化された UI テストとは
コード化された UI テスト (CUIT) ユーザー インターフェイス (UI) を通じてアプリケーションを駆動する自動テストです。そのため、コード化された UI テスト (CUIT) という名前が付けられました。このテストには、UI コントロールの機能テストが含まれます。ユーザー インターフェイスを含むアプリケーション全体の機能をチェックします。また、既存の手動テストを自動化するためにも使用されます。
<センター>
<図>UI テストのアーキテクチャ
フィギュア>センター>
コード化された UI テスト機能
コード化された UI 機能には、
- 機能テスト
- VB/C# でコードを生成する
- ALM ストーリーと統合
- ラボで、またはビルドの一部としてビルド、デプロイ、テスト
- ローカル、リモート実行、データ収集
- 豊富な拡張性
- 意図を認識した記録と弾力性のある再生
コード化された UI テスト (CUIT) がサポートするテクノロジー
コード化された UI を使用すると、UI (ユーザー インターフェイス) を持つアプリケーションを簡単にテストできます。アプリケーションは、ウィンドウ ベースまたは Web ベースのいずれかです。
コード化された UI は、
のようなテクノロジをサポートします- ウィンドウ ベースのデスクトップ アプリケーション
- ウェブ サービス (SOAP、ASPX など)
- ウィンドウ フォン アプリケーション
- WPF (Windows プレゼンテーション ファウンデーション)
- ウェブ アプリケーション (HTML、Silverlight、HTML5)
テストの自動化にコード化された UI を使用する理由
テスト自動化のためにコード化された UI が好まれる理由
- 開発者とソフトウェア テスターは、同じツールや言語を使用して効果的に協力できる
- ウェブ プロジェクトと Windows プロジェクトの両方をサポートしています。
- 要素識別メカニズムは、コード化された UI の優れた機能です。また、同期をサポートしています
- 再生エンジンは、「WaitForControlExist」、「WaitForReadyLevel」などの機能をサポートしています
- 「テスト エージェント」の助けを借りて、自動化テストをリモート マシンで実行できます
- 自動化チームは、階層化されたフレームワークでコード化された UI を使用して、高度なテストを開発できます
- ソフトウェア テスターは、log4net.dll を効果的に利用して例外を捕捉し、結果を記録できます
- コード化された UI ツールは、記述的プログラミングをサポートします。ソフトウェア テスターは、オブジェクト プロパティに基づいてシナリオを自動化できます
- AJAX コントロールをサポートしています。
コード化された UI テスト (CUIT) を作成する方法
コード化された UI テストを作成するには、次の方法で実行できます。
- 既存のアクション記録からの生成 (手動テスト記録からの変換)
- 新しいコード化された UI テストをゼロから作成する
- ゼロからコードを書く
コード化された UI テストの内容
コード化された UI テストを作成すると、コード化された UI テスト ビルダーによってマップが作成されます。これには、テスト対象の UI、テスト メソッド、パラメーター、アサーションなどが含まれます。各テストについて、クラス ファイルも作成されます。
- CodedUITest1.cs :このファイルには、コード化された UI テスト クラス、テスト メソッド、アサーション呼び出し、およびメソッド呼び出しが含まれています。デフォルトでは、すべてのアサーションとメソッドがこのファイルから呼び出されます。
- UIMap.uitest :UIMap クラスの XML 表現です。これには、ウィンドウ、コントロール、プロパティ、メソッド、アクション、およびアサーションが含まれます。 UI マップ エディターでのみ編集されます
次に、このコード化された UI チュートリアルでは、コード化された UI 自動化テストを実行する方法を学習します。
コード化された UI テストを実行する方法
コード化された UI には、アプリケーションのテストを行うための 2 つの異なる方法があります。
<オール>コード化された UI テストを実行するには、次の手順に従う必要があります。
<オール>コード化された UI テスト (CUIT) のベスト プラクティス
コード化された UI テスト自動化フレームワークのベスト プラクティスを次に示します。
- コード化された UI 自動化テスト ビルダを可能な限り使用する
- UIMap.designer.cs ファイルを直接変更しないようにしてください。そうしないと、ファイルに加えた変更が上書きされます
- 一連の記録されたメソッドとしてテストを作成します
- 記録された各メソッドは、1 つのページ、フォーム、またはダイアログ ボックスで動作する必要があります。また、新しいフォーム、ページ、またはダイアログ ボックスごとに新しいテスト メソッドを作成します
- メソッドを作成するときは、デフォルト名の代わりに意味のあるメソッド名を使用してください。意味のある名前は、メソッドの目的を識別するのに役立ちます
- 可能であれば、記録される各メソッドを 10 未満のアクションに制限します。このアプローチにより、UI が変更された場合にメソッドを簡単に置き換えることができます。
- アサーションを作成するには、CodedUI テスト ビルダーを使用します。アサーション メソッドを UIMap.Designer.cs ファイルに自動的に追加します。
- ユーザー インターフェースが変更された場合、または既存のテスト メソッドの影響を受けるセクションが再記録された場合は、テスト メソッド / アサーション メソッドを再記録します。
- API を使用して直接コーディングする場合は、UIMap.Designer.cs ファイルで作成されたクラスのメソッドとプロパティを使用します。これらのクラスは、作業の信頼性と容易性を高め、生産性を高めるのに役立ちます。
コード化された UI テストと Selenium と QTP の比較
以下は、コード化された UI と Selenium と QTP の比較表です:
- Selenium は Windows アプリケーションと同様に WPF をサポートしていません
- Visual Studio CodedUI は、Windows ストア アプリケーションのテストと Window Phone アプリケーションのテストをサポートしています。これをサポートするツールは他にありません。
- テスト完了は Windows アプリケーションをサポートしていますが、プラグインをインストールする必要があります。
コード化された UI テストと Selenium と QTP の比較
まとめ:
- ユーザー インターフェース (UI) を通じてアプリケーションを駆動する自動テストは、CodedUI テスト (CUIT) と呼ばれます。
- コード化された UI テスト自動化フレームワークは、Web サービス、ウィンドウ フォン アプリケーション、Web アプリケーションなどのテクノロジーをサポートします
- コード化された UI テストにより、開発者とソフトウェア テスターは同じツール/言語を使用して効果的に共同作業できます
- CodedUI インクルードの使用中に作成されたコンテンツまたはファイル
- UIMap.Designer.cs
- UIMap.cs
- CodedUITest1.cs
- UIMap.uitest
C言語