彼らはAPIのテスト側面を勉強したいが、市場が検索関連することはできませんブック学習システム、オンラインコンテンツや断片化をするので、人々のためのビットAPIは、基本的な検索を開発します。初心者のテスト側面にするために、今、他の貴重な経験と自分自身の学習体験を終え、APIを学ぶ、あなたが記事で知っておく必要があります前に、基本のAPIのAPIのテストを含めるようにしてみてください。
インターフェイスのテストベース
1.インターフェースとは何ですか?
2.インタフェースタイプ
3.インタフェースの性質
4.テストへのインタフェースとは何ですか?
5.なぜインタフェースのテストを行いますか?
6.どのようにインターフェイスのテストを行いますか?
7.どのようなインタフェーステストのテストポイントは何ですか?
8.どのような知識インタフェーステストを習得する必要がありますか?
----------------
1.インターフェースとは何ですか?
API:アプリケーション・インターフェース、あるアプリケーション・プログラミング・インターフェースのプログラミング
APIは、一般的に次のとおりです。
方法:メソッド要求
URL:ユニークなリソースロケータ
PARAMS:パラメータ
認証:認証
ヘッダ:ヘッダ
本体:メッセージ本文
2.インタフェースタイプ
HTTP APIインタフェース
HTTPメソッド呼び出しを区別するためにパスを通過するプロトコル、要求パケットが戻りメッセージ通常、JSON文字列の形式で、キーと値であり、最も一般的に要求された二つの方法で取得し、ポストする他の方法が、あります。
APIインターフェイスは、一般的に二つのタイプに分けられる:内部プログラミング・インターフェースと外部システムインタフェース
JSONはすべての言語がそれを認識している、一般的なデータ型です。(自然JSONは、彼が他の言語とは何の関係もありませんが、わずかなPythonで辞書に変換することができますなどの他の言語は、キーと値の形式は、JavaScriptのネイティブに変換できるデータ型に加工して変換することができ、文字列でありますオブジェクト、クラスオブジェクトなどは、Javaに変換することができます。
Webサービスのインターフェイス
石鹸を通過するために、HTTP伝送プロトコル、要求パケットと復帰のメッセージはXML形式は、我々はテストの時間でツールをテストするために、コールを使用しています。
データベースアクセスインタフェース
データベース・アクセス・インタフェースJDBC接続データ、データベースのCRUD操作を移動するための方法である、テストのためのツールを使用する必要があります。
3.インタフェースの性質
インターフェイスは、単に異なるURLとして理解することができ、URLは何かがGETまたはPOSTリクエストを介してサーバに送信され動作し、その後、いくつかの対応する値を与えるに戻り、基本的にデータの送受信です。
4.テストへのインタフェースとは何ですか?
システムと外部と内部サブシステム間のシステムの相互作用の主点との間のインタフェース試験。ストレステストは、システムなどの間で交換データ、及び制御転送プロセス管理、及び論理的相互依存関係を確認することです。短い答えは、私たちが望むものではありません、サーバーまたは他のモジュールへのURLを通じて、我々は、送信データの送信にしたい、そして彼らの期待リターンを見てと言うことです。
5.なぜインタフェースのテストを行いますか?
1.基本的なバグを見つけ、それが修理の低コストです。
2.前後端アーキテクチャ多くのシステムが分離されています
2.1フロントエンドカジュアル変更インターフェース・テストだけでなく、バックエンド、フロントとリアエンドは、人々の開発の2セットでは変更されません。
そのようなJingdongの先端ショッピングとして2.2セキュリティ検査システム、安定性、質量参加信頼されていないフロントエンドは、-1員可能価格を通過するが、インターフェース要素を通過することができる-1。
2.3同じ必要の後端が制御されるように、(あまりにも簡単に前部バイパス)セキュリティ要件を満たすことができないシステムを限定することを遠位端に完全に依存していた、この場合のインターフェイスのレベルを確認することが必要です。
ログ情報の送信を暗号化し、認証を印刷するかどうか、送信の2.4のフロントエンドには、そのようなIDカード、銀行カードなど、特に利用者の個人情報に関連して、必要とされます。
システムの複雑さは、今急、伝統的な試験方法のコストとテスト効率の大幅な低下を増やすテストインターフェースはまた、比較的安定した継続的な統合を自動化することが比較的容易であり、そしてUIオートメーション上昇して3、手動回帰テストは、人件費と時間を削減することができます迅速な髪のニーズのバックエンドのバージョンをサポートするために、テスト期間を短縮します。継続的な統合インタフェースは、なぜ、低コストの高収量のルートであってもよいです。
6.どのようにインターフェイスのテストを行いますか?
- 私達のプロジェクトは主に、HTTPプロトコルインターフェースに基づいてフロント及びリアエンドコールは、それが主に送信し、テストインタフェースを受信するためのシミュレーションのHTTP要求に対する工具またはコードを介してです。郵便配達、JMeterは、soupUI、Javaの+ HTTPClientは、robotframework + httplibraryなど次のような多くのツールがあります。
- インタフェースはまた、自動化を達成するために使用することができ、アサーション決意に要求を送信することによって、コードと同様のUIオートメーションフレームワークに実装されています。
7.どのようなインタフェーステストのテストポイントは何ですか?
目的:インターフェースの精度と安定性をテストします。
原理:アナログクライアントは、サーバ要求メッセージを送信し、サーバは、クライアントサーバー上で処理される要求パケットが対応する応答パケットを返し、クライアントは、受信した応答を処理受け取ります。
キー:切り替え、伝送、および制御検査データ管理プロセス、さらなる処理の数を含みます。
コア:継続的インテグレーションは、コアインタフェースのテストです。
利点:監視欠陥および品質管理機能のためのより複雑で効率的なプラットフォームの高い複雑さ、プラットフォーム、より大規模なシステム、より大きなインタフェース試験の効果(、テスト効率を向上ユーザーエクスペリエンスを向上させる、開発コストを削減するために)をもたらします。
キーケースの設計:通常最も外側の2つの主要テストインタフェース:システムとデータインターフェースのシステム(本発明のシステムを使用してパラメータ外部システムコール)うちにインタフェースデータ(データ認証処理システムが正常です)。
ユースケースのデザインは、ユーザーが本当にすべての外部関数を必要としていますどのようなこれらのインタフェースを使用する外部ユーザーへの外部インターフェイスに注意を払うために必要
バックエンドインターフェーステストの主な内容:
アプリフロントエンドテスト主な要素:
図起因部における2つのテスト活動機能試験、境界分析及びパフォーマンステストの2つの同一の部分、関心の互いに特性の異なるニーズにすることを上記比較から分かる、または議論されていない特殊なテストポイント、 。我々は、3つの部分よりも、同一のコンテンツを分析次へ:
1、基本的な機能テスト:
それは基本的なビジネス機能に対してテストなので、これは2つのテスト一致度の最も高い部分ですので、開発はまた、一般的に、このセクションの主な内容と呼ばれています。
2、境界分析試験:
一部(例えば、境界ビジネスルール)の繰り返しとなり、この部分に入力し、基本的な機能テストの出力に基づいて境界条件を考えます。しかしながら、入力と出力は、多くの場合、ユーザは、(ドロップボックスなど)の値を選択できるように棒の前端に設けられ、この場合、試験の境界は非常に限られているが、いかなるインタフェース・テストは、この制約は、比較的に言えば、存在しませんインタフェースは同じのより広い範囲をカバーすることができ、インターフェースの問題の可能性も高いです。
3、パフォーマンステスト:
パフォーマンステストのニーズが行われるが、これは、比較的容易に区別するのですが、焦点は本当に違います。アプリケーションのエンド・携帯電話のCPUなどの携帯電話機能に関連した主要な関心事のパフォーマンス、メモリ、トラフィック、FPSのように。インターフェイスのパフォーマンスは、インターフェースの応答時間、同時、サーバリソースの使用に焦点を当てています。この部分は、別途個別にテストする必要のでテストは、有意差を持って両方の戦略と方法は、理論的には、これは別の部分です。
包括的な議論:
1、主に業務機能のテストで、テストや活動、いくつかの重複したコンテンツをテストインタフェースアプリ。加えて、各テストのために特性が製品全体の品質を確保するために、それぞれ、標的化試験の必要同じではありません。
図2に示すように、インタフェーステストは、テストサーバーの論理検証に焦点を当てることができ、UIロジックは、統合認証とページ表示及びインタフェースフロントエンドサーバーに集中することができ
図3に示すように、継続的インテグレーションをテストインタフェース。
インタフェースのテストのために、継続的インテグレーションの自動化は、我々は、低コストの高収量を達成することができ、自動化のサポートにより、コアです。現在、我々は主に回帰相で使用されるオートメーションインターフェイスを実現している、フォローアップも含め、自動化の度合いを強化する必要があるが、これらに限定されない、次のとおりです。
a)は、プロセス領域:回帰相における界面の異常なシーンのカバレッジを強化し、徐々にシステムテストに、位相拡張をテスト煙、そして最終的に完全なプロセスの自動化を達成します。
b)の結果は:結果は、より豊かな、トレンド分析、統計と品質分析を示し、
c)の問題を探します:エラー情報、問題を見つけるために、より正確で再現性と簡単にログインします。
d)のチェックの結果:自動化されたチェックの能力を強化するために、このようなデータベース情報をチェックとしては。
e)のコードカバレッジ:常にコードカバレッジを改善するために、白いボックスに現在のブラックボックスから落下しようとしています。
F)性能要件:自動化されたインタフェースのパフォーマンス指標によって監視、システムのパフォーマンステストを改善正常です。
4、品質評価基準をテストするインタフェース:
a)のビジネス機能が完全にカバーされ
b)はカバービジネスルールが完了しました
c)の要件(ボーダー、ビジネスルールかどうかを確認するためのパラメータ)
D)インターフェース異常なシーンカバレッジは完了です
e)のインターフェイスは、カバレッジ要件に達しています
F)コードカバレッジ要件か
g)のパフォーマンスが要件を満たしています
H)安全指標の要件を満たしています
8.どのような知識インタフェーステストを習得する必要がありますか?
①システムのビジネスロジック及び様々な構成要素の内部との間の相互作用を理解します。
②I / Oインタフェースを理解する(入力/出力:入力出力)。
③含む、契約の基本的な内容を理解する:通信理論、スリーウェイハンドシェイク、共通のプロトコル種別、パケット構造、データ伝送、共通のステータスコード、コンフィギュレーションのようなURLを。
④など共通インターフェイステストツール、:のJMeter、LoadRunnerは、郵便配達、あるsoapUIなど。
⑤基本的なデータベース操作コマンド(など、試験データを抽出し、データ記憶装置をチェックしてください)。
⑥のような一般的な文字の種類、:CHAR、VARCHAR、テキスト、int型、float型、datatime、文字列など。
これらのスキルを習得するには?
システムのビジネスロジックの間の相互作用①:多くのチャネルおよび要件の文書、フローチャート、マインドマップ、通信などを介して、
②契約:推奨「グラフィックのhttp」この本、鮮やかな、比較的みなさエントリーレベルの本の内容は、他の「グラフィックTCP、IP」があるというように。
③インタフェース・テスト・ツール:これらのツールをBaiduは、その後、あなたは教授のブログ、問題の解決、およびいくつかのツールをベースとたくさんの本が、もちろん、右の本を選択することが重要であることがわかります。
④データベース操作はコマンド:、ウェブサイト(W3C、新人のチュートリアル)、ブログを教えるだけでなく、データベース関連図書の数を学ぶエントリーレベルの勧告:「MySQLは知っていなければならないだろう」、「OracleのPL / SQLを知っている必要があります」と、他の
⑤文字の種類:Baiduはまだ、言うことを言っている:問題では未定では百度を尋ねたが、未定外務省はGoogleに尋ねました。。。
インターフェイスに関する情報を入手するには?
一般的なビジネスは、インターフェース、パラメータの型、メソッド、入力、出力、およびその他の情報に関連付けられたアドレスを指定し、そうでない場合、取得する方法を見つけるだろう開発者インタフェースのマニュアルまたは担当の対応技術スタッフによって書き込まれます。。。
ドキュメントインターフェース8つの要素:
カバー:カバー、ロゴ、コンテンツのタイトル、バージョン番号、会社名、文書の作成日を持って、会社の規定をカバーするのが最善です。
改訂履歴:含め、より良いいくつかの形で表:バージョン、改訂版、改訂日、改訂、チェッカー時間投稿者とそうで。
インタフェース情報:インタフェースの呼び出し、共通GET / POSTモード、インタフェースアドレス。
説明:のようなインタフェース機能の明確かつ簡潔な説明:含まれていない情報を取得するためのインターフェイス。
インターフェイスパラメータの説明:各パラメータは、ケースなど、実際のコールと同じである必要があり、パラメータ、フォーマットの意味の簡潔な説明は、文字列またはintまたは長い形式です。
説明のセクション、必要な場合、パラメータ値が提供されていることを示し、そのような期間であるタイムスタンプ、などのパラメータを生成する方法を詳細に説明し、パラメータが必要とされる、でなければならないパラメータのいくつか、およびいくつかはオプションのパラメータです。
戻り値:
①テンプレートの戻り値を持ち、それぞれの戻りパラメータの意味を説明するのがベスト。
②コール・インタフェースは、実際、本物の戻り値を提供します。
コール制限、セキュリティ:
暗号化、または限り、両方同じ暗号化アルゴリズムを使用すると、このような共通MD5などインターフェース呼び出しの安全性を確保するため、インターフェースを呼び出すことができるよう、自分の会社の特別な暗号化プロセス、;
ドキュメント管理:ドキュメントメンテナンスが変更されることが、修正、変更の人々の日付を含める大持つようにバージョン番号の変更を変更することが必ずあるとき。
----------------
免責事項:この記事はCSDNブロガー「heyingxin006の元記事である、CC 4.0 BY-SAの著作権契約書に従って、再現し、元のソースのリンクと、この文を添付してください。
オリジナルリンクします。https://blog.csdn.net/heyingxin006/article/details/89957872
免責事項:この記事はCSDNブロガー「heyingxin006の元記事である、CC 4.0 BY-SAの著作権契約書に従って、再現し、元のソースのリンクと、この文を添付してください。
オリジナルリンクします。https://blog.csdn.net/heyingxin006/article/details/89957872