ベンダーのAPIを使用していると仮定します。そのAPIが期待どおりに機能していることを確認するにはどうすればよいですか。
私の主な懸念は、ベンダーがコードへの変更をプッシュしてAPIを破壊することです。それらを継続的にテストするための何らかの自動ソフトウェアが必要です。これに対処するには?
短い答え:サードパーティベンダーのAPIのテストスイートが必要です。そのため、開発する必要があります。
他の誰かがあなたのためにそれをすることを期待しないでください、そして正しいテストを自動的に生成するための「魔法の弾丸」を期待しないでください。
さらに試すことができるいくつかのこと:
これらが機能するかどうかは、ベンダーが誰で、どのようなAPIを考えているかによって異なります。ファイルなどの検査可能な出力を生成するAPIは、API呼び出しが成功したかどうかを判断するためにモノの動作を観察する必要がある物理デバイスを制御するAPIよりもテストがはるかに簡単です。
この問題には2つの方法があります...
アプリは実際のユーザートラフィックで本番稼働中です:
ライブトラフィックがあり、外部APIに依存している本番環境のアプリがある場合、外部APIが通知なしで変更を行う場合、できるだけ迅速に把握して適切なしきい値を設定する以外に選択肢はありません。
あなたは常にそれを考慮に入れるべきです:
あなたのアプリはインストールであり、計画されたバージョン/リリースがあります:
この場合、失敗するまでの猶予期間があります...ライブユーザーは、外部APIの破壊的な変更の影響をすぐに受けません。
私の意見では、これはより簡単な作業です。外部APIを呼び出すアプリケーションに実際のトランザクション/ http /リクエストを送信するテスト(完全なエンドツーエンドのテスト)を作成し、エラーがないことを確認します。実際のトランザクションを模擬するテストキットはありません。
このタスクが完了した後、これを24時間ごと、1分ごとなどに実行するように選択できます。
良い習慣:
ツール:
ポスターの言い回しに基づいて、それはIMOをテストするだけではありません。 APIの単体テストを作成し、すべてが期待どおりに機能していることを確認したら、サードパーティのAPIを監視して、ユーザーが実行する前に問題をキャッチする必要があります。これがサードパーティAPIの本当のリスクです。これはコードではなく、APIで行われたテストの量や、いつ/変更されたかを制御することはできません。
(免責事項:ここで使用する製品名)soapUIを使用してAPIテストを記述した場合、それらのテストを運用モニターとしてAlertSiteで再利用して、APIが期待どおりに機能し続けることを確認できます。テストに失敗した場合、ユーザーがあなたに電話する前に警告が表示され、アプリが機能しないと苦情を言うことができます。
関心のある領域(使用する予定の機能)の学習テストを実装します。学習テストは、APIのパブリックコントラクトに対して開発者が作成した統合テストです。テストは、APIのソースコードが利用できる場合でも、内部実装の詳細に対して作成しないでください。この種の学習テストには2つの目的があります-