5 つの一般的な自動テスト フレームワーク

自動ソフトウェア テスト システムの実装にフレームワーク設計を使用すると、テスト スクリプトのメンテナンスを最小限に抑えることができます。ただし、多くの自動テスト ツールは従来の「記録再生」モデルを使用しています。

テスト データはテスト スクリプト プログラムにハードコーディングされた方法で実装されるため、大量のスクリプト メンテナンスが発生します。さらに、アプリケーションのグラフィカル ユーザー インターフェイスのテストに加えて、ツールの組み込みテスト ケースは実際に

それ以外の用途はありません。したがって、適切なテスト自動化フレームワークを選択する方法は、自動テスト チームを開始するための最優先事項です。

         自動テスト フレームワークは、自動テストをサポートする前提、概念、実践の集合です。5 つの基本的な自動テスト フレームワークを以下に説明します: モジュール式テスト スクリプト フレームワーク、テスト ライブラリ構造

フレームワーク、キーワード駆動/テーブル駆動テスト フレームワーク、データ駆動テスト フレームワーク、およびハイブリッド テスト フレームワーク。単純なテスト フレームワークに依存するのではなく、実際のニーズに応じてテスト フレームワークの 1 つを採用することを検討できます。

キャプチャツール。同時に、これらのフレームワークは、自動テスト フレームワークを理解し、自分のニーズと経験に従って自動テスト フレームワークを設計するための基礎となります。

1. モジュール式テストフレームワーク

       モジュラー テスト スクリプト フレームワーク (TEST MODulARITY FRAMEWORK) は、記述可能なテスト対象アプリケーションの小さくて独立したモジュール、フラグメント、およびスクリプトを作成する必要があります。これらのツリー構造の小さなスクリプトを組み合わせて、特定のテスト ケースに使用できるスクリプトを形成できます。

         5 つのフレームワークの中で、モジュラー フレームワークが最も理解しやすく、使用しやすいです。コンポーネントの上に抽象化レイヤーを構築して、アプリケーションの他の部分からコンポーネントを隠すことは、よく知られたプログラミング手法です。これにより、アプリケーションがコンポーネントの変更から分離され、プログラム設計のモジュール性が提供されます。モジュール式テスト スクリプト フレームワークは、この抽象化またはカプセル化の原理を使用して、自動テスト スイートの保守性とアップグレード性を向上させます。

2. テストライブラリフレームワーク

 テスト ライブラリ アーキテクチャはモジュラー テスト スクリプト フレームワークに非常に似ており、同じ利点があります。違いは、テスト ライブラリ フレームワークがテスト対象のアプリケーションをスクリプトではなくプロシージャと関数に分解することです。このフレームワークでは、テスト対象のアプリケーションのモジュール、フラグメント、機能を記述するライブラリ ファイルを作成する必要があります。

3. キーワード駆動またはテーブル駆動のテスト フレームワーク

アプリケーションに依存しない自動化フレームワークの場合、キーワード駆動 (KEYWORD DRIVEN) テストとテーブル駆動 (TABLE DRIVEN) テストは互換性のある用語です。このフレームワークでは、データ テーブルとキーワードを開発する必要があります。これらのデータ テーブルとキーワードは、それらを実行するテスト自動化ツールから独立しており、アプリケーションとテスト対象データのテスト スクリプト コードを「駆動」するために使用できます。キー駆動テストは、手動テスト ケースと非常によく似ています。キーワード駆動テストでは、テスト対象のアプリケーションの機能が、各テストの実行ステップとともにテーブルに書き込まれます。

このテスト フレームワークは、非常に少ないコードで多数のテスト ケースを生成できます。データ テーブルを使用して各テスト ケースを生成するときに、同じコードが再利用されます。

4. データ駆動型テストのフレームワーク

データドリブン(DATA DRIVEN)、LJテストはフレームワークです。ここでテストされる入出力データは、データ ファイル (データ プール、ODBC ソース、CSV ファイル、EXCEL ファイル、ADO オブジェクトなど) から読み取られ、キャプチャ ツールで生成された、または手動で生成されたコード スクリプトによって変数にロードされます。このフレームワークでは、変数は入力値を保存するためだけでなく、出力検証値を保存するためにも使用されます。プログラム全体を通じて、テスト スクリプトは値ファイルを読み取り、テストのステータスと情報を記録します。これはテーブル駆動テストに似ています。テーブル駆動テストでは、テスト ケースがスクリプトではなくデータ ファイルに含まれており、スクリプトは単なるデータの「ドライバー」、つまり配信メカニズムにすぎません。ただし、ナビゲーション データがテーブル構造内に含まれていないとしても、データ駆動テストはテーブル駆動テストとは異なります。データ駆動型テストでは、データ ファイルにはテスト データのみが含まれます。

このフレームワークは、すべてのテスト ケースを実行するために必要なテスト スクリプトの総数を削減することを目的としています。データ駆動型では、多数のテスト ケースを生成するのに非常に少ないコードしか必要としません。これはテーブル駆動型とよく似ています。

    5. ハイブリッド テスト自動化フレームワーク

    最も一般的な実装フレームワークは、上記のすべての手法を組み合わせたもので、長所を活かして短所を補います。このハイブリッド テスト フレームワークは、時間の経過といくつかのプロジェクトを通じて、ほとんどのフレームワークが進化したものです。

[全 200 エピソード] エンタープライズ プロジェクトの実戦を真にシミュレートする、Python インターフェイスの自動テストに関する超詳細な高度なチュートリアル!

おすすめ

転載: blog.csdn.net/xiao1542/article/details/132049627