インターフェイス自動テスト エンジニアリング - インターフェイス テストを理解する

インターフェーステストとは

インターフェーステストも機能テストの一種です

私が理解しているインターフェイス テストは、実際には機能テストの一種ですが、私たちが通常言う機能テストは UI レベルでの機能テストを指しますが、インターフェイス テストはサーバー レベルでの機能テストに近い傾向があります。

インターフェーステストの目的

テストを左に移動し、できるだけ早くテストに介入し、システム内のより深い問題をできるだけ早く発見し、問題修復のコストを削減します。

インターフェーステストは何をテストしますか

インターフェイス テストは、サーバー インターフェイスの内部ロジックの正確性を検証するもので、この正確性も次の 2 つの側面に分けられます。

インターフェースが通常のデータを正しく処理し、データ構造、データ内容などを含む正しい応答を返すことができるかどうか。

インターフェイスが異常なデータを正しく処理し、特定の応答を返すことができるかどうかは、主にインターフェイスの堅牢性を検証するために行われます。

結論は

インターフェースは正当なリクエストデータを正しく受け入れます

インターフェースは不正なリクエストデータを正しく拒否します

これらはすべて陽性反応です。

インターフェーステストのシナリオ

インターフェイスのテストには、主に 2 つのテスト シナリオがあると思います。

単一インターフェースの堅牢性テスト

複数のインターフェイスのシナリオ テスト

単一インターフェースのテスト

単一インターフェイスの堅牢性テストは、インターフェイスの正確さと堅牢性を保証するために、正常なシナリオと異常なシナリオをカバーします。

単一インターフェイスのテストは、ユーザー レベルのビジネス ロジックではなく、インターフェイスの内部ロジックのみに焦点を当てているため、単体テストに近いものになります。

概要: インターフェイスがさまざまな正常および異常のシナリオを正しく処理できることを確認します。

複数のインターフェイスのシナリオ テスト

ユーザーのメインプロセスとメイン関数のビジネスロジックの正しさを検証するために、あまりにも多くの異常なシナリオを検証する必要はありません。

マルチインターフェイス シナリオ テストは、ユーザー レベルのビジネス ロジックにさらに注意を払うため、UI レベルの機能テストに近くなります。

たとえば、電子商取引の支払いプロセスを検証する必要があります。これには、製品リストの取得 - 製品の詳細の取得 - ショッピング カートへの追加 - 注文の送信 - 注文の支払いというインターフェイスが含まれる場合がありますが、通常のシナリオに注意を払うだけで済みます。

概要: 複数のインターフェイスが通常のデータ フローで実行できることを確認します。

単一インターフェイスのテスト設計のテスト ケース

インターフェース自動テストとは

まず第一に、知っておく必要があるのは、インターフェイスのテストのみが手動の機能テストでもあり、インターフェイスをテストするだけであるため、インターフェイスの自動化テストは実際にはインターフェイスのテストを手動から自動に変更することです。

一般的なインターフェース自動テスト方法

このナレッジベースでは、主にインターフェイス自動テストを実装するためのツールについて説明します。

エンジニアリングとは何ですか

実は最近触れたばかりなのですが、ちょっと高級感がありますね!

Google でエンジニアリングとは何かと検索したところ、結果はすべてフロントエンド エンジニアリングでした。私はそれを読んで、自分の理解に基づいて説明することしかできません。これは私自身の意見を表しているだけです。エンジニアリングは実際には一種の思考です。

なぜエンジニアリングを行うのか

開発効率、テスト効率、保守効率、管理効率を含むがこれらに限定されない効率の向上。

混沌としたプロセス、深刻な結合、手作業への依存から、標準化、モジュール化、自動化まで。

正規化

プロジェクト全体の保守性を向上させます。

バージョン管理仕様: git を使用してコード ウェアハウスを管理します。

開発プロセス仕様: チームは、コード レビュー プロセス、テスト プロセス、レビュー プロセスなどの調査およびテスト プロセスを統合します。

コード仕様の作成: チームは、プロジェクト構造、プロジェクト コード、自動テスト スクリプトなどの仕様を統一して作成します。

モジュラー

プロジェクト全体の読みやすさを向上させます。

関連するロジックを同じフォルダーにいくつか入れます。

オートメーション

自動的に実行できることは人間によっては実行されません。これがエンジニアリングの核心です。

自動初期化: ローカル環境のワンクリックインストール、依存関係のインストールなど。

自動テスト実行: ワンクリックテスト、ワンクリックテストレポート生成など。

自動デプロイメント: たとえば、Jenkins を使用して、プロジェクト運用のステートメント サイクルをパイプラインの形式で管理します。

最後に、私の記事を注意深く読んでくださった皆さんに感謝します。互恵性は常に必要です。それはそれほど価値のあるものではありませんが、必要な場合はそれを取り上げることができます。

ここに画像の説明を挿入

ソフトウェアテストインタビューアプレット

ソフトウェア テストの質問バンクには、何百万人もの人が参加しました。誰が知っているのか!ネットワーク全体で最も包括的なクイズ ミニ プログラムです。携帯電話を使用して、地下鉄やバスの中でもクイズに答えることができます。

次の面接の質問セクションが取り上げられます。

1. ソフトウェアテストの基礎理論、2. Web、アプリ、インターフェース機能テスト、3. ネットワーク、4. データベース、5. Linux

6. Web、アプリ、インターフェイスの自動化、7. パフォーマンス テスト、8. プログラミングの基本、9. 時間面接の質問、10. 公開テストの質問、11. セキュリティ テスト、12. コンピューターの基本

これらの資料は、[ソフトウェア テスト] の友人にとって最も包括的で完全な準備倉庫となるはずです。この倉庫は、最も困難な旅を乗り越える何万人ものテスト エンジニアにも同行してきました。あなたにも役立つことを願っています。 

おすすめ

転載: blog.csdn.net/lzz718719/article/details/132497001