Silk Test は、Internet Explorer、Firefox、Chrome、Safari、Edge 等で記録したテストスクリプトを、変更することなく他のブラウザで再生可能な、クロスブラウザ機能を備えています。また、モバイルデバイスを使用している環境ではモバイルブラウザを使用したクロスブラウザテストを行うこともでき ます。各ブラウザは同期処理も統一されているため、ブラウザ間の同期処理の違いを意識する必要がありません。
ユーザーの要求に基づいたシステムを構築できているかどうか確認するため、機能要件に沿ったテストを実施することが非常に重要です。
Silk Test は、テスト管理ツール Silk Central と連携することにより、テストケースと要件の関連付け、計画的な実行、テスト結果の管理、ポートフォリオ・レポートの作成等が可能です。
Silk Test は、モバイル環境にも対応しています。モバイルデバイスにインストールされているネイティブ/ハイブリッドアプリケーションや Chrome、Safari などのブラウザを使用した機能テストおよび回帰テストの自動化が簡単に実行できます。Silk Testを使用することでクロスデバイスのテスト(複数機種における同一アプリケーションの動作テスト)が実現し、テスト工数の削減、品質の安定に大きく貢献します。
注1:Jailbreak
iOS デバイスにアップルに認証されていないアプリケーションを自由にインストールしたり iOS に 独自の機能を加えるためにシステム管理権限を奪う行為をJailbreakと呼びます。
注2:root奪取
Android デバイスでは、Google に認証されていないアプリケーションを自由にインストールしたり Android OS に独自の機能を加えるためにシステム管理権限を奪う行為を root 奪取と呼びます。
機能テストを実施する際、対象のアプリケーションに対して、マウスおよびキーボードで行う操作を記録することで、スクリプトを自動作成することができます。
スクリプトを一から記述する必要がなく、テストケースの雛型として使用することで、テスト自動化にかかる工数を大幅に減らすことができます。
Silk Test Workbench には、2種類のテストスクリプト作成機能が用意されています。
ビジネスアナリストには非手続き言語形式のビジュアルテスト、QA エンジニア向けには、VB.NET を採用した .NET スクリプトが用意されています。
テスト自動化組織のスキルやロールに合わせたスクリプト記録・再生を行い、Silk Test のテスト自動化機能を活用することができます。
記録したスクリプトはテスト要件に合わせて編集を行います。ここで CSV ファイル読み込みを行ってループ処理を行ったり、スクリプトのモジュール化を行ってサブルーチンをコールするようにしてスクリプトの共有化を行います。また、ビジュアルテストから .NET スクリプトを呼び出すこともできます。
作成したスクリプトを実行することにより、アプリケーションに対するテストを、自動的に実行させることができます。
テストの自動実行は、普段使われていないリソースや時間の有効活用を実現します。
テストスクリプトに検証ポイントを設定し、テスト実行時の画面が想定と異なる場合に、チェックさせることができます。
近年、さまざまな種類のデバイスに対応して、ブラウザアプリケーションの表示と操作におけるユーザーエクスペリエンスを向上させたいという要求が発生しました。
レスポンシブ Web デザイン(RWD)は、アプリケーションのレイアウトを画面サイズによって変化させることによって、この要求を実現します。
Silk Test は、解像度を意識して記録する機能を持っているので、テスト実行時すべてのレスポンシブWebデザインの画面サイズに対してテストスクリプトを動作させることができます。
キーワード駆動テストは、テスト開発からテスト設計を分離するソフトウェアテスト手法です。
Silk Test はキーワード駆動テストをサポートしており、Silk Test のキーワードの形式での共有資産として構成されるメンテナンス可能な自動化フレームワークを自動化エンジニアが開発することによって、自動化エンジニアとビジネスアナリスト間で密接な共同作業を行うことができます。
テスト対象のアプリケーションにアクセスすることなく、初期段階からテストを開発でき、後からキーワードを実装できます。
プログラムの知識がなくてもテストを開発できます。
キーワード駆動テストは、長期的に見るとメンテナンスコストを低減できます。これらのキーワードを使用するすべてのキーワード駆動テストは自動的に更新されます。
技術者でなくてもテストケースが読みやすく、理解しやすくなります。
また、変更も簡単です。
既存のキーワードを再利用して新しいテストを作成できます。これにより、より広範囲なテストカバレッジ゙を実現しやすくなります。
キーワード駆動テストは、下記の Silk Test クライアントでサポートされています。
Silk Test Workbench
Silk4J
Silk4NET
作成したテストスクリプトはバッチコマンドによる実行が可能です。夜間、ビルドしたアプリケーションをそのまま機能テスト、回帰テストを行うような作りこみを行うことで完全に無人化されたアジャイルなアプリケーションテスト環境が実現できます。
サードパーティ製カスタムコントロールや自作の GUI コントロールは実装方法が特殊なものが多く、「認識しない」「値が取得できない」などの問題が多く報告されています。テスト自動化のエンジニアは、キーボード操作を利用するスクリプトを追記したり手動テストで対応する必要がありました。Silk Test はテキスト認識、イメージ認識、インジェクションコードの挿入を利用してカスタムコントロールの操作を実現しています。
.NET フォームや WPF において自作コントロールやサードパーティ製のカスタムコントロールを使用していた場合、インジェクション用コードを記述して AUT(テスト対象アプリ)の操作が可能になります。
開発者の方は普段使い慣れている統合開発環境 (IDE) をそのまま利用することで、テストスクリプトの開発生産性があがります。Silk Testは、IDEをテスト開発環境として使用できます。
開発環境として Microsoft Visual Studio (Expressを除く) を使用している場合、Silk Test の機能を Visual Studio のプラグインとして使用することができます。GUI の操作手順が、C# もしくは VB .NET のソースコードとして記録され、Visual Studio のユニットテストケースとして、実行および結果の管理を行うことができます。専用の実行結果ビューワーが用意されていてビジュアルな結果も参照できます。
※)テスト対象は、.NET アプリケーションだけではなく、Silk Test が対応しているすべてのアプリケーションです。
開発環境として Eclipse を使用している場合、Silk Test の機能を Eclipse のプラグインとして使用できます。GUI の操作手順が、Java のソースコードとして記録され、ユニットテスト JUnit のテストケースとして、実行および結果の管理を行うことができます。専用の実行結果ビューワーが用意されていてビジュアルな結果も参照できます。
※)テスト対象は、Java アプリケーションだけではなく、Silk Test が対応しているすべてのアプリケーションです。
Silk4J でSeleniumのWebDriverを使用できます。
これにより、以下のメリットがあります。
アプリケーションの操作の記録方式をSilk Test 用、WebDriver 用から選択、テストスクリプトを作成できます。
WebDriver のスクリプトをSilk4J で再生することにより、Silk Testのスクリーンショットが含まれた実行結果を取得できます。
Silk4J ではDocker でChrome/Firefoxを使用したWebアプリケーションのテストを自動実行できます。これにより、Jenkins、Bamboo、Team City などの CI サーバーから機能テストを自動的にトリガーすることができ、継続的インテグレーション(CI) および 継続的デプロイ(CD) プロセスに機能テストを組み込むことができます。
Docker化された環境でテストを実行できるため、新しいテスト環境の構築を迅速に、また環境の再配布が容易に行えます。
一般的なWeb アプリケーションのフロントエンドは、バックエンドサービスに強く依存しています。バックエンドサービスにアクセスできない場合や、開発中の場合は、フロントエンドのテストを続けることが難しいことが多く、場合によっては完全にテストできなくなります。
Silk4J ではService Virtualizationを使用して、サービスコンポーネントのスタブを容易に作成できます。 作成したサービスをスタブでシミュレートできるので、バックエンドサービスが利用可能になるまで待つ必要がなく、早期にテストを実施できます。
※Service Virtualizationは、マイクロフォーカスエンタープライズ社のサービス仮想化ソリューションです。