自動化テスト

自動化テスト

自動化テストとは?

自動化テスト は、特別な自動テスト ソフトウェア ツールを使用してテスト ケース スイートを実行するソフトウェア テスト手法です。 それに対して、手動テストは、人間がコンピューターの前に座ってテスト手順を慎重に実行することによって実行されます。

自動テスト ソフトウェアは、テスト データをテスト対象システムに入力し、予想される結果と実際の結果を比較し、詳細なテスト レポートを生成することもできます。 ソフトウェア テストの自動化には、多額の資金とリソースの投資が必要です。

連続した開発サイクルでは、同じテスト スイートを繰り返し実行する必要があります。 テスト自動化ツールを使用すると、このテスト スイートを記録し、必要に応じて再生することができます。 テストスイートが自動化されると、人間の介入は必要ありません。 これにより、テスト自動化の ROI が向上しました。 自動化の目標は、手動で実行するテスト ケースの数を減らすことであり、テスト ケースを排除することではありません。 手動テスト 全部。

クリック こちら ビデオにアクセスできない場合

テスト自動化の理由

なぜ自動テストなのか?
なぜ自動テストなのか?

テスト自動化 ソフトウェア テストの有効性、テスト範囲、実行速度を向上させるには、自動化が最善の方法です。自動化されたソフトウェア テストが重要な理由は、次のとおりです。

  • すべてのワークフロー、すべてのフィールド、すべてのネガティブなシナリオの手動テストには時間と費用がかかります
  • 多言語サイトを手動でテストするのは困難
  • ソフトウェア テストのテスト自動化では、人間の介入は必要ありません。 自動テストを無人で (夜間に) 実行できます。
  • テスト自動化によりテスト実行速度が向上します
  • 自動化はテストカバレッジの向上に役立ちます
  • 手動テストは退屈になり、エラーが発生しやすくなります。

どのテストケースを自動化するか?

自動化のROIを高めるために、自動化するテストケースは次の基準を使用して選択できます。

  • 高リスク – ビジネス クリティカルなテスト ケース
  • 繰り返し実行されるテストケース
  • 非常に面倒なテストケース、または手動で実行するのが難しいテストケース
  • 時間のかかるテストケース

次のカテゴリのテスト ケースは自動化には適していません。

  • 新しく設計され、少なくとも一度は手動で実行されていないテスト ケース
  • 要件が頻繁に変化するテストケース
  • アドホックベースで実行されるテストケース。

自動テストプロセス

自動化プロセスでは次の手順に従います。

テスト自動化プロセス
テスト自動化プロセス

ステップ1) テストツールの選択

ステップ2) 自動化の範囲を定義する

ステップ3) 企画・設計・開発

ステップ4) テストの実行

ステップ5) メンテナンス

ステップ 1) テストツールの選択

テスト ツールの選択は、テスト対象アプリケーションが構築されているテクノロジに大きく依存します。 例えば、 QTP インフォマティカはサポートしていません。 したがって、QTP はテストに使用できません 情報 分野の様々なアプリケーションで使用されています。 AUT でツールの概念実証を実施することをお勧めします。

ステップ 2) 自動化の範囲を定義する

自動化の範囲は、自動化されるテスト対象アプリケーションの領域です。次の点が範囲の決定に役立ちます。

  • ビジネスにとって重要な機能
  • あるシナリオ 大量のデータ
  • 共通の機能 アプリケーション全体にわたって
  • 技術的実現可能性
  • ビジネスコンポーネントが再利用される範囲
  • 複雑さ テストケースの
  • クロスブラウザーテストに同じテストケースを使用する機能

ステップ3) 企画・設計・開発

このフェーズでは、次の詳細を含む自動化戦略と計画を作成します。

  • 選択された自動化ツール
  • フレームワークの設計とその特徴
  • 自動化の範囲内および範囲外の項目
  • 自動化テストベッドの準備
  • スクリプト作成と実行のスケジュールとタイムライン
  • 自動テストの成果物

ステップ 4) テストの実行

自動化スクリプトはこのフェーズ中に実行されます。 スクリプトを実行するには、事前にテスト データを入力する必要があります。 実行すると、詳細なテスト レポートが提供されます。

実行は、自動化ツールを直接使用して実行することも、自動化ツールを呼び出すテスト管理ツールを通じて実行することもできます。

例: 品質センターは、自動化スクリプトを実行するために QTP を呼び出すテスト管理ツールです。 スクリプトは、単一のマシンまたはマシンのグループで実行できます。 時間を節約するために、実行は夜間に行うことができます。

ステップ 5) テスト自動化メンテナンスのアプローチ

テスト自動化メンテナンスのアプローチ ソフトウェアに追加された新しい機能が正常に動作するかどうかをテストするために実行される自動テスト フェーズです。 自動化テストのメンテナンスは、新しい自動化スクリプトが追加されたときに実行され、後続のリリース サイクルごとに自動化スクリプトの有効性を向上させるためにレビューおよび保守する必要があります。

自動化のためのフレームワーク

フレームワークとは、次の作業に役立つ自動化ガイドラインのセットです。

  • テストの一貫性を維持する
  • テスト構造の改善
  • コードの最小限の使用
  • Less コードのメンテナンス
  • 再利用性の向上
  • 技術者以外のテスターもコードに参加できる
  • ツールを使用するためのトレーニング期間を短縮できます
  • 必要に応じてデータを含める

自動化ソフトウェア テストで使用されるフレームワークには次の XNUMX 種類があります。

自動化のためのフレームワーク

  1. データ駆動型自動化フレームワーク
  2. キーワード駆動型自動化フレームワーク
  3. モジュール式自動化フレームワーク
  4. ハイブリッド オートメーション フレームワーク

自動化ツールのベストプラクティス

自動化のROIを最大化するには、次の点に注意してください。

  • プロジェクトを開始する前に、自動化の範囲を詳細に決定する必要があります。 これにより、自動化に対する期待が正しくなります。
  • 適切な自動化ツールを選択する: ツールは人気に基づいて選択する必要はありませんが、自動化要件に適合するものでなければなりません。
  • 適切なフレームワークを選択する
  • スクリプト標準 - オートメーション用のスクリプトを作成する際には、標準に従う必要があります。そのうちのいくつかは-
    1. コードの統一されたスクリプト、コメント、インデントを作成する
    2. 適切な例外処理 – システム障害またはアプリケーションの予期しない動作時にエラーが処理される方法。
    3. ユーザー定義メッセージは、テスターが理解できるように、エラー ログ用にコーディングまたは標準化する必要があります。
  • 指標の測定 - 自動化の成功は、手作業の労力と自動化の労力を比較するだけでは判断できませんが、次の指標も取得することで判断できます。
    1. 見つかった欠陥の割合
    2. リリースサイクルごとの自動テストに必要な時間
    3. リリースまでにかかる時間は最小限
    4. 顧客満足度指数
    5. 生産性の向上

上記のガイドラインを遵守すれば、自動化を成功させるのに大いに役立ちます。

自動テストの利点

自動テストの利点
自動テストの利点

テスト自動化の利点は次のとおりです。

  • 手動テストより 70% 高速
  • アプリケーション機能の幅広いテスト範囲
  • 信頼できる結果
  • 一貫性を確保する
  • 時間とコストを節約
  • 精度を向上させる
  • 実行中に人間の介入は必要ありません
  • 効率を向上させます
  • テスト実行速度の向上
  • 再利用可能なテストスクリプト
  • 頻繁かつ徹底的にテストする
  • 自動化によりより多くの実行サイクルを実現可能
  • 市場投入までの時間が早い

自動テストの種類

自動化ツールを選択するにはどうすればよいですか?

適切なツールを選択するのは難しい作業です。次の基準は、要件に最適なツールを選択するのに役立ちます。

  • 環境サポート
  • 使いやすさ
  • データベースのテスト
  • オブジェクトの識別
  • 画像テスト
  • エラー回復テスト
  • オブジェクトマッピング
  • 使用されるスクリプト言語
  • 機能テスト、テスト管理、モバイルなどを含む、さまざまなタイプのテストのサポート
  • 複数のテストフレームワークのサポート
  • 自動化ソフトウェアスクリプトのデバッグが簡単
  • あらゆる環境の物体を認識する能力
  • 広範なテストレポートと結果
  • 選択したツールのトレーニングコストを最小限に抑える

ツールの選択は、自動化を進める前に取り組むべき最大の課題の XNUMX つです。 まず、要件を特定し、さまざまなツールとその機能を調査し、ツールに期待することを設定して、概念実証に進みます。

自動化テストツール

市場には、機能テストおよび回帰テストのツールが大量にあります。 ここに最高のテストがあります 自動化ツール 当社の専門家による認定

1) Selenium

回帰テストに使用されるソフトウェア テスト ツールです。 それは オープンソースのテストツール 回帰テストのための再生および記録機能を提供します。 の Selenium IDE は Mozilla のみをサポートします Firefox ウェブブラウザ。

機能と特徴:

  • 記録されたスクリプトを次のような他の言語でエクスポートする機能を提供します。 Java、Ruby、RSpec、 Python、C#など
  • のようなフレームワークで使用できます JUnit や TestNG
  • 一度に複数のテストを実行できます
  • オートコンプリート Selenium 一般的なコマンド
  • ウォークスルーテスト
  • ID、名前、X パスなどを使用して要素を識別します。
  • テストを Ruby スクリプト、HTML、その他の形式で保存
  • すべてのページにタイトルをアサートするオプションを提供します
  • Selenium user-extensions.jsファイルをサポートしています
  • 理解とデバッグを容易にするために、スクリプトの途中にコメントを挿入できます。

リンクをダウンロード: https://www.selenium.dev/downloads/

自動テストチュートリアルの概要

自動テストの基本: テスト自動化は、特別な自動テスト ソフトウェア ツールを使用してテスト ケース スイートを実行するソフトウェア テスト手法です。

テスト自動化は、ソフトウェア テストの効率、テスト カバレッジ、実行速度を向上させるための最良の方法です。

テスト ツールの選択は、テスト対象アプリケーションが構築されているテクノロジに大きく依存します。

テスト自動メンテナンスアプローチは、ソフトウェアに追加された新しい機能が正常に動作するかどうかをテストするために実行される自動テストフェーズです。

自動化を成功させるには、自動化ツール、テスト プロセス、チームの適切な選択が重要です。 テストを成功させるには、手動と自動の方法が連携して行われます。 これらのプロセスとチームを効果的に管理するには、次の使用を検討してください。 ALMツール