本文へスキップ
BigTree108

APIテストサービス

REST、GraphQL、gRPC、イベント駆動システム向けのAPIテストサービス。Postman、REST Assured、コードによる機能テストと回帰テスト、Pactによるコントラクトテスト、OpenAPIスキーマの検証、サードパーティをモックにした統合テスト、APIのセキュリティと負荷の確認を提供します。専任のAPIテストエンジニアが御社のチームに参画する形も、APIテストプロジェクトを一括で請け負う形も選べます。

APIテストの対応範囲

  • APIの機能テスト

    すべてのエンドポイントについて、ステータスコード、レスポンスボディ、ヘッダー、検証エラー、ページネーション、ロールごとの権限を確認します。APIが新しいうちは、Postman、Bruno、Insomniaで探索的に確認します。

  • パイプラインに組み込むPostmanコレクション

    コレクションを機能ごとに整理し、環境、プリリクエストスクリプト、アサーションを備えます。Postman CLIでビルドごとに実行し、結果をビルドの隣に公開します。

  • コードで書くAPIテストスイート

    JavaチームにはREST AssuredまたはKarate、PythonにはHTTPX付きのpytest、.NETにはHttpClient付きのxUnit、TypeScriptにはPlaywrightのリクエストAPIまたはSuperTestを使い、サービスのコードと並べて管理し、一緒にレビューします。

  • Pactによるコントラクトテスト

    Webフロントエンド、モバイルアプリ、サービスの間で、Pactによるコンシューマー駆動コントラクトを定義し、プロバイダー側のビルドで検証して、Pact BrokerまたはPactFlowで共有します。これにより、破壊的変更は、それを加えたチーム自身のビルドを失敗させます。

  • OpenAPIとスキーマの検証

    レスポンスをOpenAPIまたはJSON Schemaの定義に照らして検証し、仕様書をSpectralでリントします。さらにSchemathesisが仕様書からリクエストを生成し、サーバーエラーを引き起こす入力を見つけ出します。

  • 実際の依存先を使った統合テスト

    サービスをデータベース、キャッシュ、メッセージブローカーとともにTestcontainersで起動し、テストごとにデータを投入して、モックのデータベースではなくAPIを通じてフロー全体を確認します。

  • モックとサービス仮想化

    サードパーティや未完成のサービスをWireMock、Mock Service Worker、Microcksで置き換えます。これにより、パートナーのサンドボックスがなくてもテストを実行でき、実際には再現しにくいタイムアウト、レート制限、エラーレスポンスも確認できます。

  • GraphQL、gRPC、メッセージのテスト

    GraphQLのクエリ、ミューテーション、フィールド単位の認可を確認し、grpcurlと生成したクライアント経由でgRPCサービスを呼び出します。Kafka、RabbitMQ、Azure Service Busのメッセージは、スキーマ、順序、重複を確認します。

  • APIのセキュリティと負荷の確認

    認証、オブジェクト単位の認可、入力検証、レート制限を、回帰テストのたびにOWASP API Security Top 10に照らして確認し、リリース前にはk6で負荷時の応答時間を計測します。

APIテストエンジニアを採用する

  • 専任のAPIテストエンジニア

    御社のチームにフルタイムで参画し、御社のツールとプロセスの中で働き、御社のリードに報告するAPIテストエンジニアです。面接は御社が行い、ウクライナでの雇用契約、給与支払い、請求書発行、休暇管理は当社が担います。

  • APIテストプロジェクト

    スコープと固定の計画が定まったAPIテストの一区切りの業務です。当社側の担当リードが成果に責任を持ち、進捗は御社のチャネルで報告します。

  • 継続的なAPIテスト

    APIテストを継続サービスとして提供します。毎月同じメンバーが担当し、優先順位は御社がバックログで決め、稼働時間は当社のポータルと請求書で確認できます。

スペシャリストが御社のチームに参画する方法は専任チームのページで、プロジェクトのデリバリー、引き継ぎ、料金の考え方はアウトソーシングのページで説明しています。

御社のAPIテストを担当するメンバー

  • APIテストエンジニア

    コレクション、コードによるスイート、コントラクトテスト

  • バックエンド開発者

    テストしやすいAPI、プロバイダー側の検証、修正

  • テスト自動化エンジニア

    フレームワークとCI連携

  • パフォーマンスエンジニア

    利用の多いエンドポイントの負荷テスト

APIテストの進め方

APIテストは高速で安定しているため、回帰テストの大半を担います。プルリクエストごとに数百件の確認が数分で終わり、ブラウザのスイートには画面が必要な導線だけを残します。テストは仕様書とビジネスルールから書くため、フィールドが消えた場合だけでなく、意味が変わった場合も検出できます。

各テストはAPIを通じて自分のデータを作成し、終了後に削除します。そのため、実行同士が依存し合うことも、誰かが手で編集した共有データベースに左右されることもありません。テスト環境の認証情報はパイプラインのシークレットストアから取得し、リポジトリにコミットしたコレクションファイルには含めません。

その他のソフトウェアテストサービス

ソフトウェアテストとQAの概要

APIテストに関するご質問

APIテストエンジニアは、どの業界で働いていますか。

主にフィンテックと銀行で、決済、元帳、オープンバンキングのAPIはリリースごとに証跡が必要です。ほかに、カタログ、注文、パートナー連携を持つECとマーケットプレイス、公開APIと多数の連携を持つエンタープライズSaaSとERP製品、臨床システム間のHL7 FHIRインターフェースを扱うヘルスケア、多数のサービスで構成される通信、クラウド、物流プラットフォームがあります。

Postmanとコードのテスト、どちらを使いますか。

どちらにも役割があります。Postmanは、新しいAPIを探索し、動作するリクエストをチームで共有するのに向いています。APIが固まってきたら、確認をサービス自身の言語のコードに移します。コードならプルリクエストでレビューでき、サービスのモデルを再利用でき、ユニットテストと一緒に実行できます。

コントラクトテストで何が得られますか。

APIテストは、サービスが自分のチームの期待どおりに動作することを確認します。コントラクトテストは、各コンシューマーが実際に使っているものを引き続き返しているかを確認します。そのため、フィールド名の変更や型の変更は、モバイルアプリや他のチームのサービスを本番で壊す前に、プロバイダーのビルドを失敗させます。

APIテストエンジニアは、どのくらいで開始できますか。

適任のAPIテストエンジニアがすぐに対応可能な場合、開始までの条件は、御社の面接と、NDAおよび知的財産権の譲渡契約の締結のみです。そうでない場合は人材を探索し、通常は2〜3週間以内に候補者のプロフィールをお出しします。御社が承諾するまで、誰も業務を始めません。

BigTree108を通じてAPIテストエンジニアを採用するには、どうすればよいですか。

必要な業務内容、シニアリティ、稼働時間をお知らせください。1〜2名の候補者をプロフィールとともにご提案し、御社が自社で採用する場合と同じ形で面接を行います。契約はBIG TREE 108 LLCとの1本、請求書は月1通です。

成果物の権利は、誰に帰属しますか。

御社です。すべてのスペシャリストはBigTree108と署名済みの契約を結び、成果物のすべてを会社に帰属させています。さらに、御社との契約により、その権利は御社に引き継がれます。コード、デザイン、ドキュメントは、当社だけが変更できる場所ではなく、御社のリポジトリとツールに納品します。

APIのテストが必要ですか。

運用しているサービスの数、APIのドキュメント化の状況、APIの呼び出し元をお知らせください。1営業日以内に、テスト計画、候補者のプロフィール、または既存のAPIテストのレビューのスコープをご回答します。