Python 自動テスト フレームワークに基づくインターフェイス テスト

前回の記事ではWeb UIに関する内容を説明しましたが、今回の記事ではインターフェーステストと自動テストフレームワークについて説明します。

インターフェイス テストは、システム コンポーネント間のデータ対話をテストする方法であり、さまざまな状況下で入力パラメーターと対応する出力結果を使用して、インターフェイスが対応する機能要件とセキュリティ要件を満たしているかどうかを判断します。簡単に言えば、インターフェイス テストとは、フロントエンドを置き換えて、バックエンドがインターフェイス仕様を実装しているか、準拠しているかを検証することです。

インターフェーステストの原理

クライアントがサーバーにリクエストメッセージを送信することをシミュレートします. リクエストメッセージを受信したサーバーは, 対応するメッセージを処理してクライアントにレスポンスを返します. クライアントはレスポンスデータを受け入れて判断します.

◆リクエスト: 正しいですか? デフォルトのリクエストでは、リクエストが成功すると 200 が返されます。リクエストが正しくない場合は、400、405、500 などのステータス コードが返されます。エラーの種類は、パラメータ渡しエラー、バックエンドまたはサーバー例外などのステータス コード。

◆確認:返却されたデータの状態を確認するだけでなく、返却されたデータの内容が正確であるか、完全であるかを確認する必要があります。

◆セキュリティ: 通常、インターフェイスはインターネット上の任意の呼び出しにさらされることはなく、必須のログインやリクエストの数と頻度の制限、パスワードやその他の部門のコンテンツの暗号化など、いくつかの制限を受ける必要があります。

インターフェーステストツールの選択

1. 既製のインターフェースツールで自動テストが可能

◆Jmeter、郵便配達員

◆これら 2 つの方法は一般的なインターフェイス テスト ツールですが、上位および下位のパラメータ転送のない単純なインターフェイスのテストにのみ適しており、プロトコルやプロセスによっては複雑なため実装が困難です。

2. 自動テスト用のオープンソース プラットフォーム

◆メータースフィア、アピポスト、アピフォックス

◆これらはオープンソースのインターフェース自動テストプラットフォームであり、Metersphere はインターフェース、パフォーマンス、機能テストを 1 つのプラットフォーム上で統合しており、バージョンの反復や欠陥管理に非常に役立ちます。

3. Python に基づいて適応されたインターフェイス自動化コードを作成する

◆パイテスト

◆多数のインターフェース、特定のインターフェース、暗号化操作、および関連操作が一部のコンポーネントをトリガーする

◆httprunnerの最下層はpytestで実行

インターフェイス テストには多くのツール オプションがあるため、当社では Python + pytest を使用して、3 層の自動化ディメンションに基づいた自動化フレームワークを開発することを選択しました。

1. pytest を使用して自動化フレームワークを開発する

◆各工程の処理スクリーンショット+ログ

◆プロジェクトまたは製品ビジネスとの高度な統合

◆環境の初期化やデータのクリア、完全カスタマイズ実装

2. 自動化のフォローアップ段階: 自社開発フレームワーク - 特許

◆テスターはコードを理解する必要があり、コストはかかりますが、製品の根本的な品質の向上に役立ちます。

3. 自社のテストプラットフォーム

◆視覚的なインタラクティブ性を提供

◆Webページ(css js html vue)+バックエンド(java/python–django+flask)

インターフェーステストのテスト許容範囲

インターフェイステストは、単一インターフェイスのテストから始まり、単一インターフェイステストの正確性と堅牢性を確認し、その後、単一インターフェイスのテストを経て、複数のインターフェイスのビジネスロジックの直列接続が完了し、次に、インターフェイスの正当性検出が完了します。ビジネス ロジックは、次の図のようなビジネス ロジックの観点から完成されます。

写真

インターフェイスのテストケースは、機能、パフォーマンス、セキュリティの 3 つの段階に基づいて設計されており、3 つの段階は次のような異なる観点から考慮されます。

写真

インターフェーステストフレームワーク

以下では、Python+Pytest+Allure+gitlab+jira に基づくテスト フレームワークを紹介します。Selenium と同じ PO モードに基づくフレームワークを次の図に示します。

写真

自動テストコードの構造

写真

フレームワークを作成した後のコード作成のアイデアは次のとおりです。

1. 基本クラスのカプセル化。基本クラスでのリクエストの送信、追加、削除、変更、チェックインなどの一般的なメソッドをカプセル化します。

2. ビジネス層のインターフェースコードを記述する

3. テストケースのコードを記述し、上記のユースケースの階層化に基づいてユースケースを段階的に補足および改善し、ビジネスに関与しない汎用的なユースケースを基本クラスに組み込みます。

以上がインターフェーステストと自動テストのフレームワークの概要です。


              [以下は私がまとめた 2023 年の最も包括的なソフトウェア テスト エンジニア学習ナレッジ アーキテクチャ システム図です]


1. Python プログラミングの入門から習得まで

2. インターフェース自動化プロジェクトの実践

3. Web自動化プロジェクトの実戦


4. アプリ自動化プロジェクトの実践

5. 一流メーカーの履歴書


6. DevOps システムのテストと開発

7. 一般的に使用される自動テストツール


8. JMeter パフォーマンス テスト

9. まとめ(最後にちょっとしたサプライズ)

寿命が長いのでオイルを追加してください。すべての努力は裏切られることはなく、粘り強く続ける限り、いつかは報われます。自分の時間を大切にして夢を追いかけてください。初心を忘れずに邁進してください。あなたの未来はあなたのコントロール次第です!

人生は短く、時間は貴重です。将来何が起こるかを予測することはできませんが、現在をコントロールすることはできます。一日一日を大切に、一生懸命働き、自分自身をより強く、より良くしてください。確固たる信念と粘り強い追求があれば、成功は最終的にあなたのものになります。

常に自分自身に挑戦することによってのみ、常に自分を超えることができます。夢を追い続け、勇敢に前に進んでいくと、その葛藤の過程がとても美しく、やりがいのあるものであることに気づくでしょう。自分を信じてください、あなたならできるよ!

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

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

おすすめ

転載: blog.csdn.net/NHB456789/article/details/135032610